Imao sam problema sa logovanjem na ES u prethodnih 36 sati...
stsung - skoro si u pravu, ali si zaboravio jednu stvar. Asembler ce prevesti gore navedeni kod kao:
mov eax,0h
add eax,0h
jmp eax
pri cemu ce labela returnEntry sadrzati ofset dword konstante (0h) koja se pri pozivanju navedenog koda upisuje u eax, dok ce labela returnBase sadrzati ofset dword konstante (0h) koja se dodaje eax.
Stvar koju nisi predvideo je da najverovatnije postoji neka vrsta incijalizacije dword konstanti (chitaj: varijabli) na koje pokazuju navedene labele pre pozivanja ovog parcheta koda.
Stavise, najverovatnije postoji nekoliko razlicitih incijalizacija (naravno, u delu programa koji nije naveden) da bi ovakvo kodiranje dobilo ikakav smisao.
Znaci po prelasku na obradu ovog dela koda, CPU nailazi na:
mov eax,imm32_1
add eax,imm32_2
jmp eax
gde su imm32_1 i imm32_2 vrednosti koje su unete zadnjom inicijalizacijom. Svaki put CPU nailazi na potencijalno razlicit kod. Deo programa koji vrsi inicijalizaciju vrsi izmenu navedenog koda. Program menja sebe. U tom duhu sam koristio pojam: self-modifying kod, Sundance!
U duhu imena navedenih labela moze se reci: vrednost koja je odredjena se returnBase pokazuje na pocetak specijalnog dela programa, dok vrednost odredjena sa returnEntry pokazuje na ofset od nevedenog pocetka, gde je potrebno nastaviti sa radom.
Slobodnijim tumacenjem ovaj deo koda se moze opisati kao: bezuslovno bazno-indeksno grananje sa memorijski mapiranim registrima.
Toliko o ovome.
Sundance - link radi, ali mi se pri kucanju zalepio zarez za adresu (pogledaj gore) tako da pri kliku link ne radi. Kao sto sam rekao nisam mogao jedno vreme da se logujem na ES u zelji da otklonim ovaj nedostatak. Evo, proveri:
www.256b.com Vidis da link radi :)
Inace, demoi su fantasticni. Trenutno ih ima 365 (ako nije bilo izmena u skorije vreme), maksimalne duzine 256 bajta. Mogu s download-ovati u formi zip fajlova od nekoliko kb. Vise od trecine demoa sadrzi source, a oni ostali se lako disasembliraju.
Umesto da provedes nekoliko sati surfovajuci po sajtu i skidajuci demoe (posto svaki demo ima svoju stranicu, sa koje ga skidas), mozes uraditi sto i ja - mozes skinuti 95% demoa za petnaestak minuta. Potreban ti je Download Accelerator ili slican program i MS Excel!
Otvoris prazan MS Excel dokument, i u A1 i A2 upises:
http://www.256b.com/processDownload.php?demoId=1
http://www.256b.com/processDownload.php?demoId=2
respektivno. Zatim selektujes A1 i A2, i drag-ujes dodnji desni ugao selekcije do A365.
Dobices potrebnu adresnu listu:
http://www.256b.com/processDownload.php?demoId=1
http://www.256b.com/processDownload.php?demoId=2
...
http://www.256b.com/processDownload.php?demoId=364
http://www.256b.com/processDownload.php?demoId=365
Zatim snimis dokument u .txt formatu (ali nemoj zaboraviti da pre toga obrises Sheet2 i Sheet3 posto se dokumenti sa vise listova nemogu eksportovati u .txt format).
Preostaje ti jedino da startujes DAP, i da importujes dobijenu adresnu listu (Url->Import->Plain text file), i download moze da pocne. Nekoliko demoa se nece ucitati, posto imas dodatnu html stranicu pre download-a, ali njih mozes "rucno".
Kasnije uvek mozes download-ovati nove demoe na isti nacin, ali sad pravis listu od 366 pa do Id-a zadnjeg upload-ovanog demoa.
O_o