• 汇编指令
  • 寄存器和访存
  • x86寄存器
  • 访问内存
  • 规定
  • 代码注入方式
  • cheatengine
  • 直接寻找数据
  • 间接寻找数据
  • 同类数据
  • 辅助信息查找
  • tutorPW
  • 首页
  • 归档

汇编指令学习

  • 聒噪
  • 2022-05-13
  • 2023-06-01
  • 浏览:521
  • 0

汇编指令

汇编指令的一般结构:
mov ecx,[rsi+07E0]
命令 结果去向,数据来源

操作码|数据1|数据2
操作码一般长度为1-3字节

寄存器和访存

x86寄存器

x86架构下只有16个寄存器
rax r8
rdx r9
rcx r10
rbx r11
rsi r12
rdi r13
rsp(特殊用途) r14
rbp r15

访问内存

一般使用中括号内既是访问内存地址
[01350CB0]
[rax]
[rax+10]

规定

寄存器和中括号可以在任何位置使用
一条指令中最多有一处访存

代码注入方式

AOB(array of byte)
原理:一般游戏的更新不是修改已有代码时,代码的只是位置发生变化,那编译到程序中的汇编命令的操作码间的相对位置就不会发生变化,这时将操作码视作数据来定位,使用 准确操作码|地址|地址|准确操作码|地址|地址... 的模糊方式来找到准确的注入点

特殊标签:
绝对地址->其后的指令位于内存的这个位置
普通标签:
其后的地址位于内存的某个位置->标签获得对应的地址

cheatengine

直接寻找数据

直接通过游戏变化查找对应的变化数据

间接寻找数据

同类数据

受同一指令影响的数据
寻找指令

已知数据
连续内存区域

辅助信息查找

tutorPW

  • Step 5: Code finder (PW=888899) 冻结指令
  • Step 6: Pointers: (PW=098712) 寻找指针
  • Step 7: Code Injection: (PW=013370) 指令注入
  • Step 8: Multilevel pointers: (PW=525927) 多层指针
  • Step 9: Shared code: (PW=31337157) 注入程序编写
© 2023
Theme by Wing
  • {{ item.name }}
  • {{ item.name }}