| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1602 人关注过本帖
标题:初学问:怎样把汇编指令转换成十六进制
只看楼主 加入收藏
kill
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2006-1-28
收藏
 问题点数:0 回复次数:1 
初学问:怎样把汇编指令转换成十六进制
初学问:怎样把汇编指令转换成十六进制

比如下面的:

:004BA704 51 push ecx
:004BA705 8BCE mov ecx, esi
:004BA707 FF90D0010000 call dword ptr [eax+000001D0]
:004BA70D 85C0 test eax, eax
:004BA70F 0F8461050000 je 004BAC76
:004BA715 8B16 mov edx, dword ptr [esi]:004BA717 57 push edi
:004BA718 8BCE mov ecx, esi
:004BA71A FF92F4000000 call dword ptr [edx+000000F4]
:004BA720 E80BD1FCFF call 00487830
:004BA725 8BF8 mov edi, eax
:004BA727 8B06 mov eax, dword ptr [esi]
:004BA729 8BCE mov ecx, esi
:004BA72B 8B1F mov ebx, dword ptr [edi]
:004BA72D FF504C call [eax+4C]
:004BA730 50 push eax

* Possible StringData Ref from Data Obj ->"behit!"
|
:004BA731 68309A5C00 push 005C9A30
:004BA736 8BCF mov ecx, edi
:004BA738 FF93B0020000 call dword ptr [ebx+000002B0]
:004BA73E E933050000 jmp 004BAC76
:004BA743 8B16 mov edx, dword ptr [esi]
:004BA745 8BCE mov ecx, esi
:004BA715 8B16 mov edx, dword ptr [esi]



我想把“mov edx,dword ptr ds:[esi]” 修改成 “JE 004BAC76”

这个“JE 004BAC76”
的十六进制怎么换?用什么工具,麻烦介绍一下,


。。。。。。。。。还有,如果换成以后多出几个或是少几个字节怎么办??

多出来势必要覆盖下面的字节空间,可是少了又怎么办,

比如"004F2CAE 753E jne 004F2CEE"

把 “ jne 004F2CEE”换成“nop”
nop = 90,

“753E” 换成 “90 XX”,多出空间怎么办??

大侠帮帮手

搜索更多相关主题的帖子: 十六进制 指令 学问 汇编 
2006-01-28 13:44
songlei
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-2-5
收藏
得分:0 
patch 程序使用 od 和 winhex
或直接使用 hiew

多出空间,这要看具体情况,如果多很多,则为这个程序添加一个节,或写个 dll,修改它的输入表。如果不是很多,则在程序中寻找可用的空间,一般像代码段的结尾就有空余的空间,然后使用一个跳转指令跳到空余空间,如果跳转指令覆盖了有效代码,要记下有效代码,在空余空间处理完成后,恢复修改代码,然后在一个跳转回到 patch 出,在 patch 程序时注意相对地址和物理地址的转换。

我讲明白没有 ^_^
2006-02-05 17:19
快速回复:初学问:怎样把汇编指令转换成十六进制
数据加载中...
 
   



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

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