申请会员ID:2667036690【冒充他人文章申请】
1、申 请 I D :26670366902、个人邮箱: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 是原创吗?文章原始出处在哪?看起来是复制过来的。 本帖最后由 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 02:14
文章的确不错,不过怎么看这么正式的语言不像人话啊。
{:1_907:}他这个更高级了,知道机翻外文来申请,碉堡了。。。 {:1_907:}直接复制原帖图片地址 666,现在抄袭的知道机翻了
666,抄袭的知道机翻了,厉害啊
页:
[1]