Şimdi Ara

Hacking ve Nasıl Daha Güvenli Progamlar yazabiliriz

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
28
Cevap
0
Favori
4.008
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 12
Sayfaya Git
Git
sonraki
Giriş
Mesaj
  • Hacking araçları(yasal olanlar lütfen) debugger,disassembler lar pe encryptorler şifreleyiciler şıkıştırıcı programlar bunların ne kadar güvenilir oldukları. kodlama aşamasında yapmamamız gerekenler. Hepsini burada tartışalım. Boş bir vakitte iyi bir döküman hazırlamayı düşünüyorum. Sonuçta hepimiz programıcıyız. hobi dışında mutlaka ticarı anlamda işlerle uğraşan arkaşlarımız vardır. Onlardanda ne gibi koruma ve kod teknikleri kullandıklarını bizlerle paylaşırlarsa seviniriz.Yada yazdığınız progamın ne kadar güvenilir olduğundan emin değilseniz. bizle paylaşın programı kırmaya çalışalım:) Bilgi paylaşmak içindir.Topic pek ilgi görmiyecek gibi geliyor. ama neyse acaba bilgi eksilikğindenmi? yoksa uğraşmak istemeyişimizdenmi kaynaklanıyo bunu göreceğiz.umarım yalancı ben çıkarım:)) herkese kolay gelsin.



  • Bence topic rağbet görmesse bunun sebebi hiçbirşeyin tam anLamıyLa korunabiLir oLmayışından kaynakLanır.. Koskoca Microsoft biLe çözüm üretemiyosa bizde üretemeyiz diye düşünüyorum. Evet kırıLmayacak bir program yapmak imkansızdır ama hacker i vazgeçirecek kadar zorlu bi aLgoritmayLa hazırLanmış bir program yapmak mümkündür diye düşünüyorum..
  • tabiki kıralamayacak sistem yok. fakat artık günümüzdeki araçlarla. progamlamadan zerre anlamayan birisi bile progamları çok kolay kırabiliyor.



    < Bu mesaj bu kişi tarafından değiştirildi drony -- 2 Temmuz 2005, 13:20:51 >
  • Evet insan düşününce pek mantıkLı geLmiyo. Düşünsene kastırıp bir program yapmışsın ve sektöre satmayı düşünüyosun ama biLgisayarLa yeni tanışmış,imkanLarı bizden çok fazla iyi oLan birisi biLe o programını kırabiLiyo. İnsan bunLarı düşündükçe program yapasıda geLmiyo onun için ya hiç dikkat etmiyceksin satabiLdiğini satıcaksın yada çok aşırı dikkat ediceksin,özen gösterceksin kırıLmaması için o zamanda büyük bir marka oLursun..
  • quote:

    Orjinalden alıntı: drony

    Hacking araçları(yasal olanlar lütfen) debugger,disassembler lar pe encryptorler şifreleyiciler şıkıştırıcı programlar bunların ne kadar güvenilir oldukları. kodlama aşamasında yapmamamız gerekenler. Hepsini burada tartışalım. Boş bir vakitte iyi bir döküman hazırlamayı düşünüyorum. Sonuçta hepimiz programıcıyız. hobi dışında mutlaka ticarı anlamda işlerle uğraşan arkaşlarımız vardır. Onlardanda ne gibi koruma ve kod teknikleri kullandıklarını bizlerle paylaşırlarsa seviniriz.Yada yazdığınız progamın ne kadar güvenilir olduğundan emin değilseniz. bizle paylaşın programı kırmaya çalışalım:) Bilgi paylaşmak içindir.Topic pek ilgi görmiyecek gibi geliyor. ama neyse acaba bilgi eksilikğindenmi? yoksa uğraşmak istemeyişimizdenmi kaynaklanıyo bunu göreceğiz.umarım yalancı ben çıkarım:)) herkese kolay gelsin.


    Peki illegal kişiler buradan bunları okuduğunda ne yapacağız? Ben gerçekten programlamaya ayrıdığım zaman kadar bu işlere kafa yoruyorum maalesef! . Bence çok uğraşan avantajlı kalsın.




  • Arkadaşlar, biz de bir güvenlik programı yapabiliriz. yeter ki bildiklerimizi paylaşalım ve yapmayı isteyelim.
  • Dediğim gibi elimizdeki imkanlarla sadece zorlayıcı bir algoritma hazırlayabiliriz.Daha fazlası maalesef olmaz.Kırmayı asLa engelleyemeyiz. Onun için daha çok vazgeçirici oLmak gerekir.
  • Programın kendi algoritmasının dışında daha farklı yöntemler kullanarak kopyalamayı engelleyen (en azından daha zor kılan) programlar var. HDD nin serial numarasını alıp internet update'i gerektiren, her kurulumda telefon edilmesini gerektiren vs. vs. programlar var. Hex'i upx veya türevleri ile sıkıştırıp onunla güvenliğini sağlayan programlarda var. Ama popüler olanlarından hepsi kırıldı




    drony; ayrıca böyle bir başlık açtığın için sana teşekkür etmek istiyorum
  • quote:

    Orjinalden alıntı: corsan

    Programın kendi algoritmasının dışında daha farklı yöntemler kullanarak kopyalamayı engelleyen (en azından daha zor kılan) programlar var. HDD nin serial numarasını alıp internet update'i gerektiren, her kurulumda telefon edilmesini gerektiren vs. vs. programlar var. Hex'i upx veya türevleri ile sıkıştırıp onunla güvenliğini sağlayan programlarda var. Ama popüler olanlarından hepsi kırıldı




    drony; ayrıca böyle bir başlık açtığın için sana teşekkür etmek istiyorum



    Böyle bir bilgiye sahip olduğunuz için ve bizlerle paylaştığınız için size teşekkür ediyorum.Bu tür koruma sağlayan proğramların ismini ve nasıl temin edildiğini de bize bildiirseniz memnun oluruz.Sizi samimi sevgi saygı ile selamlarım.




  • Yalnız drony arkadaşımız bu konuyu yeni teknikler,yeni yöntemler geliştirmek için açtı sanırım.Ayrıca internet tabanlı bir program oLmadığını düşünürsek Update kısmını eleyebiLiriz ama telefon mantıkLı bir çözüm oLabiLir fakat zahmetLi oLur.Yani kullanıcı memnuniyeti açısından sorun oLabilir diye düşünüyorum.
  • seri numara alma bios no alma bunalr hikaya bunalrın hepsi bir jne je oalyıan bakıyor. ve şunu söylüyorum bende progamlarımda güvenlik için çok çaba harcıyorum. dumper veya benzri şekilde çalışan progamlar çok avantajlı oluyıor. herhangi bir dışrıdan etki edilmemiş delphi yada c++ builder ile yazılmış bir progamı kırmam 20 dakika almıyor. diğerleri biraz zorluyor tabii.
    eğer progamcı olerak elinizden fazla birşey gelmiyorsa sıkıştırma ve şifrelme progamlarıdna bir göz atın.
    tabii bunalrıda aşmak mümkün. örn. aspack mew fsg pecompact ... bir sürü prog var. ama bunalrın unpackerıda var. bu prgamlar içinde şifreleiyicler ve karıştırıcılar var. upxshir morphine..

    ama bir tane varki daha hiçbirşey yapılamıyor.

    www.xprotector.com
    çok özelliği var. hepsini burada anlatamam. zaten




  • sağoL dostum bakıyorum hemen

    ArızaLı yada yanLı$ sanırım



    < Bu mesaj bu kişi tarafından değiştirildi serserfan -- 7 Temmuz 2005, 16:53:26 >
  • http://www.x-protect.com/22.html
    birde buradan deneyin. bende linki bir ariim bari.
  • yakında benimde bitecek bir programım var. ve bir çok hackerı eleyecek nitelikte. bugün yarın upload ederim bir yere
  • upload ette bizde bakaLım drony ne mantıkLa yapıLmı$ falan
  • yeni sürüm
    http://forum.donanimhaber.com/fb.asp?m=4820197&key=dap3

    eski sürümler
    http://forum.donanimhaber.com/fb.asp?m=3624744&key=dap3



    < Bu mesaj bu kişi tarafından değiştirildi drony -- 29 Kasım 2005, 19:44:17 >
  • Programlarin gecerli seri numaralarini turetecek programlarin (keygen-key generator) nasil yapildigi hakkinda bilginiz var mi? Aslinda sorum nasil yapildigi degil de, yapilmasi icin kisinin neyi bilmesi gerektigi.

    Siz programa anahtari giriyorsunuz (keygen den elde ettiginiz), program bunu merkeze dogrulatiyor ve dogruysa kullanim hakki veriyor. Simdi ortada kirmaya calisilacak bir duzen yok, kirilabilecek tek sey uzak bilgisayarda, program icinde degil, dolayısıyla onu eledik. E gecerli olanlari sadece deneme yanilma yontemi ile bulabiliriz, gecerlileri bulma sansimiz da cok dusuk (25 karakterden olusan sifre...). Peki keygen algoritmasini nasil cikartiyorlar?

    Biliyorum bilenler pek bonkor davranmazlar bu konuda ama zaten "bana anlatin ben de yapayim" demiyorum, gercekten merak ediyorum mantigini...
  • merkeze doğrulattığı konusunda emin değilim. anladığım kadarıyla birçok programda doğrulatma mekanizması programın kendi içinde geliyor. yani kırmaya çalıştığın şey programın içinde, uzakta değil...

    bu arada eğer konu bu yöne saparsa, amacından uzaklaşmış olacak. ;)
  • Aslında isteğim kaçmıştı.Ama arada güzel sorular, merak edilenler, bunlar hep yeni kapılar
    açar.Konunun sapması önemli değil. önemli olan birşeyler kazanabilmek bence.

    quote:


    @serserfan

    Bence topic rağbet görmesse bunun sebebi hiçbirşeyin tam anLamıyLa korunabiLir oLmayışından
    kaynakLanır.. Koskoca Microsoft biLe çözüm üretemiyosa bizde üretemeyiz diye düşünüyorum.
    Evet kırıLmayacak bir program yapmak imkansızdır ama hacker i vazgeçirecek kadar zorlu bi
    aLgoritmayLa hazırLanmış bir program yapmak mümkündür diye düşünüyorum..


    Evet hiçbirşey tam anlamıyla maalesef korunamıyor. sonuçta bunlarıda insan yapıyor. Ama insanında bir sabrı vardır.
    Çok zor bir algoritma üzerinde çok uzun süre uğraşmaktan kaçınacaktır.taki bu işten
    para kazanmıyorsam(anlayan anladı zaten).Evet 1. neden microsoft bunun farkında Ama bir kere olsun sabit keyle
    windows yüklemelerinin önüne geçmedi.progamlarında herhangi dış şifreleme ve benzeri bir şey kullanmadı.
    Peki neden? sorusu aklımıza gelecek.Aslına bakarsanız. biz ev kullanıcıları microsoftun pekte umrunda değil.
    Windowsun bu kadar kolay register işleminin olmasının bana göre tek nedeni. Ticari firmalar düşünün bir ticari firmanın korsan
    windows kullanması halinde microsoft buna direkt tazminat davası açıyor. ve %100 kazanıyor.Ve burdan kazandığı para inanın çok daha fazla.
    bu işi türkiyede tek BSA yapıyor. oda sayılı programa windows ve bir türkiyede distrubitorlüğü bulunan sayılı bir kaç firma. Diğer yazılımları
    ise yurtdışındaki distrub. veya merkezlere bildiriyor. ve firma kendi haklarını kendi arıyor.
    Bunun yanında hiçbir ticari geçmişi olmayan kaybedecek çok şeyi olan Türk oyunu pusu 2 aktivasyon seçeneği veriyor.
    istense bazı şeyler yapılabiliyor. ama büyük firmaların kaygıları daha farklı.
    Evet algoritma yazmak önemli ama şifreleme değil. şifreleme içinde compile de olursa zorlaşır iş
    şimdi buna pratikte bakalım.
    örn. md5 veya aes(rca) ve türevleri
    şimdi bunu kısaca delphide anlatiim

    var
    md5hash,newhash:string;

    md5hash:='59C1F196CA5AC92F635369D2E18F8AF3'; //önceden kullanıcı tarafından kaydedilmiş bir key regedit veya dosyadan çağrılmış

    newhash:=edit1.text;

    if md5hash=newhash then label.caption:='kayıtlı kullanıcı'

    else label1.caption:='süreli kullanıcı';

    yukarıdaki koda bakarsak asm de bunu md5 aes vb.. olması sökmüyor. bir jne'nin je olmasında yada tam tersine bakıyor.
    tabii üstteki çok basit bir yöntem.
    şimdi üsteki kodtaki hataları sayalım. Öncelikle hacker hata mesajlarını takip eder.
    ilk yöntem her zaman budur. nasıl bir hata mesajı?
    programı açar ve register kısmına rasgele kullancı ve şifre girer. sonra program kullanıcıya bir hata mesajı ile döner. yada üsteki gibi kayıtsız kullanıcı der.
    yani bir string referans verir. bundan sonra hackerin yapması gereken tek şey örn. w32dasm ile string referansı ve nerden çağrıldığı nerden
    dallandıldığı bakmak ve genelde bir bit'lik değişikliği yapmak.(74-> 75, 75->74, 85->84 vs...)
    peki napalım.register ve şifre girildiğinde tamam deyin ve programı tekrar başlatın. ve açılışta sorgulatın.tabii buda tam çözüm değil bunun yanında bir
    sürü tedbir almak gerek. ama herşeyide burada yazamam.
    isterseniz asm'de üsteki koda bir bakalım.

    ***** TRY
    |
    004501B8 64FF30 push dword ptr fs:[eax]
    004501BB 648920 mov fs:[eax], esp
    004501BE 8D45FC lea eax, [ebp-$04]

    * Possible String Reference to: '59C1F196CA5AC92F635369D2E18F8AF3'
    |
    004501C1 BA50024500 mov edx, $00450250

    |
    004501C6 E8DD3CFBFF call 00403EA8
    004501CB 8D55F8 lea edx, [ebp-$08]

    * Reference to control TForm1.Edit1 : TEdit
    |
    004501CE 8B8300030000 mov eax, [ebx+$0300]

    |
    004501D4 E843F2FDFF call 0042F41C
    004501D9 8D55F4 lea edx, [ebp-$0C]

    * Reference to control TForm1.Edit1 : TEdit
    |
    004501DC 8B8300030000 mov eax, [ebx+$0300]

    |
    004501E2 E835F2FDFF call 0042F41C
    004501E7 8B55F4 mov edx, [ebp-$0C]
    004501EA 8B45FC mov eax, [ebp-$04]

    |
    004501ED E82A40FBFF call 0040421C //
    004501F2 7512 jnz 00450206

    şimdi üste gördüğünüz yeri, yani 0x004501F2 - F4 adres aralığındaki
    7512 asm (opcode) codunu 7412 yaparak tersine çevirebiliriz.
    üste ne oluyor diyeceksiniz.yukarıda bir karşılaştırma yapılıyor. ve eax registerinin içeriğine bakılıyor.
    JNZ demek (Jump if not zero) yani eğer zero bayrağı 0 değilse 00450206 adresine zıpla demek oluyor. yoksa aşağı doğru aynen devam et
    Jnz nin opcode'u 75 e tersi nasıl olur oda JNE dersek eğer eşitse zıpla buda.hhha peki burda bir karşılaştırma olmalı
    işte hemen bu satırın bir üstünde bu adres çağrılıyor. karşılaştırılacak veri çok büyük olduğu için
    bir register değilde bir kaç register arasında dönüşümlü olarak karşılatırılıyor.
    kod fazla uzamasın diye dahil etmedim ama son kod nedir onu yaziiim bari

    00404249 39D9 cmp ecx, ebx

    örn. yukarıdaki kodda ecx ile ebx registeri karşılaştırılmış tabi registerlerde bu bizim md5hash'hn
    belli bir bölümü yüklü.sebebi ise registerler tüm stringi alabicelecek kadar büyük değil. bu nedenle önce stringin ilk 4 byte ını alıyor
    ecx e yüklüyor. sonra eax tekrar diğer stringten ilk 4 byte ı alıyor ebx i yüklüyor ve karşılaştırıyor.
    sonra burdan olumlu sonuç dönerse bunuda örn. eip e yüklüyor. ama 1 değer veriyor. ve buna 1 diyor.
    sonra böyle döngüsel olarak devam ediyor. doğru sonuç geldikçce eip'i 1 arttırıyor. sonuçta örneğin 4byte 4 byte olarak
    aldığımız toplam 24 byte lık bir string varsa burda eip in içinde 6 sayısı olması gerekir. yoksa zaten eşit değildir.
    işte registere sığmayan karşılaştırma işlemleride böyle yapılıyor. hatırlıyorumda . hiç bilgim olmadan bu yöntemi ben keşfetmiştim okulda.
    ama bizim uğraştığımız işlemci 8085 ti 3 mhz hızında :)

    sonuçta bunun gibi birkaç adımda program rahatça kırılabiliyor. artık önemli olan kodlama değil. gerçi önemli ama.
    bunda sonra kaynak ve resource şifreleme ve anti monitorınge çok önem vermeliyiz. ve antidumperlara.

    adres Op code asm
    ------------------------------------------------------
    * Possible String Reference to: 'kayıtlı kullanıcı'
    |
    004501F4 BA7C024500 mov edx, $0045027C

    * Reference to control TForm1.Label1 : TLabel
    |
    004501F9 8B83FC020000 mov eax, [ebx+$02FC]

    |
    004501FF E848F2FDFF call 0042F44C
    00450204 EB10 jmp 00450216

    * Possible String Reference to: 'süreli kullanıcı'
    |
    00450206 BA98024500 mov edx, $00450298

    * Reference to control TForm1.Label1 : TLabel
    |
    0045020B 8B83FC020000 mov eax, [ebx+$02FC]

    |
    00450211 E836F2FDFF call 0042F44C
    00450216 33C0 xor eax, eax
    00450218 5A pop edx
    00450219 59 pop ecx
    0045021A 59 pop ecx
    0045021B 648910 mov fs:[eax], edx



    istersenzi daha anlaşılır olması açısında iki rakamı karşılaştıralım

    if 23=54 then caption:='kırıldım...' else caption:='yıkılmadım ayaktayım'; // kabul ediyorum iğrenç ama eğlenerek öğrenmek en zevklisi

    şimdi asm de inceleyelim. unutmayın tüm bu programlama dillerini pc sonunda asm diline çevirir.
    ve hangi progamlama dili ile yazmış olursanız olun mutlak debug edilir.
    tabi bazı istisnalar var. örneğin yukarıda size sunduğum beta programamım:)
    şimdi özelliklerini saymim ama çook güvenli olduğunu bilin.

    hımmm kötü bir örnek oldu. bende amma salladım haaa karşıma sadece yıkılmadım ayaktatım'ı çağıran bir kaç kod çıktı peki neden?
    23 54'e hayatta eşit olamaz çünkü bunlar sabit değerler delphide optimization amaçlı direkt ilgili referansı çağırmış compile sırasında. hakkı var. yani..
    o zaman düzeltelim değerlerden biri değişken olsun

    var
    i:integer;
    begin
    i:=46;

    if 23=i then caption:='kırıldım...' else caption:='yıkılmadım ayaktayım'; // kabul ediyorum iğrenç ama eğlenerek öğrenmek en zevklisi

    end;

    asm de bakalım

    adres Op code asm
    ------------------------------------------------------
    0044D944 BA2E000000 mov edx, $0000002E
    0044D949 83FA17 cmp edx, +$17
    0044D94C 750B jnz 0044D959

    öncelikle 0000002E kısaca 2E(hex) yani bizim 46(dec) yani "i" değişkenindeki değerimiz
    edx registerine taşınmış ve edx registeri 17(hex) yani 23(onluk sayı tabanı=dec.) ile karşılaştırılmış
    ve registerin içeriği sıfırdan faklımı diye sorulmuş ve ve sıfırfan farklı
    olma ihtimalinde gerekli adrese yönlendirilmiş yani 0044D959.
    bu arada cmp iki veriyi karşılaştırır ve karşılatırma pozitif yani uyuyor ise 1 ile döner.
    sanırım söylemedim 750B'deki 0B zıplanacak adresi gösterir. (şimdiki adres+0B)
    yani 0044D94C+0B=0044D947

    * Possible String Reference to: 'kırıldım...'
    |
    0044D94E BA6CD94400 mov edx, $0044D96C

    |
    0044D953 E824F5FDFF call 0042CE7C
    0044D958 C3 ret


    * Possible String Reference to: 'yıkılmadım ayaktayım'
    |
    0044D959 BA80D94400 mov edx, $0044D980

    |
    0044D95E E819F5FDFF call 0042CE7C
    0044D963 C3 ret


    serserfan biraz uzun bir cevap oldu. ama bende bu eringenlik varken döküman falan hazırlayamam.
    işte soru gelirse bildiğim kadarı ile cevap vermeye çalışırım...



    quote:


    Aspci79
    Peki illegal kişiler buradan bunları okuduğunda ne yapacağız? Ben gerçekten programlamaya ayrıdığım zaman kadar
    bu işlere kafa yoruyorum maalesef! . Bence çok uğraşan avantajlı kalsın.



    hımm zaten burada yöntemlerini anlattığında kırılabilcek bir sistem yapmışsan zaten.bu kırılabilr. :))demektir. sadece kimse uğraşmamıştır...
    hardisk no al bios no al bunlar belli bir alg. yürüt artık korunmak bunla olmuyor.
    önemli olan bu karşılaştırma yaptığın satırları korumak.o sadece serial üretmede işine yarar.
    ve single license için


    quote:


    @corsan
    Programın kendi algoritmasının dışında daha farklı yöntemler kullanarak kopyalamayı engelleyen
    (en azından daha zor kılan) programlar var. HDD nin serial numarasını alıp internet update'i
    gerektiren, her kurulumda telefon edilmesini gerektiren vs. vs. programlar var. Hex'i upx veya
    türevleri ile sıkıştırıp onunla güvenliğini sağlayan programlarda var. Ama popüler olanlarından
    hepsi kırıldı.drony; ayrıca böyle bir başlık açtığın için sana teşekkür etmek istiyorum


    işte yanlış düşünüyoruz. telefon bilmem kaç tane aktivasyon hdd serial no.
    sonuçta sen bir şekilde telefonla yada internetten üzerinden bir key alcaksın
    ve bu key sonuçta programın içinde bir yerde karşılaştırılıp programın kullanılıp
    kullanılmamasına karar verecek. sonuçta bu iş bir kaç conditional jump a kalacak. önemli olan burayı karmaşık tutmak.
    benimde geliştirdiğim kodsal açıdan çok güzel kodlar var.örn. size fikir vermesi açısından söylüyorum. progamın
    içine bir internal compiler ekleyin.şuan aklımda değil ama ..web script diye gelişmiş bir delphi unitesi var.
    kodların bir kısmını derlenebilen ve asp veya php server tarafından gelen isteğe göre koddaki şifrelemede değişiklik yapacak ve
    kod aktivasyon veya register sırasında bilgisayara indirilecek.
    ve derlenip programın eksik tarafını kapatacak. böyle bir çalışmam vardı. buda çok sağlam fakat yinede imkansız değil.

    madem konu packer ve şifreleyicelerden açtın birazda onlara değinelim belli başlı bir kaçına değineyim. ozaman.

    Upx= güvenlik tarafına kullanılması söz konusu bile olmaz zaten kendi kendini unpack edebiliyor.
    daha fazla bilgi ve upx gui versiyonu içinwww.deu3.gen.ms veya delphiturk.com da drony deu3 diye aratıp bulabilirisiniz. yada dh'de
    ayrıca upx
    atari/tos
    bvmlinuz/386
    djgpp2/coff
    dos/com
    dos/exe
    dos/sys
    linux/386
    linux/elf386
    linux/sh386
    ps1/exe
    rtm32/pe
    tmt/adam
    vmlinuz/386
    watcom/le
    win32/pe
    gibi çalıştırılabilir dosyalarıda sıkıştırabiliyor. ayrıca upx shit ,upx scrambler,upx lock... gibi upx karıştırıcılarda mevcut.
    ama bunlar genelde upx referansların siliyor.(upx signature, ve section header isimlerini karıştırıyor.)
    hımm buarada sıkıştırıcı bir program olduğu için loader ile falan alakası yok bu nedenle üstede yazıyor zaten ama biraz açmakta fayda var
    dll ocx ax bpl cpl 8bf scr kısaca pe header'a sahip tüm dosyaları sıkıştırabilir.

    Aspack=Buda sıkıştırıcı üst üste sıkıştırma yapabiliyor. ikinci sıkıştırmadan sonra kaynaklar uçuyor. yanılmıyorsam
    hala 2001 den bu yana 2.12 sürümü mevcut ve unpackeri var. ama isim veremem. yasal değil.

    Asprotect=buda aspack'in kardeşi aynı firmaya ait bir yazılım. buda trial programlar oluşturabiliyor.
    ayrıca kendi activasyon ve keyleride üretebiliyor. 1024 bit RSA şifreleme algoritmasını destekliyor.
    ve loader olarak programa bulaşıyor. yani inject olayı.
    maalesef bununda unpacker ve loader ları var .ama yine isim veremicem.

    Mew=özellikle delphi için stub özelliği yani loader ile açılan bir başka program buda dosyaya bulaşıyor. ve uygulumaya küçük bir loader ekliyor.
    yazılım diline göre değişen bir loader ekliyor.örn. delphi için5 kb lzma sıkıştırma algoritmasını kullanıyor ve şuana kadar gördüğüm en
    iyi sıkıştırıcı diyebilirim.


    pecompact= şuan burada sayamayacağım kadar özlliği var. yanlış hatırlamıyorsam oda mew gibi lzma sıkıştırma algoritması
    destekliyor ve mew den biraz daha iyi. ama ücretli bir program olması, bedava olan mew'e yönelmemize neden oluyor.bayağı zaman oldu
    pecompact ı kullanmayalı ama bir çok özellik ve ayar mevcut trial uygulama yaratma özellğide olması lazım
    hımm bide programlama dilleri için sdk'sıda var ;)

    Fsg=ne diyim ya mew gibi delphi için strip desteği veriyor. ücretsiz bir tercih olur.

    neyse çok değindik diğerleride kısaca
    exe32pack - ezip - jdpack - neolite -packlite-peshrinker -pediminisher -pespin
    petite- pex-pklite-polyene-shrinker-telock-thunderbolt-precrypt......

    birde
    xstream protector
    www.x-protector.com
    ama sitesi kapanmış. bu programı geçemedim bir türlü helal diyorum okadar. programın piyasada cracki falan da yok haliyle. :)))))))))
    özellikleri saymakla bitmez adamlar herşeyi düşünmüşler.
    gerçekten harika bir program sanırım 400$ da fiyatı vardı.kişisel kullanım için


    tabi birde bu ailenin yeni üyesi var. Drony Application Protect
    tipik drony işi hem profesyonelere hemde hiç anlamayanlara hitap
    edecek. zaten menuye baktığınızda bayağı sade olduğunu göreceksiniz.
    ileri seviye kullanıcılar içinde extend menüsü var. oraya daha çok fonksiyon eklicem. stabilite testi yapuyorum şuan.
    örn. timrdate stamp ve hatta debugger düşünüyorum. ama pek yemiyo. ama böyle başlayıp bitirdiğim çok işte var. sadece zaman meselesi
    sonra nt header da değişiklik yapma.ayrıca loaderıda optimize etmeye çalışıyorum anti monitoringte eklicem ama loader çok büyüyor
    ayrıca strip reloc fonksiyonu eklicem. bu sayede standart bir uygulamdan 40 ile 50 kb arasında optimize edebiliriyoruz.
    programa lzma yada ucl sıkıştırma algoritmalarından birini entegre etmeye çalışıcam. yani hem sıkıştırıcı hemde protection tarafına doğru kayıyo program.

    neyse ama sorun şu ki programa kapat tuşu koymayı unutmuşum. ben mouse'un orta tuşu ile kapatmaya alıştığım için aklıma en son kapat tuşu geliyo.. :)))))))))))))))

    tabii bir çok program var. bu işlerle ilgili ama yasal olmadığı için burada açıklayamam.

    @corsan
    ne demek ben teşekkür ederim.


    [qoute]
    @sersefran
    Yalnız drony arkadaşımız bu konuyu yeni teknikler,yeni yöntemler geliştirmek için açtı
    sanırım.Ayrıca internet tabanlı bir program oLmadığını düşünürsek Update kısmını eleyebiLiriz
    ama telefon mantıkLı bir çözüm oLabiLir fakat zahmetLi oLur.Yani kullanıcı memnuniyeti açısından
    sorun oLabilir diye düşünüyorum.
    [/qoute]

    evet yeni teknikler düşünmeliyiz.bunu hacker okusa bile birşey yapamamalı. örn. md5
    ama zaten tüm bunlar progamcıları bilinçlendirmek için çünkü çok basit hatalar yapılıyor.
    kırdığım proglar için söylüyorum. 5 dakikalık iş.yaaa bir tek winrar beni bayağı uğraştırdı.
    7 hafta kadar beni doğru yolda gidiyorum sandım program beni kandırdı çıktığım yer bomboş olunca
    tepindim:). ve ben winrar bidaha dokunmam uzun beri süre daha. ama ben programları kırmamdaki amaç
    sadece tecrübe için. hiçbir zaman kötü niyetle kullanmadım.
    zaten şuan burda bunları yazıyor olmazdım:))



    quote:


    @boyalıkus
    Programlarin gecerli seri numaralarini turetecek programlarin (keygen-key generator)
    nasil yapildigi hakkinda bilginiz var mi? Aslinda sorum nasil yapildigi degil de,
    yapilmasi icin kisinin neyi bilmesi gerektigi.

    Siz programa anahtari giriyorsunuz (keygen den elde ettiginiz), program bunu merkeze
    dogrulatiyor ve dogruysa kullanim hakki veriyor. Simdi ortada kirmaya calisilacak bir duzen yok,
    kirilabilecek tek sey uzak bilgisayarda, program icinde degil, dolayısıyla onu eledik. E gecerli
    olanlari sadece deneme yanilma yontemi ile bulabiliriz, gecerlileri bulma sansimiz da cok dusuk (25 karakterden olusan sifre...).
    Peki keygen algoritmasini nasil cikartiyorlar?
    Biliyorum bilenler pek bonkor davranmazlar bu konuda ama zaten "bana anlatin ben de yapayim" demiyorum, gercekten merak ediyorum mantigini...


    anlaşılan her bilgisayara farklı serial üretmenin nasıl olacağını bilmiyorsun. bende bilmiyordum.
    ben kimseden yardım almadım. aslada almam zaten çok inatçıyımdır. aslında kararlılık ve sabır herşeyden önemli
    senin dediğin gibi nasıl bir sistem kurarım. her bilgisayarda farklı serial olacak ve bu net üzerinden onaylancak.
    bir asp servera bilgi verecek.şuan bu sistemi 3-4 programımda kullanıyorum. ve tamamen kendim geliştirdim.

    öncelikle bir serialin her bilgisayarda çalışmaması için ne yapmalı.bunu düşündüm.bu söylediklerimin programlama ile alakası yok. sadece mantık.
    oturdum odada sessizce herşeyi kapattım ve düşünmeye başladım yaklaşık yarım saatte kafamda şekillendi. pratikte basit ama ben bunu delphi ile nasıl yaparım diye kara kara düşündüm.
    bu sitemi ilk yaptığım da 7 aydır delphi ile uğraşıyordum. zaten daha öncede dediğim gibi sadece kod incelyerek öğrendim delphiyi kitap falan okumadım.
    neyse sistem 5 günde çalışır hale geldi. ama stabil değildi. bir yıl sonra yine kayda değicek bir program yaptım.
    ve o program 2004 mayısta pcnet dergisinde incelendi 2 sayfa ayırdılar.olumlu eleştrler. aldım. ama mamlesef programda ozaman register module yoktu. sonra o gazla programı bayağı geliştirdim. 2004 eylülde bıraktım programı ogünden bugüne dokunmadım hiç
    ilgilenenlerwww.deu3.gen.ms adresinden upx in gui sürümünü indirebilirler.
    ve bu program bir register sistemi eklemek istedim.geçmişteki herşeyi unuttum sıfırdan başladım.
    2 saatte bitirdim. şuan hala o sistemi kullanıyorum. bu arada 2003 den beri delphi ile uğraşıyorum.
    basit bir mantıkla sistemin nasıl işlediğini anlatayım.

    öncelikle program kullanıcı adı email adresinin girilmesini kullanıcıdan bekliyor.

    sonra bunlar bios+hardiskserial+username+email arka arkaya diziliyor ve bir takım şifreleme işlemlerinden geçiyor.
    tabii birde bilgisayar kimliği(computer ID) çıkarıyoruz.
    bios+hddserial'den

    sonra bu bilgiyi dahili delphi browser ile asp servera kullanıcı bilgilerini gönderiyorum http set ile
    sonra bunu asp kod sql ile access database'e yazıyor. ve sonra açılan sayfada bilgisayar id ve kullanıcı adı vs. geri dönüyor. sonra program bunu netten indiriyor ve karşılaştırıyor.
    eğer doğru ise sana bir key veriyor.

    aslında gördüğünüz gibi herşey programda bitiyor. tüm programlar böyledir.
    sonra sizin bu bilgileriniz regedite veya bir dosyaya yazılıyor. ve program her açılışta regeditten veya dosyadan bu bilgileri karşılaştıyor.
    yani şöyle düşünmeyin key decrypt oluyor diye. key tek yönlü çalışıyor. ve sizin
    bu bios+hardiskserial+username+email bilgileriniz alıp regeditten alıp program içinde yeniden key üretiyor. ve bunu sizin önceden siteden aldığınız key ile karşılaştırıyor. ve ona göre açılıp açılmamaya kara veriyor.
    ftp sistemi kullanmadım çünkü ftp desteği ve bol bandwidthi olan freehost bulmak zor :))))
    asp serverları bir ziyaret edin isterseniz.
    http://k.domaindlx.com/di2h/i2h asp server şuan yeniden açtım ve drony i2h yazılımında kullandım yalnızca. şimdi drony application protect'ide bu servera yönlendirdim. 2005 mayıstan beri açık ve sadece dh biliyor.
    http://k.domaindlx.com/di2hbug/i2hbug buda hata mesajı servisi buda drony i2h yazılımında mevcut
    ilgilenler aşağıdan indirebilir.


    http://forum.donanimhaber.com/m_2276276/tm.htm

    şimdi hacker bu işi nasıl yapıyor?.
    program ismi vermicem illegal oluyor yine. ama asm kodu tek tek inceliyorlar
    ve şifreleme algoritmasını aynen kopyalıyorlar. biraz sığ oldu ama özetle budur.
    ama bazı keygenler varki gerçekten çıkarmak zor. e bu iştede üstte anlattığım pazarlama stratejisi var. yani korsan yazılım olayı. zaten firmalar kendileri sızdırıyor bu algoritmaları dışarı yada birisi gizlice
    çünkü keygen yazmak çok zahmetli bir iş. öyleki keygen yazmak yerine ben keygenli bir çok programı patch yaparak daha kolay ve zahmetsizce yapılabiliyor.ama demekki benimde bilmediğim başka bir şey var(daha kolay yöntem). yada üstteki neden ile alakalı bir durum;)
    bi neden daha varki;bu hackerler için çok önemli, büyük hacker lar iki şey için program kırarlar bir para iki en iyi olma isteği ve devamlı diğer hackerlar ile yarışma isteği.
    çünkü bir patch çıkarıldığı zaman. aynısından başka bir hacker veya hiçbir bilgisi olmayan birinin yapması 1 dakika bile almaz. offset compare methodı ile gerçekten sizde bir kırılmış, bir kırılmamış programdan çok kolay bir şekilde patch yapabilirisiniz.
    zaten bir sürü patcher var. ortalıkta. bir tanede benmi yapsam acaba :)
    neyse artık keygen yapmak daha mantıklı geliyor onlara çünkü burda olay faklı. dikkat ederseniz. işin komik tarafı büyük yazılım firmalarının yapmadığını hackerlar
    yapıyor.tüm keygen ve patcher programlarını şifreliyorlar. işin en komik yanıda bu. hackerlar. birbiriyle yarışmayı ve kodları kaptırmamayı firmalardan daha çok düşünüyorlar:)))))

    8085 Machine Code File

    0000 LXI H 0250 21 ; bellekten taşı
    0001 50 ;
    0002 02 ;
    0003 LXI D 0300 11 ; yeni hedef
    0004 00 ;
    0005 03 ;
    0006 MVI B 05 06 ;
    0007 05 ; block boyutu (5 bytes)
    0008 MOV A M 7E ;
    0009 STAX D 12 ;
    000A INX H 23 ;
    000B INX D 13 ;
    000C DCR B 05 ;
    000D JNZ 0008 C2 ;
    000E 08 ;
    000F 00 ;
    0010 HLT 76 ; dur

    Data
    0250 34 ;
    0251 11 ;
    0252 67 ;
    0253 78 ;
    0254 F5 ;

    bu intel 8085 makine kodları
    teee 1980 yılında çıkmış bir işlemci 3 mhz hızında. evet biz okulda bunu görüyorduk.
    ve bilgisayara yazmıyorduk bu kodları. önümüzde bir işlemci, giriş çıkış kontrolcüleri.
    ve bir hex klavye ekran olarak ta tek satır kayan matrix ekran. şuan düşünüyorumda bilgisayarda
    asm ile uğraşmak gerçekten çok kolay. çünkü tek satır ekranda bu kodları arka arkaya yazmak bir
    değişiklik olduğunda düzeltmek eziyetti.araya insert yapmak bile çok zor iş yani bir kodda hata yaptınız.araya kod ekliceniz.
    bu bayağı gıcık bir hal alıyordu. çünkü ordan sonra tüm adrseler kayıyordu. hata olduğunda bilgisayardaki gibi şu satırda hata var. olayıda yok.
    gerçekten zor günlerdi.yani elimizdekilerin değerini bilelim. asm zor değil bilgisayar ortamında. gözünüzde büyütmeyin.
    aslında bakarsanız tasm ve masm editorler(derleyiciler) ile daha çook kolaylaştı.
    biz orada ekrana birşey yazdırmak bir veriyi göndermek için FSB adreslerini
    bellek girişlerini bunların hepsini bilmek zorundaydık. ama yeni derleyicilerde bu yok
    yani asıl zor olan bu. bilgisayar ortamında bence herşey çok kolay.
    merak edenler için söyliim üsteki kod bellekten bir adresteki (0250-54 arasındaki) 5 byte lık veriyi taşımaya yarıyor.
    madem konu buraya geldi. ben haydarpaşa anadolu teknik lisesi otomatik kumanda(mekatronik) mezunuyum. ve okulumuzdaki imkanlar gerçekten çok iyiydi.
    değerini pek bilemedik ama. bizim bölümden mezun olanlar devamlı gelir. değerini bilin. üniversitede bu mikro işlemci setinden plc setinden bir tane var.
    dokunamıyorsunuz bile herşey teoride kalıyo derlerdi. taki PLC(buda siemens in işlemcisi bunuda ap ayrı bir makine dili var intel asm ile çok çok farklı) den çoğu uni de Siemens step 7 200 işlemcileri kullanıyorlarmış. bizde hem s7 300 hemde s7 500 ler vardı.

    bu arada ilgilenenler varsa özellikle @oozkan arkadaşım. muhtemelen sende 8085 simulator program vardır.
    ama sana bir kaç tane tavsiye ediim.
    Mİcroprocessor simulator 8085 (tavsiye)
    µPSim
    win8085
    8085 simulator



    < Bu mesaj bu kişi tarafından değiştirildi drony -- 16 Temmuz 2005, 11:11:35 >




  • Güzel bir çalışma olmuş Ellerine sağlık...
  • 
Sayfa: 12
Sayfaya Git
Git
sonraki
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.