逆向
文章平均质量分 76
wugxnet
这个作者很懒,什么都没留下…
展开
-
函数调用堆栈变化分析
比如我们有这样一个C函数#include<stdio.h>longtest(inta,intb){a=a+1;b=b+100;returna+b;}voidmain(){printf("%d",test(1000,2000));}写成32位汇编就是这样;//////////////////////////////////////////////////////////////////////////////...原创 2021-12-22 17:42:54 · 195 阅读 · 0 评论 -
为什么要下断bpSend,原理分析。
看过这里有的大大是断下send后,去找调用send的CALL,找到这个CALL再找上一次的CALL,这样去找关键CALL,但是,有的游戏这样是找不来的,所以,如果有的游戏不能这样找回去,那怎么办呢,这就要先说说原理了。 要说找CALL的原理,我们应该想想游戏的运行机制。也就是说游戏的控制方式是怎么样的。 不说费话,其实大多数的游戏都是这样的,来个买药的例子吧: 点击买药后: 1、客户端产生一个买药行为 并调用买物品的过程,如:BuyGoods(s:string,n:integer); /..原创 2021-12-22 17:38:38 · 921 阅读 · 0 评论 -
做挂第一步:如何找基址(以热血传奇为例)
如何找热血传奇基址?一.首先打开游戏并使用CE加载游戏进度。二.在数值中输入血量值207,点击新的扫描,扫描类型选择精确数值,如图所示:为什么要输入207呢?这是指游戏中人物的当前血量,游戏中的任何数据都对应一个内存地址,所以此处我们可以找到血量207的内存地址。可以发现搜索出了一大堆,但是到底哪一个是我们需要的血值呢?所以我们还得构造一个条件,以方便准备的搜出血值。请看第三步3.进入游戏,打打怪,然后故意让怪物打几下,这样自身的血量会减少,然后在CE中,扫描类型选择:减少的数值,当然在原创 2021-12-22 17:37:55 · 7152 阅读 · 0 评论 -
一步步学外挂(二).CALL的原理。
看过这里有的大大是断下send后,去找调用send的CALL,找到这个CALL再找上一次的CALL,这样去找关键CALL,但是,有的游戏这样是找不来的,所以,如果有的游戏不能这样找回去,那怎么办呢,这就要先说说原理了。 要说找CALL的原理,我们应该想想游戏的运行机制。也就是说游戏的控制方式是怎么样的。 不说费话,其实大多数的游戏都是这样的,来个买药的例子吧: 点击买药后: 1、客户端产生一个买药行为 并调用买物品的过程,如:BuyGoods(s:string,n:integer); //.原创 2021-12-22 17:35:56 · 557 阅读 · 0 评论