[ Vojislav Milunovic @ 18.11.2004. 00:54 ] @
Da li neko ima ideju kako da se napravi progy koji ce da u svoju memoriju ucita drugi. I da pritom se taj program izvrsi u toj memoriji... recimo da hocu da imitiram loader?
Nesto me zanima da li takav progy mora da se bakce sa svim sectionima ili da samo popuni import table i da pici---(da skoci na pocetak code sectiona ucitanog PE file-a)??
[ Sundance @ 18.11.2004. 01:57 ] @
Ako je linker ispljuvao takav PE fajl koji referencira memroriju u rasponu koji je vec zauzet od strane tvog loadera, tada ces dakako morati napraviti izmjene, za pocetak relocirati sve hard-coded i staticke adrese, a tek nakon toga emulirati mapiranje sekcija u virtualnu memoriju kao sto to pravi NT Loader radi. Dakle loadati potrebne DLL-ove, popuniti import tablice bla bla bla... ima tu mali milijon caka (TLS, neki polu-dokumentirani data directories i sl.). Ako imas dovoljno slobodnog vremena uvijek mozes doci do odgovarajuce funkcionalnosti :)

Ne znam jesi li vec vidio ovaj link: http://29a.host.sk/29a-6/29a-6.210 [Ne mozes link otvoriti direktno nego trebas c/p]. Imas i soruce code unutar e-zinea..
[ Vojislav Milunovic @ 19.11.2004. 00:05 ] @
Da, da ovo je lepo covek napisao ali me bre nervira sto nije stavio *.exe filove jer nemam C compir da sve ovo kompajliram =)

dobar kodic, samo da ga procitam jos =)
[ Vojislav Milunovic @ 09.12.2004. 01:19 ] @
Evo posle malo rada napravi sam svoj PE-in memory execution program... Moram samo napomenuti da nisam uradio IAT sredjivanje jer me stvarno mrzi da to radim zato sam u mom test.asm koristio staticke adrese za LoadLibraryA, MessageBoxA i ExitProcess... test.asm mora da se kompajlira sa /FIXED:NO da bi se napravi reloc table...
Doduse stvarno me mrzi da sve sectione i header prebacim i napravim pravi PE image u memoriji, tako da sam sve strpao u .text i normalno tu je .reloc... Njih prebacujem na odgovarajuca mesta u memoriji =) mada samo mi .text treba jer .reloc mogu da citam i iz file... Takodje buduci da test.asm ima samo 3, kako da kazem, ne-staticke adrese nisam stavio algoritam koji ce da cita ceo .reloc table i da pravi promene de treba da ih napravi... Tako da zato imam r1,r2 i r3, promenljive u koje ce biti smestene adrese na kojima treba napaviti promenu =)

Ahhh kako sam se smorio ko mac u kamenu, dok sam sve ovo provalio kako radi =) Ali evo kod koji radi, bez greske...
Ahhh dada moram da uradim i IAT sredjivanje, ali to neki drugi put...
[ Vojislav Milunovic @ 09.12.2004. 14:50 ] @
Gotova je i verzija koja puni import table =) Doduse kod je vise nego zbunjujuci ali je prebogat komentarima sto je ja mislim najvaznije za sad =))

Takodje kod obiluje, nenormalnim koriscenjem registra pa ako se neko zbuni, stvarno mi je zao =((
A da kod sam okacio na moju stranicu pa ko voli nek izvoli...
Takodje radi samo sa exe filovima koji su kompajlirani da imaju .reloc section, tako da bez toga kod ce pasti...