- 博客(10)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 魔改一个过游戏保护的CE
我们即便把标题改成自己的,也有可能被游戏加到黑名单,如果我们用N个字母随机化标题的话,就没那么容易被检测到了,所以我们加入随机窗口标题的代码。编译好的文件在cheat-engine-master\Cheat Engine\bin目录,文件名就是我们自己定义的。其实只要编译一个x64的就够了,因为x64的版本也是能搜索和调试32位进程的。在游戏逆向的过程中,很多游戏有保护,我们运行原版CE的时候会被检测到。窗口标题没有改变是因为在CE的源码中是写死的,所以我们要去源码中改。如果要查看窗口的话,按F12即可。
2024-03-30 15:42:58 1206 1
原创 游戏辅助从0到1-C++调用游戏Lua脚本实现辅助
众所周知,游戏的逻辑基本上都是采用Lua等脚本语言编写的,我们通过逆向分析游戏,找到游戏Lua接口和Lua函数后,很容易的就能实现一个游戏辅助所需要的所有功能,比起逆向游戏来讲,本课程更容易上手,适合0基础的朋友们学习,在学完本课程后再去学习游戏逆向技术会事半功倍,再者,在实际的游戏辅助编写的过程中,可能有很多地方我们需要花大量的时间找call,如果是我们直接去调用游戏的Lua脚本的话也会节约我们大量的时间,节省我们的开发成本。第一部分是讲述Lua的基础及C/C++与Lua联合编程的内容。
2024-01-08 12:04:38 961
原创 科锐16位汇编学习笔记 04 乘除和移位指令
SAL:把目的操作数的低位向高位移,空出的低位补0,移出来的最后一位 进 CF;SAR:把目的操作数的高位向低位移,空出的高位用最高位(符号位)填补,移出来的最后一位 进 CF。可用于有符号位除法(除 2 的 n次幂)
2024-01-06 17:53:02 1035 1
原创 科锐16位汇编学习笔记 03 汇编指令
7 已知SI=1200H,DS:[1205H]=1234H,试说明指令MOV BX,5[SI]和LEA BX,5[SI]的区别,执行后BX的内容分别是多少?将值改成 FF 即 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 可以看出,所有标志位都变成了1。 •SF/ZF/AF/PF/CF状态标志位分别送入AH的第7/6/4/2/0位,而AH的第5/3/1位任意。LEA BX,5[SI] 是将 si+ 5 = 1025 的值 给 BX ,此时 BX 的值位 1025。
2024-01-06 11:22:40 1239 1
原创 C++64位游戏软件安全汇编与反汇编反调试 x64驱动开发进程保护进程隐藏驱动读写过保护 视频教程
│ └─51-157 │ 100 X64——编写代码,实现两种快捷键call的调用.mp4。│ 86 X64——打开仓库.关闭仓库call(打开后,才能遍历仓库数组).mp4。│ 124 X64——编写代码,测试调用交任务call与接任务call.mp4。│ 87 X64——编写代码,实现打开仓库,遍历仓库数组,关闭仓库.mp4。│ 94 X64——飞行call.取消飞行call.外层与封包分析.mp4。│ 92 X64——编写代码,调用捡物外层call与封包call.mp4。
2024-01-05 20:48:32 908 1
原创 科锐16位汇编学习笔记 02 分段,机器码和寻址
例如,如果用BP作为基址寻址的单元,则可表明此单元位于SS段;dos系统里面的值是可以随便修改的 ,修改里面的值可能导致系统崩溃,例如中断向量表里面存放的是系统的api,修改里面的值,会导致系统无法调用API。但是如果自己指定了段基址,则使用自己设置的,如果没有设置段基址只设置了段偏移就把 CS 的值当做段基址, 段基址和段偏移都不设置级就接着上次的。同理:如果自己指定了段基址,则使用自己设置的,如果没有设置段基址只设置了段偏移就把 DS 的值当做段基址, 段基址和段偏移都不设置级就接着上次的。
2024-01-05 20:35:06 1079 1
原创 科锐16位汇编学习笔记01汇编基础和debug使用
1. 一个硬件系统都有什么?● 一个系统不可能由一个硬件单独完成,所以划分处多个硬件模块,然后由一个模块居中调度。称作CPU。2. CPU如何与其他硬件做交互?● I/O桥 所有的硬件模块连接到I/O桥,由I/O桥负责辅助cpu与哪一个硬件模块连接。● 总线3. cpu如何去选择不同的硬件模块?● 位多路复用器CPU:一个系统不可能由一个硬件单独完成,所以划分多个硬件模块,然后由一个硬件模块居中调度cpu的主要工作:1.算术运算;2.读写,即从一个硬件中读写至另一个硬件中。
2024-01-05 18:04:05 1178 1
原创 游戏Lua调用01.lua的编译及测试
首先要把lua.h lauxlib.h lauxlib.h lua51.lib lua51.dll放到我们项目里面来,然后在我们的项目中包含这3个头文件和lib文件,注意,由于我们的lua库是使用C语言的方式编译并导出的,而我们项目是C++的,所以需要把includelua头文件的代码加上extern "C"工程建立好了以后,将下载好的lua5.1解压,把压缩包里面src文件夹里面的所有文件都复制到我们建立的工程目录下面去,然后在我们的工程中把复制进去的文件都导入到工程里面。
2024-01-05 14:09:10 1793
原创 科锐学习笔记-DEBUG命令使用解析及范例大全
启动 Debug,它是可用于测试和调试 MS-DOS 可执行文件的程序。参数指定要测试的可执行文件的位置和名称。parameters指定要测试的可执行文件所需要的任何命令行信息。++说明使用 Debug 命令但不指定要测试的文件如果使用没有位置和文件名的 Debug 命令,然后键入所有的 Debug 命令以响应 Debug 提示符,连字符 (-)。Debug 命令。
2023-11-21 22:50:24 321
原创 x86游戏逆向之实战游戏线程发包与普通发包的逆向
下面的演示以天龙八部私服和官服分别演示,因为天龙八部私服发包不频繁所以用来演示第一种方法,具体操作就是 进游戏有下send断点,然后对数据包下硬件访问断点,我们去游戏选怪,硬件断点断下后,删除我们下的断点,然后Ctrl+f9一层一层返回,每次返回的CALL都下个断点,然后让游戏跑起来,跑起来后我们再选怪,对断下的地方进行分析。既然是这样,那就说明,你往数据缓冲区写包数据的时候之前肯定会调用某个公共函数,那我们只要分析硬件断点断下来的时候堆栈里面有没有公共函数就行了,然后我们去最外层的公共函数分析。
2023-05-27 12:20:12 1784
Qt局域网聊天软件
2013-01-25
C语言写windows窗体
2012-09-30
Com操作Excel 弹出被呼叫方拒绝呼叫
2016-04-29
TA创建的收藏夹 TA关注的收藏夹
TA关注的人