从零开始编写自己的Apex辅(wai)助(gua)
注意:本文仅供研究学习使用
本文将简述以下部分来叫你编写一个简单的Apex辅助:
- 开始,准备工作
- 编写
- 测试
本文将使用C#作为编程语言,编写一个External类型辅助(Internal与External的区别将不再赘述)。
为什么使用CSharp?
- 相比C/C++,无需手动管理内存,节省大量掉坑时间。
- 巨硬自家,提供完整的WinAPI支持和DLL引用,方便操作。
- VS宇宙第一IDE
提前准备
- 把游戏下好,VS装好(
- Apex使用了EAC反作弊系统,所以你需要准备任意一种可行方法来bypass
- 本文中出现的内存偏移地址均为19年4月3日更新版本对应
开始
1.获取游戏内存基址
这个没有什么可说的,当你绕过EAC能够操作游戏进程的时候你应该有办法获得他。
2.获取EntityList内存地址
IntPtr EntityListOffset = 0x1F9AE68;
IntPtr EntityList = BaseAddress + EntityListOffset ;
3.获取具体Entity的内存地址(<<为逻辑左移操作符)
public static IntPtr GetEntityByID(int ID)
{
return Memory.Read<IntPtr>(EntityList + (ID << 5));
}
4. 获得Entity对应类型(即判断是玩家还是NPC还是道具等)
String Name = Memory.ReadString(Memory.Read<IntPtr>(entity + 0x500));
name的可能性包括player,prop_survival,prop_script,分别对应玩家,道具,NPC
5. 遍历Entity获得所有玩家的内存地址(所有玩家均在前100个Entity中)
for (int i = 0; i < 100; i++)
{
IntPtr entityPtr = GetEntityByID(i);
if (entityPtr != IntPtr.Zero)
{
Entity entity = new Entity(entityPtr, i);
if (entity.IsPlayer){
Your code goes here
}
}
}
6. Glow ESP!
咕一会咕一会
OωO 看到一半就没有了,这是怎么了?
哇! 看到一半就没有了