RE FORUM

[REVERSE ENGINEERING] => Newbie => Topic started by: llAmElliK on November 05, 2005, 02:43:27 PM

Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 05, 2005, 02:43:27 PM
Hi,

byl jsem po?ádán o vlo?ení dal?ího crackME ala newbie - ,prý o trochu krypto a nebo něco nového, po chvilce přemý?lení jsem zvolil trochu netradičně a trochu v rozporu s pravidly jeden "ostrý target" (PROSÍM JE TO JEN VYJÍMEČNĚ - rozhdně sem podobné nedávejte!!!!)-trocha praxe nebude snad na ?kodu.
Rozhodl jsem se proto,?e aplikace pou?ívá trochu netradiční kontrolu registrace - v tomto případě jde o to ukázat si ,?e i málo někdy znamená víc a mně osobně se tato kontrola velice líbí - neberte to jako CRACK ale spí? jako inspiraci - jsem zvědav na Va?e poznatky.
V?e v attachmentu - exe + knihovny nutné ke spu?tění.Je?tě poznámka - NEDÁVEJTE v tomto případě hotové ře?ení ale pouze komplexní popis ochrany a jejího odstranění.
Ře?ením je samozřejmně odstranění NAGů a LICENSED to [t4C] + zru?ení TRIAL.(malou nápovědou budi? - hledejte "zajímavou"API,a k ře?ení stačí patching pár bajtu)

EDIT: - Nevím jak napovědět abych neprozradil v?e - samozřejmně ře?ením je i správné číslo - HINT 1 - sledujte jak se program chová kolem hlá?ky OK registered - HINT 2 - s takovouto kontrolou jste se asi je?tě nesetkali;) - HINT 3 - pokud program patchnete čeká Vás Rebuild PE.
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 05, 2005, 08:04:23 PM
Noo nemam toho vela, ale aspon nieco:

Spravne reg. cislo musi mat 14 znakov a obsahovat jednu pomlcku. Nejakym sposobom (zatial este neviem akym) sa s tym nacvicuje po zadani reg. cisla a ukonceni programu. Tesne pred ukoncenim sa zahrava so zadanym cislom a nieco z neho pocita ( v pamati na 0012ECCC ).

EDIT:   Neviem ci to je az taka velka nahoda, ale ten retazec, ku ktoremu pridava prvu cast reg. cisla je "0X". Tento retazec sa nachadza aj v nazve tohoto threadu...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 05, 2005, 10:25:35 PM
Zřejmně náhoda ;) - odhodlal jsem se k vlo?ení komerční aplikace proto,?e disponuje opravdu nestandardním ověřováním registrace - vůbec nejde o správný serial - zaměřte se na ověřování - co a kde to hledá ,sledujte API kolem OK hlá?ky,u? samotná API pokud ji "odchytíte" vám napoví,jakým způsobem a KDE se validita registrace ověřuje....
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: HypnotiX on November 06, 2005, 01:08:18 PM
Zkuste resource hacker a trkne vas to, pak jen text reference string a mate to ...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 06, 2005, 04:12:10 PM
Este vcera som sa na to dival a tu je v strucnosti, na co som prisiel. Zameral som sa skor na zistenie spravneho reg. cisla... (Tie prispevky od llAmElliKa a Hypnotixa som precital az tesne predtym, ako toto pisem.)


PO ZADANI REG. CISLA:
- Na adresse 0041C11E je rutina kontrolujuca (mno, skor obsluhujuca) reg. cislo. Tato rutina prebehne vzdy, znamena to,    ze musi rozoznat, kedy bol zadany prazdny retazec, aby sa nesnazila registrovat blbosti... ( 0041C123)
- Cislo sa pozadani uklada na adresu 0012F28C na adrese 0012F254 je dlzka
- Na 0040C150 sa cez lstrcpyA prekopiruje retazec na 003F4110 (??? preco taka vysoka adresa ???)

PRI UKONCENI PROGRAMU:
- Na 004169E4 sa zisti pocet znakov cisla a hned sa to porovna s 0Eh, je to overenie, ci cislo ma 14 znakov
- Nasleduje cyklus na zistenie pozicie pomlcky v cisle (00416A00)
- Cez lstrcpyA a lstrcatA sa mi na adresu 0012ECCC dostane retazec "0X" + prva cast mojho cisla
- (00416A3F) Rutina mi na adresu 0012EC8C spravi ciselny dekad. prepis prvej casti cisla
- Naslesuje dalsi cyklus na zistenie pomlcky 00416A60
- Cez lstrcpyA a lstrcatA (nepriamo cez CALL NEAR EBX) sa mi na adresu 0012ECCC dostane retazec "0X" + tretia cast
mojho cisla
- (00416AA3) Rutina mi na adresu 0012EC8C spravi ciselny dekad. prepis tretej casti cisla
- Cez lstrcpyA a lstrcatA (nepriamo cez CALL NEAR EBX) sa mi na adresu 0012ECCC dostane retazec "0X" + druha cast
mojho cisla
- (00416ACE) Rutina mi na adresu 0012EC8C spravi ciselny dekad. prepis druhej casti cisla

Lenze zacinam mat pocit, ze toto "nacvicovanie" s retazcami pri ukoncovani programu je len na "zmatenie nepriatela",
pretoze ked uz je na spominanej adrese 0012EC8C dekadicky prepis znakov niektorej casti zadaneho cisla, tak sa vobec
nepouzije a je len prepisany inou hodnotou...
Vidim to tak, ze som znova na zaciatku... :(


EDIT:
Neviem ako ostatni, ale ja v tych resources nic nevidim...  :(  :(
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: HypnotiX on November 06, 2005, 06:08:20 PM
Quote from: CZerezpiCZkin


EDIT:
Neviem ako ostatni, ale ja v tych resources nic nevidim...  :(  :(

Mrkni na About dialog, neco tam chybi a vytvari se za behu programu..
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 06, 2005, 06:37:21 PM
Jeden mega HINT - IMAGEHLP + CheckSumMappedFile..........
A naleznete první fázi.......víc neřeknu ani za prase:p
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 06, 2005, 06:44:14 PM
Quote from: llAmElliK
Jeden mega HINT - IMAGEHLP + CheckSumMappedFile..........
A naleznete první fázi.......víc neřeknu ani za prase:p




No, ja myslim, ze ten byte mam najdeny. ( Thx Hypnotix )  Moj problem spociva v tom, ze neviem, akym sposobom to mozem upravit a tym zistit, ci mam spravne riesenie, alebo nie. Resources som nikdy neupravoval a ani neprepocitoval adresy...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 06, 2005, 06:46:55 PM
No právě proto musí? vědět kde to kontroluje - jinak si dovolím upozornit ?e 1 a druhej NAG jsou na sobě nezávislý - první překočí? JUMPEM ov?em aplikace kontroluje dál.....
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 06, 2005, 06:58:58 PM
Quote from: llAmElliK
No právě proto musí? vědět kde to kontroluje - jinak si dovolím upozornit ?e 1 a druhej NAG jsou na sobě nezávislý - první překočí? JUMPEM ov?em aplikace kontroluje dál.....




To s tym NAGom som zistil uz na zaciatku...   :mad:
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 06, 2005, 07:03:16 PM
A co asi dělá ta API co sem napsal ti neříká nic??
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 06, 2005, 07:16:40 PM
Pocita CheckSum z PE hlavicky... Takze predpokladam, ze to porovnava s nejakym dalsim "originalnym CheckSumom". A preto mi nespusti hlavne okno, ked to patchnem natvrdo...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: Master on November 06, 2005, 08:21:52 PM
jojo s nagem vim taky,jinak sme s CZpCZ na stejne stope.Akorat me se ted uz nechce,sem utahany.Na zbytek kouknu zitra  :rolleyes:
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 06, 2005, 09:21:40 PM
Ehm, nedalo mi to, uz som dnes odisiel od compu, ale zasa som sa vratil...

NAGy som odstranil, v About boxe mi vypise "Licenced to: [t4C]", aj ten bytik, co si kontroluje cez ImageNtHeader som upravil, aj CheckSum som v resources poopravil. Lenze neviem, ci to je vsetko, alebo ta trial verzia ma este nejake obmedzenia, o ktorych neviem...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 07, 2005, 01:00:20 AM
Podle mně - to je v?e - dobrá práce - povídej:)
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: CZerezpiCZkin on November 07, 2005, 07:49:20 PM
Este to skusime s Masterom trochu otestovat a potom az to bude (ak to vobec bude) to popisem...
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: Master on November 10, 2005, 07:32:45 AM
Tak prikladam popis,ov?em chtel bych pozadat hypnotixe o mensi osvetleni postupu,jak prisel na to misto...Diky
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: HypnotiX on November 10, 2005, 01:38:15 PM
zde me osvetleni :)
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: Master on November 10, 2005, 02:57:58 PM
diky,neco se mi osvetlilo,ale pak se jeste na neco zeptam na icq  :rolleyes:
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: llAmElliK on November 10, 2005, 04:14:15 PM
Quote from: Master
diky,neco se mi osvetlilo,ale pak se jeste na neco zeptam na icq  :rolleyes:

...pak se ale ostatní toho moc nedozví!!!!
Title: Newbie ReverseME - 0X - [SOLVED]
Post by: Master on November 10, 2005, 04:48:18 PM
neboj,ja to tu hodim  ;)

Tak,tak moje otazka se tykala ohledne tech fci getdlgitem a getdlgitemtext.
Trochu sem to nepochopil,tak sem optal.
Nakonec sem to pochopil a zde je moje osvetleni:
Porgram nekde kontroluje svou registraci.Ovsem ke kontrole pouziva fci GetDlgItem.tato fce vraci handle na registracni textbox.Je li vracen handle,program neni registrovan.A naopak.