冥界3大法王 发表于 2021-10-20 08:45

这是最简单的溢出原型,忘了用法和出处了!


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:12

本帖最后由 lyl610abc 于 2021-10-20 09:14 编辑

简单的栈溢出{:301_1009:}
我这边有用C写的,Delphi的没有{:301_973:}

JuncoJet 发表于 2021-10-20 10:00

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:14

本帖最后由 JuncoJet 于 2021-10-20 10:22 编辑

{:301_1001:} 突然意识到,给新人留了个坑,以上代码不支持微软家编译器(VC6除外)
具体原因,可执行段的属性是只读,不支持写入
好像修改的是栈,不是可执行段,脑回路受阻
页: [1]
查看完整版本: 这是最简单的溢出原型,忘了用法和出处了!