首页
社区
课程
招聘
[旧帖] [求助]汇编问题 0.00雪花
发表于: 2009-9-28 15:23 2700

[旧帖] [求助]汇编问题 0.00雪花

2009-9-28 15:23
2700
今天偶然看个东西 看下面

10001D06   > /8B4424 1C     mov     eax, dword ptr [esp+1C]
10001D0A   . |8D4C18 C1     lea     ecx, dword ptr [eax+ebx-3F]
……
这是原来的,后来10001D06被改成了 jmp 1000AAAC

而1000AAAC这段内容如下
1000AAAC   > \833D B8499800>cmp     dword ptr [9849B8], 0
1000AAB3      8B            db      8B
1000AAB4      44            db      44                               ;  CHAR 'D'
1000AAB5      24            db      24                               ;  CHAR '$'
1000AAB6      1C            db      1C
1000AAB7      74            db      74                               ;  CHAR 't'
1000AAB8      10            db      10
1000AAB9      3D            db      3D                               ;  CHAR '='
1000AABA      00            db      00
1000AABB      10            db      10
1000AABC      40            db      40                               ;  CHAR '@'
1000AABD      00            db      00
1000AABE      75            db      75                               ;  CHAR 'u'
1000AABF      09            db      09
1000AAC0      A1            db      A1
1000AAC1   .  B8 49980089   mov     eax, 89009849
1000AAC6   .  44            inc     esp
1000AAC7   .  24 1C         and     al, 1C
1000AAC9   .  8D4C18 C1     lea     ecx, dword ptr [eax+ebx-3F]
1000AACD   .^ E9 3C72FFFF   jmp     10001D0E

这是别人改过的 原来的这段是空的,也就是都是00

我没看懂他改这段的用处,有没有大牛们帮我解释一下呗, 还有那个db是干嘛的? 我是用OD反编译的

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 444
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
DB的意思就是标示字节,即定义为字节。楼主这个明显是应该OD分析下。在那一串DB上CTRL+A分析下。
然后跟这走一遍,注意看下堆栈和寄存器,也要注意写入内存地址数据,走一遍就知道在做什么了。

跟踪了一遍,由于不知道具体情况。如果9849B8这个地址存储的DWORD是eax应取的值(或者说9849B8这个地址存储的DWORD是 ESP+1C处应取的值),那么可以认为该处指令为花指令,当然也可以理解为:代码这样替换是为了保证EAX的值不会取错。

004211F4 >  8B4424 1C                mov eax,dword ptr ss:[esp+1C]
004211F8    71 10                    jno short Test000.0042120A
004211FA    3D 00104000              cmp eax,Test000.00401000
004211FF    75 09                    jnz short Test000.0042120A
00421201    A1 B8499800              mov eax,dword ptr ds:[9849B8]
00421206    894424 1C                mov dword ptr ss:[esp+1C],eax
0042120A    8D4C18 C1                lea ecx,dword ptr ds:[eax+ebx-3F]
0042120E  ^ EB E4                    jmp short Test000.<ModuleEntryPoint>       ;因为环境不一样,这里的跳转我是改为任意跳,不影响结果。
2009-9-28 15:59
0
雪    币: 189
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
OK,谢谢你啦,我跟踪下试试
2009-9-28 17:00
0
游客
登录 | 注册 方可回帖
返回
//