Zpět na seznam článků     Zpět na článek

Komentáře ke článku

 
 
 BBCode
zEr0 | 194.197.79.*4.10.2007 10:52
2 DjH:

ta metoda s hledáním textu v titulku okna je již dávno používaná, v raných dobách crackingu, co jsem ho ještě dělal jsem se s tím setkával a proto se mi OLLY jmenuje na obrazovce jako "_" nebo tak nějak, ale na tohle taky existuje nějaký doplňující plugin
gugumaa | 195.113.79.10/10.0.10.*25.9.2007 21:43
S komentáři to nepřeháněj, naopak - piš kód tak, aby byl jasný, čitelný a jaksi samovysvětlující. Nejde o to, abychom se neposrali, ale aby bylo kódu samotnému dobře rozumět bez keců okolo.
Jako komentář ve většině případů bohatě stačí označit si u rutiny vstupy, výstupy a co má dělat. Je blbost komentovat si jednotlivé instrukce "SHL EAX,5 // zrotujeme EAX doleva o 5 bitů". Komentáře jen osvětlují použité postupy - třeba poznámka o tom, že tenhle konkrétní výpočet je zpracování Karnaughovy mapy, například...
DjH_bez_logu | 83.208.29.*17.9.2007 13:54
btw: a kdybyste videli vzdycky ty my zdrojaky k ruznejm programum, byste se asi pos*ali :), asi si zacnu delat poradek v sources... :)...zacnu to i komentovat.. p.s.:Diky za <pre>, to by me nenapadlo...su linej...
DjH_bez_logu | 83.208.29.*17.9.2007 13:52
Ty procky jsou okopceny odnekud z nejaky stranky, na upravovani su moc linej :), vy ste prece chytri, taxi to upravite sami...jeste by me zajimalo proc f-ci IsDebuggerPresent nedali rovnou do "knihovny" windows.dcu...proc ju tak pracne musim tahat z kernelu. Samozrejme ze delfi umim, a za to me nebudes urazet!!! :), nepokladam se za uplnyho experta ale ani za novacka, delphi umim moc dobre, samozrejme ty tvy poznamky jsou o veci, ale co? funguje ten kod? funguje...Samozrejme jde udelat if IsDebuggerPresent then...ale ja mam radsi procky a funkce :), zatim zdarec, a teste se na dalsi clanky...
babca | 80.188.22.*17.9.2007 12:33
Jaroslav Šmíd:
Mno tak pokud nepatris mezi ty lidi co nechodej na forum jen buzerovat, tak prijmi mou omluvu. Priznavam, ze tvoje poznamky jsou k veci, ale spis me stve spusob jak to podavas, prijde mi to strasne arogantni a tak vubec, to bylo to co me nejspis nastvalo :). Tedy pokud ses tak schopnej jak tvrdis, tak prijmi mou nejhlubsi omluvu :) Sorry :)
Jaroslav Šmíd | E-mail14.9.2007 21:52
to: babca
Promiň, ale nemusíš na mě být naštvaný. Jen jsem ti napsal, jak to má být, co děláš špatně, abys to příště udělal lépe.
Komplexy na mladejch si neuhlazuju, sám jsem mladej (19 let). Na svém výtvoru pracuji, už má kolem 100 000 řádků! Jenže rozdíl mezi námi je, že já to dám na veřejnost až to bude kompletně vyladěný, optimalizovaný.

A abys věděl, že se neschovávám za nepravé jméno, tak ti klidně pošlu kopii svého rodného listu, když mi dáš adresu :-)
Rift_ | 212.96.190.*14.9.2007 13:40
no, Šmídovo poznámky jsou dost k věci, když sem se do toho začelt, tak účel byl jen opravit a poradit (teda aspoň podle mě)
Jaroslav Šmíd | E-mail11.9.2007 23:45
Promiň, ale ty programátor nikdy nebudeš. Určitě ne v Delphi.

if IsDebugerPresent = true then ...
jako by už fce IsDebugerPresent nevracela boolean sama o sobě. Stačí "if IsDebugerPresent then ..."

Řádková podmínka, znáš? Nemusíš tam pak psát begin a end, což ostatně nemusíš ani, když tam máš asm ... end, tj.
"if cond then
asm
něco
end;"
A proč tam nutně cpeš ten assembler. To si jako myslíš, že když napíšeš ExitProcess(0), že se to nezoptimaluzuje úplně stejně jako když to napíšeš v assembleru a ještě špatně? Proč špatně? Zapomněl jsi na zásobník uložit návratovou hodnotu programu ...

String(Pchar(item)) -- tohle se mi líbí. String přetypujeme na PChar a pak zpátky na string, jak sexy.

SetLength(item,255); -- říká ti něco fce GetWindowTextLength(HWND) ? Asi ne, protože by se to k té alokaci poměti docela hodilo. Takovýma prasárnama jako je ta tvoje pak dochází v programu k přetečení.

GetWindowText(HWNDShell,Pchar(item),8); -- ano, naalokujeme 255B a pak tam stejně uložíme jen 8B. I když máš třeba 2GB RAM, občas se vyplatí šetřit pamětí kvůli ostatním.

Také je prdel, že jednou použiješ ExitProcess a po druhé application.terminate. Přikláněl bych se k tomu druhému, protože to si program po sobě hezky uklidí, např. korektně uvolní paměť naalokovanou pro VCL pitominy. Při použití ExitProcess to sice uklidí operační systém místo programu, ale není to zrova hezké.

To rozpoznávání titulku je pěkně nahovno. Rozcuchá to pak i okno jiného programu se stejným titulkem.

Zdarec a neflákej to.

A ještě něco. Používej tag <pre> pro výpisy zdrojových kódů a hezky to odsazuj, tohle je čuňárna.
DjH_bez_logu | 194.228.235.12/14.154.79.254, 127.0.0.*11.9.2007 17:50
Diky ;)
Nestaci no, jeste jsem prisel na moznost nejak "zasifrovat" Name i s/n a ty hodnoty pak porovnat (tudiz muze to pri dobrem pouziti a zachazeni udelat revmanovi zmatek)... Ale kdyztak az priste, to me zrovna napadlo ted... =) Myslim si ale , ze porad plati pravidlo "Vsechno jde cracknout" =)... Kdyz uz ne reversnout, tak aspon patchem ;)
jOe | E-mail | ICQ 284-848-28510.9.2007 18:20
vidim ze mam konkurenciu :)

so tou metodou
FindWIndow("OllyDbg"); som sa uz stretol ,ale vacsinou iba v amaterskich cme.

co sa tika tej kontroly serialu pismeno po pismene stale to nestaci.

Stránky: 1