Reverse enginering
2009-10-15T22:58:34+02:00
2009-10-20T11:45:58+02:00
2022-07-18T21:15:28+02:00
  • Még olvasgattam egy kicsit wikin es erre jutottam:

    Két lehetőség van:
    - betöltöm ezt a test.exe-t és 30perc alatt végigpróbáltatom rajta a 10^8 féle kódot. Ez nem ér mert -> "Ha valaki megoldásra jut kérem mailban jelezze" alapjan a brute force kizárt.

    - megoldom CipherSaber2(SHA1(ByteSwap(code)),execonst,N=10)=(0,0,0,0,0,0,....) 'egyenletrendszert', felveszem a Nobel díjat és lett egy állásom a NASA-nal, esetleg kapok egy beutalót a Guantanamói wellness élményparkba. (Ehhez a második lehetôséghez sok sikert kívánok magamnak )
    Mutasd a teljes hozzászólást!
  • csak neked: xxxxxxx

    ui. szerkesztve privatba akartam
    Mutasd a teljes hozzászólást!
  • Hagya'ma' én se tudom, mi az az Ida meg az Olly :D

    Viszont azt az RC4-et a vegen hogy a fakk'ba lehet törni úgy, hogy tuti nem weak-key-t csinal az 101f kavarás? :D

    - 1280 byte keystream van rakuldve 10x egy 128 bytenyi cuccra, ami a vegen 0 lesz.
    - ebbol nemhogy a 20byte (nem weak) key-t, de a tablat se talalom lol

    Kerem a topicnyitot, hogy ha vki megtalalta a megoldast, hirdessen eredmenyt! (nagyon jo feladvany :D Es tenyleg kivancsi vagyok a megoldasra :D)
    Mutasd a teljes hozzászólást!

  • De most nezem nem jo, mert nem hasznaltam az IDA-t és Olly-t...


    Mutasd a teljes hozzászólást!


  • Nekem megvan!
    Mutasd a teljes hozzászólást!
  • Mutasd a teljes hozzászólást!
  • Ennek vessünk véget, mert nem csapatot akarunk felvenni, hanem egyéni dolgozókat.
    A megoldás a lényeg, tehát ezt is várjuk mindenkitől e-mailben.
    Mutasd a teljes hozzászólást!
  • Csupa visszaalakithato add,xor,ror es semmi felülírós 'destruktiv' dolog, de kegyetlenul meg van kavarva.
    Asszem holnap en is delphimakrositani fogok mert a sok tagolatlan asm-tol mar kifolyik a szemem lol.
    Mutasd a teljes hozzászólást!
  • Es a makrok


    kodol_1 macro num eltol=0 repeat num mov eax,[esi+eltol] xor eax,[esi+eltol+8] xor eax,[esi+eltol+32] xor eax,[esi+eltol+52] rol eax,1 mov [esi+eltol+64],eax eltol=eltol+4 endm endm kodol2 macro reg1,reg2,reg3,reg4,reg5,num mov edi,reg1 xor edi,reg2 and edi,reg3 xor edi,reg2 add edi,reg4 add edi,[esi+eltol] mov reg4,reg5 rol reg4,5 lea reg4,dword ptr [edi+reg4+num] ror reg3,2 eltol=eltol+4 endm kodol_2 macro num repeat 4 kodol2 ecx,edx,ebx,ebp,eax,num kodol2 ebx,ecx,eax,edx,ebp,num kodol2 eax,ebx,ebp,ecx,edx,num kodol2 ebp,eax,edx,ebx,ecx,num kodol2 edx,ebp,ecx,eax,ebx,num endm endm kodol3 macro reg1,reg2,reg3,reg4,reg5,num mov edi,reg1 xor edi,reg2 xor edi,reg3 add edi,reg4 add edi,[esi+eltol] mov reg4,reg5 rol reg4,5 lea reg4,dword ptr [edi+reg4+num] ror reg3,2 eltol=eltol+4 endm kodol_3 macro num repeat 4 kodol3 ecx,edx,ebx,ebp,eax,num kodol3 ebx,ecx,eax,edx,ebp,num kodol3 eax,ebx,ebp,ecx,edx,num kodol3 ebp,eax,edx,ebx,ecx,num kodol3 edx,ebp,ecx,eax,ebx,num endm endm kodol4 macro reg1,reg2,reg3,reg4,reg5,num mov esi,reg1 and esi,reg2 mov edi,reg1 or edi,reg2 and edi,reg3 or edi,esi add edi,reg5 mov esi,[esp] add edi,[esi+eltol] mov reg4,reg5 rol reg4,5 lea reg4,[edi+reg4-num] ror reg1,2 endm kodol_4 macro num repeat 4 kodol4 ebx,ecx,edx,ebp,eax,num kodol4 eax,ebx,ecx,edx,ebp,num kodol4 ebp,eax,ebx,ecx,edx,num kodol4 edx,ebp,eax,ebx,ecx,num kodol4 ecx,edx,ebp,eax,ebx,num endm endm kodol5 macro reg1,reg2,reg3,reg4,reg5,num mov edi,reg1 xor edi,reg2 xor edi,reg3 add edi,reg4 add edi,[esi+eltol] mov reg4,reg5 rol reg4,5 lea reg4,[edi+reg4+num] ror reg3,2 endm kodol_5 macro num repeat 4 kodol5 ecx,edx,ebx,ebp,eax,num kodol5 ebx,ecx,eax,edx,ebp,num kodol5 eax,ebx,ebp,ecx,edx,num kodol5 ebp,eax,edx,ebx,ecx,num kodol5 edx,ebp,ecx,eax,ebx,num endm endm
    Mutasd a teljes hozzászólást!
  • (akarom mondani: 10*3 hét alatt (atlag 20us volt 1 try))
    Mutasd a teljes hozzászólást!
  • A $40101F címtől kezd izgalmassá válni.


    Ez így néz ki.

    _0040101F proc org 101fh push eax mov esi,eax kodol_1 16 ;401131 lea edi,[esi+128] mov ecx,48 .repeat mov eax,[edi-64] xor eax,[edi-56] xor eax,[edi-32] xor eax,[edi-12] rol eax,1 stosd .untilcxz ; 40114d mov eax, 067452301h mov ebx, 0EFCDAB89h mov ecx, 098BADCFEh mov edx, 010325476h mov ebp, 0C3D2E1F0h eltol=0 ;401166 kodol_2 05A827999h ;401395 kodol_3 06ed9eba1h ;4015b5 kodol_4 070E44324h ;4018ad kodol_5 0359d3e2ah ;401af1 add eax, 067452301h add ebx, 0EFCDAB89h add ecx, 098BADCFEh add edx, 010325476h add ebp, 0C3D2E1F0h add esp, 4 ; pop eax kiváltás ret _0040101F endp
    Mutasd a teljes hozzászólást!
  • Marmint ugy ertem, hogy ha mondjuk 8 helyett 12 digit lenne, akkor a bruteforce osszesen 3 hét alatt futott volna le a core2 duo-mon :D
    Mutasd a teljes hozzászólást!
  • "Mondjuk, ha ez felvételi vizsga, akkor a brute force megoldást diszkvalifikálnám..." én is. Csak idô kérdése.

    Na de tegyuk fel, hogy a bruteforce nem lehetseges.
    Ekkor van egy 128byte-os serialunk amibol ki lehetne indulni.

    Ennek minden eleme 10x xorolódik, amíg 128byte-nyi nulla nem lesz belole, de úgy, hogy minden egyes xor után a kódtábla 2 eleme is (ami megmondja, hogy eppen mivel kell xor-olni) felcserélôdik.

    Ez elott pedig van egy felcserélôsdi ami 256 swap-ot csilál a kódtáblán egy 20byteos hash alapján (amit a 8jegyu kodbol generalt).

    Szoval kod->serial konverzio megoldhato az exe-vel, viszont sztem a serial->kod konverzio az (bruteforce nelkul) lehetetlen.

    Mutasd a teljes hozzászólást!
  • Nem jó a megoldás, mert nem 12 karakter.
    Ha valaki megoldásra jut kérem mailban jelezze, hagyjunk a többieknek is lehetőséget.
    A megoldás után úgyis kiderül ki hogy oldotta meg.
    A batch fileból rápróbálunk sokat nem minősül megoldásnak!!
    Mutasd a teljes hozzászólást!

  • Akkor most fel vagy véve?

    Mondjuk, ha ez felvételi vizsga, akkor a
    brute force
    megoldást diszkvalifikálnám...
    Mutasd a teljes hozzászólást!
  • A bruteforce 30perc volt. De 8 helyett mondjuk 12 digit és el se merem indítani :D.
    Mutasd a teljes hozzászólást!
  • Csak vannak értelmes emberek ebben az országban is. :)
    nem csak egy jelentkezőt várunk, tehát nem kell félni, hogy lekésik bárki is.
    Mutasd a teljes hozzászólást!
  • Ott sztem valami programmal irt


    Pont azt néztem én is, hogy semmi kedvem végig játszani a teljes xor/rol sort.
    Vagy hátulrol lenne érdemes (0-bol kiindulva) vagy brute force
    Meghivni a kodolo rutint 99999999 *.
    ~2800 utasitas ha 3 orajelet szamolok ra az nalam ~300 másodperc.
    Mutasd a teljes hozzászólást!
  • Ravaszul kezdtem, de kiderult, hogy az egesz cucc csak egy exitprocess(0)-t 'véd'.
    Szal nem crack kell, hanem keygen :D
    00401C89 0BDB or ebx,ebx 00401C8B 7507 jnz $00401c94 //2byte nop ide! 00401C8D 6A00 push $00 00401C8F E80D000000 call $00401ca1 //exitprocess 00401C94 6A01 push $01 00401C96 E806000000 call $00401ca1 //exitprocess [eof]

    A cmp al,$30 az input check, hogy 8 szamjegy van-e a paramstr(1)-ben.

    A $40101F címtől kezd izgalmassá válni. Ott sztem valami programmal irt kavarás kód van.
    Utána egy 256byte-os kodolas kozben is valtozo kodtablaval megy a variálás. És ha végül minden 0 lesz, akkor megvan a kod :D

    (na masedolgozok lol)
    Mutasd a teljes hozzászólást!
  • http://teufel.hu/test.rar
    rapidshare nem megy...
    Mutasd a teljes hozzászólást!
  • Ha egy kicsit ravasz lennél akkor átirtad volna a feltöltés elott, mondjuk a 401BF0 címen a
    cmp al,30h


    utasítást egy NOP-ra, és már ki is lötted a konkurenciát.

    ui:
    vagy átirtad? és erdetileg NOp volt ott?
    Mutasd a teljes hozzászólást!
  • Ezen ne múljon -> test.rar
    Mutasd a teljes hozzászólást!
  • Ahhoz, hogy a fájlt le lehessen tölteni, ahhoz a rapidshare-t is meg kell törni?:) Nem jó a link....legalábbis nálam
    Mutasd a teljes hozzászólást!
  • Hosszútávra keresünk munkatársat versenyképes fizetéssel, bejelentetve.

    Alkalmas vagy az állásra ha:

    - Delphi nyelv ismerete (ebben fogsz programozni)
    - Használtál már IDA-t, Olly-t vagy egyéb ilyen jellegű programot visszafejtésre
    - Rugalmas és kitartó vagy

    Ha úgy érzed, hogy felkeltettük az érdeklődésedet, az alábbi linken csatoltunk egy tesztprogramot, ez lenne a "belépő". Ha sikerült megfejteni a kódot e-mailban várjuk az info[@]teufel.hu címen egy rövid bemutatkozóval magadról.

    Leírás a programról:
    Parméterként kell megadni a kódot az exe-nek.
    pl: test.exe xxxxxxxx

    A link: http://rapidshare.com/files/293497487/test.rar.html

    A cím helyesen: reverse engineering
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd