首页
论坛
专栏
课程

[原创]半加器 writeup

fatykrch
2
2018-12-4 22:20 219

半加器 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

验证成功



[推荐]十年磨一剑!《加密与解密(第4版)》上市发行

最新回复 (0)
返回