pwn patch

read 32

1

在push 18h处右击 点击Assemble 将18h改成正常的无溢出的长度就好了

read 64

64位的也是同理

找到溢出的函数将长度改合理

格式化字符串

32

法一 :若有puts的plt把printf改成puts即可

法二:需要改一个函数无用的函数改成write函数

1
2
3
4
5
6
7
8
9
10
.text:080485C0 win             proc near
.text:080485C0 ; __unwind {
.text:080485C0 push 20h ; ' ' ; n
.text:080485C2 push eax ; buf
.text:080485C3 push 1 ; fd
.text:080485C5 call _write
.text:080485CA pop eax
.text:080485CB pop eax
.text:080485CC jmp loc_8048651
.text:080485CC win endp

法三:找到一个地方,修改成%s

在找一个地方把之前给讲

修改权限

2

找到Physical address对应的字段区域,把flag 那里的值改成相应的值就可以了

4 只读

5 可读可执行

6 可读可写

7 可读可写可执行