其他分享
首页 > 其他分享> > Boob炸弹拆除IDA版

Boob炸弹拆除IDA版

作者:互联网

一、准备阶段

打开IDA

image-20211209213814924

image-20211209213850710

将boob拖入IDA

image-20211209214143256

F5进入伪代码

image-20211209214240373

二、代码调试

第一题

双击phase_1进入函数

image-20211209214453867

显然第一题答案为

I am not part of the problem. I am a Republican.

第二题

双击phase_2进入函数

image-20211209214618974

显然这里会输入六个数字,且第一个为1,其后的数字为前一个数字的两倍,故答案为

1 2 4 8 16 32

第三题

双击phase_3进入函数

image-20211209215037229

那这里又显而易见了,答案为以下任意一组

第一个数第二个数第三个数
0109450
1121514
2106970
3121823
4116800
5117575
6108655
798855

第四题

双击phase_4进入函数

image-20211209215424095

显然这里要求第一个参数范围0~14,然后调用func4,并要求返回值和第二个参数均为21

双击func4进入函数

image-20211209215614588

经过运算可以知道最终答案为

7 21

第五题

双击phase_5进入函数

image-20211209215858271

这里要求输入六个字符,且对每一个字符取其后四位作为数组的索引,并将其组合后需要变成“bruins”

双击array_2961进入数组

image-20211211194808541

因此加工的索引值排序为“d63487”,故答案为(例如d的十进制是13,于是‘a’+13-1就为‘m’)

mfcdhg

第六题

双击phase_6进入函数

image-20211209220145113

输入6个不大于6的数字且要求不相同,然后用输入的索引值对链表元素检验是否进行从小到大的排序,

双击node1进入链表

image-20211209222110740

点击对应的node单击h可以转换为十进制

image-20211209222224467

故答案为

5 3 4 2 1 6

第七题

在方法区找到phase_defused,单击进入

image-20211209222610298

可以看见需要在第四题答案后加上字符串“DrEvil”

至于为啥是第四题可以查看phase_defused中的byte_804B5D0栈空间位置

image-20211210095229049

另外在read_line中可以看见

image-20211210095328443

输入缓存区是以每道题80字节增长的,且起始地址如图

image-20211210095430251

可以知道的是在第四题的时候刚好到达phase_defused中sscanf的指定读取位置

双击secret_phase进入函数

image-20211209222829739

将输入的字符串转化为数字,并调用fun7,并要求返回4

双击fun7进入函数

image-20211209222907213

返回上一函数,单击n1进入链表

image-20211209224753293

image-20211209224814189

显然这里应该是

7

标签:函数,拆除,答案,进入,phase,Boob,双击,输入,IDA
来源: https://blog.csdn.net/OwemShu/article/details/122158926