[UE4 逆向] GetName逆向-内部和外部分别DumpName(4.23以下)

2024-01-26 08:59

本文主要是介绍[UE4 逆向] GetName逆向-内部和外部分别DumpName(4.23以下),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本次示范游戏为BattleRoyaleTrainer这个单机游戏

1.GetName函数引擎源码详细分析

直接搜找到引擎源码中的GetName()

在Engine\Source\Runtime\CoreUObject\Public\UObject\UObjectBaseUtility.h里

 进入GetFName()看一看,发现它返回了个NamePrivate,NamePrivate为FName类型

 再进入ToString(),调用了GetDisplayNameEntry()下的GetPlainNameString(),

 进入GetPlainNameString(),发现它只是对字符串的一些处理,说明GetDisplayNameEntry()就已经返回字符串了,GetPlainNameString()不用管

 进入GetDisplayNameEntry() ,这里Names也就是GName,Index为名字索引(FName中的成员), 箭头所指地方为关键地方(后面会说),

这边再去TNameEntryArray看看,发现是个类模板的声明定义

 再进入TStaticIndirectArrayThreadSafeRead,结合上边返回的Names[Index],这里肯定是重载了操作符[ ],

 

在该类中找到重载操作符[ ]的函数,发现里面调用了GetItemPtr(index)

 

 再进入GetItemPtr(), 这里就是最里层,最关键的GetName算法部分了

 2.内部DumpName

直接照源码里要用的结构抄一下再改一点就可以了

 这里先打印20个看看,要dump所有的话,改20为Names->NumElements即可,注入dll后效果如图

 

3.外部DumpName

外部dump的话就不能用指针方式了,只能一层一层读,也很简单

 

 这里ReadMemory是我自己为方便 封装的一个连续读取的函数

 运行效果如图:

 

 

这篇关于[UE4 逆向] GetName逆向-内部和外部分别DumpName(4.23以下)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646282

相关文章

Java捕获ThreadPoolExecutor内部线程异常的四种方法

《Java捕获ThreadPoolExecutor内部线程异常的四种方法》这篇文章主要为大家详细介绍了Java捕获ThreadPoolExecutor内部线程异常的四种方法,文中的示例代码讲解详细,感... 目录方案 1方案 2方案 3方案 4结论方案 1使用 execute + try-catch 记录

spring-boot-starter-thymeleaf加载外部html文件方式

《spring-boot-starter-thymeleaf加载外部html文件方式》本文介绍了在SpringMVC中使用Thymeleaf模板引擎加载外部HTML文件的方法,以及在SpringBoo... 目录1.Thymeleaf介绍2.springboot使用thymeleaf2.1.引入spring

STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介  1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据 2 通过在程序中编程(IAP)实现程序的自我更新 (OTA) 3在线编程(ICP把整个程序都更新掉) 1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动  4 IAP(自己写的Bootloader,实现程序升级) 1 比如蓝牙转串口,

FreeRTOS内部机制学习03(事件组内部机制)

文章目录 事件组使用的场景事件组的核心以及Set事件API做的事情事件组的特殊之处事件组为什么不关闭中断xEventGroupSetBitsFromISR内部是怎么做的? 事件组使用的场景 学校组织秋游,组长在等待: 张三:我到了 李四:我到了 王五:我到了 组长说:好,大家都到齐了,出发! 秋游回来第二天就要提交一篇心得报告,组长在焦急等待:张三、李四、王五谁先写好就交谁的

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

第六章习题11.输出以下图形

🌏个人博客:尹蓝锐的博客 希望文章能够给到初学的你一些启发~ 如果觉得文章对你有帮助的话,点赞 + 关注+ 收藏支持一下笔者吧~ 1、题目要求: 输出以下图形

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

转:android ro.debuggable属性调试修改(mprop逆向)

android ro属性调试修改(mprop逆向)      大家都知道如果需要调试android 的程序,以下两个条件满足一个就行。第一是apk的配置文件内的AndroidManifest.xml的 android:debuggable=”true”,第二就是/default.prop中ro.debuggable=1。两种方式第一种通常是解包添加属性再打包,随着加壳软件以及apk校验等,容易出

某里227逆向分析

声明: 该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除! 前言 这次会简单的讲解阿里227版本滑块参数n的逆向分析流程以及简单的补环境,如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可联系我。 一