首页
论坛
课程
招聘
[原创]第二题 半加器
2018-12-3 21:44 1273

[原创]第二题 半加器

2018-12-3 21:44
1273

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

 

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

 

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

 

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

 

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

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

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

 

图片描述


【公告】看雪团队招聘安全工程师,将兴趣和工作融合在一起!看雪20年安全圈的口碑,助你快速成长!

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