-
-
[旧帖]
对一道cm的分析,求帮看看对不对
0.00雪花
-
发表于:
2015-9-11 14:09
3372
-
[旧帖] 对一道cm的分析,求帮看看对不对
0.00雪花
我是菜鸟
附件密码 Macc
Dice.rar
这是西普学院CTF训练营的一道题,题目说明:我的思路如下
先查壳,无壳且用Dec c++编译
用OD载入后搜索ASCII码看到所有会在屏幕显示的字符串,双击
You will first need to throw a three, press enter to throw a dice!进入地址004017E5的地方,然后运行到此处。
00401830 . 89C1 mov ecx,eax ; kernel32.BaseThreadInitThunk
00401832 . B8 ABAAAA2A mov eax,0x2AAAAAAB
00401837 . F7E9 imul ecx
00401839 . 89C8 mov eax,ecx
0040183B . C1F8 1F sar eax,0x1F
0040183E . 29C2 sub edx,eax kernel32.BaseThreadInitThunk
00401840 . 89D0 mov eax,edx
00401842 . 01C0 add eax,eax
00401844 . 01D0 add eax,edx
00401846 . 01C0 add eax,eax
00401848 . 29C1 sub ecx,eax
0040184A . 89C8 mov eax,ecx
0040184C . 40 inc eax
0040184D . 8945 A4 mov dword ptr ss:[ebp-0x5C],eax ;
这一段代码是一系列的计算操作,结果存放在 ss:[ebp-0x5C]中,然后从00401850开始,就是把这个值分别和1-6比较,如果和其中一个相同就输出一个该点数的骰子。我想的是先不看算法,通过改一些跳转来看输出结果。
然而here is the flag:之后的是什么鬼。。是我做错了还是什么
(两次结果)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课