达康书记 发表于 2018-2-14 18:10

申请会员ID:2667036690【冒充他人文章申请】

1、申 请 I D :2667036690
2、个人邮箱:2667036690@qq.com
3、原创技术文章:

步骤1-10:反转Warface入门。
步骤10-16:查找SSystemGlobalEnvironment结构地址
步骤17-21:在SSystemGlobalEnvironment中查找IGame偏移量
步骤22-23:在SSystemGlobalEnvironment中查找IRenderer偏移量
步骤24-25:在SSystemGlobalEnvironment中查找ISystem偏移量
步骤26-27:在SSystemGlobalEnvironment中查找IPhysicalWorld偏移量
步骤28-29:在SSystemGlobalEnvironment中查找IEntitySystem偏移量
步骤30-32:在SSystemGlobalEnvironment中查找ITimer偏移量
步骤33-34:在SSystemGlobalEnvironment中查找IConsole偏移量
步骤35-36:查找RayWorldIntersection函数地址

步骤1

请使用启动器将您的游戏更新到最新版本,并确保游戏完整性检查已通过验证。

第2步

请使用提供的启动程序启动您的游戏,并等待直到加载到主菜单。

第3步

按Alt + Tab键以最小化游戏并切换到桌面。下载一个过程转储工具,如PETools并打开它。

第4步

在其中找到“Game.exe”进程并右键单击该行。点击“Dump Full ...”并将该过程转储到文件中,并将其命名为“Dumped.exe”。之后,请切换到游戏窗口并退出游戏。如果你不需要,关闭启动器。

第5步

下载 IDA Pro并打开IDA。当您尝试第一次分析新文件时,在弹出窗口中选择“新建”。

https://i.imgur.com/uvNUohA.png

第6步

浏览您的文件并打开之前保存的Dumped.exe并将其加载到IDA中。


https://i.imgur.com/0tP02Ez.png

步骤7

在弹出的对话框中,选择如下图所示的选项(大部分默认选项类似于此)。

https://i.imgur.com/ZidRLwC.png

第8步

点击“确定”,它开始读取导入和导出。它也可能会问你几个找不到的组件。

通常它会要求“ijl15”,“CrashRpt1402”和“ocevogyv”。

要解决这些问题,请导航到已安装的游戏目录并进入“Bin32Release”文件夹,然后选择所需的每个DLL文件。例如:“ijl15”的“ijl15.dll”。重复这个步骤直到它解决了它找不到的所有缺失组件。


https://i.imgur.com/c3XfwXN.png

然后它将开始分析倾销过程。此过程可能需要大约5-15分钟,具体取决于计算机的性能。


https://i.imgur.com/4GSvnI7.png

您可以在分析栏中看到该过程,并在页脚状态栏中查看当前位置。

https://i.imgur.com/Tw4wD6N.png

https://i.imgur.com/6CIiZHr.png

等到分析过程完成。

步骤9

初步分析完成后,您的分析栏将与此类似。

https://i.imgur.com/UnfvBSs.png

页脚状态栏会显示“空闲”。

https://i.imgur.com/32eNO5f.png

现在,请点击工具栏上的“Save the database”图标保存数据库。然后它将显示“打包数据库”标题的进度。等到保存过程完成。

https://i.imgur.com/SBg7zc9.png

第10步

现在在菜单栏中,转到“View” - >“Open subviews” “字String”并打开字符串窗口。


https://i.imgur.com/roc7JIB.png

这将包含在倾销组件中找到的所有字符串及其位置。


https://i.imgur.com/kD8BkN9.png

你需要这个字符串列表来找到SSystemGlobalEnvironment和几乎所有的东西。找到附近的琴弦并深入挖掘是找到某种东西的最快方法之一。使用公开的CryENGINE SDK,它使一切变得如此简单。

第11步

最后,我们在这里,我们要找到第一件事,那就是SSystemGlobalEnvironment的位置。让我们找出我们如何找到它,我们?

在专注于最近打开的“字符串”窗口时,请按Ctrl + F打开该窗口的搜索窗格。现在搜索“ai_CompatibilityMode”(没有引号,你可以开始输入它,它会在每次按键之后自动搜索)。

https://i.imgur.com/YaFvYGW.png

第12步

双击它找到的唯一结果去该地址。


https://i.imgur.com/GCqqC3u.png

现在点击“aA_compatibili”指针的顶部,并关注它。

https://i.imgur.com/vyBBcHj.png

第13步

现在按X打开该特定地址的外部参照(交叉引用)。将出现一个窗口,其中包含所有地址对这个地址的引用(在这种情况下,它只有一个)。


https://i.imgur.com/Z1neb3G.png

第14步

双击唯一的结果去该地址。现在我们在这里...


https://i.imgur.com/UNrOnNI.png

第15步

因为这是一个小巧友好的教程,所以通过按F5输入这个函数的伪代码,现在我们在这里......


https://i.imgur.com/r19WIEq.png

步骤16

右键单击字符串“ai_CompatibilityMode”(在本例中为“dword_1A3F2B8”)附近的DWORD,然后选择“重命名全局项目”。


https://i.imgur.com/2sSF25W.png

将其命名为“SSystemGlobalEnvironment”。


https://i.imgur.com/m1p43l4.png

按“确定”保存更改。重做第9步并保存数据库以将更改保留到磁盘。


https://i.imgur.com/Edzy1Pn.png

如果您还没有注意到,我们已经找到您的SSystemGlobalEnvironment。要检索它的地址,双击它(“SSystemGlobalEnvironment”),它会把你带到它的地址。


https://i.imgur.com/DW2getA.png

因此,在这种情况下,SSystemGlobalEnvironment地址是:0x01A3F2B8。

第17步

让我们在SSystemGlobalEnvironment中找到IGame偏移量。你准备好了吗?

请重复步骤11,但这次在字符串中搜索“IsPlayer”。请记住,搜索应该是CASE SENSITIVE!。所以它不是“isPlayer”,“Isplayer”,它必须是“IsPlayer”,并且只能选取整个单词的结果。请参考下图获取想法,查看突出显示的行。


https://i.imgur.com/FWdjGPQ.png

步骤18

和以前一样,双击它并转到它的位置。专注于指针并按X打开外部参照。


https://i.imgur.com/K0MpESl.png

您可能会在这里收到多个引用。我们需要确保我们导航到正确的地方,所以...双击它们中的每一个,并访问它们,直到您找到与我说的内容相匹配的一个。

当我们走到那个位置并且失去你所说的外部参照窗口时,如何访问它们中的每一个?这很简单。比方说,我们访问了这样的第一个...


https://i.imgur.com/k8yrvLd.png

您可以通过关注相同的指针并按下X来重新打开外部参照窗口。


https://i.imgur.com/qyv3071.png

第19步

在顶部附近找到一个带有“entityId”字符串的引用,并在底部附近找到“GetAmmoClassNameById”字符串和“RemoveDroppedItems”。就像这样,为了您的信息,这也是正确的...


https://i.imgur.com/vk2Fk0z.png

第20步

像以前一样按F5输入伪代码。你会发现CryENGINE ScriptBindings。每个命名的函数字符串伴随着它自己的函数。例如,让我们继续使用IsPlayer函数。


https://i.imgur.com/W0CX7YS.png

1 - ScriptBind函数名称。
2 - ScriptBind函数参数。
3 - ScriptBind函数帮助程序或实际功能。

为了找到我们需要的东西(这里是SSystemGlobalEnvironment中的IGame偏移量),请输入“IsPlayer”的ScriptBind函数。在这种情况下,第三个“sub_B0C030”。


https://i.imgur.com/C1gZnUJ.png

第21步

双击它来输入该函数的伪代码。现在我们在这里...


https://i.imgur.com/d3v4Ae1.png

你会注意到我们有我们新找到的SSystemGlobalEnvironment,我们最近重命名并保存在那里。

https://i.imgur.com/GIbreRZ.png

右键单击显示的SSystemGlobalEnvironment偏移值。在这种情况下,“+”后显示“36”。右键点击它并选择“十六进制”。


https://i.imgur.com/ikVUtcA.png

您将最终将其值转换为十六进制,即0x24。

https://i.imgur.com/nCeDN1m.png

如果你还没有注意到,那就是SSameGlobalEnvironment中IGame的偏移。它是SSystemGlobalEnvironment + 0x24 = IGame。

步骤22

让我们找到IRenderer的偏移量,你说什么?

请重复步骤11,但这次在字符串中搜索“Draw2DLine”。

https://i.imgur.com/osoaGVv.png

和之前一样,双击进入该位置并按下X指针获取Xrefs列表。


https://i.imgur.com/ipGu1ZE.png

双击结果转到该位置。按F5并输入伪代码。


https://i.imgur.com/WbPG1Ec.png

转到ScriptBind函数,在这种情况下是“sub_BAF270”。

步骤23

在顶部找到SSystemGlobalEnvironment。


https://i.imgur.com/9KI3Yyq.png

和以前一样,将显示的偏移量转换为十六进制。


https://i.imgur.com/YEJloGY.png

如果你还没有注意到,在这种情况下,0x2C是SSystemGlobalEnvironment中的IRenderer偏移量。所以,它是SSystemGlobalEnvironment + 0x2C = IRenderer。https://www.unknowncheats.me/forum/images/smilies/smile.gif

第24步

好了,现在是时候在SSystemGlobalEnvironment中找到ISystem偏移了。让我们进入它...

请重复第11步,但这次搜索字符串中的“GetUserName”。


https://i.imgur.com/E8pJYxU.png

和以前一样,选择正确的全字结果并转到它的位置。关注指针并按下X打开外部参照。


https://i.imgur.com/EyQtCH7.png

转到结果并按F5键输入伪代码。输入相应的ScriptBind函数。


https://i.imgur.com/0a80eWG.png

在这种情况下,它是“sub_BADAA0”。双击进入。

第25步

在顶部找到SSystemGlobalEnvironment。


https://i.imgur.com/ND7E2Zz.png

和以前一样,将显示的偏移量转换为十六进制。


https://i.imgur.com/9V2iZhA.png

如果你还没有注意到,在这种情况下,0x98 SSystemGlobalEnvironment中的系统偏移量。所以,它是SSystemGlobalEnvironment + 0x98 = ISystem。https://www.unknowncheats.me/forum/images/smilies/smile.gif

第26步

现在是时候找到IPhysicalWorld了,这是最容易找到的偏移量之一...

请重复第11步,但是这次在字符串中搜索“RayWorldIntersection(Game)”。


https://i.imgur.com/ed0xCHZ.png

双击结果以转到该位置,通过按下X同时打开与之前相同的外部参照,同时集中指针。这次你会找到很多参考资料。挑一个,主要是其中的任何一个。如果下面的步骤与您的不匹配,请选择另一个。

然后转到该地址并输入伪代码。

第27步

找到最接近您的字符串的SSystemGlobalEnvironment引用(在这种情况下,最接近“RayWorldIntersection(Game)”)。


https://i.imgur.com/Ho0OB1n.png

和以前一样,将显示的偏移量转换为十六进制。


https://i.imgur.com/w9t4EOI.png

如果你还没有注意到,在这种情况下0x5C是SSystemGlobalEnvironment中的IPhysicalWorld偏移量。所以,它是SSystemGlobalEnvironment + 0x5C = IPhysicalWorld。

步骤28

噢,现在是一个大的。“IEntitySystem”。谁不喜欢在地图上看到所有的武器,弹药滴,爆炸物与ESP权?让我们继续吧...然后

重复步骤11,但这次搜索字符串中的“GetEntities”。


https://i.imgur.com/27Vyx3Z.png

选择正确的结果作为一个完整的单词和以前一样,并转到它的位置。通过专注于按X的指针来获取外部参照。


https://i.imgur.com/BuBn7Rm.png

双击并转到参考位置并输入伪代码。


https://i.imgur.com/E90XYew.png

双击并输入它的ScriptBind函数。在这种情况下,它是“sub_BADF20”。

步骤29

找到SSystemGlobalEnvironment的第一个匹配项。


https://i.imgur.com/daYiq3B.png

和以前一样,将显示的偏移量转换为十六进制。

https://i.imgur.com/8XZVzY9.png

如果你还没有注意到,在这种情况下,SSystemGlobalEnvironment中的IEntitySystem偏移量为0x38。所以,它是SSystemGlobalEnvironment + 0x38 = IEntitySystem。

步骤30

我们需要创建一个真棒畅通目标?当然是ITimer。为我们提供一些准确的基于引擎的帧时间。让我们在SSystemGlobalEnvironment中找到ITimer偏移...

请重复步骤11,但这次搜索字符串中的“GetFrameTime”。


https://i.imgur.com/44ykQl9.png

双击并转到结果,按F5打开外部参照,同时像以前一样对焦指针。


https://i.imgur.com/Kh0SaCI.png

导航到找到的唯一结果并输入伪代码。


https://i.imgur.com/evPvFNl.png

双击并输入它的ScriptBind函数,在这种情况下是“sub_BAD910”。

第31步

在这里找到它在“else”子句中显示的偏移量。看到突出显示的偏移量,这是我们在这里寻找的值。


https://i.imgur.com/7UCiGNf.png

记住刚刚找到的偏移量。

步骤32

通过在工具栏中传递Back按钮导航回到伪代码。

https://i.imgur.com/sETk2MI.png

现在你回到步骤30的结尾。滚动到构建的伪代码的顶部。在顶部找到SSystemGlobalEnvironment偏移量,就像在此图像中显示的一样...


https://i.imgur.com/wafsj0X.png

选择你之前找到的偏移量。在这种情况下,它是“+ 96”之一。

https://i.imgur.com/GXGMOIV.png

和以前一样,将显示的偏移量转换为十六进制。

https://i.imgur.com/O1vKFVd.png

如果你还没有注意到,在这种情况下,0xA8是SSystemGlobalEnvironment中的ITimer偏移量。所以,它是SSystemGlobalEnvironment + 0xA8 = ITimer。

第33步

我们也找到“IConsole”,因为为什么不呢?!

请重复步骤11,但这次搜索字符串中的“GetCVar”。


https://i.imgur.com/4HJz6wH.png

用完整的单词选择正确的单词,然后转到它的位置,和以前一样。通过关注指针并按下X来打开外部参照。


https://i.imgur.com/HAjcvR1.png

转到唯一的结果,按F5再次输入伪代码,与之前一样。


https://i.imgur.com/TLySm75.png

双击并输入它的ScriptBind函数,在这种情况下是“sub_BAFAB0”。

第34步

在那里找到SSystemGlobalEnvironment参考。


https://i.imgur.com/r4IRIpa.png

和以前一样,将显示的偏移量转换为十六进制。


https://i.imgur.com/niNPQiM.png

如果你还没有注意到,在这种情况下,SSystemGlobalEnvironment中的IConsole偏移量为0x48。所以,它是SSystemGlobalEnvironment + 0x48 = IConsole。

步骤35

我们还可以找到RayWorldIntersection函数,以便我们可以执行光线跟踪来检查特定的Actor或从特定位置可见的实体/对象。此检查对Aimbot或ESP非常重要。

您可以在上面的步骤27中找到相同的地址。但如果你想从头开始,请从下面继续。

请重复步骤11,但这次在字符串中搜索“RayTraceCheck”。


https://i.imgur.com/9h16FT3.png

双击并移动位置,与之前一样专注于指针并按X显示外部参照。你也会在这里看到多个参考。


https://i.imgur.com/Jol2FX9.png

这一次,选择任何参考并在那里导航。没关系,因为它们都包含我们正在寻找的东西。我将为本教程选择第二个。

在那里导航,按F5进入伪代码。


https://i.imgur.com/74Hz2tD.png

双击并输入它的ScriptBind函数,在这种情况下它是“sub_BB2A40”。

步骤36

在伪代码中,向下滚动并找到一个函数,其中包含一个以“RayWorldIntersection”(可以是“RayWorldIntersection(Game)”,“RayWorldIntersection(3dEngine)”,“RayWorldIntersection(EntitySys)”或“RayWorldIntersection随你)。

https://i.imgur.com/ADpv3vM.png

双击该函数名称以导航到该函数的伪代码。


https://i.imgur.com/iAYZtSY.png

这是我们正在寻找的功能,通过引用它的名称来获取它的地址。在这种情况下,它是0x046A1D0,因为函数名称是“sub_46A1D0”。您可以另外右键单击它的名称并选择“重命名全局项目”以将该函数命名为“RayWorldIntersection”以供进一步参考。

所以,在这种情况下,RayWorldIntersection函数在0x046A1D0。

写了好久啊,希望加入52pojie成为大家的一份子,我还需努力,永远在学习的道路上进步努力,希望给次机会来到52pojie

Hmily 发表于 2018-2-15 12:17

是原创吗?文章原始出处在哪?看起来是复制过来的。

Ganlv 发表于 2018-2-24 02:14

本帖最后由 Ganlv 于 2018-2-24 02:31 编辑

Hmily 发表于 2018-2-15 12:17
是原创吗?文章原始出处在哪?看起来是复制过来的。
文章的确不错,不过怎么看这么正式的语言不像人话啊。

第8步

然后它将开始分析倾销过程。此过程可能需要大约5-15分钟,具体取决于计算机的性能。
能告诉“倾销”是哪来的吗?我去查了一下词典还真长见识了,原来是dump这个词。

第4步

在其中找到“Game.exe”进程并右键单击该行。点击“Dump Full ...”并将该过程转储到文件中,并将其命名为“Dumped.exe”。之后,请切换到游戏窗口并退出游戏。如果你不需要,关闭启动器。
不过再回头看看,你似乎知道 dump 翻译成转储。

现在竟然可以使用机翻伪造原创了,机翻真是强大。

其实机翻也是挺容易识别的,看到这句话感觉不像中文语序,典型的 it depends on ... 句式。

此过程可能需要大约5-15分钟,具体取决于计算机的性能。

http://cn.bing.com/search?q=SSys ... ayWorldIntersection

https://www.unknowncheats.me/for ... sets-positions.html

Ganlv 发表于 2018-2-24 03:54

申请区才是论坛最有意思的地方,各式各样的神仙等着老大诛仙。

Hmily 发表于 2018-2-24 10:22

Ganlv 发表于 2018-2-24 02:14
文章的确不错,不过怎么看这么正式的语言不像人话啊。




{:1_907:}他这个更高级了,知道机翻外文来申请,碉堡了。。。

苏北北ml 发表于 2018-2-24 11:24

{:1_907:}直接复制原帖图片地址

abao991 发表于 2018-2-24 12:11

666,现在抄袭的知道机翻了

無影 发表于 2018-2-24 13:47


666,抄袭的知道机翻了,厉害啊
页: [1]
查看完整版本: 申请会员ID:2667036690【冒充他人文章申请】