一,AI工作原理我们日常生活中接触的大语言模型(LLM),简单来讲就是所谓的AI.它的工作原理其实非常简单,用户输入一段文字之后会得到一个输出的文字内容.输入到输出的这种模式可以想起数学中的一个概念叫函数,说白了LLM就是一个大型的函数套娃系统.
一般我们所学的函数结果是固定的,比如我给x提供一个值那么必然会有个对应的y输出.这种固定性显然跟我们需要的AI不符合,跟AI的每一次聊天都是不同的,...
这一期主要分享Hook中的Trampoline(蹦床)技术,这个相当于是Detour的进化版。Trampoline的最大的优势是解决Detour调用被Hook函数带来的无限递归问题。
一,技术介绍Trampoline和Detour的区别1.Dertour(转向)结合上一期内容Detour是拦截目标函数并把代码重定向到自己的函数(Hook函数)当中。比如当程序正常调用一个目标函数时实际上执行的是被...
今天分享函数Hook中的Detour技术,这项技术可以拦截修改或者完全替换目标函数的任意代码。我们最多接触的是Cheat Engine 当中的注入脚本功能,想把这个功能转换成C++程序的话只能通过detour(转向)来实现。下面这篇文章当中将介绍Hook技术的具体实现detour方法。
一,技术介绍1.Detour和Hook的区别在一些技术文章中总能看到两种术语,Detour和Hook。Hook...
今天分享的新技术是怎么调用游戏当中的函数,这就引出一个新问题,为啥要调用游戏中的函数?虽然我们可以自己为游戏编写任何形式的函数来执行,但是有一部分复杂的函数是很难自己去写的。比如射线检测函数,游戏中成功定位到此函数的话就没必要单独再编写一份复杂的射线检测了,直接调用自带的函数即可。
一,技术解析这种技术一般被称为 “函数指针重定向” ,这项技术允许我们直接调用游戏内存中的函数,就跟调用自己写的函...
大部分FPS作弊程序都有一些必不可少的功能,包括自瞄,透视,自动扳机等。在研究这项技术时我发现这些技术的关键点在于调用游戏中的射线检测函数。下面我将介绍一些常见游戏引擎当中的射线检测功能,以及简单的讲解射线检测的实现原理。
一,射线检测的介绍基本原理首先射线就是一条从一个点出发一直延长的线,跟现实中的激光一样但是在游戏中是无终点并且一般是不可见的。这条从一个点射出来的线碰到障碍物(开发者定义的障...
这一期分析游戏的得分系统,我原本以为得分系统是很简单的其实没有那么简单。因为游戏采用了单独加分减分机制最终得分会根据当时一段时间的各种分数的加减来计算出来的。不跟据时间进行的计算会通过其他函数来进行写入操作,所以主要涉及更新得分的函数有两个。
分数函数的分析1.查找得分地址在游戏左上角可以看到得分系统其实都是按整数来计算的,在 Cheat Engine 当中我们直接按 4字节 来进行搜索,每干掉...
这一期主要分析对NPC造成伤害函数以及后座力函数。使用的工具有IDA Pro和Cheat Engine,还有利用Class Informer插件来简化工作量。
一,后座力函数的分析1.定位函数每次找指定的函数之前都建议用 Class Informer 插件来进行关键字搜索。比如我们这里需要查找跟后座力相关的类,那么我们就搜索关键字 Recoil 便能搜寻到相关的类:
很幸运地只搜到了叫 ZH...
这一期主要分析射击函数,分析步骤跟上一期一样先用Cheat Engine来定位函数位置,再通过IDA Pro进行静态分析。大多数FPS游戏中找射击函数是要通过子弹数来定位的,第一步自然而然就是找出内存中的子弹存储地址。再查看此地址被哪个汇编代码所更改来锁定相应的函数。
射击函数的分析一,定位子弹内存地址首先把Cheat Engine附加进程到游戏的可执行程序当中,然后搜索随便一个枪械的子弹数量。...
本系列HITMAN 5的教程主要是针对游戏的主要功能进行逆向分析,使用的工具分别有Cheat Engine ,IDA Pro ,ReClass.NET 。Cheat Engine 是用来实时调试,修改内存值,测试验证推理等等用途。IDA Pro 用来静态分析函数的主要实现逻辑等。ReClass.NET 可以分析数据的内存结构,类指针的分析。
这一期教程的分析内容主要针对生命值函数。下面对这一函数进...
PID是Process ID的缩写,每个正在运行的软件都会有各自的PID,类似于身份证号。只要进程被运行,操作系统会给每个运行的进程分配一个数字标识符。获得PID就可以对指定的进程进行内存修改,附加调试器等等操作。正常情况下打开Windows系统的任务管理器就能看到所有进程的PID信息:
模块基址(Module Base Address)指的是被加载到内存中程序的内存空间起始地址。每打开一个进...