RE FORUM

[REVERSE ENGINEERING] => General Discussion => Topic started by: Conflict on December 10, 2006, 12:24:04 PM

Title: help with PEcompact
Post by: Conflict on December 10, 2006, 12:24:04 PM
zdar,
potrebuju pomoct s unpackem uTorrent.
http://download.utorrent.com/1.6/utorrent.exe

zkusil sem manual i programky(quick unpack 1.05...) a vzdycky se stejnym vysledkem. vzdycky mam chybu v importech viz. obrazek
Title: Unpacked
Post by: llAmElliK on December 10, 2006, 12:37:25 PM
Tady-unpacked-fixed + IAT
Title: Re: help with PEcompact
Post by: Conflict on December 10, 2006, 01:02:34 PM
diky,
to byla rychlost. jak si to unpackoval? jenom strucny postup.
Title: Re: help with PEcompact
Post by: Master on December 10, 2006, 02:21:14 PM
Tak sem si zkusil unpacknout taky to samy a unpack sem mel za asi 1,5 minuty.Az prekvapive jednoduche.

Postup.Nacti target,krokuj na

00401016   .  8908            mov dword ptr ds:[eax],ecx

Jak to hodi exception,tak dej SHIFT + F9 a skocis na

0046B99F    B8 2AA746F0       mov eax,F046A72A

Scroluj dolu az na druhy jump a tam hod BP.F9.Az se to zasekne na BP,tak 1xF8 a ses na oep 434A95.Analyzuj si ten kus kodu,dumpni si ho bez rebuiltu,a uloz si adresu oep.
Pak uz jen opravit importy a hotovo.S opravou neni zadny problem.
Title: Re: help with PEcompact
Post by: llAmElliK on December 10, 2006, 03:47:49 PM
Taky reseni - delal jsem to trochu jinak (break on access na code sekci) ve finale CTRL+F12 a jsi na OEP (jeste - delal jsem to v OllyICE - ten nehaze AV).
V attachmentu je script do olly na tuhle verzi PEcompactu a samozrejmne existuje i unpacker.
Title: Re: help with PEcompact
Post by: Conflict on December 10, 2006, 05:34:53 PM
OEP sem zjistil hned(normalne v olly, nebo peid and so on). ale oprava importu mi delala problemy. zkousel sem kde co. hmm, asi na me presla masterova smula :D
Title: Re: help with PEcompact
Post by: llAmElliK on December 10, 2006, 05:36:29 PM
Musis pred dumpem v olly odskrtnout rebuild iat..pak by to melo jit.
Title: Re: help with PEcompact
Post by: Conflict on December 10, 2006, 06:26:03 PM
to sem taky zkusil. zkusil sem vse co me napadlo. a ten skript do olly mi nefunguje, haze mi to nakou chybu.
Title: Re: help with PEcompact
Post by: Master on December 10, 2006, 06:48:48 PM
Ja ti dam smula :D
Title: Re: help with PEcompact
Post by: Conflict on December 10, 2006, 07:00:11 PM
dik za pomoc.
kdyz sem se docetl ze nekdo (kdo spolupracuje s tema spolecnostma na potirani pirastvi) koupil uTorrent, tak sem se nastval. muj oblibenej BitComet je nekde zakazanej, tak sem byl donucen uTorrent pouzivat. chcu BitComet poupravit aby se tvaril jako uTorrent. mam dve moznosti jak to realizovat. bud po spusteni BitCometu prepsat pamet a nebo prepsat rovnou exe. jeste poradne nevim jak signatura uTorrentu vypada, zatim vim ze to zacina -UT1600- a je nasledovano nakou generovanou hodnotou nebo neco takovyho.
takze asi nak tak
Title: Re: help with PEcompact
Post by: Master on December 10, 2006, 07:43:09 PM
Zajimavej nápad,stalo by za pokus se na to podivat taky.Byl sem donucen k tomu samemu kroku co ty,takze bych se klido i zapojil do stejnyho projektu.
Title: Re: help with PEcompact
Post by: Conflict on December 10, 2006, 10:45:25 PM
jeste nekdo zajem? no tak hosi, at na to nejsme dva. potrebujem poradny reverzaky. ackoliv se to zda divny, tak reverzak je nastroj potrebny pro opravu aut. presneji pro uvolneni sroubu z kola za jizdy, fakt nekecam :D

takze
podpis clienta co posila na tracker pozadavek o pripojeni je
peer_id
posila jeste nakej
key

u uT to vypada nasledovne, sklada se z podpisu a dvanactimistneho nahodneho cisla. je nejspis nahodny protoze pred tim vola GetTickCount a dela s tim naky cachry, takze
peer_id=-UT1600-XXXXXXXXXXXX
a na ten key zatim jeste nedoslo
Title: Re: help with PEcompact
Post by: llAmElliK on December 11, 2006, 10:58:41 AM
Urcite dobry zamer,kterej by se libil i mimo "nas".
Ja ,ale vubec - tim myslim vubec nemam zkusenost z zadnym timhle softem,proto netusim co a jak,co je treba udelat apod.aby to fungovalo jak potrebujes - muze mi nekdo osvetlit problematiku stahovani z toho ci onoho klienta???
dikes
Title: Re: help with PEcompact
Post by: Master on December 11, 2006, 05:37:04 PM
No problematika.Nevim jestli znas aspon castecne problematiku torrentu.Jestli ano,tak by to nemel byt takovy problem.
Proste mame tracker a klienta.Tracker je vlastne takvoy ukazatel a odkazuje na uzivatele vlastnici dany soubor.Klient se k nemu pripoji,preposilaj se adresy a nasledne se stahuje a tracker u? není potřeba.
Tak a tady je kamen urazu.Nejaci klienti jsou na trackerech zakázaní.A my vlastne uva?ujeme,co detekuje daneho klienta.Máme za to,?e ka?dý klient má nějakou signaturu,která se kontroluje.Ovsem to nemuzu zatim tvrdit s jistotou,jelikoz nemame zadny zdrojovy kod trackeru.Tak?e tady se pokusime vzit signaturu z uTorrentu a predelat ji do BitCommetu.
Title: Re: help with PEcompact
Post by: Conflict on December 11, 2006, 06:42:59 PM
asi nak tak.

takze mame dve cesty jak zmenit peer_id a key:
1. patchovat exe
2. patchovat pamet procesu. tohle se mi libi vic, protoze by se nemuseli vytvaret patche pro kazdou novou verzi, jen by se vydal soubor s novyma signaturama.

jen mezi nami. BitComet neni zakazanej nahodou, sou s nim prej problemy s upgradovanim ratia. me se to nikdy nestalo. mozna je to kachna vyvolana par uzivatelama, kteri sou spolceni s tema "proti piratstvi" a chtej aby se pouzival jen jeden klient(kterej si mimochodem koupili).
zase na druhou stranu. i kdyby neumel spravne pocitat ratio, tak se mi nelibi omezeni jen na 2 nebo 3 klienty. nechapu proc je doporucovanej azuerus, kdyz je to takovej shit, program v java prostredi, si to vemte :D :D
Title: Re: help with PEcompact
Post by: CZerezpiCZkin on December 11, 2006, 06:55:48 PM
Noo, vopred prehlasujem, ze sa v torrentoch vobec nevyznam. Ale podla toho, ako som to pochopil, su dve moznosti, ako sa rozpoznava klient - bud prave tou signaturou pri komunikacii s trackerom, alebo kazdy klient ma svoj vlastny format pre komunikaicu a tym padom sa s niektorymi torrentami vobec nemusi "dohovorit" a teda je na nich v podstate zakazany.

Tu druhu moznost rozoberat nebudem, lebo to je uz otazka kompatibility klient-torrent a navyse predpokladam, ze ked niekto programuje klienta, tak sa snazi to urobit tak, aby bol co najvsestrannejsie pouzitelny (ma tak napada - preco potom nespravi "plavajucu signaturu" meniacu sa podla toho, co si dany torrent "zela mat na opacnej strane"?) a format udajov sa teda nemeni.

Z prvej moznosti potom logicky vyplyva, ze komunikacia obsahuje spominanu signaturu plus samotne informacie potrebne pre vyhladanie pozadovanych suborov. Toto cele moze byt navyse aj packnute, pripadne to obsahuje este nejaky checksum (teda ja by som ho tam dal urcite, aby som si overil, ci pri prenose nedoslo k nejakym chybam v prenasanych udajoch). Kedze neviem kolko "ochrannych" signatur a znakov komunikacia obsahuje, skusil by som odchytit komunikaciu pri hladani dvoch roznych suborov, ak sa mi tam zhoduje viacero casti komunikacie, tak to bude zlozitejsie, pokial iba hlavicka, tak by to nemal byt az taky velky problem...

Ale to je len moja uvaha, rad si vypocujem (precitam) aj nazory inych...
Title: Re: help with PEcompact
Post by: Conflict on December 11, 2006, 07:16:27 PM
po chvilce v olly na me vykouklo

http://adresa_trackeru:2710/a/hash_sha1/announce?info_ash=F%01Q%c3l%94%7d%ff%aa%af%3c%0b%27%e2%e6&peer_id=-T1600-%da%81%8dK%7f%a4%3c%01%2f%87j%3b&port=22008&uploaded=0&downloaded=0&lft=0&key=D7A9E1B4&event=started&numwant=200&compact=1&no_peer_id=1

Adresu_trackeru a hash_sha1 sem smazl z bezpecnostnich duvodu
Nejsu moc zbehlej v internetovych protokolech, ale tohle vypada jako by se volala stranka pres php.
de z toho poznat:
peer_id=-UT1600-%da%81%8dK%7f%a4%3c%01%2f%87j%3b
port=22008
uploaded=0
downloaded=0
key=D7A9E1B4

hned vas musela uchvatit pritomnost a moznost upravy uploaded a downloaded. mensi upravou alga pro tvorbu php_zpravy (nebo pouhym zkopirovanim do prohlizece) a ste razem guru s neotresitelnym ratiem. samozrejme asi v urcitych mezich, trackery sou na nahly narust ratia nejspis osetreny.
kdyz pominem tuhle lamerinu prvniho kalibru, tak vidime peer_id a key.
peer_id se sklada ze dvou casti (pevne a random), key je asi vzdycky random.
pevna cast peer_id je -UT1600-%da%81
tak a ted mi s tim budete muset pomoct. co znamena to %xx ?? to je jako hex hodnota? a kdyz to tak je, tak proc se tam vyskytuje %8dK??  copak 8dK je naka hex hodnota? to sou mi novinky :D

tak a ted je tu moznost jen upravit tu pevnou signaturu a mohlo by to byt vyreseno. jeste je nutny zkontrolovat delku peer_id, delku a popride tvar key.
Title: Re: help with PEcompact
Post by: Conflict on December 11, 2006, 07:42:40 PM
a nebo udelat "nahradu" klienta pro lidi co maj maly ratio a chtej si za cheatovat :D
Title: Re: help with PEcompact
Post by: CZerezpiCZkin on December 11, 2006, 07:50:25 PM
No to ma tiez napadlo, ci by nebolo rychlejsie, naprogramovat noveho klienta. Alebo naprogramovat "len" modul zodpovedny za komunikaciu s torrentom a adresy obdrzane z torrentu potom podsunut tomu staremu klientovi (BitComet si to tusim spominal).
Title: Re: help with PEcompact
Post by: Conflict on December 11, 2006, 08:18:39 PM
nasel sem, ze key u uT je dlouhej 8 znaku a umoznuje A..F + 0..9 (50D57253).
u BC je dlouhej jen 5 znaku a umoznuje jen 0..9

este sem si vsiml ze ten dlouhataaanskej string co se posila na tracker je v pameti ohranicen hexovou nulou(proste string). takze v pameti najit ten string, zkopcit, upravit a nahrat zpatky do pameti.
problem by nastal, kdyby se ten string g......................................

aha, tak to byla spatna uvaha, protoze ten string se generuje porad dokola, takze se musi zmenit algo pro generovani peer_id a key.
Title: Re: help with PEcompact
Post by: Conflict on December 12, 2006, 12:33:21 PM
potrebuju poradit.
jak odchytnu v olly, kdyz dam v targetu double-click mysi?
Title: Re: help with PEcompact
Post by: Master on December 12, 2006, 12:41:58 PM
Jezis,zase chybka v datavbazi,adminovi se omlouvam...
Title: Re: help with PEcompact
Post by: Conflict on December 12, 2006, 02:05:53 PM
zase blbne forum, nemuzu se dostat na posledni prispevek
Title: Re: help with PEcompact
Post by: llAmElliK on December 12, 2006, 02:28:29 PM
Jj,vsim sem si toho - zkousel jsem to opravit ale neslo to :(
Title: Re: help with PEcompact
Post by: CZerezpiCZkin on December 12, 2006, 05:14:22 PM
2 Conflict:
Neviem nakolko je aktualny tvoj dotaz na dblclick, ale ide to odchytit takto:
 - nechas bezat target
 - prepnes sa do okna Windows
 - oznacis si okno targetu a nastavis si message BP na spravu WM_LBUTTONDBLCLICK (pripadne WM_MBUTTONDBLCLICK, ci WM_RBUTTONDBLCLICK podla toho na ktore tlacidlo mysi chces reagovat)
Title: Re: help with PEcompact
Post by: llAmElliK on December 12, 2006, 06:57:58 PM
Jo presne tak - musis zkouset a odchytit udalost buttonu - darilo se mi taghle enablovat buttony v pameti (coz neni tvuj pripad) podle toho zda vraci 1 nebo 0.
Title: Re: help with PEcompact
Post by: Z!L0G80 on December 12, 2006, 07:08:34 PM
http://nrpgratiomaster.hit.bg/ je to .NET tak dissassm a jedu ;)
Title: Re: help with PEcompact
Post by: Conflict on December 12, 2006, 07:19:27 PM
@ z80: jaja, takovych je vic. oni prectou pamet a vycucnou.
ja to cu ale zmenit primo v bitcomet. je tu jeste problem s delkou key. u uT je 8, u BC je 5. takze pouhy prepis pameti neprichazi v uvahu. musim najit misto kde se key generuje. vim ze se generuje po spusteni jakyhokoliv torrentu, proto potrebuju odchytit double-click nebo jakykoliv mouse-click.
zkousel sem Resource Hacker abych si popovidal s formularema. jenze sem zustal cumet kdyz sem hlavni form nenasel. zda se mi, ze je bud narvanej do naky dll a nebo se generuje pres nakej skriptovaci jazyk.
hodne otazek, nejasnosti a neschopnost reverzovat a tak malo casu. sakra sakra
Title: Re: help with PEcompact
Post by: Master on December 13, 2006, 10:22:00 AM
a proc by to nemelo jit v uvahu?Nezapomen,ze on to odesila jako retezec...Tak proste nahradis ten retezec tak,jak sme se bavilo.Proste najit misto,kde to odesle.
Title: Re: help with PEcompact
Post by: Conflict on December 13, 2006, 10:53:46 AM
!!!!!!!!!!!!????????????
no to je sice taky moznost, ALE.... proc porad menit string pri odesilani? musel bys furt upravovat zpravu, to znamena volat nakej kousek kodu co to upravi. odkad ho budes volat? dll? nacpes ho do BC? navic pro kazdej tracker ta zprava vypada jinak. tak pro vsechny tyhle duvody je v tuhle chvili mnohem jednodussi najit misto kde se generuje peer_id a key. staci pomoci par patchu zmenit kod a je snad vyhrano. a tady porad zustava problem s tim mistem kde se generuje.

@czpcz: to sem ani nevedel ze je tam naka zalozka Windows a ze de na ne davat BP. je to sice pekny ale nefunguje mi to.
Title: Re: help with PEcompact
Post by: Master on December 13, 2006, 06:07:56 PM
No dobra,ale pro ucel testovani to snad bude stacit.Jestli se to osvedci,tak by to mohlo byt dobre znameni.Ty to beres,ze by to mohlo bejt naporad.Mozna by mohlo byt,ale dulezite je vedet,zda li se to vubec chytne.Jestli se to nechytna,tak je tady asi neco jinyho,co sme prehlidli...