首页
社区
课程
招聘
[求助]x32寄存器如何存储超限大数据?
发表于: 2008-12-7 10:16 4504

[求助]x32寄存器如何存储超限大数据?

2008-12-7 10:16
4504
我现在在学习修复一个游戏的级别,但由于在hook的地方,IDA中的代码是
mov ebx,0x7E57FBE5h
后面的数字就是经验,但已经是u32的最大值了,我为了修复支持更高等级,就需要更高的经验值,如何能让ebx保存更大的数呢。。。
请高人指点一二,谢谢。

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
2
打电话给intel,让他们给你做一个带特别版ebx的特别版cpu
2008-12-7 10:25
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我只是想知道有没有什么办法来替代。我知道不可能让32寄存器保存更大的值,但如何用另外一个可行的办法来达到目的呢?不知道有没有。
2008-12-7 10:46
0
雪    币: 184
活跃值: (65)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
把寄存器全用上不就多了么,eax + ebx + ecx + edx +.... 你看下微软如何定义_LARGE_INTEGER,你就知道你这个该怎么存储了。
2008-12-7 17:04
0
雪    币: 367
活跃值: (20)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
游戏如何保存,你hook的代码也如何保存.
当然,如果游戏本身支持更大的数的话
2008-12-7 18:53
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
这个就是IDA里关于经验判断的部分,这部分应该是判断78级的经验,因为我也是新手不怎么看的懂,有高人能说说该如何修改呢?如果有高人能给我解读一下下面代码也是感谢非常了。

.text:00000000004D8AB0 sub_4D8AB0      proc near               ; DATA XREF: .pdata:000000001A61EFC8o
.text:00000000004D8AB0
.text:00000000004D8AB0 arg_10          = qword ptr  18h
.text:00000000004D8AB0 arg_18          = qword ptr  20h
.text:00000000004D8AB0
.text:00000000004D8AB0                 sub     rsp, 28h
.text:00000000004D8AB4                 mov     rax, [rcx]
.text:00000000004D8AB7                 mov     [rsp+28h+arg_10], rbx
.text:00000000004D8ABC                 mov     [rsp+28h+arg_18], rdi
.text:00000000004D8AC1                 mov     rax, [rax+28h]
.text:00000000004D8AC5                 mov     ebx, edx
.text:00000000004D8AC7                 mov     rdi, rcx
.text:00000000004D8ACA                 call    rax
.text:00000000004D8ACC                 test    al, al
.text:00000000004D8ACE                 jz      short loc_4D8ADF
.text:00000000004D8AD0                 cmp     ebx, 7D20683Ah
.text:00000000004D8AD6                 jl      short loc_4D8AED
.text:00000000004D8AD8                 mov     ebx, 7D206839h
.text:00000000004D8ADD                 jmp     short loc_4D8AED
.text:00000000004D8ADF ; ---------------------------------------------------------------------------
.text:00000000004D8ADF
.text:00000000004D8ADF loc_4D8ADF:                             ; CODE XREF: sub_4D8AB0+1Ej
.text:00000000004D8ADF                 mov     eax, 7D274609h
.text:00000000004D8AE4                 cmp     ebx, 7D27460Ah
.text:00000000004D8AEA                 cmovge  ebx, eax
.text:00000000004D8AED
.text:00000000004D8AED loc_4D8AED:                             ; CODE XREF: sub_4D8AB0+26j
.text:00000000004D8AED                                         ; sub_4D8AB0+2Dj
.text:00000000004D8AED                 xor     eax, eax
.text:00000000004D8AEF                 test    ebx, ebx
.text:00000000004D8AF1                 mov     rcx, rdi
.text:00000000004D8AF4                 cmovs   ebx, eax
.text:00000000004D8AF7                 mov     rax, [rdi+588h]
.text:00000000004D8AFE                 mov     [rax+11Ch], ebx
.text:00000000004D8B04                 mov     rax, [rdi]
.text:00000000004D8B07                 mov     rax, [rax+478h]
.text:00000000004D8B0E                 call    rax
.text:00000000004D8B10                 mov     r11, [rdi+588h]
.text:00000000004D8B17                 mov     rdi, [rsp+28h+arg_18]
.text:00000000004D8B1C                 mov     eax, [r11+11Ch]
.text:00000000004D8B23                 mov     rbx, [rsp+28h+arg_10]
.text:00000000004D8B28                 add     rsp, 28h
.text:00000000004D8B2C                 retn
.text:00000000004D8B2C sub_4D8AB0      endp
.text:00000000004D8B2C
2008-12-7 21:03
0
游客
登录 | 注册 方可回帖
返回
//