当前位置: 首页 > news >正文

3.游戏逆向-pxxx-对照UE源码和IDA分析GName偏移(ida中calloff开头地址的说明)

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动!

本次游戏没法给

内容参考于:微尘网络安全

上一个内容:2.游戏逆向-pxxx-分析UE源码中的GName

找法跟之前一样,还是通过下图红框引入的头文件来找

首先使用ida打开之前x64dbg Dump下的exe文件

然后再搜索字符串之前需要设置一下ida的编码,鼠标在下图红框里拖动(要慢点拖),然后就可以看到下图蓝框里的内容UTF-16LE,这个就是游戏中使用的编码(注意要IDA加载完成,加载不完成可能看不到)

然后设置ida编码

首先在下图红框输入一个数字,输入完可以看到下图蓝框的内容

然后再选择Unicode C-style(16bits)这里是设置的编码,然后点击ok就行了

打开Names

然后搜索UnrealNames.inl里面的内容,如下图红框

然后双击下图红框

然后再按F5就能看到下图的代码

然后对比源码

然后观察特征,可以发现上图红框就是AddZeroed函数

鼠标右击选择Rename可以重命名

如下图

点击ok后,就变了,这个函数不是我们要找的,所以返回,返回按ESC键

我们要找的是GetNames函数,如下图红框它应该是GetNames函数,但是它是off_7FF7DF739028,不是sub开头的,off开头call的内存地址里的值

双击是没办法跳转的,如下图双击跳转的位置,不是个正常的代码,现在使用的ida静态分析的,没有内存怎么办?

只能运行游戏,使用CE看,但是游戏有保护CE看不了内存,过保护后面写,现在还是不要使用steam来运行游戏,通过双击游戏的exe文件不正常的运行游戏,然后使用OpenArk暂停线程的方式,这种方法游戏不会加载保护,任何CE都可以看,但是只能看开头的,游戏运行后的数据看不了,如下图来到游戏的模块首地址,也就是通过游戏exe文件名得到的地址

然后计算GetNames的偏移,查看ida里的模块首地址点击Rebase

下图红框里的就是

然后找到off_7FF7DF739028这一行代码的地址,如下图,首先点击下图红框,然后找到下图黄框,然后复制下图蓝框

然后得到偏移0x34F9C0

然后来到CE如下图

然后选择Disassemble,进行反汇编

然后就可以看到从ida看到的代码了,它call的是7FF4DE571819这个地址

按CTRL+G可以弹出跳转弹框,然后跳转到7FF4DE571819这个地址,如下图红框,很明显它并不是从UE源码中看到的GetNames函数

代码注释

AddressBytesOpcodeComment
7FF4DE57181948 8D 05 75840000lea rax,[7FF4DE579C95]将地址7FF4DE579C95加载到RAX寄存器
7FF4DE57182048 8B CAmov rcx,rdxRDX寄存器的值移动到RCX寄存器
7FF4DE57182348 81 C1 D0DF054Badd rcx,4805DFD0RCX寄存器的值加上立即数4805DFD0
7FF4DE57182A48 29 C1sub rcx,raxRCX寄存器的值减去RAX寄存器的值,结果存回RCX
7FF4DE57182DC0 C1 01rol cl,01CL(RCX 的低 8 位)寄存器的值循环左移 1 位
7FF4DE57183048 81 C1 A126705Dadd rcx,5D7026A1RCX寄存器的值加上立即数5D7026A1
7FF4DE57183748 29 C1sub rcx,raxRCX寄存器的值减去RAX寄存器的值,结果存回RCX
7FF4DE57183A48 C1 C1 A2rol rcx,-5ERCX寄存器循环左移 - 5E 位(等价于循环右移 5E 位)
7FF4DE57183E48 8B C1mov rax,rcxRCX寄存器的值移动到RAX寄存器
7FF4DE571841C3ret函数返回


img

http://www.dtcms.com/a/553145.html

相关文章:

  • AR智能巡检:开启工业运维的“透视眼”
  • PhotoQt,一款轻量级图片浏览器
  • 什么是一级boot和二级boot
  • 网站开发师招聘网站建设几个要素
  • Java语言处理Js文件内容格式化
  • 力扣Hot100--哈希表--day01
  • 鸿蒙技术知多点,技术深入、鸿蒙开发实战分享(一)——下载功能按钮与全局悬浮窗联动实战开发
  • 安科瑞暖通空调解决方案可覆盖分体空调、中央空调和多联机等类型空调系统,有效帮助用户实现空调系统节能降本
  • 用php做购物网站视频网站建设 翰臣科技公司
  • 本地音乐库嫌麻烦?PlaylistDL+cpolar打造“随身听”云端曲库!
  • 巩义网站建设定制电子商务系统网站开发总结
  • Excel怎么在下拉菜单中选择计算方式?
  • PHY6252国产蓝牙低成本透传芯片BLE5.2智能灯控智能家居
  • unity之线框模式
  • h5游戏免费下载:小飞鱼?
  • 【设计模式】享元模式(Flyweight)大白话讲解!
  • seo网站优化知识网站设计师的工作环境
  • 浅谈onlyoffice开发全流程(一、基础介绍)
  • 金仓KRDS云数据库服务管控平台:构建高效智能的数据库运维体系
  • GMI Cloud:如何构建全球化高性能分布式推理服务?
  • Linux入门攻坚——52、drbd - Distribute Replicated Block Device,分布式复制块设备-1
  • Threat Report ATTCK Mapper(TRAM)安装与配置手册
  • java后端初始化模版
  • WebGPU深度学习前端:基于浏览器的分布式模型推理
  • 深入浅出:增强现实(AR)技术全解析
  • 【进程间通信】--- 匿名管道,命名管道
  • 温岭网站建设公司百度问问首页登录
  • SpringBoot配置Redis
  • MinHashLSH 详解:高维数据相似性搜索与去重的关键技术
  • 数据驱动的架构设计:通过Enterprise Architect实现基于UML的架构治理