PVZ汇编笔记(上半部分)

PVZ汇编笔记(上半部分)

旁白 Lv.5201314

汇编常用指令解释

cmp 比较指令也称判断 push 进栈指令
pop 出栈指令 call 过程调用
retn 过程返回 nop 填充指令
mov 传送指令 jmp 无条件跳转
je 相等跳转 jne 不相等跳转
jz 等于 0 跳转 jnz 不等于 0 跳转
js 为正跳转 jns 为负跳转
jl 小于跳转 jg 大于跳转
jle 小于等于跳转 jb 低于跳转
jnb 不低于跳转 jbe 不高于跳转
ja 高于跳转 js 负数跳转
jns 非负数跳转 jnl 不小于跳转
jge 大于等于跳转 jng 不大于跳转
jp 奇偶数跳转 jnp 非奇偶数跳转

僵尸出怪地址

普通僵尸:005227EE 旗帜僵尸:00523298
路障僵尸:00522896 铁桶僵尸:0052292F
报纸僵尸:00523389 铁门僵尸:00522959
橄榄僵尸:00522BBE 舞王僵尸:00523537
伴舞僵尸:0052356C 鸭子僵尸:005227FD
冰车僵尸:00522E74 小丑僵尸:00523863
气球僵尸:005234D5 矿工僵尸:00522CA6
跳跳僵尸:00523333 扶梯僵尸:005229FF
投篮僵尸:00522F39 豌豆机枪:00523BD9
辣椒僵尸:00523AAC 倭瓜僵尸:00523D0B
坚果僵尸:00523834 高坚果的:00523969

僵尸防具

路障:52289B
铁门:522939
铁桶:5228A4

子弹ID

00 豌豆 01 冰豆 02 卷心菜 03 西瓜 04 孢子 05 冰瓜
06 火球 07 星星 08 尖刺 04 篮球 0A 玉米 0B 玉米炮
0C 黄油 0D 僵尸豌豆

代码大全

随机数:
pushad
mov eax,6 //函数最大值
call 005AF400 //eax为返回值
popad


遍历:
pushad
push 0//开始序号,一般不改
begin:
mov esi,esp
mov edx,[6A9EC0]
mov edx,[edx+768]
call 41C950//41C950遍历植物函数41C8F0遍历僵尸函数41C9B0遍历子弹函数41CA10遍历物品函数41CAD0遍历场地物品
test al,al
je end
mov esi,[esi]//esi=遍历对象的基址,目标
//要写的内容
jmp begin
end:
add esp,4
popad


换头:
call 524370
push esi
push 668EC8
mov eax,edi
call 5331C0
push esi
push 66EB94
mov eax,edi
call 5331C0
push esi
push 66EBA0
mov eax,edi
call 5331C0
mov edx,[edi]
mov edi,[edi+00000118]
mov eax,[edx+00000820]
mov ecx,[eax+08]
and edi,0000FFFF
lea ebx,[edi+edi*4]
shl ebx,05
add ebx,[ecx]
push 66EBAC
mov [esp+20],ebx
call 472F30
fldz
mov edx,[ebp+08]
lea edi,[eax+eax*2]
mov eax,[edx]
push 00
sub esp,08
shl edi,05
fst dword ptr [esp+04]
add edi,[ebx+58]
fstp dword ptr [esp]
mov ebx,#110 //ID
call 453C30
fld dword ptr [67967C]
push ecx
fstp dword ptr [esp]
xor ebx,ebx
push ebx
mov esi,eax
push 6580D4
xor eax,eax
call 473BF0
fldz
mov eax,[esi+0000009C]
mov ecx,[ebp+08]
sub esp,08
fst dword ptr [esp+04]
add edi,40
fstp dword ptr [esp]
mov [ecx+00000144],eax
call 4055D0
fld dword ptr [679664]
mov edx,[esp+24]
fstp dword ptr [esp+04]
fld dword ptr [67A0D8]
sub esp,0C
fstp dword ptr [esp+0C]
lea esi,[eax+08]
fld dword ptr [67953C]
mov [edx+20],ebx
fstp dword ptr [esp+08]
fldz
fstp dword ptr [esp+04]
fld dword ptr [679800]
fstp dword ptr [esp]
call 5125D0
mov eax,[ebp+08]
add esp,14
mov [eax+000000C4],00000002
mov [eax+000000D0],0000044C
mov [eax+50],bl
mov edi,eax


To be continued…

  • 标题: PVZ汇编笔记(上半部分)
  • 作者: 旁白
  • 创建于 : 2023-08-30 07:08:03
  • 更新于 : 2024-08-05 06:50:48
  • 链接: https://xn--vfv958a.com/2023/08/30/PVZ汇编笔记上/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论