首页
社区
课程
招聘
[原创]第二题 半加器
2018-12-3 21:44 2348

[原创]第二题 半加器

2018-12-3 21:44
2348

拖入IDA,发现一堆奇怪操作,好像有什么动态修改的东西在里面?

 

先跑起来,通过栈回溯即可找到读取输入的逻辑,在0x13B19B0,猜测标记一些函数,逻辑如下:
图片描述

 

可以看到要求输入长度在10~30之间,且中间一位是'A'。拿到输入进入encode函数,是一段异或逻辑,把'A'替换成'#',其余的异或0x1f:
图片描述

 

在存放输入字符串的地方下内存访问断点,立马断到对比逻辑,
图片描述

 

观察发现就是逐位和图中所示的'urj}pux<}n{iqyrh'字符串对比,反着异或回去,得到答案。

>>> xor('urj}pux<}n{iqyrh', '\x1f')
'jmubojg#bqdvnfmw'
>>> jmubojgAbqdvnfmw

尝试填入答案,跟过去,发现最后输出ok的逻辑:

 

图片描述


[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。

最后于 2018-12-4 09:51 被diycode编辑 ,原因:
收藏
点赞1
打赏
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回