首页
社区
课程
招聘
有段代码大家帮忙看下 有点看不大懂
发表于: 2010-4-5 13:53 4304

有段代码大家帮忙看下 有点看不大懂

2010-4-5 13:53
4304
al 寄存器一直在0-255浮动啊 我想突破255如何来解决啊

0045D045    68 E8CA4F00      push 004FCAE8     
0045D04A    57               push edi
0045D04B    E8 335E0800      call 004E2E83
0045D050    83C4 08          add esp,8
0045D053    85C0             test eax,eax
0045D055    75 46            jnz short 0045D09D
0045D057    8B8E A0000000    mov ecx,dword ptr ds:[esi+A0]
0045D05D    8B41 64          mov eax,dword ptr ds:[ecx+64]
0045D060    F6C4 01          test ah,1
0045D063    0F84 F4160000    je 0045E75D
0045D069    8D5424 10        lea edx,dword ptr ss:[esp+10]
0045D06D    52               push edx
0045D06E    55               push ebp
0045D06F    E8 28870700      call 004D579C
0045D074    83C4 08          add esp,8
0045D077    3BC5             cmp eax,ebp
0045D079    74 0F            je short 0045D08A
0045D07B    50               push eax
0045D07C    E8 47770700      call 004D47C8
0045D081    83C4 04          add esp,4
0045D084    8886 B2010000    mov byte ptr ds:[esi+1B2],al ;al这里一直停留在1-255

call 004D47C8

004D4740    56               push esi                                 
004D4741    57               push edi
004D4742    E8 93580000      call 004D9FDA
004D4747    8B78 64          mov edi,dword ptr ds:[eax+64]
004D474A    3B3D C4505200    cmp edi,dword ptr ds:[5250C4]
004D4750    74 07            je short 004D4759                     ; 实现跳
004D4752    E8 7E3F0000      call 004D86D5
004D4757    8BF8             mov edi,eax
004D4759    8B7424 0C        mov esi,dword ptr ss:[esp+C]
004D475D    837F 28 01       cmp dword ptr ds:[edi+28],1
004D4761    0FB606           movzx eax,byte ptr ds:[esi]
004D4764    7E 0E            jle short 004D4774                    ; 实现跳
004D4766    6A 08            push 8
004D4768    50               push eax
004D4769    57               push edi
004D476A    E8 3A610000      call 004DA8A9
004D476F    83C4 0C          add esp,0C
004D4772    EB 0A            jmp short 004D477E
004D4774    8B4F 48          mov ecx,dword ptr ds:[edi+48]
004D4777    0FB60441         movzx eax,byte ptr ds:[ecx+eax*2]
004D477B    83E0 08          and eax,8
004D477E    85C0             test eax,eax
004D4780    74 03            je short 004D4785                     ; 实现跳
004D4782    46               inc esi
004D4783  ^ EB D8            jmp short 004D475D
004D4785    0FB60E           movzx ecx,byte ptr ds:[esi]
004D4788    46               inc esi
004D4789    83F9 2D          cmp ecx,2D
004D478C    8BD1             mov edx,ecx
004D478E    74 05            je short 004D4795
004D4790    83F9 2B          cmp ecx,2B
004D4793    75 04            jnz short 004D4799                    ; 实现跳
004D4795    0FB60E           movzx ecx,byte ptr ds:[esi]
004D4798    46               inc esi
004D4799    33C0             xor eax,eax
004D479B    83F9 30          cmp ecx,30
004D479E    7C 0A            jl short 004D47AA
004D47A0    83F9 39          cmp ecx,39
004D47A3    7F 05            jg short 004D47AA
004D47A5    83E9 30          sub ecx,30
004D47A8    EB 03            jmp short 004D47AD
004D47AA    83C9 FF          or ecx,FFFFFFFF
004D47AD    83F9 FF          cmp ecx,-1
004D47B0    74 0C            je short 004D47BE
004D47B2    8D0480           lea eax,dword ptr ds:[eax+eax*4]
004D47B5    8D0441           lea eax,dword ptr ds:[ecx+eax*2]
004D47B8    0FB60E           movzx ecx,byte ptr ds:[esi]
004D47BB    46               inc esi
004D47BC  ^ EB DD            jmp short 004D479B
004D47BE    83FA 2D          cmp edx,2D
004D47C1    5F               pop edi
004D47C2    5E               pop esi
004D47C3    75 02            jnz short 004D47C7                    ; 实现跳
004D47C5    F7D8             neg eax
004D47C7    C3               retn

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

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mov byte ptr ds:[esi+1B2],al  这种应该怎么去改他的长度啊

把byte改成dword不允许 al改寄存值还是最大255
2010-4-5 19:11
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
单字节如何修改啊  有没有人可以告诉我下啊
2010-4-6 12:41
0
雪    币: 13
活跃值: (26)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
   单字节 不就是两个BYTE   
2010-4-6 12:59
0
雪    币: 2523
活跃值: (520)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
mov word ptr ds:[esi+1B2],ax

mov dword ptr ds:[esi+1B2],eax

PS:小心这么做会引起数据破坏
2010-4-6 13:05
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
很感谢啊 都修复好了给你加分啊
2010-4-6 13:33
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
确实有问题啊 o(︶︿︶)o 唉 不好解决啊 帅哥有时间吗我把程序给你你帮忙看下吧
2010-4-6 13:40
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
我用金山游侠找到 那个关键的值的 内存地址。下一步应该怎么需要程序的地址
2010-4-6 17:42
0
雪    币: 17
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
老实说没大搞明白,al是字节存储单元啊,最大只能是255,单字节就是BYTE,单字是两个BYTE。
2010-4-6 17:53
0
雪    币: 124
活跃值: (10)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
10
应该直接修改二进制机器码吧,但是应该注意越界的问题
2010-4-6 18:00
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
不太会 有没有什么教程或者教学给我补习下功课
2010-4-6 18:46
0
雪    币: 3
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
共同学习…期待…
2010-4-22 08:14
0
雪    币: 235
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
金山游侠,没试过。

试试CheatEngine
2010-4-23 02:24
0
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
直接用THIS不就好了吗,
2010-4-23 03:37
0
游客
登录 | 注册 方可回帖
返回
//