RE FORUM
[REVERSE ENGINEERING] => Newbie => Topic started by: llAmElliK on May 04, 2007, 10:29:41 AM
-
A čo tak si dať pre zmenu NAGs CrackME(s)? :) Av?ak pozor, mo?no to bude vyzerať detinsky, no pripravil som pre vás men?ie obmedzenia a tým sú nemo?nosť zasahovať priamo do executable (teda, nie tak úplne, viď. ni??ie) a taktie? ?iadny fyzický unpack. Chcem sa toti? zamerať na tvorbu loaderov!
Balíček obsahuje ?tyri takmer identické CM-ká. Prvé dve by nemali robiť ?iadny problém, tro?ku uva?ovania a najmä pochopenia problematiky, na ktorú chcem poukázať, vy?adujú newbie24c a newbie24d. Stačí sa v?ak trochu zamyslieť. :rolleyes: Tieto kúsky sú určené i pre skúsenej?ích reverzerov, ktorí by si mohli nájsť trochu času a zapojiť sa do rie?enia a tým prispieť k roz?íreniu vedomostí ostatným členom, mo?no i svojich, prípadne prezentovať svoje programátorské znalosti. ;)
Prioritou je teda loader, no uvítam, resp. akceptujem i injection techniku.
Pri poslednom prípade, teda newbie24d, skúste odstrániť trapný antidebugging pomocou efektného zásahu. Je to na vás, no klasický jump je na poslednom mieste.
Jo a v?etko ide, len treba chcieť... moje rie?enia sú toho dôkazom a na?iel som nielen jednu mo?nosť, tak?e som zvedavý, kto kompletné Newbie 24 pokorí ako prvý a najmä ma zaujíma efektivita a funkčnosť daného rie?enia.
Sme v ?kôlke, tak?e diskutujte, pýtajte sa a učte sa.
(presunuto - pridej si sem prosimte to cme)
-
Názov: newbie24
[INDENT]
newbie24a (masm)
newbie24b (masm, upx)
newbie24c (tasm, upx)
newbie24d (tasm, upx, antidbg)
[/INDENT]
Autor: eraser
Pack: N/A, UPX
Jazyk: ASM, WinAPI
Typ: NAG
-
...toto newbiecme je fakt velmi lahke. Loadery pre jednotlive cmecka som mal hotove hned(a to neviem vobec programovat) a tut bol tiez otazkou niekolko minut
...ked sa dostanem k inetu tak uploadnem moju solution
-
Aj si ich dobre otestoval? Najmä tie posledné dva a odstránenie úvodných message boxov.
Ak chce?, nahoď zatiaľ len tie loadre, tutoriál mô?e? doplniť neskor?ie. Chcel by som to omrknúť. Jo a dúfam, ?e si nerozpakovával tie targety... :)
-
Aj si ich dobre otestoval? Najmä tie posledné dva a odstránenie úvodných message boxov.
Ak chce?, nahoď zatiaž len tie loadre, tutoriál mô?e? doplni? neskor?ie. Chcel by som to omrknú?. Jo a dúfam, ?e si nerozpakovával tie targety... :)
...no neviem ci dobre otestoval ale nevidel som ziadne NAGy, cize by to malo byt v poriadku.
...no neviem, ak sa mi podari dostat na internet, tak sem hodim asi aj tut(aj loadery+source code) lebo neviem kedy sa nabuduce dostanem k internetu.
...vies co, ani nie. Nebolo treba to rozbalovat. A aj loader perfektne fungoval na packed targets, takze v pohode.
...inac, mala poznamka. Naco si daval do toho posledneho cme tolko kontrol na IsDebuggerPresent? Podla mojho nazoru to tam je uplne zbytocne :rolleyes:
-
Ok, tak to nahoď, som na to zvedavý, lebo v tých posledných dvoch mám men?í trik, tak?e som zvedavý, ako si to oklamal. :) Toti?, najskôr je nutné počkať na unpack a a? potom patchovať. I?lo mi práve o to čakanie...
Tú IsDebuggerPresent() funkciu som tam dával v prípade, ?e niekto pou?ije tzv. mini-debugger loader.
-
taky neco mam ale na tutko to nevidim neni cas ... nahodim pozdejc
-
Ok, tak to nahoď, som na to zvedavý, lebo v tých posledných dvoch mám men?í trik, tak?e som zvedavý, ako si to oklamal. :) Toti?, najskôr je nutné počka? na unpack a a? potom patchova?. I?lo mi práve o to čakanie...
Tú IsDebuggerPresent() funkciu som tam dával v prípade, ?e niekto pou?ije tzv. mini-debugger loader.
...trik? si pouzil nejaky trik? tak ten trik som asi nejako prehliadol, asi. Aj ked na druhu stranu, kedze sa mi ziadne NAGy nezobrazovali, tym padom som asi ten trik obisiel, asi. :confused:
...inac aj ja som si myslel, ze loader kt. pouzijem nebude fungovat kedze niektore z tych cme su packovane - ale opak bol pravdou vsetko fungovalo v pohode. :)
...pochybujem, ze by niekto pouzival nieco ako mini-debugger loader. Vlastne ak mam pravdu povedat nemam uplne jasno co to vlastne je. :o
-
taky neco mam ale na tutko to nevidim neni cas ... nahodim pozdejc
..nepopletl si si thread:D:D?? (jak si to zvladl?)
-
taky neco mam ale na tutko to nevidim neni cas ... nahodim pozdejc
V podstate bohate stačí i ten loader, resp. zdrojáky. Tutoriálom mô?e byť kľudne krátky .txt popis, ktorý offset a akými bajtami si patchoval a prečo. Proste výpis disassemble a mo?no nejaká poznámka ohľadne load-unpack-patch postupnosti, najmä pri tých posledných dvoch. Ale ako som naznačil, zdrojový kód mi povie v?etko, tak?e pokiaľ má? hotovo, mô?e? to nahodiť.
..nepopletl si si thread?? (jak si to zvladl?)
To je chválihodné, preto?e sa opäť zapojil i niekto zo skúsenej?ích a my si tak mô?eme omrknúť jeho spôsob rie?enia. A aspoň tu nebude pr0p4g4nd4 sám. ;)
Som zvedavý na tie rie?enia, mám taký blbý pocit, ?e ste ma "prechcali" :) a na?li nejaké pohodovej?ie rie?enie, ne? som zbastlil ja (presnej?ie, mám dva spôsoby). Av?ak stále som tro?ku na pochybách, najmä pri tých posledných dvoch, či?e newbie24c a newbie24d. llAmElliK určite tu?í, čo mám na mysli, preto?e som s ním o tom nedávno hovoril, av?ak nechcem to tu e?te prezrádzať.
-
tak sem neco stvoril ,mozna ty loadery pojedou nevim moc sem si nehral s casovanim a je to to nejjednodusi co muze byt . kdyztak to smazu no ,neni cas :rolleyes:
-
Konecne som sa dostal k internetu, takze mozem ukazat tu moju solution. Dufam, ze vsetko bude fungovat ako ma..
-
[Test Results]
Z80
[INDENT]
newbie24a.exe Loader24a.exe passed
newbie24b.exe Loader24b.exe passed/failed*
newbie24c.exe Loader24c.exe failed
newbie24d.exe Loader24d.exe failed
[/INDENT]
pr0p4g4nd4
[INDENT]
newbie24a.exe loader_a.exe passed
newbie24b.exe loader_b.exe passed**
newbie24c.exe loader_c.exe passed**
newbie24d.exe loader_d.exe passed**
[/INDENT]
* - unstable
** - not a safe method
Z80: Pozeral som zdroják, podľa neho by ti mal fungovať aspoň ten prvý UPX target, teda newbie24b. No, nechce sa mi hľadať chyba. Tie posledná dva sú jasné.
pr0p4g4nd4: Tro?ku som neveril, ?e to mô?e fungovať, no zjavne CPU, resp. najmä správa multitaskingu OS robia zázraky. V normálnom prostredí, ale dokonca i pri plnom zaťa?ení procesora, v?etko be?í, ako má a ka?dý loader je funkčný a svoj účel spĺňa. Zlyhanie nastane pri extrémnom pokuse, ktorý zrejme be?ne u?ívateľ nemô?e dosiahnuť. Tak?e beriem... a gratulujem k vytvoreniu týchto utilitiek, vidí?, v podstate to programovanie nie je také ťa?ké a pokiaľ má? skúsenosti s RE, tak ten assembler zvláda? ľavou zadnou. ;) A e?te nehovoriac o malej úprave existujúceho zdrojáka...
Keď som si pre?iel kód, pochopil som dôvod fungovania. "Správne" načasovanie, resp. zdr?anie medzi unpacknutím a samotným vykonávaním prvej in?trukcie cieľovej, resp. paknutej aplikácie zabezpečuje Check4ByteSig cyklus.
Problém mô?e nastať v prípade podhodenia nevhodného targetu...
Inak vidím, ?e si pou?il zdroják od samotného mistra Hayrasa, od ktorého tento spôsob loadera obkukal (1999) samotný R!SC, mierne ho upravil a následne ho i publikoval v podobe zdrojového kódu pre verejnosť. :)
-
patched bytes funguji 100% , loadery ne... waitforinputidle je casovan na mem pocitaci 1.8Ghz , u me to funguje 6/10 spusteni ... na slozitejsi loader neni cas . treba sem mohl udelat 1 loader na vsechny 4 naraz v ring0 modu ze :D (zdrojaky a napad by byl ale cas neni ) :rolleyes:
-
Re?tartoval som PC a bez akej koľvek záťa?e som prebehol tie loadre znovu. V takomto prípade som dostal 100%-ný úspech pre Bčko. Čo sa týka Cčka a Dčka, v tomto prípade je odstránený len messagebox, ktorý je na konci. Začiatočný ostáva. Zaujímavosťou je, ?e práve pri totálnom vyťa?ení CPU sa niekedy podarí úspe?ne spustiť Dčko. Je to určite spôsobené spomalením pri vykonávaní IsDebuggerPresent funkcíí, ktorých je tam na začiatku pekná kopa. Následne sa target rozpakuje a stihnú sa zapatchovať potrebné adresy e?te predtým, ne? sú vykonané dané in?trukcie.
Heh, RING0... :) keď tak pozerám na tvoj zdroják, tak v podstate stačí men?ia úprava, resp. pridať pár riadkov a má? to komplet funkčné a za ka?dých okolností. Ale nechaj tak, čas je vzácny... nikoho do ničoho nenútim. ;) Nutno oceniť, ?e sa niekto s danými CMkami vôbec zapodieval. Asi o taký tý?deň nahodím svoje rie?enie a tým toto Newbie CrackMe uzatvorím.
-
[Test Results]
Z80[indent]
newbie24a.exe Loader24a.exe passed
newbie24b.exe Loader24b.exe failed
newbie24c.exe Loader24c.exe failed
newbie24d.exe Loader24d.exe failed
[/indent]
pr0p4g4nd4[indent]
newbie24a.exe loader_a.exe passed
newbie24b.exe loader_b.exe passed*
newbie24c.exe loader_c.exe passed*
newbie24d.exe loader_d.exe passed*
[/indent]
* - not a safe method
Z80: Pozeral som zdroják, podľa neho by ti mal fungovať aspoň ten prvý UPX target, teda newbie24b. No, nechce sa mi hľadať chyba. Tie posledná dva sú jasné.
pr0p4g4nd4: Tro?ku som neveril, ?e to mô?e fungovať, no zjavne CPU, resp. najmä správa multitaskingu OS robia zázraky. V normálnom prostredí, ale dokonca i pri plnom zaťa?ení procesora, v?etko be?í, ako má a ka?dý loader je funkčný a svoj účel spĺňa. Zlyhanie nastane pri extrémnom pokuse, ktorý zrejme be?ne u?ívateľ nemô?e dosiahnuť. Tak?e beriem... a gratulujem k vytvoreniu týchto utilitiek, vidí?, v podstate to programovanie nie je také ťa?ké a pokiaľ má? skúsenosti s RE, tak ten assembler zvláda? ľavou zadnou. ;) A e?te nehovoriac o malej úprave existujúceho zdrojáka...
Keď som si pre?iel kód, pochopil som dôvod fungovania. "Správne" načasovanie, resp. zdr?anie medzi unpacknutím a samotným vykonávaním prvej in?trukcie cieľovej, resp. paknutej aplikácie zabezpečuje Check4ByteSig cyklus.
Problém mô?e nastať v prípade podhodenia nevhodného targetu...
Inak vidím, ?e si pou?il zdroják od samotného mistra Hayrasa, od ktorého tento spôsob loadera obkukal (1999) samotný R!SC, mierne ho upravil a následne ho i publikoval v podobe zdrojového kódu pre verejnosť. :)
...no, tak to mas pravdu ze programovat v assembleri je dost lahke pokial vies reverzovat
...inak o tom HAYRASovi pocujem prvy krat. A ani som nevedel, ze potom to r!sc odkukal
-
pr0p4g4nd4: Inak Hayras bol člen skupiny [tNO], no podľa mojich informácií i?iel na tzv. dochodok e?te v "minulom" storočí. :)
-
pr0p4g4nd4: Nie, to som nemyslel... :o asi som to zle naformuloval, ale i?lo mi o to, ?e tie názvy mô?e? pou?ívať, ale pokiaľ uploaduje?, tak by to mohlo mať významové pomenovanie, ktoré sa týka daného CM. Či?e ten tvoj srandovne pomenovaný archív zabal prípadne e?te do jedného archívu, ktorý bude mať vhodný názov. Ja si myslím svoje, ale takto je to určite lep?ie rie?enie, ne? sa s niekym hádať. Poďme rad?ej reverzovať, bez teba by som mal v ?kôlke v niektorých prípadoch mŕtvo a to by bola ?koda. :(
Tu je moje rie?enie, ktoré je v binárnej podobe, tak?e úloha pre vás, kto chce vidieť logiku, tak disassemblujte, debuggujte. :p V?etky loadre sú napísané v MASM32, a? na jeden, ten som spravil v LCC. Ak sú pre dané CM obsiahle dve binárky, potom jedna je loader a druhá mini debugger. Pre newbie24d je pou?itá dokonca i API hook technika. Zdrojáky dám neskôr, mo?no... ;)
-
Thread procisten... posty presunuty pro vystrahu resp. pouceni: Pravidla flame! (http://http://t4c.ic.cz/forum/showthread.php?t=534&page=1&pp=10)
-
Mam tady pro vas 4 plne funkcni loadery i se source. Snad je tahle metoda bezpecna ;) Prekompilovano bez pouziti Frameworku
-
V čom si kompiloval tie zdrojáky, akosi mi nejdú spustiť binárky... tá hlá?ka je trochu divná, ale je mo?né, ?e je vy?adovaný framework, čo teda nemám a ani ho nechcem in?talovať. :) Ideálne by bolo, keby si pou?il LCC, získa? malý výsledný executable.
// po prekompilovaní
OK, tak som si to pre?iel, funkčnosť 100%, výborne. Taktie? vynikajúce pou?itie infinite loop, tak to má byť. Jediné, čo by som vylep?il, to je implicitný Sleep nastavený na sekundu. Ono toti? mo?e to byť občas málo a vtedy loader zlyhá. A na druhej strane, zase je nutné čakať celú 1 sekundu, čo v prípade viacerých "tricky breakpointov" mô?e zbytočne spomaliť loader. Vhodnej?iu metódu nájde? v mojom rie?ení.
E?te jedno som si v?imol, v podstate nemusí? zisťovať, či daný súbor existuje cez CreateFile, ale stačí checknúť návratovú hodnotu CreateProcess. Ale to sú u? len malé mu?ky.
Ka?dopádne, takto som si predstavoval rie?enie a som rád, ?e sa sem pridalo ďal?ie plne funkčné solution po pr0p4g4nd4-ovi, ak nepočítam to moje. ;)
-
Mam tady pro vas 4 plne funkcni loadery i se source. Snad je tahle metoda bezpecna ;) Prekompilovano bez pouziti Frameworku
Pekna praca - skusal som to a funuje to! KEEP GR8 WORK! ;)
V čom si kompiloval tie zdrojáky, akosi mi nejdú spustiť binárky... tá hlá?ka je trochu divná, ale je mo?né, ?e je vy?adovaný framework, čo teda nemám a ani ho nechcem in?talovať. Ideálne by bolo, keby si pou?il LCC, získa? malý výsledný executable.
// po prekompilovaní
OK, tak som si to pre?iel, funkčnosť 100%, výborne. Taktie? vynikajúce pou?itie infinite loop, tak to má byť. Jediné, čo by som vylep?il, to je implicitný Sleep nastavený na sekundu. Ono toti? mo?e to byť občas málo a vtedy loader zlyhá. A na druhej strane, zase je nutné čakať celú 1 sekundu, čo v prípade viacerých "tricky breakpointov" mô?e zbytočne spomaliť loader. Vhodnej?iu metódu nájde? v mojom rie?ení.
E?te jedno som si v?imol, v podstate nemusí? zisťovať, či daný súbor existuje cez CreateFile, ale stačí checknúť návratovú hodnotu CreateProcess. Ale to sú u? len malé mu?ky.
Ka?dopádne, takto som si predstavoval rie?enie a som rád, ?e sa sem pridalo ďal?ie plne funkčné solution po pr0p4g4nd4-ovi, ak nepočítam to moje.
No mne to fungovalo - ci tu na compe je alebo nie je nejaky framework tak to fakt netusim. Fuuha, takze sme uz traja co sme to poriesily - mi sme MASTER REVERZERS - ostatny to asi nevedeli poriesit :D
-
A ty si stiahol tie pôvodné binárky, či má? u? tie nové, preto?e tie staré mali cez 60 kB a nové tu?ím do 20 kB.
-
A ty si stiahol tie pôvodné binárky, či má? u? tie nové, preto?e tie staré mali cez 60 kB a nové tu?ím do 20 kB.
No maju okolo 20kB, cize to su asi tie nove.. :confused: :o
-
Jojo, to u? sú tie prekompilované, tie fungujú i mne. Mimochodom, Arab3h mi pomohol nájsť, resp. odstrániť bug v mojej jednej utilitke.
-
Jojo, to u? sú tie prekompilované, tie fungujú i mne. Mimochodom, Arab3h mi pomohol nájsť, resp. odstrániť bug v mojej jednej utilitke.
Utilitke? Ktorej? ;) :D
-
Jojo, presne tá... :) a Arab3h mi ju zároveň otestoval na Windows 2000, resp. odstránením daného bug-a som fixol funkčnosť i na iných OS Windows NTčkovej rady. Hold, ?ikovný je chalanisko, nutno uznať. A najviac ma pote?il s vyrie?ením toho forwardme.
Inak momentálne si musím dať men?iu pauzu, idem prerábať byt, to bude roboty... :( a e?te som sa rozhodol zmeniť providera, preto?e mám wi-fi, ktorá je mimochodom veľmi stabilná a s odozvou, ktorú by mi mohli závidieť i káblovkári, :p av?ak doba pokročila a 600 Sk s DPH za 360/160 kbps je proste pravek internetových slu?ieb. Na?iel som si za túto istú sumu alternatívu 1.5 Mbit/s konektivity.
-
Jojo, presne tá... :) a Arab3h mi ju zároveň otestoval na Windows 2000, resp. odstránením daného bug-a som fixol funkčnosť i na iných OS Windows NTčkovej rady. Hold, ?ikovný je chalanisko, nutno uznať. A najviac ma pote?il s vyrie?ením toho forwardme.
Inak momentálne si musím dať men?iu pauzu, idem prerábať byt, to bude roboty... a e?te som sa rozhodol zmeniť providera, preto?e mám wi-fi, ktorá je mimochodom veľmi stabilná a s odozvou, ktorú by mi mohli závidieť i káblovkári, av?ak doba pokročila a 600 Sk s DPH za 360/160 kbps je proste pravek internetových slu?ieb. Na?iel som si za túto istú sumu alternatívu 1.5 Mbit/s konektivity.
Tak to mas pravdu je to VELMI SIKOVNE CHALANISKO ;) :p
Ides prerabat byt? Hm, a kolko izbovy byt mas? A co konkretne ides prerabat - jadro?
Tu 1.5 Mbit/s si si zohnal u akej firmy? Nieco ako CHELLO alebo nieco od POMARANCA alebo T-COM(T-MOBILU)?
-
Tu 1.5 Mbit/s si si zohnal u akej firmy? Nieco ako CHELLO alebo nieco od POMARANCA alebo T-COM(T-MOBILU)?
jenom tri moznosti na vyber? slabota :D
-
Ides prerabat byt? Hm, a kolko izbovy byt mas? A co konkretne ides prerabat - jadro?
Neboj, nič také, ide sa len obnoviť obývačka, tzn. podlaha, vymalovať, nová sedačka, stolík, doplnky.
Tu 1.5 Mbit/s si si zohnal u akej firmy?
No, bude? sa diviť, ale toto je aktuálne ponuka od T-Com s názvom Turbo 2. :) Ono, spojil som sa s doteraj?ím providerom a ten mi ponúkol takmer zhodnú rýchlosť za tú istú cenu, no vy?adovalo by to prechod na 5 GHz, tak?e by som musel doplatit cez 3 tisíc za HW s tým, ?e 2.4 GHz HW si odkúpia. To je síce pekné, len?e pevnú lajnu od T-Com mám za necelú tisícovku a navy?e ?mejďáci zvy?ujú rýchlosti a pevná lajna je pevná lajna.
jenom tri moznosti na vyber? slabota
Nie, to sú ?tyri mo?nosti, preto?e T-Com nie je T-Mobile. ;) A ďalej to zavisí od lokality, tak?e je ďaleko viacej mo?ností a providerov, keď sa zamerám na také DSL, tak najväč?ími providermi sú T-Com (čo? bol Telekom, či?e monopól), Nextra a Slovanet. Mimochodom, Nextra spravila v roku 1999 brutálny útok voči Telekomu a sprístupnila za ľudový poplatok dial-up do domácností. Áno, v tej dobe ste v ČR honili net po pevných lajnách... :rolleyes:
-
jenom tri moznosti na vyber? slabota :D
To som vymenoval iba poskytovatelov co poskytuju internet po celom Slovensku. V mestach(vo vacsich mestach ako byvam aj napr aj ja) je povacsinou viacero mensich poskytovatelov pripojenia(wifi a podobne shity..).. :eek: