RE FORUM
[REVERSE ENGINEERING] => General Discussion => Topic started 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
-
Tady-unpacked-fixed + IAT
-
diky,
to byla rychlost. jak si to unpackoval? jenom strucny postup.
-
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.
-
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.
-
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
-
Musis pred dumpem v olly odskrtnout rebuild iat..pak by to melo jit.
-
to sem taky zkusil. zkusil sem vse co me napadlo. a ten skript do olly mi nefunguje, haze mi to nakou chybu.
-
Ja ti dam smula :D
-
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
-
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.
-
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
-
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
-
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.
-
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
-
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...
-
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.
-
a nebo udelat "nahradu" klienta pro lidi co maj maly ratio a chtej si za cheatovat :D
-
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).
-
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.
-
potrebuju poradit.
jak odchytnu v olly, kdyz dam v targetu double-click mysi?
-
Jezis,zase chybka v datavbazi,adminovi se omlouvam...
-
zase blbne forum, nemuzu se dostat na posledni prispevek
-
Jj,vsim sem si toho - zkousel jsem to opravit ale neslo to :(
-
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)
-
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.
-
http://nrpgratiomaster.hit.bg/ je to .NET tak dissassm a jedu ;)
-
@ 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
-
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.
-
!!!!!!!!!!!!????????????
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.
-
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...