-
-
[原创]半加器 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直播授课
赞赏
他的文章
看原图