分析目标:
1、分析人物角色 金钱基址;
//-----人物属性结构----------
typedef struct _ST_人物属性
{
UNIT 当前HP值;// 4字节 +8
UINT 当前MP值;//
UNIT HP值上限;//
UINT MP值上限;//
UINT 人物等级;//
UINT 人物金钱;//
UINT 攻击力
UINT 防御力
//其它属性...
}ST_人物属性,*PST_人物属性;
//人物属性
2F86170 //HP生命 血量值
2F86174 //MP内功 魔力值
381/381
252/252
39% //1000
49.17%
势力:
名声:
等级23
历练值27138
攻击 158
防御 130
命中 118
回避 077
心 51
体 54
气 31
魂 91
2F860F0
+0 //人物名字 地址
+34 //1BYTE 空间 表示等级
+35 //1BYTE 表示 几转
+36 //人物名声:
+80 //HP
+84 //Mp
+88 //愤怒值
+8C //HP 最大值
+90 //MP 最大值
+94 //愤怒值 最大值
+98 // 8字节 当前经验值
+A0 // 8字节 达到下一个等级需要的经验值
+B0 //心
+B4 //体
+B8 //气
+BC //魂 //2F860F0+0BC
+E4 //8字节 当前金钱值
#define Base_RoleProperty 0x2F9E4d0 //人物属性
8A4E0669C07C0100008888A46DCF000FB70669C07C010000B9 //0x19
//0041A066-0041A04D
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0 //Base_RoleProperty
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0
0041A01A |. 899F 28200000 MOV DWORD PTR DS:[EDI+0x2028],EBX
0041A020 |. 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
0041A026 |. E8 25CE2D00 CALL Client.006F6E50
0041A02B |. 8A8F 30200000 MOV CL,BYTE PTR DS:[EDI+0x2030]
0041A031 |. 83C4 18 ADD ESP,0x18
0041A034 |. 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
0041A037 |. E9 9D000000 JMP Client.0041A0D9
0041A03C |> 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A03F |. BA 409C0000 MOV EDX,0x9C40
0041A044 |. 66:3BC2 CMP AX,DX
0041A047 |.^ 0F83 70FEFFFF JNB Client.00419EBD
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0 ; 人物属性基址
0041A06A |. 05 7C6DCF00 ADD EAX,Client.00CF6D7C
0041A06F |. 90 NOP
0041A070 |> 8A10 /MOV DL,BYTE PTR DS:[EAX]
0041A072 |. 3A11 |CMP DL,BYTE PTR DS:[ECX]
0041A074 |. 75 1A |JNZ SHORT Client.0041A090
//人物属性
2F9E4d0
+00 //人物名字 地址
+34 //1BYTE 空间 表示等级
+35 //1BYTE 表示 几转
+36 //char*人物名声:
+80 //HP
+84 //Mp
+88 //愤怒值
+8C //HP 最大值
+90 //MP 最大值
+94 //愤怒值 最大值
+98 // 8字节 当前经验值
+A0 // 8字节 达到下一个等级需要的经验值
+AC //历练
+B0 //心
+B4 //体
+B8 //气
+BC //魂 //2F860F0+0BC
+C8 攻击力
+CC 防御力
+D0 命中
+D4 回避
+E4 //8字节 当前金钱值
+EC //2字节 当前负重
+EE //2字节 负重上限
+F0 //2 BYTE //气功点数
+F4 //2 BYTE //第一气功 所加点数 *(char*)(2F860F0+F4+4*i)
+F8 //2 BYTE //第二气功
00419FB5 0FBE82 A26DCF00 MOVSX EAX,BYTE PTR DS:[EDX+0xCF6DA2]
00419FBC 8987 30200000 MOV DWORD PTR DS:[EDI+0x2030],EAX
00419FC2 0FB70E MOVZX ECX,WORD PTR DS:[ESI]
00419FC5 69C9 7C010000 IMUL ECX,ECX,0x17C
00419FCB 0FBE91 A46DCF00 MOVSX EDX,BYTE PTR DS:[ECX+0xCF6DA4]
00419FD2 BB 01000000 MOV EBX,0x1
00419FD7 03D3 ADD EDX,EBX
00419FD9 8997 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EDX
00419FDF 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
00419FE2 69C0 7C010000 IMUL EAX,EAX,0x17C
00419FE8 8A88 A26DCF00 MOV CL,BYTE PTR DS:[EAX+0xCF6DA2]
00419FEE 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
00419FF1 3BD3 CMP EDX,EBX
00419FF3 7E 06 JLE SHORT Client.00419FFB
00419FF5 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
00419FFB 8B97 082D0000 MOV EDX,DWORD PTR DS:[EDI+0x2D08]
0041A001 6A 00 PUSH 0x0
0041A003 8DB7 0C200000 LEA ESI,DWORD PTR DS:[EDI+0x200C]
0041A009 56 PUSH ESI
0041A00A 52 PUSH EDX
0041A00B E8 40CE2D00 CALL Client.006F6E50
0041A010 8B87 082D0000 MOV EAX,DWORD PTR DS:[EDI+0x2D08]
0041A016 6A 00 PUSH 0x0
0041A018 56 PUSH ESI
0041A019 50 PUSH EAX
0041A01A 899F 28200000 MOV DWORD PTR DS:[EDI+0x2028],EBX
0041A020 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
0041A026 E8 25CE2D00 CALL Client.006F6E50
0041A02B 8A8F 30200000 MOV CL,BYTE PTR DS:[EDI+0x2030]
0041A031 83C4 18 ADD ESP,0x18
0041A034 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
0041A037 E9 9D000000 JMP Client.0041A0D9
0041A03C 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A03F BA 409C0000 MOV EDX,0x9C40
0041A044 66:3BC2 CMP AX,DX
0041A047 ^ 0F83 70FEFFFF JNB Client.00419EBD
0041A04D 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL //8888A46DCF000FB70669C07C010000B9
0041A05C 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 B9 D0E4F902 MOV ECX,Client.02F9E4D0 ; 人物属性基址
0041A06A 05 7C6DCF00 ADD EAX,Client.00CF6D7C
0041A06F 90 NOP
0041A070 8A10 MOV DL,BYTE PTR DS:[EAX]
0041A072 3A11 CMP DL,BYTE PTR DS:[ECX]
0041A074 75 1A JNZ SHORT Client.0041A090
0041A076 84D2 TEST DL,DL
0041A078 74 12 JE SHORT Client.0041A08C
0041A07A 8A50 01 MOV DL,BYTE PTR DS:[EAX+0x1]
0041A07D 3A51 01 CMP DL,BYTE PTR DS:[ECX+0x1]
0041A080 75 0E JNZ SHORT Client.0041A090
0041A082 83C0 02 ADD EAX,0x2
0041A085 83C1 02 ADD ECX,0x2
0041A088 84D2 TEST DL,DL
0041A08A ^ 75 E4 JNZ SHORT Client.0041A070
0041A08C 33C0 XOR EAX,EAX
0041A08E EB 05 JMP SHORT Client.0041A095
0041A090 1BC0 SBB EAX,EAX
0041A092 83D8 FF SBB EAX,-0x1
0041A095 85C0 TEST EAX,EAX
0041A097 75 09 JNZ SHORT Client.0041A0A2
0041A099 8A56 06 MOV DL,BYTE PTR DS:[ESI+0x6]
0041A09C 8815 05E5F902 MOV BYTE PTR DS:[0x2F9E505],DL
0041A0A2 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A0A5 6A 00 PUSH 0x0
0041A0A7 6A 31 PUSH 0x31
0041A0A9 50 PUSH EAX
0041A0AA E8 110A3D00 CALL Client.007EAAC0
0041A0AF 8BF8 MOV EDI,EAX
0041A0B1 83C4 0C ADD ESP,0xC
0041A0B4 85FF TEST EDI,EDI
0041A0B6 ^ 0F84 01FEFFFF JE Client.00419EBD
0041A0BC 0FB70E MOVZX ECX,WORD PTR DS:[ESI]
0041A0BF 69C9 7C010000 IMUL ECX,ECX,0x17C
0041A0C5 BB 01000000 MOV EBX,0x1
0041A0CA 81C1 7C6DCF00 ADD ECX,Client.00CF6D7C
0041A0D0 53 PUSH EBX
0041A0D1 51 PUSH ECX
0041A0D2 8BCF MOV ECX,EDI
0041A0D4 E8 E7DE0B00 CALL Client.004D7FC0
1、分析人物角色 金钱基址;
//-----人物属性结构----------
typedef struct _ST_人物属性
{
UNIT 当前HP值;// 4字节 +8
UINT 当前MP值;//
UNIT HP值上限;//
UINT MP值上限;//
UINT 人物等级;//
UINT 人物金钱;//
UINT 攻击力
UINT 防御力
//其它属性...
}ST_人物属性,*PST_人物属性;
//人物属性
2F86170 //HP生命 血量值
2F86174 //MP内功 魔力值
381/381
252/252
39% //1000
49.17%
势力:
名声:
等级23
历练值27138
攻击 158
防御 130
命中 118
回避 077
心 51
体 54
气 31
魂 91
2F860F0
+0 //人物名字 地址
+34 //1BYTE 空间 表示等级
+35 //1BYTE 表示 几转
+36 //人物名声:
+80 //HP
+84 //Mp
+88 //愤怒值
+8C //HP 最大值
+90 //MP 最大值
+94 //愤怒值 最大值
+98 // 8字节 当前经验值
+A0 // 8字节 达到下一个等级需要的经验值
+B0 //心
+B4 //体
+B8 //气
+BC //魂 //2F860F0+0BC
+E4 //8字节 当前金钱值
#define Base_RoleProperty 0x2F9E4d0 //人物属性
8A4E0669C07C0100008888A46DCF000FB70669C07C010000B9 //0x19
//0041A066-0041A04D
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0 //Base_RoleProperty
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0
0041A01A |. 899F 28200000 MOV DWORD PTR DS:[EDI+0x2028],EBX
0041A020 |. 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
0041A026 |. E8 25CE2D00 CALL Client.006F6E50
0041A02B |. 8A8F 30200000 MOV CL,BYTE PTR DS:[EDI+0x2030]
0041A031 |. 83C4 18 ADD ESP,0x18
0041A034 |. 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
0041A037 |. E9 9D000000 JMP Client.0041A0D9
0041A03C |> 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A03F |. BA 409C0000 MOV EDX,0x9C40
0041A044 |. 66:3BC2 CMP AX,DX
0041A047 |.^ 0F83 70FEFFFF JNB Client.00419EBD
0041A04D |. 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 |. 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL
0041A05C |. 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F |. 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 |. B9 D0E4F902 MOV ECX,Client.02F9E4D0 ; 人物属性基址
0041A06A |. 05 7C6DCF00 ADD EAX,Client.00CF6D7C
0041A06F |. 90 NOP
0041A070 |> 8A10 /MOV DL,BYTE PTR DS:[EAX]
0041A072 |. 3A11 |CMP DL,BYTE PTR DS:[ECX]
0041A074 |. 75 1A |JNZ SHORT Client.0041A090
//人物属性
2F9E4d0
+00 //人物名字 地址
+34 //1BYTE 空间 表示等级
+35 //1BYTE 表示 几转
+36 //char*人物名声:
+80 //HP
+84 //Mp
+88 //愤怒值
+8C //HP 最大值
+90 //MP 最大值
+94 //愤怒值 最大值
+98 // 8字节 当前经验值
+A0 // 8字节 达到下一个等级需要的经验值
+AC //历练
+B0 //心
+B4 //体
+B8 //气
+BC //魂 //2F860F0+0BC
+C8 攻击力
+CC 防御力
+D0 命中
+D4 回避
+E4 //8字节 当前金钱值
+EC //2字节 当前负重
+EE //2字节 负重上限
+F0 //2 BYTE //气功点数
+F4 //2 BYTE //第一气功 所加点数 *(char*)(2F860F0+F4+4*i)
+F8 //2 BYTE //第二气功
00419FB5 0FBE82 A26DCF00 MOVSX EAX,BYTE PTR DS:[EDX+0xCF6DA2]
00419FBC 8987 30200000 MOV DWORD PTR DS:[EDI+0x2030],EAX
00419FC2 0FB70E MOVZX ECX,WORD PTR DS:[ESI]
00419FC5 69C9 7C010000 IMUL ECX,ECX,0x17C
00419FCB 0FBE91 A46DCF00 MOVSX EDX,BYTE PTR DS:[ECX+0xCF6DA4]
00419FD2 BB 01000000 MOV EBX,0x1
00419FD7 03D3 ADD EDX,EBX
00419FD9 8997 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EDX
00419FDF 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
00419FE2 69C0 7C010000 IMUL EAX,EAX,0x17C
00419FE8 8A88 A26DCF00 MOV CL,BYTE PTR DS:[EAX+0xCF6DA2]
00419FEE 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
00419FF1 3BD3 CMP EDX,EBX
00419FF3 7E 06 JLE SHORT Client.00419FFB
00419FF5 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
00419FFB 8B97 082D0000 MOV EDX,DWORD PTR DS:[EDI+0x2D08]
0041A001 6A 00 PUSH 0x0
0041A003 8DB7 0C200000 LEA ESI,DWORD PTR DS:[EDI+0x200C]
0041A009 56 PUSH ESI
0041A00A 52 PUSH EDX
0041A00B E8 40CE2D00 CALL Client.006F6E50
0041A010 8B87 082D0000 MOV EAX,DWORD PTR DS:[EDI+0x2D08]
0041A016 6A 00 PUSH 0x0
0041A018 56 PUSH ESI
0041A019 50 PUSH EAX
0041A01A 899F 28200000 MOV DWORD PTR DS:[EDI+0x2028],EBX
0041A020 899F 1C200000 MOV DWORD PTR DS:[EDI+0x201C],EBX
0041A026 E8 25CE2D00 CALL Client.006F6E50
0041A02B 8A8F 30200000 MOV CL,BYTE PTR DS:[EDI+0x2030]
0041A031 83C4 18 ADD ESP,0x18
0041A034 884F 68 MOV BYTE PTR DS:[EDI+0x68],CL
0041A037 E9 9D000000 JMP Client.0041A0D9
0041A03C 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A03F BA 409C0000 MOV EDX,0x9C40
0041A044 66:3BC2 CMP AX,DX
0041A047 ^ 0F83 70FEFFFF JNB Client.00419EBD
0041A04D 8A4E 06 MOV CL,BYTE PTR DS:[ESI+0x6]
0041A050 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A056 8888 A46DCF00 MOV BYTE PTR DS:[EAX+0xCF6DA4],CL //8888A46DCF000FB70669C07C010000B9
0041A05C 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A05F 69C0 7C010000 IMUL EAX,EAX,0x17C
0041A065 B9 D0E4F902 MOV ECX,Client.02F9E4D0 ; 人物属性基址
0041A06A 05 7C6DCF00 ADD EAX,Client.00CF6D7C
0041A06F 90 NOP
0041A070 8A10 MOV DL,BYTE PTR DS:[EAX]
0041A072 3A11 CMP DL,BYTE PTR DS:[ECX]
0041A074 75 1A JNZ SHORT Client.0041A090
0041A076 84D2 TEST DL,DL
0041A078 74 12 JE SHORT Client.0041A08C
0041A07A 8A50 01 MOV DL,BYTE PTR DS:[EAX+0x1]
0041A07D 3A51 01 CMP DL,BYTE PTR DS:[ECX+0x1]
0041A080 75 0E JNZ SHORT Client.0041A090
0041A082 83C0 02 ADD EAX,0x2
0041A085 83C1 02 ADD ECX,0x2
0041A088 84D2 TEST DL,DL
0041A08A ^ 75 E4 JNZ SHORT Client.0041A070
0041A08C 33C0 XOR EAX,EAX
0041A08E EB 05 JMP SHORT Client.0041A095
0041A090 1BC0 SBB EAX,EAX
0041A092 83D8 FF SBB EAX,-0x1
0041A095 85C0 TEST EAX,EAX
0041A097 75 09 JNZ SHORT Client.0041A0A2
0041A099 8A56 06 MOV DL,BYTE PTR DS:[ESI+0x6]
0041A09C 8815 05E5F902 MOV BYTE PTR DS:[0x2F9E505],DL
0041A0A2 0FB706 MOVZX EAX,WORD PTR DS:[ESI]
0041A0A5 6A 00 PUSH 0x0
0041A0A7 6A 31 PUSH 0x31
0041A0A9 50 PUSH EAX
0041A0AA E8 110A3D00 CALL Client.007EAAC0
0041A0AF 8BF8 MOV EDI,EAX
0041A0B1 83C4 0C ADD ESP,0xC
0041A0B4 85FF TEST EDI,EDI
0041A0B6 ^ 0F84 01FEFFFF JE Client.00419EBD
0041A0BC 0FB70E MOVZX ECX,WORD PTR DS:[ESI]
0041A0BF 69C9 7C010000 IMUL ECX,ECX,0x17C
0041A0C5 BB 01000000 MOV EBX,0x1
0041A0CA 81C1 7C6DCF00 ADD ECX,Client.00CF6D7C
0041A0D0 53 PUSH EBX
0041A0D1 51 PUSH ECX
0041A0D2 8BCF MOV ECX,EDI
0041A0D4 E8 E7DE0B00 CALL Client.004D7FC0
0041A0D9 399F 242D0000 CMP DWORD PTR DS:[EDI+0x2D24],EBX
如有转载请注明:转自郁金香技术论坛
交流群:29817979