首页
社区
课程
招聘
[原创]Multiline Ultimate Assembler 的妙用
发表于: 2013-12-16 09:56 1830

[原创]Multiline Ultimate Assembler 的妙用

2013-12-16 09:56
1830
多处补丁的时候,一般情况下我们都是这么写的。

<00487838>;第一处补丁
    jmp 004d2000;其中004d2000是我们加的一块空间
<004d2000>;第一处补丁
    mov eax,1;占用5个字节
    jmp 0048783d;占用5个字节
<00487938>;第二处补丁
    jmp 004d2010;前面的补丁占用了10个字节
<004d2010>
    mov eax,1;占用5个字节
    jmp 0048793d
<00487A38>;第三处补丁
    jmp 004d2015;前面的补丁占用了10个字节
<004d2015>
    mov eax,1;占用5个字节
    jmp 00487A3d
现在问题来了,我们要在第一段补丁处增加一些代码,这样的话后面的补丁位置也要跟着修改。

其实我们可以这么写:
<00487838>;第一处补丁
    jmp 004d2000;其中004d2000是我们加的一块空间
<00487938>;第二处补丁
    jmp @label1
<00487938>;第三处补丁
    jmp @label2
<004d2000>
    mov eax,1;占用5个字节
    jmp 0048783d;占用5个字节
@label1:
    mov eax,1;占用5个字节
    jmp 0048793d
@label2:
    mov eax,1;占用5个字节
    jmp 0048793d
这样就可以随便增减代码了。非常的好用!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 671
活跃值: (3000)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
都是这样用的
2013-12-16 16:53
0
雪    币: 224
活跃值: (14)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
感谢分享
2013-12-16 18:49
0
雪    币: 1436
活跃值: (3911)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
还可以这样用

<$GC2000.262A1A>

@_set1:
xor eax,eax
inc al
retn
nop
2013-12-17 00:28
0
雪    币: 1832
活跃值: (4050)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有点意思,看起来蛮方便
2013-12-17 00:43
0
游客
登录 | 注册 方可回帖
返回
//