RE FORUM

[REVERSE ENGINEERING] => Newbie => Topic started by: llAmElliK on December 06, 2005, 12:42:21 PM

Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 06, 2005, 12:42:21 PM
Hi,

aby nikdo neusnul na vavřínech připravil jsem nový cme - a aby bylo dobře malinko jsem zvý?il skill - ov?em pouze co se týče pou?ití nástrojů - u tohodle cme budete muset pou?ít asi i nástroje který mo?ná máte ve svý databázi ,ale zatím jste je nevyu?ili - začněte a pak se ptejte v?e vysvětlím.

Malý popis - výsledné ře?ení je velmi ,velmi easy - ov?em jde o to se k němu propracovat to znamená projít několika nástrahami a hlavně pou?ít správné nástroje a vědět jak s nimi pracovat - trochu jsem si pohrál s finální podobou .exe co? Vám uká?e Olly ihned po nata?ení (někteří budou vědět hned která bije) no a? odstraníte tuhle malou fintu mů?ete pou?ít dal?í nástroje atd.

RE musí být i zábava a hlavně je třeba stále udr?ovat přátelství s kamarádem gůglem.

Hodně ?těstí
Title: Newbie crackME - 13 - [SOLVED]
Post by: Master on December 06, 2005, 01:01:56 PM
No hura.Jdu se podivat :)
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 07, 2005, 06:00:07 PM
Kua, PE hlavicku som prezrel celu a nenasiel som ziadnu "tvoju" upravu, aby si z toho urobil neznamy format pre Olly...  :confused:    Zatial...  ;)
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 07, 2005, 06:35:23 PM
Quote from: CZerezpiCZkin
Kua, PE hlavicku som prezrel celu a nenasiel som ziadnu "tvoju" upravu, aby si z toho urobil neznamy format pre Olly...  :confused:    Zatial...  ;)

Tag si zatial ?patně hledal - udělal jsem to já;) - a není to jen na Olly ale "odrovná" to hodně toolů a dumperů vč v?ech unpackerů na daný packer...

[EDIT - doufám,?e ?ádnej unpacker nepotřebujete - manual je otázka pár "hmatů" - a během 3 minut jsem to v olly udělal asi na 3 způsoby - pokud budete chtít help tak se zamozřejmně zeptejte a? to v olly rozchodíte.]
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 07, 2005, 06:53:49 PM
Je mi jasne, ze to je tvoja praca... Inak by mi  len tak "nahodne" nechybala adresa potrebna pre inicializaciu CME (zatial som prisiel len na nu, ale mozno je toho aj viac - uvidim).
Title: Newbie crackME - 13 - [SOLVED]
Post by: Z!L0G80 on December 07, 2005, 08:50:05 PM
mensi rada prectete si http://www.zive.sk/h/Poradca/AR.asp?ARI=114990
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 07, 2005, 09:00:31 PM
Noo, uz sa mi to podarilo unpacknut a mierne poupravit tak, aby to slapalo. Je pravda, ze mi Olly stale hlasi nieco typu "Bad or unknown format of 32-bit executable file", ale CME sa pekne spusti. Uznavam, nie je to prave to najkrajsie riesenie ale robim, co viem...
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 07, 2005, 09:08:14 PM
Quote from: Z!L0G80
mensi rada prectete si http://www.zive.sk/h/Poradca/AR.asp?ARI=114990


Je?ííí? nestra? :D - já se s tím poprvý setkal u SLVc0deProtecor-u.
Title: Newbie crackME - 13 - [SOLVED]
Post by: Master on December 07, 2005, 09:12:36 PM
přečtu,ale a? zítra :) Dík.Ale je to celkem v?ivárna...
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 07, 2005, 09:18:46 PM
Kdy? jsme u toho - tady je vidět jak "jsme" v?dycky o krok napřed - v případě pou?ití triku OutputDebugString:

procedure CrashOlly;
var s: string;
    i: integer;
begin
  s:='';
  for i:=1 to 100 do
      s:=s+'%s';
  OutputDebugString(PChar(s));
end;

...si dneska u? moc nikdo moc ne?krtne proto?e u? je na to plugin - ov?em je to zajímavej postřeh z "druhého břehu" ...si vzpomínám ?e taghle někdo "odstranil" Salamander ?e?;)
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 08, 2005, 08:13:11 PM
A? budete mít funkční unpack stáhněte p32dasm (http://t4c.ic.cz/forum/attachment.php?attachmentid=220) - ten vám uká?e v?e potřebné - to ?e je unpack správný poznáte i podle toho ?e vám p32dasm (http://t4c.ic.cz/forum/attachment.php?attachmentid=220) cme v pohodě decompiluje.......enjoy.
Title: Newbie crackME - 13 - [SOLVED]
Post by: Master on December 09, 2005, 07:46:38 AM
to by se mi musel ten unpacknuty vubec spustit  :(
Title: Newbie crackME - 13 - [SOLVED]
Post by: robocop on December 09, 2005, 09:03:35 AM
já to sice unpacknutý mám, spustit to jde, ?ádný hlá?ky to v olly nehází, poznám z toho akorát ?e to je VB, ale do P32dasm ani WKT to natáhnout nejde  :confused:
Title: Newbie crackME - 13 - [SOLVED]
Post by: Master on December 09, 2005, 10:45:09 AM
A jak jste to unpackli??? Ja upravil pres lorda tu jednu hodnotu na 00000010.
A pak unpackoval podle tutoru,rebuildnul PE pres lorda a haze mi to chybu a neodesilat  :(
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 09, 2005, 11:02:17 AM
OK - jeden návod do Olly.

Spusťte Olly - OPTIONS - DEBUGGING OPTIONS - TRASE REAL ENTRY BYTEWISE ....

Natáhněte target s chvíli čekejte - zastaví na OEP - dejte si REMOVE ANALYSE FROM MODULE! ...

Pak dump BEZ OPRAVY IAT - nechte spu?těno a opravte importy v ImpREC.

A druhej návod:
Najděte jumpy specifické pro FSG

 
Code: [Select]
004001C9    95                      XCHG EAX,EBP
004001CA    8B07                    MOV EAX,DWORD PTR DS:[EDI]
004001CC    40                      INC EAX
004001CD  ^ 78 F3                   JS SHORT newbiecr.004001C2    ------
004001CF    75 03                   JNZ SHORT newbiecr.004001D4
004001D1    FF63 0C                 JMP NEAR DWORD PTR DS:[EBX+C] <--- BPX
004001D4    50                      PUSH EAX
004001D5    55                      PUSH EBP


Dejte BPX na JMP - potom F9 - zru?te BPX a F8 a stojíte na OEP - pak pokračujte stejně.

Tady mů?ete pou?ít mojí IAT.(v impREC dejte LOAD IAT a natáhněte tuhle)

Stačí?

[EDIT  - to ?e to nejde do p32dasm (http://t4c.ic.cz/forum/attachment.php?attachmentid=220) znamená ?e máte ?patně opravený importy (prostě ?patnej unpack - samozřejmně to mám odzkou?ený celej postup tak?e pokud unpacknete dobře p32dasm (http://t4c.ic.cz/forum/attachment.php?attachmentid=220) vám to veme a decompiluje OK)
Zkontrolujte svojí IAT zde tam máte tuhle hodnotu , to je důle?itý]
 
Code: [Select]
1 00001018 msvbvm60.dll 0064 ThunRTMain

[EDIT2 stáhněte si pro jistotu je?tě tohle nastavení impREC - přepi?te tím svůj .ini]
 
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 09, 2005, 02:29:38 PM
Tak je?tě jednou - pokud budete postupovat jak říkám + pou?ijete tenhle .ini do imprec musí potom v olly pokud vyrolujete trochu nad OEP taghle:

 
Code: [Select]
00401020   .- FF25 04604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.rtcM>;  msvbvm60.rtcMsgBox
00401026   .- FF25 14604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.__vb>;  msvbvm60.__vbaExceptHandler
0040102C   .- FF25 10604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_QueryInterface
00401032   .- FF25 08604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_AddRef
00401038   .- FF25 0C604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_Release
0040103E   .- FF25 00604000 JMP NEAR DWORD PTR DS:[<&msvbvm60.Meth>;  msvbvm60.MethCallEngine
00401044   $- FF25 18104000 JMP NEAR DWORD PTR DS:[401018] ;  msvbvm60.ThunRTMain <<-----



A ne taghle:
 
Code: [Select]
00401020   .- FF25 04104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.rtcM>;  msvbvm60.rtcMsgBox
00401026   .- FF25 14104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.__vb>;  msvbvm60.__vbaExceptHandler
0040102C   .- FF25 10104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_QueryInterface
00401032   .- FF25 08104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_AddRef
00401038   .- FF25 0C104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.EVEN>;  msvbvm60.EVENT_SINK_Release
0040103E   .- FF25 00104000 JMP NEAR DWORD PTR DS:[<&msvbvm60.Meth>;  msvbvm60.MethCallEngine
00401044   $  FF25 18104000 JMP NEAR DWORD PTR DS:[401018] <--------- ?PATNĚ

 

?patně proto ?e vám chybí import msvbvm60.ThunRTMain - buď ho dopi?te v notepadu di výpisu IAT nebo to správně opravte.
Title: Newbie crackME - 13 - [SOLVED]
Post by: Master on December 09, 2005, 03:10:01 PM
Proto?e mi nesel unpacknuty target asi kvuli nejake ptakarne v systemu,musel mi lame poslat cely orginalni cme.Reseni sem udelal asi za 15 minut.A to sem zkousel IDU a ollyho a ani v jednom sem to neudelal.Pak sem na reseni prisel pomoci P32Dasm:tu to jde jasne videt:

00001CEE:  28   LitVarI2: 982 0x3D6 var_CC

porovava zadanou hodnotu s hodnotou 982 = 3D6h.

Yazz
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 09, 2005, 04:28:44 PM
Tiez som sa pridal k uspesnym uz vcera vecer... Pomohla mi hlavne ta IAT, pretoze mne tam z nejakeho dovodu nenacitalo import tej funkcie ThunRTMain. Ale prisiel som na to, co tam ma byt a jednoduchym patchom som to poopravil priamo v subore (nie v importoch). Program sa mi potom sice spustil, ale dekompilovat nesiel, pretoze dekompilery pracuju spravne IBA ak je EntryPoint nastaveny na uvodnu sekvenciu
            PUSH offset RT_MainStruct
            CALL ThunRTMain
Lenze ked som to patchol, musel som presmerovat EP na ten moj patch a ten potom pokracoval na spominanu sekvenciu. Program pracoval spravne, ale IBA na mojom pocitaci (na inom nie) a nesiel dekompilovat... Po nacitani spravnej IAT uz to bolo bez problemov.
Spravne SN uz napisal Master, tak sa nebudem opakovat.

Snad len jedna vec: Skusal som aj poskytnute ini pre ImpRec, ale stale mi to nedokaze najst ten ThunRTMain, vsetky ostatne su v pohode. Vie mi niekto poradit, kde robim chybu?

P.S.: P32Dasm je vazne dobry. (Thx to DARKER)
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 09, 2005, 04:45:03 PM
Abych vás nemát - do IAT kterou jsem se upload jsem jí dopsal ručně - abyste věděli co tam má bejt - vy jí uvidíte a? v olly tak jak sem popisoval vý?.
Ona tam je - stačí sečíst první hodnoty:

 
Code: [Select]
OEP: 0000104C IATRVA: 00001000 IATSize: 00000018
Tak?e  OEP je jasný  a  první důle?ítá hodnota  je  1000+18  = 1018 + 40000 = 401018

Tak teď se mrkněte co je na adrese 401018 : - tohle:

 
Code: [Select]
00401018   .  7C350066  DD msvbvm60.ThunRTMain  <-----
0040101C  FF DB FF
0040101D  FF DB FF
0040101E  FF DB FF
0040101F  FF DB FF


Jasný - aplikace ví kam "jít" - ThunRTMain 7C350066.
Zbytek nechám na DARKERovi pokud bude mít čas.
Title: Newbie crackME - 13 - [SOLVED]
Post by: robocop on December 09, 2005, 06:03:05 PM
taky hotovo.. problem byl v ImpRec.ini  ;)
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 10, 2005, 04:23:25 PM
Tak uz mi to je jasne... Chybka bola v tom .ini subore a ja som to kontroloval len vo vypise IAT a tam to nebolo (ale nevyskusal som to).
Ja som vedel, uz po dumpnuti co tam ma byt (odsledoval som to v Ollym), len som dlho nevedel prijst na to, ako to tam mam napasovat.Moje riesenie s patchom sice bolo funkcne, ale iba na mojom pocitaci, ak by som to spustil pod inym systemom, tak by to nefachalo a navyse to tie VB dekompilatori nevedeli spracovat, lebo su vyzaduju za EP mat tu uz spominanu sekvenciu PUSH-CALL.
Ale bolo to pre mna ako zaciatocnika dost poucne CME... Thx.
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 10, 2005, 06:57:37 PM
Finální ře?ení tohodle cme bylo opravdu "tristní" - kdy? jsem ho vybral DARKER mně upozorňoval ,?e je na něj spousta tutorů - dokonce i já jsem kdysi jeden psal - ale o to tady ne?lo,zabalil jsem to packerem trochu upravil hodnotu PE HEADERS a u? od začátku jsem upozorňoval,?e vytáhnete do boje s novými nástroji - a to bylo v tomto cme hlavní - naučit se je pou?ívat a vědět co od nich chtít.
Hodně lidí dodnes vůbec neví jak s impREC - já jej pou?ívám téměř denně + třeba LordPE atd , jenom PE Editorů mám asi 7 (zmíněný LordPE,Stud_PE,PE-TOOLS,PEiD,WARK aj) - ka?dý umí něco líp ne? ten druhý a poka?dé je to třeba vyzkou?et.
Bez těchto nástrojů se v dne?ní době packerů téměř nelze obejít,ale nemusí to být packer,někdy stačí úprava v resource a importy se zbortí - tak?e musíte sáhnout po impREC.
Existují i nástroje ,které Vám nacpou do hotového .exe dal?í imp.funkce aj aj.
Sami jste se mohli přesvědčit,?e pouhé ?patné nastavení vám pěkně zamotá hlavu a ?e s targetem prostě nehnete.
Kdybychom se naučili alespoň na 50 % pou?ívat mo?nosti OllyDbg nebo třebas IDA svět RE by byl zase o malinko jasněj?í.
V?em ře?itelům díky za snahu a za to ?e se nebáli vstoupit do zatím neznámých vod........(Cze..CZ..hlavně za obdivuhoudnou nervovou stabilitu).
Title: Newbie crackME - 13 - [SOLVED]
Post by: CZerezpiCZkin on December 15, 2005, 04:10:24 PM
Jasne...  ;) Nech sa paci, ale je to pisane trochu narychlo...
Title: Newbie crackME - 13 - [SOLVED]
Post by: llAmElliK on December 15, 2005, 04:28:23 PM
Díky moc - super - teď u? SOLVED.