首页
社区
课程
招聘
[原创]半加器 writeup
2018-12-4 22:20 2429

[原创]半加器 writeup

2018-12-4 22:20
2429

半加器 writeup

使用ida查找提示字符串"please input"的引用,找到函数:

 

该函数读取输入后判断输入的第8个字符要为'A',之后进入do_xor函数:

 

 

do_xor把第8个字符变为'#',之后将每个字符异或上0x1f。之后调用的函数们看了下好像并没有什么意义;查找对全局保存的input_xor_0x1f的引用后找到了另一个函数:

 

 

该函数将第二个参数每个字符异或0x1c与输入进行比对,查找该函数的引用可以找到第二个参数为"invalid argument":

 



 

于是可以写出脚本:

#!/usr/bin/python
a = "invalid argument"
input = ''
for c in a:
    input += chr(ord(c) ^ 0x1c ^ 0x1f)
input = input[:7] + 'A' + input[8:]
print input
#jmubojgAbqdvnfmw

验证成功


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回