找基址五种方法2
- 格式:doc
- 大小:4.43 MB
- 文档页数:35
位置寻址的操作方法
位置寻址是指通过一定的方式确定某个地点或位置的具体地址或坐标。
常见的方法包括:
1. 使用地图和标志物:通过地图上的特定标志物或地点来确定某个位置的地址,比如建筑物、路口、地标等。
2. 使用GPS:全球定位系统可以通过卫星信号确定某个位置的经纬度坐标,从而进行位置寻址。
3. 使用地址系统:每个地区都有规范的地址系统,通过地址系统可以确定某个位置的门牌号、街道名称、城市或地区名称等,从而进行位置寻址。
4. 使用坐标系统:通过数学坐标系统如直角坐标系、极坐标系等来确定某个位置的坐标。
5. 使用地理信息系统(GIS):GIS可以通过地图、卫星影像等数据来确定某个位置的地理坐标和属性信息。
这些方法可以单独或结合使用,以确定特定位置的地址或坐标。
本帖最后由玖哲于 2011-3-12 16:00 编辑先进入游戏打开驱动工具上面三张图教你如何成功打开驱动接下来我们打开OD 看见没可以附加DNF了但是呢附加之后会出现下面这种问题如图什么都没有别急我们按下M2会出现下面这幅图好了可以真正附加DNF幷显示代码了接下来就教大家用特征码找基址首先CTRL+G跳转到00400000 如图第一我们找人物基址CTRL+S特征码mov eax,dword ptr ds:[esi] push 0x1Fmov ecx,esi点查找这里的011CF364即为人物基址第二我们找技能参数CTRL+S特征码PUSH EDIPUSH EDIMOV EAX,DWORD PTR DS:[ESI]PUSH ECX这里的01083DF8 和01083DFC即为技能参数后面的2E0没截过来‘2E0是技能偏移第三我们找加密参数CTRL+S特征码push 3Fpush edi这里的01392DA4和013DA0为加密参数第四我们搜索公告基址和商店基址CTRL+S特征码push 0push 0push 1F 这里的01178BC4为商店基址00ADDC20为公告基址第五我们搜索仓库基址CTRL+S特征码push eaxpush 0x2D这里的009BD760为仓库基址push ebxpush -0x1push ebxpush ebxpush ebxpush 0xC 为喇叭公告的字节码。
方法同上召唤基址攻击对象怪物基址怪物数量用到工具小烦搜索器这几个我说下方法就不发图片了时间来不及首先说下攻击对象找法首先读取人物基址得到一个长整数进图让怪打不要打怪然后搜索读取到的长整数就会出来怪物基址了怪物基址找法进图打怪搜索读取到的长整数怪物基址就可以出来了怪物数量找法进图不打怪只数怪比如怪有8只8X4+4=36 你就搜索整数型36一次可能搜索不到接下来打死一只怪7X4+4=32 再次搜索整数型32 依次类推找到为止召唤基址找法首先读取攻击对象得到一个长整数可能读取不到进图打怪把所有的怪打光再读取这下绝对可以接下来召唤出一只等级低点的怪物(为什么呢,后面可以验证一下召唤基址是否找对了)搜索刚才读取到的长整数就可以得到召唤基址了接下来就可以验证了进入下一图让怪把你刚才召唤的怪物打死变为0的那个绝对就是召唤基址了如果有帮到你就加点分吧不强求伸手党从此不再受气了那些自以为是看不起伸手党的我表示强烈的鄙视关于偏移的找法只要大家找到一个四位偏移和一个三位偏移这个游戏无论怎么更新你都可以无忧了鞋子偏移找法用到方向偏移工具这里我就用文字描述了在人物文本框里输入人物基址模糊不等于0搜索穿上鞋子首次扫描直到出现2XXX脱下鞋子精确搜索0 就可以找到鞋子偏移称号偏移首次扫描用模糊不等0搜索再次扫描用变化的值搜索称号取下戴上循环搜索几次就可以得到称号偏移武器偏移也是同样的道理就不多说了三位偏移加个双偏移进去方法一样5916b399972762446e068cc1.jpg(70.61 KB)e5c9b9fb1b30436e4f4aeac1.jpg(43.34 KB)。
本帖最后由玖哲于 2011-3-12 16:00 编辑先进入游戏打开驱动工具上面三张图教你如何成功打开驱动接下来我们打开OD 看见没可以附加DNF了但是呢附加之后会出现下面这种问题如图什么都没有别急我们按下M2会出现下面这幅图好了可以真正附加DNF幷显示代码了接下来就教大家用特征码找基址首先CTRL+G跳转到00400000 如图第一我们找人物基址CTRL+S特征码mov eax,dword ptr ds:[esi] push 0x1Fmov ecx,esi点查找这里的011CF364即为人物基址第二我们找技能参数CTRL+S特征码PUSH EDIPUSH EDIMOV EAX,DWORD PTR DS:[ESI]PUSH ECX这里的01083DF8 和01083DFC即为技能参数后面的2E0没截过来‘2E0是技能偏移第三我们找加密参数CTRL+S特征码push 3Fpush edi这里的01392DA4和013DA0为加密参数第四我们搜索公告基址和商店基址CTRL+S特征码push 0push 0push 1F 这里的01178BC4为商店基址00ADDC20为公告基址第五我们搜索仓库基址CTRL+S特征码push eaxpush 0x2D这里的009BD760为仓库基址push ebxpush -0x1push ebxpush ebxpush ebxpush 0xC 为喇叭公告的字节码。
方法同上召唤基址攻击对象怪物基址怪物数量用到工具小烦搜索器这几个我说下方法就不发图片了时间来不及首先说下攻击对象找法首先读取人物基址得到一个长整数进图让怪打不要打怪然后搜索读取到的长整数就会出来怪物基址了怪物基址找法进图打怪搜索读取到的长整数怪物基址就可以出来了怪物数量找法进图不打怪只数怪比如怪有8只8X4+4=36 你就搜索整数型36一次可能搜索不到接下来打死一只怪7X4+4=32 再次搜索整数型32 依次类推找到为止召唤基址找法首先读取攻击对象得到一个长整数可能读取不到进图打怪把所有的怪打光再读取这下绝对可以接下来召唤出一只等级低点的怪物(为什么呢,后面可以验证一下召唤基址是否找对了)搜索刚才读取到的长整数就可以得到召唤基址了接下来就可以验证了进入下一图让怪把你刚才召唤的怪物打死变为0的那个绝对就是召唤基址了如果有帮到你就加点分吧不强求伸手党从此不再受气了那些自以为是看不起伸手党的我表示强烈的鄙视关于偏移的找法只要大家找到一个四位偏移和一个三位偏移这个游戏无论怎么更新你都可以无忧了鞋子偏移找法用到方向偏移工具这里我就用文字描述了在人物文本框里输入人物基址模糊不等于0搜索穿上鞋子首次扫描直到出现2XXX脱下鞋子精确搜索0 就可以找到鞋子偏移称号偏移首次扫描用模糊不等0搜索再次扫描用变化的值搜索称号取下戴上循环搜索几次就可以得到称号偏移武器偏移也是同样的道理就不多说了三位偏移加个双偏移进去方法一样5916b399972762446e068cc1.jpg(70.61 KB)e5c9b9fb1b30436e4f4aeac1.jpg(43.34 KB)。
CE入门教程游戏基址查找方法CHEAT ENGINE(以下简称CE)是我见过的最优秀的游戏作弊工具。
它的优点多不胜数,虽然单独从搜索游戏里面的数值来说,它并不比其他同类软件强多少,但它不仅仅是个游戏修改工具,它还有其他游戏修改软件所没有的一些特点,例如:它有强大的反汇编功能,这个是别的游戏工具中几乎没有的;还有,它本身就自带了外挂制作工具,可以直接由它生成外挂。
而它的界面非常简洁朴素,这也是我喜欢它的原因之一。
同类软件中,我觉得TSEARCH可以和它媲美,但TSEARCH的界面比较混乱,操作过于复杂,所以我个人并不喜欢TSEARCH。
在这个教程里面,你不会看到任何图片,因为我觉得我能用纯文字教你使用CE,如果你觉得没有图片就一定学不会,我想你没必要看下去了,因为我没空做图片,并且我觉得文字已经足够表达,没必要用多余的图片好了,废话少说,进入正题吧。
其实,使用CE的基本步骤,可以简单到一句话:1.运行CE->2.运行游戏->3.在CE中指定要修改的游戏->4.首次搜索一个数值->5.回游戏中让这个数值增加或减少->6.回CE按数值增减的情况再次搜索->7.重复5和6直到得到一个或很少的几个结果->8.在这几个结果中判断哪一个是真正的结果。
而下面的这个教程,就是要对上面说的这些步骤进行详细的解释,然后再用一个具体的例子来让大家真正掌握CE的用法。
当然,要用一个具体的例子来讲解CE的用法,需要一个游戏,以这个游戏的修改来讲解。
不过,如果真正的用一个游戏来做例子,那么大家也得找到我用的游戏,就算找得到,还有可能要安装,确实比较麻烦。
幸好,CE本身带了一个TUTORIAL,就是教程的意思,不过这个TUTORIAL,本身也是一个程序,它是作者为了让使用的人进行练习而编写的,它不但会一步一步地教你怎么用CE,而且它本身也和游戏差不多,除了没有游戏的画面。
如果你能使用CE按这个TUTORIAL的要求对它进行修改,我想你也应该能用CE对真正的游戏进行修改了。
找内存基址的方法一、找内存基址的重要性。
1.1 内存基址就像是游戏或者程序中的宝藏地图的起点。
如果把整个内存看作是一个巨大的迷宫,内存基址就是那个能让我们开始探索的入口。
对于游戏修改者或者软件逆向工程师来说,找到内存基址就等于拿到了打开神秘大门的钥匙。
没有它,就像是在黑暗中摸索,完全不知道从哪里下手。
这是一个非常关键的第一步,就像盖房子打地基一样重要。
1.2 比如说在一些热门游戏里,玩家想要修改角色的属性,像生命值、攻击力之类的。
如果找不到内存基址,那一切都是空谈。
这就好比你想在大海里捞针,却不知道针在哪片海域。
找到内存基址,就像是给你一个定位仪,能让你准确地找到那根针。
2.1 静态分析。
这就像是福尔摩斯探案一样,要从现有的线索入手。
查看程序的可执行文件,从里面寻找可能的线索。
这个过程有点像在故纸堆里找宝贝。
有时候,会发现一些固定的偏移量或者常量,这就像是在黑暗中看到的一丝曙光。
但是这个方法也不是那么容易的,就像走在布满荆棘的小路上,需要你有足够的耐心和细心。
2.2 动态分析。
这时候就像是跟踪一个狡猾的小偷一样。
要使用调试工具,在程序运行的时候观察内存的变化。
当程序执行某个操作,比如说角色升级的时候,内存中的数据肯定会发生变化。
我们就盯着这些变化,顺藤摸瓜。
这个过程就像猫捉老鼠,要时刻保持警惕。
但是这个方法也有它的难处,就像大海捞针,因为内存中的数据变化非常复杂,一不小心就会跟丢线索。
2.3 参考前人经验。
这是一个比较取巧的方法,就像站在巨人的肩膀上。
很多游戏或者软件都有一些前辈已经做过相关的研究。
我们可以在网上搜索相关的论坛或者社区,看看有没有人分享过类似的经验。
不过这也不是万能的,毕竟每个程序都有它自己的特点,就像世界上没有两片完全相同的树叶一样。
三、找内存基址的注意事项。
3.1 要小心版权问题。
在寻找内存基址的过程中,千万不要触犯法律的红线。
如果是用于非法的目的,比如制作外挂来破坏游戏的公平性,那可就是自讨苦吃了。
基址搜索方法[方框透视]人物基址:人物基址坐标一级:二级人物基址鼠标Y偏移:鼠标y上下移动搜索改变的鼠标X偏移:鼠标x上下移动搜索改变的枪击Y偏移:枪击后座精确坐标每次更新,不变或者+4,自己试试看枪击X偏移:枪击后座精确坐标每次更新,不变或者+4,自己试试看是否死亡偏移:敌人1 活1 死0本人死亡基址:1.人物基址-8 2.自己活1死0阵营基址:警察搜1 匪徒搜0敌人基址规律:敌人1活着搜索1死亡搜索0,敌人2活着搜索1死亡搜索2,敌人2基址减去敌人1基址即为敌人基址规律敌人基址:搜敌人一活的1 死的搜0模式基址:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10模式一级:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10模式二级:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7终结8 生化9 救世主10本人位置:搜房间自己位置自己在房间第一个搜0 第二个搜1 第三个搜2 按顺序队伍不变坐标X偏移:搜索敌人的X坐标变动坐标Z偏移:搜索敌人的Z坐标变动坐标Y偏移:搜索敌人的Y坐标变动是否在游戏基址:在游戏搜1 房间搜0视角基址:没开镜1070141403 第一次开镜1055246586 第二次开镜1040583314视角偏移:没开镜1070141403 第一次开镜1055246586 第二次开镜1040583314是否为生化生化:搜1 人类搜0团队模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10爆破模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10幽灵模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10歼灭模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10个人竞技:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10特殊站:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10突围模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10挑战:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10终结者模式:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10生化:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10救世主:团队0 爆破1 幽灵2 歼灭3 个人4 特殊5 突围6 挑战7 终结8 生化9 救世主10[队友伤害]打开队友伤害搜1 关闭搜0[挑战零秒加弹]加完子弹搜索2 然后在没加子弹时搜索0 写2[挑战零秒关门]关门时候搜索2 然后在没关门时候搜索0 写2[无限遁地]站着的时候搜1610612803 蹲着的时候搜1610612802 写-1[幽灵显鬼]幽灵房搜1 其他搜0写0[狙击准星]开镜搜1 关镜搜0 写-1[全屏准星]狙击准星得出地址后转化为十进制减去4 写0[早出三秒]死了后不能动搜0,活着可以走动搜1 写1[人物自杀]活着搜0 死了搜1 写1[僵尸不退]生化搜5 个人竞技搜4 团队搜3 写4[切换背包]没开背包搜1 打开搜0 写0[锁定准星]1.拿狙搜1063675494 开镜搜0 写22.搜索4字节刀搜索29 警察手枪搜索16 匪徒的手枪搜索17 写-1[免疫闪光]没被闪搜0 被闪了搜1 写0[无限飞天]在梯子上搜1 下梯子搜0 写1[无限钻地]搜索201326658[无后坐力]1.刀搜索0 M16 搜索4006871 USP 搜索3984588 GLOCK-18 搜索4027842 写12.搜索1025758992 写1[单击点射]手枪3发子弹搜索1,单发搜索0 刀搜索0 写0[修改模式]1.救世主模式搜索8,歼灭模式搜索3,幽灵模式搜索2,团队搜索0 3.刀战搜索1 手枪战搜索2 狙击战搜索3[修改模式]刀战搜索1 手枪战搜索2 狙击战搜索3[去除准星]死亡搜索1,复活搜索后0 写1[去除天空]生化实验室搜索68 生化金字塔搜索70 死亡隧道搜索196 生化沙漠搜索195 守望之城搜索67 运输船搜索195 椰岛之颠搜索197 13号地区搜索196 生化港口搜索196 黑色城镇搜索69 刀站搜索197 写1000[瞬间转换]1.搜索1011878402.x坐标出生搜未知左移搜减少右移搜增加y坐标出生搜未知后移搜减少前移搜增加z坐标在梯子中间搜未知往上爬搜增加往下搜减少[修改模式]救世主模式搜索8,歼灭模式搜索3,幽灵模式搜索2,团队搜索0[二倍飞天]游戏中搜索201326658 退出游戏到房间搜0 写-1[零秒换弹]换子弹后搜索2 退出游戏到房间搜0 写0[刷无线电]可以发无线电搜索2 出现红字搜索0 写2[内存透视]团队按insert两下出来人物名称后搜索1 生化搜0 写1[无视墙体]对着新手练习里的墙搜索1113587712 写3231711232[无限子弹]搜索子弹数量写9999999 自慰[自动喊话]搜索按F5/F6/F7/F8自动喊话的内容(在CF的设置里)写入文本数据然后模拟按键[武器地址]主武器搜0 副武器搜1 刀搜2 雷搜3 写0锁定枪,可以遍历出秒杀飞刀等功能[无限CF点]搜索目前CF点数值随便买个东西搜买完东西后的数值写99999999 自慰[无限GP点]搜索目前GP点数值随便买个东西搜买完东西后的数值写99999999 自慰[无限HP血]HP为100时,搜100,然后让同伴给自己开一枪(千万别打死,特别注意)然后剩下多少HP再打入这个数值再次搜索把范围越弄越小再用急救包加30血(确保自己加血前HP低于70 不能加满否则搜不到)然后再搜加血后的HP 写999999999[幽灵隐身]幽灵模式隐身搜索0 不隐身搜索1 写0[枪放大镜]能放大的枪搜1,不能搜0 写1[隐身无敌]房间搜0 游戏中搜1 写0[无限暴走]生化开暴走搜1 暴走时间过后搜0 写1[免费会员]会员号进游戏反复搜1 非会员反复搜0 写1[地图透视]进图后搜索508 写509开写508关[免费人物]潘多拉搜11海豹突击队搜10救世主搜9刀锋搜8灵狐者搜7夜玫瑰搜6飞虎队搜5猎狐者搜4赛斯搜搜3奥摩搜搜2斯袄特搜1[武器代码]MA410101COLT19110201M7000301MP50401AK-471001MP72801 Steyr AUG A11101AWM1201 PSG-11301K1 1501K2 2201XM10141401P901601M601701 AWM1201 PSG-11301XM10141401P901601UZI2101 DRAGUNOV2301 2601 SG5522401M162501AK742701 FAMAS2901XM83001 Micro-GALJL3201 Anaconda3301SCAR Heavy3401 SPAS-123601M4A1-B3801MP5-B3901AK-47-B4001 Steyr AUG A1-B4101 AWM-B4201 Desert Eagle-B4301SG552-B4401G36K3101 4601 AWM-a4701 SCAR-Heavy4801xm8-b4901AK-74-B5101 FAMAS-B5201 QBZ955301 QBZ95-B5401AK-47-A5501 Desert Eagle-A 5601SG552-A5701雷蛇冲锋枪5801 QBZ95-A6101 6104N946601MP5-A6701喷子6801新狙击6901M4A1-S6004Steyr AUG A1-A 6201 6204PSG-16301 6304黄金沙鹰6401 6404 7701 RPK机关枪6501 6504 XM1014-A6801 6804黄金XM8-A7001 7004M4会员7101瞄准镜M47201黑金枪7301军用铁锹7401黄金AK-477801 5901 196 黄金M4A1 249粉红M4 666粉红狙击667玫瑰斧头762斧头3501可保存M4A1-A (7天4501消音(180天)4504M90501 USP手枪1801P228手枪1901 DesertEagle手枪2001 GLOCK-18手枪3701手雷0701闪光0801烟雾0901 蓝色烟雾弹7901 黄色烟雾弹8001 福字手雷7501 红色烟雾弹7601。
ce查找:搜索当前血量218OD查找:OD附加,先点运行让它跑起来。
CTRL+G,00456448.来到00456448血地地址是ESI+25C,搜索左面[]中ESI地值,不要搜索右面EDX。
向上查找ESI。
ESI是从ECX来地,在这里按F2下断。
看看对不对,要是对血值发生变化会被自动断下。
成功断下后在命令:后面添加 dd ecx+25c(因为血是ESI+25C,ESI是从ECX 来地所以ESI+25C=ECX+25C)。
回车。
来到当前血量。
DA十六进制换成十进制是218.证明ECX是对地,继续找ECX地值。
向上查找。
两段代码之间会出现NOP。
在高级语言中这两段代码叫做函数。
NOP将2个函数分开,一般在OD中函数以PUSH开始RETN结束。
因为在本段代码没有找到ECX,在向上找就是其他函数代码了,那样找起来会很麻烦,所以来到本段代码头部,看看还没有CALL.点击004563A0(代码头部)发现有个CALL,右键前往这个CALL。
如果这里没有CALL,在CALL这个位置下端,运行OD,让血值发生变化自己断下,看看返回值,然后记录下来在排除查找!前往这个CALL,来到!向上查找。
来到EAX发现是个跳转,所以要往回跳。
右键点击跳回!跳到00454B71。
一直向上来到头部没找到ECX,发现EAX这里有个调用,不过没有CALL,所以在这里下断,运行,到游戏里动一下让它自动断下。
取消断点,要不在这个断点又被断下了,看到了返回到……这个调用。
在第一个返回到,点右键,点在反汇编窗口中跟随。
然后运行OD。
让游戏动一下。
没被断下,继续向上查找ECX,发现ECX是地值是从EAX来地。
向上找EAX,没找到,发现函数代码中部有个CALL。
进入这个CALL看看。
命令:DD [EAX+24]+25C 在 [EAX+24] 这行代码下端。
在命令行按回车。
发现当前血是对地,取消断点在让OD运行起来。
向上 dd [[ecx+8]+24]+25c 在这行下断,在命令行回车。
CE找基址及偏移教程首先,为了理解基址和偏移的概念,我们需要了解一下计算机内存的组织结构。
一、计算机内存的组织结构计算机内存是由一系列连续的存储单元组成的,每个存储单元都有一个唯一的地址。
这些地址以字节为单位进行编址,从0开始递增。
程序在运行时,会被加载到内存中,并且在内存中分配一个起始地址。
二、基址和偏移的概念基址和偏移是指计算机内存地址的两个部分,用于定位内存中的特定数据。
其中,基址是内存段的起始地址,而偏移是相对于基址的地址的偏移量。
理解基址和偏移的重要性在于,它们为我们提供了一种动态定位内存中的数据的方式。
特别是在计算机安全领域,如逆向工程和漏洞分析,基址和偏移的概念非常重要。
三、寻找基址和偏移的方法在一些情况下,我们需要找到程序中一些特定变量或函数的地址,以便进行相关操作。
以下是一些常用的寻找基址和偏移的方法。
1.调试器调试器是寻找程序中基址和偏移的最常见工具之一、使用调试器,可以暂停程序的执行,并查看其内存中的的状态。
通过在程序中设置断点,可以直接获取特定变量或函数的地址。
2.静态分析静态分析是指在不运行程序的情况下对其进行分析。
可以使用反汇编器来分析程序的机器码,找到关键函数或变量的地址。
这种方法对于分析没有调试信息的程序特别有用。
3.动态分析动态分析是指在运行程序的情况下对其进行分析。
可以通过跟踪程序的执行,记录关键函数或变量的地址。
这种方法适用于需要捕获程序运行时的状态的情况。
4.模块排布在操作系统中,程序通常使用模块(DLL、SO等)来组织代码和数据。
模块的基址是一个固定的地址,而其中的变量和函数的地址是相对于该基址的偏移量。
因此,通过查找模块的基址和计算偏移量,可以找到特定变量或函数的地址。
四、基址和偏移的应用了解基址和偏移的概念后,我们可以使用它们进行一些常见的操作。
1.漏洞分析在漏洞分析中,基址和偏移可以帮助我们定位程序中的关键数据结构,比如缓冲区。
通过寻找基址和计算偏移量,可以精确地定位漏洞所涉及的内存位置,并进行相关的利用和修复操作。
先说下查找方式,大体就是肯定值查找模糊查找还有些值查找不出来的话先别急,因为那些值寄存方式不明白,所以可能会查找起来比较麻烦不知道存放方法的值可以先分析OD数据,OD分析数据中会得到很多数据,比如有些游戏存放坐标不是数据型,而是把数据改后存为文本型,找到寻路CALL后或需要用到坐标数据的CALL时就可以获得需要查找的值了。
这些下面再说先说下模糊查找,会模糊查找,确定值查找也就会了,不过确定值查找需要选择查找的数值类型模糊查找我用选择怪物数据为例下面画红圈的地方注意看1.肯定没有怪物和人物,NPC选中选中16进制,这样比较容易看数据。
数值填写0,然后点击首次扫描查找出来1大堆2.选中只怪物(注意:攻击的话别杀死怪物后再点扫描)扫描类型选择大于,再次点击再次扫描搜索出来来少了很多,不过还是太多了3.杀死怪物,然后扫描类型选择(精确数值)点击再次扫描4.看下扫描结果,应该仍是很多,然后重复2-3的步骤一直到看地址少于10个这里剩下3个值,0d3c1c9c和0d3c1ca0里寄存的有1个是怪物ID地址偏移,1个寄存怪物名称。
0d3c1ca4里寄存的是当前选中怪物血百分比其实那个游戏CALL里面挪用的选择怪物,解决怪物都是挪用这3个地址,若是不想做怪物过滤的话就没必要去查找怪物ID,怪物名称了。
总结回来很多不重要的功能能够不做就不做了。
不过很多游戏怪物过滤是很重要的。
呼呼下面说如何找出游戏基址直接拿上面地址找我拿0d3c1ca4来做例子双击0d3c1ca4再蓝色条部位随便哪处鼠标右键弹出下图蓝色部分点击鼠标左键,没有这个选项,我用的是弹出下图刚进这个图片的时候可能是空白的,因为没有动作调用这个地址,那么你选只怪物或已经选择了,那么换只会攻击那只怪物(这里需要注意,第1个mov eax,[esi+ecx*4-4] 可能开出来就会出现这种地址,这种地址表示数组地址,而在第1个就跳出来应该不会是咱们要找的偏移地址里面ecx一般=0 能够点进去看下查看里面ecx的值是不是=0 若是不是,那么那个就是咱们要找的偏移值。
ce查找:搜索当前血量218
OD查找:
OD附加,先点运行让它跑起来。
CTRL+G,00456448.
来到00456448
血的地址是ESI+25C,搜索左面[]中ESI的值,不要搜索右面EDX。
向上查找ESI。
ESI是从ECX来的,在这里按F2下断。
看看对不对,要是对血值发生变化会被自动断下。
成功断下后在命令:后面添加 dd ecx+25c(因为血是ESI+25C,ESI是从ECX 来的所以ESI+25C=ECX+25C)。
回车。
来到当前血量。
DA十六进制换成十进制是218.证明ECX是对的,继续找ECX的值。
向上查找。
两段代码之间会出现NOP。
在高级语言中这两段代码叫做函数。
NOP将2个函数分开,一般在OD中函数以PUSH开始RETN结束。
因为在本段代码没有找到ECX,在向上找就是其他函数代码了,那样找起来会很麻烦,所以来到本段代码头部,看看还没有CALL.
点击004563A0(代码头部)发现有个CALL,右键前往这个CALL。
如果这里没有CALL,在CALL这个位置下端,运行OD,让血值发生变化自己断下,看看返回值,然后记录下来在排除查找!
前往这个CALL,来到!
向上查找。
来到EAX发现是个跳转,所以要往回跳。
右键点击跳回!
跳到00454B71。
一直向上来到头部没找到ECX,发现EAX这里有个调用,不过没有CALL,所以在这里下断,运行,到游戏里动一下让它自动断下。
取消断点,要不在这个断点又被断下了,看到了返回到……这个调用。
在第一个返回到,点右键,点在反汇编窗口中跟随。
然后运行OD。
让游戏动一下。
没被断下,继续向上查找ECX,发现ECX是的值是从EAX来的。
向上找EAX,没找到,发现函数代码中部有个CALL。
进入这个CALL看看。
命令:DD [EAX+24]+25C 在 [EAX+24] 这行代码下端。
在命令行按回车。
发现当前血是对的,取消断点在让OD运行起来。
向上 dd [[ecx+8]+24]+25c 在这行下断,在命令行回车。
发现血值还是对的。
取消断点,运行OD。
会到刚才地址在小键盘上按-号。
直到退出这个CALL。
一直向上找,没有ECX,来到头部下端。
到游戏里动下一,取消断点。
返回到。
让游戏跑起来。
查找ECX。
一直向上找,直到找到基址,每找到上一级,dd命令,检查对错,遇CALL,返回,没CALL下断,返回,进CALL找基地。
最后CE设置检查对错。
ce+od
OD CTRL+G
00456448
ESI+25C
ESI=ECX 前往CALL
步骤同1,一直找到数组那里。
下断
MOV ECX,EAX ,没有ECX的值所以找EAX。
按F8单步走一下,看看ECX和EAX 的值是否一样。
一样CE查找这个值
1
找一个下HR断点能断下来的地址。
到OD里检查一下。
断下来了,HD清除断点。
找EAX的值。
公式
找ECX。
返回。
找到ECX的值,CE查找。
看看断在什么位置,取消断点,还有看看那个寄存器存放的这个值。
发现是EDI这个寄存器存放的这个值。
向上到EDI,继续完成公式。
直到找到常量。
HR断点方法。
内存访问
CE。