游戏达人
  
- 贡献度
- 158
- 金元
- 18443
- 积分
- 2476
- 精华
- 0
- 注册时间
- 2012-3-16
|
剧本和事件基本全打完了,后续应该不会有什么太大的进一步研究了,这是我自己整理的研究笔记,有需要的自取:
1.0.8版本基址:SAN14PK_SC.exe+1FC91C0
1.0.10版本基址:SAN14PK_SC.exe+1FC91D0
获取当前基址:mov rdx,rcx【48 8B D1 48 2B 90 60 DF 07 00】
当前任意信息地址:mov [rax+00000140],rbx【48 89 98 40 01 00 00 48 8B 8F】
鱼鳞02、锋矢04、雁行08、方圆10、鹤翼20、长蛇40、锥行80、井阑100、冲车200、投石400、四夷4000
势力(+0x1D0):地址偏移[rax+rbx*8+0000DCA0]
访问当前势力ID指针1:mov rcx,[rax+00085130]【48 8B 88 30 51 08 00 48 85 C9 74 * 0F BE 81 BC 00 00 00 C3】
访问当前势力ID指针2:movzx eax,byte ptr [rcx+3A]【0F B6 41 3A 83 F8 33 77 * 8B C8 48 8B 05 * * * * 48 8B 84 C8】
访问我方势力地址:mov rdx,[rsi]【48 8B 16 48 8B CE 0F B6 5F】
访问五胡从属地址:movzx ebx,byte ptr [rbx+00000194]【0F B6 9B 94 01 00 00】
军团(+0x28):地址偏移[rax+rbx*8+0000DE40]
写入指令书改变:mov [rbp+14],sil【40 88 75 14 49 8B CF】
武将(+0x200):地址偏移[rax+rbx*8+000737C0],伪偏移[rax+rbx*8+00000148]
访问所有武将地址:mov rax,[rdi]【48 8B 07 41 B0 03 0F B6 97 F9 01 00 00 48 8B CF FF 50 48 44】
访问个性遍历(rdi是当前武将地址,rbp是当前武将个性地址):inc r12【49 FF C4 48 83 C5 02】
判断探索发现在野武将擢用是否成功(rdi是被录用武将地址,rsi是执行录用命令的武将地址,r12是录用区域的地址,r15是势力地址):test eax,eax【48 8B CB 85 C0 0F 84 * * * * E8 * * * * 85 C0 74】
判断使用人才擢用指令擢用在野或在押武将是否成功(rsi是被录用武将地址,r13是执行录用命令的武将地址,r14是执行录用势力君主武将地址):test eax,eax【49 8B CC 85 C0 0F 84 * * * * E8】
判断擢用战俘是否成功(rdi是被俘武将地址,r12是发生城市的地址,r13是战胜方势力君主武将地址):test eax,eax【0F B7 8F 96 01 00 00 85 C0 74 * 66 83 C9 40 66 89 8F】
访问我方去世年:movzx ebx,word ptr [rdi+000000E6]【0F B7 9F E6 00 00 00 8D】
访问忠诚:movzx ebx,byte ptr [rax+00000120]【0F B6 98 20 01 00 00 E9】
写入忠诚降低:mov [rdi+00000120],al【88 87 20 01 00 00 80】
部队(+0x200):地址偏移
访问所有部队地址:mov rcx,[rbx+000001E0]【48 8B 8B E0 01 00 00 80】
写入减少士兵:mov [rsi+16],ax【3B C1 0F 4F C1 66 89 46 16 E8】
写入伤兵增加1:mov [rsi+18],cx【66 89 4E 18 66 0F 6E 05】
写入伤兵增加2:mov [rsi+18],cx【66 89 4E 18 80 7E 10 02】
写入伤兵增加3:mov [rbx+18],ax【66 89 43 18 48 8B CB】
写入减少士气:mov [rdi+1A],bl【88 5F 1A 48 8B 5C 24 30 48 83】
访问水上阵型:movzx eax,byte ptr [rdx+1C]【0F B6 42 1C 88 41 1C 0F B7】
写入异常状态:mov [rdi+rbx+23],cl【88 4C 1F 23 45 85 ED】
城市(+0x168,46+5个):地址偏移[rax+rbx*8+0000DAA8]
访问所有城市地址:mov rdx,[rcx]【48 8B 11 FF 92 B0 00 00 00 FF C8 8B】
写入城市募兵:mov [rsi+3C],ebx【3B D8 0F 4F D8 89 5E 3C 41 8B】
写入士兵数降低:mov [rsi+3C],ebx【89 5E 3C 48 8B 5C 24 30 48】
写入资金改变:mov [rdi+34],ebx【89 5F 34 48 8B 5C 24 30】
写入兵粮改变:mov [rdi+38],ebx【0F 4F D8 89 5F 38】
访问士兵数:mov ebx,[rdi+3C]【48 8B CF 8B 5F 3C】
写入伤兵增加:mov [rsi+40],edi【89 7E 40 48 8B 7D A0】
访问士气:movzx edx,byte ptr [rdi+44]【0F B6 57 44 48 8B CF】
写入士气降低:mov [rsi+44],dil【40 88 7E 44 4C 8B 74 24 38】
区域(+0x78,总计501个内存地址,其中共343个有效区域,1个无效区域):地址偏移[rax+rbx*8+6C860]
访问所有区域地址:mov rax,[rax]【48 8B 00 48 8B CF FF 50 18】
访问人口:movzx eax,word ptr [r14+52]【41 0F B7 46 52 89 44 24 20 49 8B CC E8 * * * * 85 C0 74 * BA 02 00】
写入人口减少:mov [rsi+52],ax【66 89 46 52 49 63 45 10】
访问治安:movzx edx,byte ptr [r14+54]【41 0F B6 56 54 8B 05 * * * * 89 44 24 30 89 54 24 28 48 8D 4C 24 30 4C 8D 44 24 28 3B D0 49 0F 4D C8 8B 19 41 0F B6 7E 6D 66 0F 6E 44 24 20 0F 5B C0 E8 * * * * 0F 28 D0 66 0F 6E CB 0F 5B C9 F3 0F 59 D1 F3 0F 5E 15 * * * * 8B 0D * * * * 41 0F AF CD B8 * * * * F7 E9 C1 FA 05 8B C2 C1 E8 1F 03 D0 8B 0D * * * * 0F AF CF 83 C1 64 03 CA 41 0F AF CF 0F AF 4C 24 24 B8 * * * * F7 E9 C1 FA 06 8B C2 C1 E8 1F 03 D0 66 0F 6E C2 0F 5B C0 F3 0F 58 D0 66 0F 6E CE 0F 5B C9 F3 0F 59 D1 66 0F 6E C5 0F 5B C0 F3 0F 5E D0 F3 0F 2C CA 0F AF 0D * * * * B8 * * * * F7 E9 8B F2 C1 FE 05 8B C6 C1 E8 1F 03 F0 BA 24 00 00 00 49 8B CC E8 * * * * 8B 0D * * * * 0F AF C8 0F AF CE B8 * * * * F7 E9 C1 FA 05 8B C2 C1 E8 1F 03 D0 03 F2】
写入治安减少:mov [rdi+54],bl【88 5F 54 0F 1F 80 00 00 00 00】
关隘(+0xC0,10个):地址偏移[rax+rbx*8+0000DC48]【word ptr [关隘地址+4E]代表耐久ID】
访问所有关隘地址:mov rax,[rcx]【48 8B 01 0F 5B F6 FF 50 60 66 0F 6E 0D * * * * 48 8D B5 C0】
访问士兵数:mov edi,[rbx+3C]【8B 7B 3C FF 90 C8 00 00 00】
写入士兵数改变:SAN14PK_SC.exe+271F9C - 89 5E 3C - mov [rsi+3C],ebx【89 5E 3C 41 0F B7 7E 18】
访问士气:movzx edx,byte ptr [rbx+44]【0F B6 53 44 48 8B CB】
耐久(+0x20,51+10个):地址偏移[rax+rbx*8+0006D808]【word ptr [耐久地址+10]代表土地ID】
访问所有耐久地址:movzx eax,word ptr [rbx+14]【0F B7 43 14 48 83 C4 20】
城市耐久降低:mov [rdi+14],bx【0F 4F DE 66 89 5F 14】
土地(+0x20,48400个):地址偏移[rax+rbx*8+0000DFE0]【word ptr [所属土地地址+12]代表区域ID,byte ptr [耐久地址+14]代表势力ID】
访问所有土地地址:movzx ecx,word ptr [rax+12]【0F B7 48 12 33 C0】
个性:地址偏移[rax+rbx*8+0007D440]
官职:地址偏移[rax+rbx*8+00077C20]
爵位:地址偏移[rax+rbx*8+00077BB8]
未知地址偏移:
[rax+rbx*8+0000DEC8]
[rax+rbx*8+0000D9F0]
[rax+rbx*8+0000D990]
|
|