首页
社区
课程
招聘
[原创]第一阶段[第四题]我也发一下我做的吧。
发表于: 2008-10-14 16:56 8275

[原创]第一阶段[第四题]我也发一下我做的吧。

2008-10-14 16:56
8275

一、程序BUG

代码:

77EFB0A3   .  57            push    edi
77EFB0A4   .  8D45 D8       lea     eax, dword ptr [ebp-28]
77EFB0A7   .  50            push    eax
77EFB0A8   .  FF75 34       push    dword ptr [ebp+34]
77EFB0AB   .  56            push    esi
77EFB0AC   .  E8 2FE6FFFF   call    <pbmiConvertInfo(x,x,x,x)>
77EFB0B1   .  3BC7          cmp     eax, edi
77EFB0B3   .  8945 F0       mov     dword ptr [ebp-10], eax
77EFB0B6   .  0F84 C7150100 je      <loc_77F0C683>
77EFB0BC   .  8B75 F0       mov     esi, dword ptr [ebp-10]
77EFB0BF   .  56            push    esi
77EFB0C0   .  E8 3AFBFFFF   call    <cjBitmapBitsSize(x)>
77EFB0C5   .  8945 D4       mov     dword ptr [ebp-2C], eax
77EFB0C8 > >  64:A1 1800000>mov     eax, dword ptr fs:[18]
77EFB0CE   .  F645 2C 03    test    byte ptr [ebp+2C], 3
77EFB0D2   .  89B8 D0060000 mov     dword ptr [eax+6D0], edi
77EFB0D8   .  0F85 46150100 jnz     <loc_77F0C624>

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 7
支持
分享
最新回复 (20)
雪    币: 216
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
我要sf, 学习了..........
2008-10-14 17:00
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
3
强悍,我都没试ico,膜拜一下
2008-10-14 17:02
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
沙金,强...
2008-10-14 17:02
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
5
老李,别损我了。
2008-10-14 17:04
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
6
开始分析时,想的就是缩位图,没想过PE格式。所以做了个ICO的
2008-10-14 17:06
0
雪    币: 334
活跃值: (22)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
,你想到了兼容OS/2的图标格式,做题的时候我试着想了尝试了两次,失败了
各有所长....
2008-10-14 17:11
0
雪    币: 503
活跃值: (80)
能力值: (RANK:280 )
在线值:
发帖
回帖
粉丝
8
是啊,还考虑到os2 v1的格式,还是沙金考虑的全面
2008-10-14 17:12
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
9
逼出来的……
BMP格式除非在PE里改资源表让其错位。
我从图片格式如手的,实在没办法,才用的OS/2
2008-10-14 17:15
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
10
看你这个才看明白怎么回事了,请问你怎么找到 test    byte ptr [ebp+2C], 3 这个地方引发错误的呢?静态研究IDA还是有别的什么技巧?我这里修改最后一个跳转可以让其崩溃,但却不是结果需要的地方:

cmp     ecx, dword ptr [ebp+30]
jnz     77F13740
2008-10-14 17:41
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
11
我使用OD跟的。
在pbmiConvertInfo函数里,看见有对BITMAPINFOHEADER里的size进行比较。
看见 77EF96FF   .  83F8 0C       cmp     eax, 0C
于是google了下BITMAPINFOHEADER
知道0C是os/2的图片格式。
test    byte ptr [ebp+2C], 3
[ebp+2C] 是图片数据的地址,这里有对地址进行判断。
由于这题是溢出,那么有关数据来源的指针,应该是重点关注的地方(个人猜想)。
所以,在je的地方,按了下回车,看见了
rep     movs dword ptr es:[edi], dword ptr [esi]
所以,就猜这里可能是突破点。
2008-10-14 17:53
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
12
谢谢,学习了。技术难点的攻破源于日常经验的积累,看来要更加努力增加经验
2008-10-14 19:05
0
雪    币: 86
活跃值: (34)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
13
沙师弟实在是太强大拉。。。。膜拜
2008-10-14 21:50
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
看来这个才是关键,学习
2008-10-14 22:10
0
雪    币: 136
活跃值: (20)
能力值: ( LV10,RANK:170 )
在线值:
发帖
回帖
粉丝
15
这道题这里不是关键的地方。
开始我也以为是个突破点,可惜错了。
不过,我运气不错。OS/2的图片格式,刚好满足了不是4字节对齐的条件。
2008-10-14 22:18
0
雪    币: 207
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
16
强人,来学习了。
2008-10-15 00:03
0
雪    币: 358
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
请问 楼主 在科锐学了几天啊

想不到科锐 培养的学生的都这么厉害啊  我也想去学了
2008-10-15 00:47
0
雪    币: 446
活跃值: (758)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
18
2003 En SP2 下没有任何效果
2008-10-15 09:04
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
谢谢楼主,我是说怎么找到这个bug的关键,这个题完全没有思路,这下以后类似的问题可以找找看突破点了
2008-10-15 09:59
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
20
追码经验..
2008-10-15 12:16
0
雪    币: 2056
活跃值: (13)
能力值: ( LV13,RANK:250 )
在线值:
发帖
回帖
粉丝
21
学习到了ICON格式。
2008-10-15 15:34
0
游客
登录 | 注册 方可回帖
返回
//