GameHack
文章平均质量分 89
zhaopeng01zp
这个作者很懒,什么都没留下…
展开
-
郁金香2021年游戏辅助技术中级班(七)
郁金香2021年游戏辅助技术中级班(七)058-C,C++写代码HOOK分析封包数据格式A059-C,C++写代码HOOK分析封包数据格式B-detours劫持060-C,C++写代码HOOK分析封包数据格式C-过滤和格式化061-C,C++写代码HOOK分析封包数据格式D-写入配置文件062-C,C++写代码HOOK分析封包数据格式D-读取配置文件058-C,C++写代码HOOK分析封包数据格式A原创 2023-10-07 12:10:08 · 438 阅读 · 0 评论 -
郁金香2021年游戏辅助技术中级班(六)
如果你放弃这个任务,之后你再去接受该任务的话,那么它就是走的另一个发包了,这个我们在这类就不去分析了,我们留到下节课写分析封包的代码,通过代码来分析的话,这样比我们每次去下断点的话,要省很多很多时间,如果每次用调试器去分析的话,花的时间就比较多了,如果我们用代码把发包的数据全部收集到文件里面,再加上我们用代码来做一下条件判断和过滤,那么这样的话我们就能够更方便的收集到发包的有用信息。所以分析的时候只能在鼠标右击该NPC的时候去分析接任务的包。原创 2023-10-02 10:20:33 · 856 阅读 · 1 评论 -
郁金香2021年游戏辅助技术中级班(一)
/ CreateList.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。//// 操作系统 win7 64// 编译环境 Visual Stuido 2017// 定义数据类型,可根据需要进行其他类型定义//class // 链表节点的定义// 数据域,存放数据int data1;int data2;// 链表指针 指向下一个链表节点// 链表创建函数定义int len;// 用于定义链表长度int val;// 用于存放节点数值。原创 2023-09-27 10:13:05 · 724 阅读 · 0 评论 -
郁金香2021年游戏辅助技术(初级班)(上)
我们看到第5个参数是rsp+20,前4个参数占0x20大小的空间,但是在x64环境下,前4个参数分别通过rcx、rdx、r8、r9来传递,为了对齐(也是为了兼容x86汇编),第5个参数通过rsp+20来传递,第6个参数通过rsp+28来传递;在x64环境下,_cdecl、_stacall和_fastcall、_vectorcall这4种调用约定,我们发现都一样,都是用rcx、rdx、r8、r9来传递参数,超出4个的参数用堆栈(rsp+20)来传递。其实它们是有区别的,区别应该就在于参数是浮点数的情况下。原创 2023-09-27 10:10:49 · 643 阅读 · 0 评论 -
郁金香2021年游戏辅助技术(初级班)(中)
有关函数的更多信息,请参阅 TimerProc。挂接主线程这是一个比较复杂的过程,方法有很多,现在我们能够快速用到的,可以用定时器的方法把它附加到游戏窗口所在的线程,因为游戏这个窗口界面就是运行在主线程的,所以我们可以用这种方法来挂接游戏主线程(后面的课还会讲其他挂接主线程的方法)。这个宏添加到显示窗口函数的最前面,也就是说我们在DLL中用到了MFC的窗口,那就需要把这行代码放到函数中的第一行,这个宏会做一些资源的初始化工作,我们后面在显示窗口的时候,它才能够查找到相应的资源,才能够正常的显示窗口。原创 2023-09-27 10:09:46 · 413 阅读 · 0 评论 -
郁金香2021年游戏辅助技术中级班(五)
右键点击NPC的时候有4个组包,释放灵魂的大概有7个组包,但是哪个是真正的释放灵魂,哪个是真正的右键点击NPC,哪一个又是真正的天使复活的指令,就需要我们下节课写代码来测试(写一个结构来组包并调用相应的CALL进行测试),当然我们现在重点分析第一次的组包,因为后面的组包可能性都是很小的,一般来说第一个的概率高达90%。而我们从上图也可以看到,角色信息里面这些身上装备也是一个一个的格子,它大概率的应该也是一个数组,类似于我们背包数组,我们下节课一起来分析这个装备数组。原创 2023-09-26 17:19:50 · 360 阅读 · 0 评论 -
植物大战僵尸变态辅助开发系列教程(E语言实现和VC6实现)(下)
也就是说,不在VS编程环境的调试下运行这个程序,而是把生成的exe程序拷贝出来,直接独立运行它的时候就不能正常修改阳光值等功能,所以就需要在运行之前需要提权,获取到打开进程的权限。我们知道,种植植物的话,植物数量肯定会增加,所以思路就是找到当前植物的数量,再找到这个数量增加的关键指令,下个断点,看一下都调用了哪些函数,分析一下就可以了。第一层是个无参的CALL,内部没有返回值,肯定不是咱们种植的CALL,因为咱们如果要种植的话,肯定会有它们的一个坐标,它种在哪,植物的类型等等这些东西。原创 2022-11-22 20:46:10 · 1284 阅读 · 0 评论 -
植物大战僵尸变态辅助开发系列教程(E语言实现和VC6实现)(中)
用CE找到僵尸当前的坐标,未知的数值,一移动,就搜索减少(因为坐标原点是屏幕的左上角,从右往左移动坐标x的值肯定是减少),多次搜索后把00400000小的地址都删除,选那些大的数值,类型是float,僵尸的移动是在一条线上移动,找到后给它的数值改一下来测试;在游戏开始的时候,这局僵尸都给你列出来了,有一种方法,你可以把这些僵尸的基址都遍历出来,用循环把每只僵尸的基址都遍历出来,写入冰冻状态的数值,但这样的话比较麻烦,如果僵尸特别多的话,你的程序可能会不准,或者程序有可能崩溃掉,那怎么办呢?原创 2022-11-20 20:46:47 · 1568 阅读 · 0 评论 -
植物大战僵尸变态辅助开发系列教程(E语言实现和VC6实现)(上)
改成-5的话,豌豆射手只会有一直吐炮弹的动作,却没有炮弹射出来,炮弹发射不出来,也就是说如果减得数值过大,炮弹还没发射出来呢,就又执行了一次攻击的间隔,这个动作还没执行完又再次发射,炮弹还没发射出来就又开始一次新的发射,就会造成炮弹发射不出来了。在游戏里面,植物能种植的时候是1,不能种植的时候是0,就是说你在种植的时候不但有一个状态的显示,它还会有一个相关的判断,如果是1的话怎么做,如果是0的话又怎么做。思路就是,要找到在建造的同时截取到种植的CALL,然后对比下函数的开头,看看有什么变化;原创 2022-11-20 17:00:12 · 1179 阅读 · 0 评论