Author Topic: Newbie crackME - 24->[SOLVED]  (Read 1480 times)

llAmElliK

  • [TiME4CRiME]
  • Administrator
  • VIP
  • *****
  • Posts: 960
Newbie crackME - 24->[SOLVED]
« 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)
TiME AND CRiME ARE ETERNAL-REVERSE ENGINEERiNG iS MODERN PHiLOSOPHY AND iSN'T CRiME
[TiME4CRiME]

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #1 on: May 04, 2007, 12:27:01 PM »
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
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 24
« Reply #2 on: May 07, 2007, 09:37:52 AM »
...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
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #3 on: May 07, 2007, 10:24:59 AM »
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... :)
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 24
« Reply #4 on: May 07, 2007, 02:07:50 PM »
Quote from: eraser
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:
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #5 on: May 07, 2007, 02:46:19 PM »
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.
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation

Z!L0G80

  • -=[t4C]=-
  • Senior Member
  • ****
  • Posts: 280
Re: Newbie crackME - 24
« Reply #6 on: May 07, 2007, 03:26:04 PM »
taky neco mam ale na tutko to nevidim neni cas ... nahodim pozdejc
-= SmrT SiGNaTuRaM !!! =-

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 24
« Reply #7 on: May 07, 2007, 04:22:01 PM »
Quote from: eraser
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
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

llAmElliK

  • [TiME4CRiME]
  • Administrator
  • VIP
  • *****
  • Posts: 960
Re: Newbie crackME - 24
« Reply #8 on: May 07, 2007, 06:39:54 PM »
Quote from: Z!L0G80
taky neco mam ale na tutko to nevidim neni cas ... nahodim pozdejc

..nepopletl si si thread:D:D?? (jak si to zvladl?)
TiME AND CRiME ARE ETERNAL-REVERSE ENGINEERiNG iS MODERN PHiLOSOPHY AND iSN'T CRiME
[TiME4CRiME]

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #9 on: May 08, 2007, 07:49:00 AM »
Quote from: Z!L0G80
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ť.

Quote from: llAmElliK
..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ť.
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation

Z!L0G80

  • -=[t4C]=-
  • Senior Member
  • ****
  • Posts: 280
Re: Newbie crackME - 24
« Reply #10 on: May 09, 2007, 01:13:41 AM »
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:
-= SmrT SiGNaTuRaM !!! =-

pr0p4g4nd4

  • [SCF]
  • Senior Member
  • ****
  • Posts: 429
Re: Newbie crackME - 24
« Reply #11 on: May 09, 2007, 06:07:59 AM »
Konecne som sa dostal k internetu, takze mozem ukazat tu moju solution. Dufam, ze vsetko bude fungovat ako ma..
« Last Edit: May 17, 2007, 04:05:21 PM by Iron Screw »
Aký je rozdiel medzi mladým a starým chlapom?
Mladému behá piča po rozume, starému po byte...

Kto robí je robot, kto koktá je.. koktavý!

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #12 on: May 09, 2007, 02:18:26 PM »
[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ť.  :)
« Last Edit: May 10, 2007, 09:40:04 AM by eraser »
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation

Z!L0G80

  • -=[t4C]=-
  • Senior Member
  • ****
  • Posts: 280
Re: Newbie crackME - 24
« Reply #13 on: May 09, 2007, 03:52:13 PM »
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:
-= SmrT SiGNaTuRaM !!! =-

eraser

  • repe cmpsb
  • Senior Member
  • ****
  • Posts: 268
  • Kill malware!
Re: Newbie crackME - 24
« Reply #14 on: May 10, 2007, 09:24:02 AM »
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.
th3 r341 f4!1ur3 !5 wh3n y0u d0n't 134rn 4nyth!n6 fr0m 4ny 6!v3n 5!tu4t!0n
the real failure is when you don't learn anything from any given situation