这是最简单的溢出原型,忘了用法和出处了!
procedure shellcode;stdcall;
begin
ShowMessage('shell code');
end;
procedure doshellcode;stdcall;
begin
asm
lea eax,shellcode
mov ,eax
end;
end;
本帖最后由 lyl610abc 于 2021-10-20 09:14 编辑
简单的栈溢出{:301_1009:}
我这边有用C写的,Delphi的没有{:301_973:} lyl610abc 发表于 2021-10-20 09:12
简单的栈溢出
我这边有用C写的,Delphi的没有
#include <stdio.h>
#include <windows.h>
void shellcode(){
MessageBox(0,"shell code",0,0);
}
void doshellcode(void* x){
void* addr=&shellcode;
memcpy(&x-1,&addr,sizeof(void*));
puts("done");
}
int main(){
doshellcode(0);
}
本帖最后由 JuncoJet 于 2021-10-20 10:22 编辑
{:301_1001:} 突然意识到,给新人留了个坑,以上代码不支持微软家编译器(VC6除外)
具体原因,可执行段的属性是只读,不支持写入
好像修改的是栈,不是可执行段,脑回路受阻
页:
[1]