| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2712 人关注过本帖
标题:汇编代码转换为高级语言伪代码,请前辈们看看有错不
只看楼主 加入收藏
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
看得快晕了,都不知道那些获取硬件信息的函数与主程序的关联怎么样的,那些信息返回到哪了....唉。。。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-20 14:58
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册

看看信息


[ 本帖最后由 东海一鱼 于 2010-9-20 15:13 编辑 ]

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-20 15:05
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用ioriliao在2010-9-20 14:58:25的发言:

看得快晕了,都不知道那些获取硬件信息的函数与主程序的关联怎么样的,那些信息返回到哪了....唉。。。
   不知道也行。一句话,你只要知道修改(欺骗)它的返回信息就行了。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-20 15:18
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
回复 23楼 东海一鱼
返回信息是不是返回到eax的?
还是ecx?
就下面段而言
程序代码:
1000D4F0 >/$  B8 36D90110   mov     eax, 1001D936
1000D4F5  |.  E8 D6D50000   call    1001AAD0
1000D4FA  |.  83EC 30       sub     esp, 30
1000D4FD  |.  A1 48E50210   mov     eax, dword ptr [1002E548]
1000D502  |.  53            push    ebx
1000D503  |.  8945 EC       mov     dword ptr [ebp-14], eax
1000D506  |.  33C0          xor     eax, eax
1000D508  |.  56            push    esi
1000D509  |.  57            push    edi
1000D50A  |.  8945 C8       mov     dword ptr [ebp-38], eax
1000D50D  |.  8965 F0       mov     dword ptr [ebp-10], esp
1000D510  |.  8945 C8       mov     dword ptr [ebp-38], eax
1000D513  |.  8945 C4       mov     dword ptr [ebp-3C], eax
1000D516  |.  8945 FC       mov     dword ptr [ebp-4], eax
1000D519  |.  E8 54F0FFFF   call    1000C572
1000D51E  |.  8945 C8       mov     dword ptr [ebp-38], eax
1000D521  |.  C745 FC 02000>mov     dword ptr [ebp-4], 2
1000D528  |.  E8 F0EDFFFF   call    1000C31D
1000D52D  |.  8945 C4       mov     dword ptr [ebp-3C], eax
1000D530  |.  FF75 C4       push    dword ptr [ebp-3C]               ; /<%.8x>
1000D533  |.  0FB745 C8     movzx   eax, word ptr [ebp-38]           ; |
1000D537  |.  834D FC FF    or      dword ptr [ebp-4], FFFFFFFF      ; |
1000D53B  |.  50            push    eax                              ; |<%.4x>
1000D53C  |.  8D45 CC       lea     eax, dword ptr [ebp-34]          ; |
1000D53F  |.  68 BC100210   push    100210BC                         ; |format = "%.4x%.8x"
1000D544  |.  50            push    eax                              ; |s
1000D545  |.  FF15 44F30110 call    dword ptr [<&MSVCR71.sprintf>]   ; \sprintf
1000D54B  |.  8B4D 08       mov     ecx, dword ptr [ebp+8]
1000D54E  |.  83C4 10       add     esp, 10
1000D551  |.  8D45 CC       lea     eax, dword ptr [ebp-34]
1000D554  |.  50            push    eax
1000D555  |.  FF15 E0F20110 call    dword ptr [<&MSVCP71.std::basic_>;  MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
1000D55B      8B4D FB       mov     ecx, dword ptr [ebp-5]
1000D55E  |.  8B45 08       mov     eax, dword ptr [ebp+8]
1000D561  |.  64:890D 00000>mov     dword ptr fs:[0], ecx
1000D568      8B4D EC       mov     ecx, dword ptr [ebp-14]
1000D56B  |.  E8 0FD60000   call    1001AB7F
1000D570  |.  5F            pop     edi
1000D571  |.  5E            pop     esi
1000D572  |.  5B            pop     ebx
1000D573  |.  C9            leave
1000D574  \.  C3            retn





/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-20 15:36
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
即不在eax,也不在ecx中。
在[ebp+8]这个参数中。实际上这些函数都只有这一个参数。是一个结构指针。或者说是一个类的对象指针。

程序代码:
1000D54B  |.  8B4D 08       mov     ecx, dword ptr [ebp+8]
1000D54E  |.  83C4 10       add     esp, 10
1000D551  |.  8D45 CC       lea     eax, dword ptr [ebp-34]
1000D554  |.  50            push    eax
1000D555  |.  FF15 E0F20110 call    dword ptr [<&MSVCP71.std::basic_>;  MSVCP71.std::basic_string<char,std::char_traits<char>,std::allocator<char> >::basic_string<char,std::char_traits<char>,std::allocator<char> >
1000D55B      8B4D FB       mov     ecx, dword ptr [ebp-5]
1000D55E  |.  8B45 08       mov     eax, dword ptr [ebp+8]            //这里就看到了。
1000D561  |.  64:890D 00000>mov     dword ptr fs:[0], ecx
1000D568      8B4D EC       mov     ecx, dword ptr [ebp-14]
1000D56B  |.  E8 0FD60000   call    1001AB7F                         //但eax的值在这个函数返回后被破坏。
1000D570  |.  5F            pop     edi
1000D571  |.  5E            pop     esi
1000D572  |.  5B            pop     ebx
1000D573  |.  C9            leave


举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-20 16:03
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:0 
YY挺变态 。。。挺变态 。。。
2010-09-20 16:08
sll0807
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:69
专家分:123
注 册:2009-3-2
收藏
得分:0 
直接PATCH不行吗
2010-09-20 16:21
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
回复 25楼 东海一鱼
如何修改才好呢?我修改了几次,程序运行时都崩溃了。。。郁闷啊。。。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-20 16:36
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
回复 27楼 sll0807
什么是patch呢?

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-09-20 16:36
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用ioriliao在2010-9-20 16:36:22的发言:

如何修改才好呢?我修改了几次,程序运行时都崩溃了。。。郁闷啊。。。
   那是你功力太差了。

   BTW:
   PATCH就是对源文件打补丁。又分两种:文件补丁,和内存补丁(SMC)。其实从某种意义上说API HOOK就是内存补丁的一种特殊形式。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-09-20 21:10
快速回复:汇编代码转换为高级语言伪代码,请前辈们看看有错不
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.130415 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved