Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

LoadLibrary i GetProcAddress full preko ntdll =)

[es] :: Asembler :: LoadLibrary i GetProcAddress full preko ntdll =)

[ Pregleda: 2615 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Vojislav Milunovic

Član broj: 25
Poruke: 2117
195.252.85.*



+1 Profil

icon LoadLibrary i GetProcAddress full preko ntdll =)13.02.2005. u 02:35 - pre 232 meseci
Pre svega mislim da će se kod svideti suniju jer koristi x_push/x_pop (kako je jebeno ovo gledati u debugeru=))

Naime kod je offset indipendent, mislim može da bude ako eliminišemo proc_struct iz data segmenta i kreiramo funkciju odma na početku .code segmenta i local proc_struct...
Evi i sintakse funkcija ->
my_Load, dllName(ansi), pointer proc_struct
my_GetProc, dllHandle, api(ansi), pointer proc_struct

obavezno na početku koda mora da ide GiveMeGetProc koja prima pointer na proc_struct gde će se popuniti automatski LdrGetProcedureAddress i ntdll base...

Eto to sam sada skarabudžio i nadam sa da će se nekom svideti ovo =)



Prikačeni fajlovi
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.ddc.dal.earthlink.net.



Profil

icon Re: LoadLibrary i GetProcAddress full preko ntdll =)14.02.2005. u 03:11 - pre 232 meseci
Lijepo :)

Ima redundantnih dijelova, ali OK je :)

Mislim da ima svega 3-4 virusa koji koriste nativne API-je.

Sad će ih biti 4-5 :)

Napiši par bilješki, ima ovdje materijala i za poneki članak.. :>
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
195.252.87.*



+1 Profil

icon Re: LoadLibrary i GetProcAddress full preko ntdll =)14.02.2005. u 13:58 - pre 232 meseci
Pa sigurno da ima greski =)
Sad sam ispravio dosta stvari ali mi je u VMware ostao kod koji sam preradio =)
recimo GiveMeGetProc odma puni proc_struc sa ntdll i LdrGetProcedureAddress =)
A sad citam ceo kernel32.dll da vidim sta se moze lepo prepisati u native api bez muke.
Recimo VirtualAlloc -> VirtualAllocEx,-1 -> NtAllocateVirtualMemory
onda CloseHandle u NTClose
pa OpenProcess u NtOpenProcess
pa WriteProcessMemory u NTWriteProcessMemory i mali milion drugih koje nije tesko preraditi u native api =)

Ali je cudno koliko covek bolje shvati ovaj sistem recimo sve funkcije za manipulaciju memorijom i procesima obavezno imaju process handle sto znaci da se uvek moze alocirati memorija u drugom procesu, cak sta vise i CreateThread je ustavi CreateRemoteThread sa phandle -1 pa onda malo slozenija NtCreateThread i tako sve u krug =)

p.s. nema frke za beleske, ja to sve cuvam u posebnim fajlovima da bude lako citljivo, a sklapam u jedan po potrebi =)
 
Odgovor na temu

Sundance

Član broj: 7510
Poruke: 2559
*.ddc.dal.earthlink.net.



Profil

icon Re: LoadLibrary i GetProcAddress full preko ntdll =)14.02.2005. u 14:37 - pre 232 meseci
Citat:
Vojislav Milunovic: Ali je cudno koliko covek bolje shvati ovaj sistem recimo sve funkcije za manipulaciju memorijom i procesima obavezno imaju process handle sto znaci da se uvek moze alocirati memorija u drugom procesu, cak sta vise i CreateThread je ustavi CreateRemoteThread sa phandle -1 pa onda malo slozenija NtCreateThread i tako sve u krug =)


Eto vidiš, a ne k'o ovi wannabe .NET programeri završili 2-tjedni napredni kurs C# i misle ako znaju šta radi Thread.Join() da su popili svu pamet svijeta :)

Opet ti velim, obrati pažnju na mapiranja nativnih API-ja između različitih verzija kernela, inače će ti virus raditi samo na XP i samo na tom SP-u kojem imaš :>
 
Odgovor na temu

Vojislav Milunovic

Član broj: 25
Poruke: 2117
195.252.85.*



+1 Profil

icon Re: LoadLibrary i GetProcAddress full preko ntdll =)14.02.2005. u 15:40 - pre 232 meseci
Pa sta mislis sto mi na VMware trci i win2k =) Ocu sve to da proverim, pre ngo sto pocnem da implementiram, mada me ubija sto nemam DDK, a tamo ima gomila interesatnih struktura =( mrzi me da se kacim na net svaki sekund i proveravam interne strukture =)
 
Odgovor na temu

[es] :: Asembler :: LoadLibrary i GetProcAddress full preko ntdll =)

[ Pregleda: 2615 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.