首页
社区
课程
招聘
[旧帖] [求助]新手不懂反汇编,好多看不懂,帮忙说下作用,谢谢! 0.00雪花
发表于: 2007-1-6 14:02 5635

[旧帖] [求助]新手不懂反汇编,好多看不懂,帮忙说下作用,谢谢! 0.00雪花

2007-1-6 14:02
5635
初学,好多看不懂,帮忙说下作用
004022F0 5>/> \55                    push ebp
004022F1   |.  8BEC                  mov ebp,esp
004022F3   |.  83EC 50               sub esp,50    //这句在这起什么作用,为什么是50?
004022F6   |.  53                    push ebx
004022F7   |.  56                    push esi
004022F8   |.  57                    push edi
004022F9   |.  51                    push ecx
004022FA   |.  8D7D B0               lea edi,dword ptr ss:[ebp-50]//这句在这起什么作用

004022FD   |.  B9 14000000           mov ecx,14  //这句在这起什么作用

00402302   |.  B8 CCCCCCCC           mov eax,CCCCCCCC //这句在这起什么作用

00402307   |.  F3:AB                 rep stos dword ptr es:[edi] //这句在这起什么作用

00402309   |.  59                    pop ecx
0040230A   |.  894D FC               mov dword ptr ss:[ebp-4],ecx
0040230D   |.  C745 F8 06000000      mov dword ptr ss:[ebp-8],6
00402314   |.  C745 F4 08000000      mov dword ptr ss:[ebp-C],8
0040231B   |.  8B45 F8               mov eax,dword ptr ss:[ebp-8]
0040231E   |.  0345 F4               add eax,dword ptr ss:[ebp-C]
00402321   |.  83F8 10               cmp eax,10
00402324   |.  7D 0E                 jge short 55.00402334
00402326   |.  6A 00                 push 0
00402328   |.  6A 00                 push 0
0040232A   |.  68 58504100           push 55.00415058                         ;  ASCII "thankyou"
0040232F   |.  E8 00EEFFFF           call 55.AfxMessageBox                    ;  jmp to MFC42D.#1136
00402334   |>  C745 F0 08000000      mov dword ptr ss:[ebp-10],8
0040233B   |.  5F                    pop edi
0040233C   |.  5E                    pop esi
0040233D   |.  5B                    pop ebx
0040233E   |.  83C4 50               add esp,50
00402341   |.  3BEC                  cmp ebp,esp   //这句在这起什么作用

00402343   |.  E8 D6FBFFFF           call 55._chkesp                          ;  jmp to MSVCRTD._chkesp //这句在这起什么作用

00402348   |.  8BE5                  mov esp,ebp
0040234A   |.  5D                    pop ebp
0040234B   \.  C3                    retn

谢谢各位高手!

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
2
004022F3   |.  83EC 50               sub esp,50//50是常数``程序作者自定的``没有为什么!

lea edi,dword ptr ss:[ebp-50]//(建议去学学汇编``里面寻址方式[ebp-50]--这是寻址方式``整个就是说把ss:[ebp-50]这个地址里面的内容的首地址传给edi

mov ecx,14 //把14传给ecx

mov eax,CCCCCCCC//把cccccccc传给eax

rep stos dword ptr es:[edi]//怎么说呢``ex:[edi]这是个显式前缀的写法`唉唉``就是重复啦``说不清楚!!

去学学汇编吧!!!汗`
2007-1-6 14:11
0
雪    币: 375
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
最初由 大菜一号 发布
004022F3 |. 83EC 50 sub esp,50//50是常数``程序作者自定的``没有为什么!

lea edi,dword ptr ss:[ebp-50]//(建议去学学汇编``里面寻址方式[ebp-50]--这是寻址方式``整个就是说把ss:[ebp-50]这个地址里面的内容的首地址传给edi

mov ecx,14 //把14传给ecx
........


我是试着反汇编这段代码的,自已写的没什么目的,只想知道它反汇编后是什么样 ,void CMy55Dlg::OnButton1()
{
        int a=6;
        int b=8;
        if(a+b<16)
        {
                AfxMessageBox("thankyou");       
        }
        int c=8;
}
下面几句我没写,可能是VC自已生成的,不知在这里起什么作用,

004022F3   |.  83EC 50               sub esp,50   
004022FD   |.  B9 14000000           mov ecx,14  
00402302   |.  B8 CCCCCCCC           mov eax,CCCCCCCC
00402307   |.  F3:AB                 rep stos dword ptr es:[edi]
00402343   |.  E8 D6FBFFFF           call 55._chkesp           ;  jmp to MSVCRTD._chkesp
2007-1-6 14:25
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
4
反汇编就是这样了!毕竟你不是用汇编写的嘛``
你给出的那些代码可能不是crack的关键处,,
如果不是还狂分析``只会浪费精力```汗``有些经历`
2007-1-6 14:45
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
还是建议去看一下win32汇编比较好,另外多看看逆文。
2007-1-6 14:47
0
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
最初由 大菜一号 发布
004022F3 |. 83EC 50 sub esp,50//50是常数``程序作者自定的``没有为什么!

lea edi,dword ptr ss:[ebp-50]//(建议去学学汇编``里面寻址方式[ebp-50]--这是寻址方式``整个就是说把ss:[ebp-50]这个地址里面的内容的首地址传给edi

mov ecx,14 //把14传给ecx
........


004022F3   |.  83EC 50               sub esp,50    //开辟堆栈空间,用于存放函数局部变量

其他几处是基本的汇编语句,看看关于汇编的书就能懂了
2007-1-6 14:59
0
雪    币: 375
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
最初由 大菜一号 发布
004022F3 |. 83EC 50 sub esp,50//50是常数``程序作者自定的``没有为什么!

lea edi,dword ptr ss:[ebp-50]//(建议去学学汇编``里面寻址方式[ebp-50]--这是寻址方式``整个就是说把ss:[ebp-50]这个地址里面的内容的首地址传给edi

mov ecx,14 //把14传给ecx
........


谢谢您所说的,单独看每句的意思我知道啊,就是不知道到这几句在整段中起什么作用为啊哪位大哥能说一下哈?谢谢!
2007-1-6 15:00
0
雪    币: 375
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
最初由 yugung 发布

lea edi,dword ptr ss:[ebp-50]//(建议去学学汇编``里面寻址方式[ebp-50]--这是寻址方式``整个就是说把ss:[ebp-50]这个地址里面的内容的首地址传给edi


请问50是VC任意取的吗?为什么不开100呢?
2007-1-6 15:05
0
雪    币: 220
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
9
不是任意取的,和局部变量的个数有关。

建议你看一下《逆向工程的秘密》这本书的附录部分,论坛上有中译本
http://www.pediy.com/Document.htm
2007-1-6 15:23
0
雪    币: 375
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 yugung 发布
不是任意取的,和局部变量的个数有关。

建议你看一下《逆向工程的秘密》这本书的附录部分,论坛上有中译本
http://www.pediy.com/Document.htm


谢谢楼上大哥!我这就去下来看看
2007-1-6 15:33
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
完了,那个《逆向工程的秘密》竟然忘记看了,不知在我的电脑里存了多久。。。。。。。
罪过,罪过。。。。。。
2007-1-6 17:01
0
雪    币: 375
活跃值: (356)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
最初由 yugung 发布
不是任意取的,和局部变量的个数有关。

建议你看一下《逆向工程的秘密》这本书的附录部分,论坛上有中译本
http://www.pediy.com/Document.htm


//这几句在本段这起什么作用
004022FD   |.  B9 14000000           mov ecx,14  
00402302   |.  B8 CCCCCCCC           mov eax,CCCCCCCC
00402307   |.  F3:AB                 rep stos dword ptr es:[edi]
2007-1-6 17:34
0
游客
登录 | 注册 方可回帖
返回
//