-
-
[原创]reversing.kr第五题Replace
-
发表于:
2019-1-12 15:38
3073
-
[原创]reversing.kr第五题Replace
1.peid查壳,程序无壳,为VC++6.0写的,运行程序,输入数字后程序没有反应就直接退出了。直接搜索程序的关键字。
2.od载入程序在GetDlgItemInt处下段点(用od插件把获取输入框内容的函数都下断然后运行程序,看程序中断在哪个为止),然后中断在内核空间,快捷键alt+F9执行到用户代码。这里输入的是123456789,十六进制为0x75bcd15,将值保存在了0x4084D0处
用ida载入程序查看大体流程
还不知道这些函数是干什么的,先知道个大体流程
3.第一个sub_40466f()函数分析
将输入加1
retn有返回到了0x00404689处,又将输入加1,这里需要进行单步调试才能看出来。将输入总共加了两次。
4.下面继续单步跟踪,遇到这条指令很神奇,直接将输入进行了改变
翻阅大佬的writeup才知道需要对这些指令进行重新解释,这里可能是用了某种反调试技术吧(暂时还不知道是什么技术,还望各位告知)
单步直接跳转到了0x40467E处
工具转换得到命令(很神奇)77
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2019-1-17 14:21
被wwzzww编辑
,原因: