好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 flappy 于 2020-4-6 20:09 编辑
比赛链接和题目下载链接:https://gslab.qq.com/html/competition/2020/race-before.htmring3题思路
首先通过IDA加载exe程序,找到代码段第一个函数起始地址,然后再找到最后一个函数的结束地址,得到exe程序的二进制代码。通过010editor在dump文件中搜索exe中第一个函数的前面一些字节码。这样就找到了dump文件所对应exe二进制代码起始位置。然后结合ida中找到的结束地址,在010editor将这一部分字节码从dump文件中截取出来。这样就可以使用脚本比较这2部分二进制代码的不同处。找到的2部分被篡改的地址如下:
.text:01002FF5 inc dword_100579C ; modifiy_1=>nop.text:01003591 push 0 ; modify_2=> jmp winmine+0x35b0(010035b0)
作用分析: 在01002FF5 处下断点,运行程序,发现经常被断下来,根据每次增加1的指令和扫雷界面上的时间,猜测是本次游戏的所花费的时间。通过nop后可以发现确实时间不再动了。通过ce也可以。 01003591 比较修改前和修改后程序的行为,很显然这是点击到雷也不会结束游戏的关键跳转。让游戏即便点到雷了也不会结束游戏。
ring0题
由于论坛排版太麻烦,图片也比较多,这题通过附件ring0.docx查看吧
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|