-
-
[原创]AWD_pwn_ptach记录
-
发表于:
2023-6-18 14:26
18181
-
本文记录入门patch时做的一些题目。
将rdi存储的字符串地址指向'%2d',0
。
在eh_frame段构造字符串'%2d',0
,'%2d'
的hexstr表示为253264。
edit->patch programe->change bytes。
写入后。
在指令lea rdi, qword ptr [aD]
处按ctrl+alt+k。
将其改为mov rdi,offset 0x4020B0h
,并patch。
修改后。
精简汇编指令,利用多余的nop
直接修改汇编代码。
源汇编代码。
题目中没有可以很好替代gets的指令,(可以自己试着修改汇编调用scanf函数)。
这里将指令长度精简加工一下,利用多出来的nop
指令来进行read系统调用。
sys_read
对寄存器要求,rax=0x0h;rdi=0(读入);rsi=[rbp+s](读取位置);rdx=0x100h(读入大小);
。
修改后。
与第二处gets()大同小异。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2023-6-18 18:49
被jelasin编辑
,原因: