基址搜索器.docx
《基址搜索器.docx》由会员分享,可在线阅读,更多相关《基址搜索器.docx(11页珍藏版)》请在冰豆网上搜索。
基址搜索器
1.搜索器的工作原理
什么是OD死码?
OD死码指的就是OD反汇编中游戏更新后也不变的汇编。
如何设立?
规则:
最多8条汇编,因为OD里ctrl+s搜的时候最多只能8条
哪些汇编不能用于OD死码:
call内存地址
jz/jnz/je(等跳转语句)内存地址
moveax,[ecx+0abc] 偏移abc比较大的不可以。
moveax,[esp+30] 汇编里有ESP堆栈寄存器的不可以,后面跟的偏移+30会变化
不能跨过子程序设置OD死码,死码必须是在同一个子程序内的代码。
为什么要设立?
因为游戏更新基址,较大的偏移会变化,为了方便,所以设立OD死码,
方便快速获取游戏更新后的相关数据。
龙魂搜索模块简介
内部定位call
定位基址
定位偏移
外部定位call
459CB6和6C94B0比较可以看出是向下跳转了F5F72600的距离,到达打坐子程序
跳转距离的起点是打坐CALL下一句代码B0处开始计算
确定打坐CALL的特征码与跳转的字节数之间的距离是12
外部定位打坐call步骤:
一、特征码定位跳转距离代码的起始位置
二、获取打坐CALL跳转距离的代码
三、(跳转代码的起始地址+跳转代码所占字节长度)定位到了B0处,然后加上“打坐CALL跳转距离”到达跳转子程序
打坐CALL=(十六到十(打坐CALL跳转字节数)+4)+十六到十(打坐CALL跳转代码)
外挂自动更新(详细步骤略)
其他的偏移同理
2.