如何绕过某讯手游保护系统并从内存中获取Unity3D引擎的Dll文件

 某讯的手游保护系统用的都是一套,在其官宣的手游加固功能中有一项宣传是对比较热门的Unity3d引擎的手游保护方案,其中对Dll文件的保护介绍如下, “Dll加固混淆针对Unity游戏,对Dll模块的变量名、函数名、类名进行加密混淆处理,有效提高静态分析门槛”。

通过动态分析了它的保护方法,通过改源码刷机的方法绕过了它的保护方案(也可通过hook libc.so中的execve函数绕过保护),接下来就可以直接使用GameGuardain这个神奇附加上去进行各种骚操作了。这里主要讲一下如何去从内存中获取Assembly-CSharp.dll 和 Assembly-CSharp-fristpass.dll文件。

绕过保护后,先启动GameGuardian,再启动相关游戏,在某讯的Logo刚好出现时附加到游戏上,待游戏进入到登录页面时,通过内存搜索值的方式搜索9460301(0x4D 5A 90 00)的十进制表示方式。这也是PE文件Dos头的特征码。搜索步骤和结果如下:

记录下第一个值和最后一个的值,接下来的dump步骤需要(dump时,开始地址尽量比第一个值小,结束地址尽量比最后一个地址大,上下浮动的大小尽量大于游戏中最大的Dll文件所占内存大小)。

等待保存完毕以后就可以从手机上拉取到本地了。获取到文件的结果如下:

接下来可直接使用get_dll_from_bin.exe这个工具直接从所有的bin文件中dump出所有的dll文件。操作后可用dnSpy直接打开所有的dll文件查看是否存在Assembly-CSharp.dll和Assembly-CSharp-fristpass.dll这两个文件。结果下图(本次获取到12个dll 文件):

 工具获取到dll后直接使用数字命名,直接通过dnspy打开看看是否有最终的目标dll。

获取到dll如下:

并不存在所需要获取的dll文件。后面经过分析可知这套保护方案把Dos头的前128字节清空了。接下来就需要单个文件进行操作和修复了,使用010editor打开文件,搜索PE头的文件特征(50 45 00 00 4c 01 03 00)。然后通过搜索到的位置往前查看128字节是否被清零,如果是先把正常的pe文件的前128个字节复制,再往搜索到的位置的往前128字节进行粘贴修复即可。如图:

经过反复操作和修复后,再通过get_dll_from_bin.exe操作修复的bin文件即可。

经过操作后获取到如下的Dll:

通过与解包后的资源文件大小相比较,3.dll大小和Assembly-CSharp.dll相同。

12.dll大小和Assembly-CSharp-firstpass.dll相同。

分别将3.dll 和12.dll文件拖入dnspy中,如图所示3.dll是目标文件Assembly-CSharp.dll:

12.dll是Assembly-CSharp-fristpass.dll:

到此,所有目标文件已经获取完毕。

排版有点渣,将就看吧。主要是思路。望大牛轻喷。

最后 我们分享个好用的工具。

 使用ipaguard来对程序进行加固

代码加固是进一步保护应用的一种方式,通常通过特定平台来对应用进行加固处理。

这边以ipaguard为例,目前还在免费阶段,想薅羊毛的快快试试。

Ipa Guard是一款功能强大的ipa混淆工具,不需要ios app源码,直接对ipa文件进行混淆加密。可对IOS ipa 文件的代码,代码库,资源文件等进行混淆保护。 可以根据设置对函数名、变量名、类名等关键代码进行重命名和混淆处理,降低代码的可读性,增加ipa破解反编译难度。可以对图片,资源,配置等进行修改名称,修改md5。只要是ipa都可以,不限制OC,Swift,Flutter,React Native,H5类app。

所以就要使用到混淆器,混淆器是把里面的代码变量等信息进行重命名,这样可读性会变得非常差,接着,

到这里,我们完成了对代码的混淆,但是还没有进行加固,防止反编译,所以,请往下看

然后导入自己的包就可以了,这里是流水式的走下来,所以只需要导入和导出就可以了,

添加单个文件,选择好刚刚混淆后的包,然后你做的事情就是等,等待上传完--加固完--下载完--已完成,当到已完成的时候,说明这里已经可以导出了,导出需要前面提到的自己创建的签名,这里可是会用到的,如果不用,则包安装包可能会出现问题

选择导出签名包,选择签名文件,输入密码,然后点击开始导出

导出的包是经过混淆,经过加固比较安全的包了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/204493.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android中添加C或C++代码

1、创建cpp目录,用于存放C和C代码。 2、创建CMake构建脚本CMakeLists.txt文件,将其放在cpp目录中。 # Sets the minimum version of CMake required to build the native library. cmake_minimum_required(VERSION 3.22.1)# Declares and names the pro…

单宁对葡萄酒可饮用性和陈酿潜力会有影响吗?

当在酿酒过程中葡萄酒中的单宁过量时,酿酒师可以使用白蛋白、酪蛋白和明胶等各种细化剂,这些药物可以与单宁分子结合,并将其作为沉淀物沉淀出来。随着葡萄酒的老化,单宁将形成长长的聚合链,氧气可以与单宁分子结合&…

数据挖掘实战-基于word2vec的短文本情感分析(文末送书)

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作

【PPT模板合集】关于自制内容的PPT模板合集,包括原创的PPT及改良内容的PPT,适合科研/比赛/工作 零、前言一、校园层面的PPT模板1.1 各种毕业答辩1.2 夏令营答辩1.3 奖学金答辩1.4 比赛/项目答辩 二、学术层面的PPT模板2.1 学术汇报2.2 会议海报类型 三、…

使用VScode通过内网穿透在公网环境下远程连接进行开发

文章目录 前言1、安装OpenSSH2、vscode配置ssh3. 局域网测试连接远程服务器4. 公网远程连接4.1 ubuntu安装cpolar内网穿透4.2 创建隧道映射4.3 测试公网远程连接 5. 配置固定TCP端口地址5.1 保留一个固定TCP端口地址5.2 配置固定TCP端口地址5.3 测试固定公网地址远程 前言 远程…

网站监控有什么作用?

科技改变生活,科技的发展让我们的生活越来越精彩丰富,数据中心机房监控系统也可以称为“自我监控系统”,主要是针对机房所有的设备及环境进行集中监控和管理的,其监控对象构成机房的各个子系统:动力系统、环境系统、消…

SpringBoot+Redis获取电脑信息

获取电脑信息 测试 System.getProperties(); System: 是Java中的一个内置类,用于提供与系统相关的功能和信息。这个类中包含了一些静态方法和常量,可以让您方便地访问和操作系统级别的资源。 getProperties(): 是一个静态方法,它返回一个表示…

学习笔记小结

redis-cluster集群 redis3.0引入的分布式存储方案 集群由多个node节点组成,redis数据分布在这些节点当中。 在集群之中分为主节点和从节点 集群模式当中,主从一一对应,数据的写入和读取与主从模式一样,主负责写,从…

实时沟通,实时增长:企业使用WhatsApp Business的不二选择

在数字化浪潮中,WhatsApp Business崭露头角,成为企业与客户之间沟通的新利器。今天运营坛将和大家深入探讨WhatsApp Business在2023年为企业带来的机遇,从增长率、客户群体、功能特性以及优势等方面剖析为何企业需要充分利用这一强大工具。 W…

VirtualBox上安装CentOS7

基础环境:宿主机是64位Windows10操作系统,通过无线网访问网络。 macOS可以以类似方式进行安装,不同之处见最后补充。 Step1 安装VirtualBox VirtualBox是一款免费、开源、高性能的虚拟机软件,可以跨平台运行,支持Wi…

突发,合肥一废品回收站发生火灾,富维AI神器助力防灾

昨晚,合肥一废品回收站突发火灾,火光冲天,烟雾蔓延。幸亏及时发现,消防人员迅速到场,控制了火势。这起事件让我们再次认识到火灾报警的重要性。而在这方面,北京富维图像公司的FIS智能图像识别系统就发挥了巨…

1+x中级网络运维实验题

任务 1: 设备命名 为了方便后期维护和故障定位及网络的规范性,需要对网络设备进行规范化命名。请根据 Figure 3-1 实验考试拓扑对设备进行命名。命名规则为:城市-设备的设置地点-设备的功能属性和序号-设备型号。例如:处于杭州校…

基于 Gin 的 HTTP 代理 Demo(2)

一周后勘误: 我这里实现的严格来说还是 HTTP 代理,只不过是通过隧道的方式传输非 HTTP 的流量,这里是 HTTPS 流量。尽管它可以传输 HTTPS 流量,它也不算是 HTTPS 代理。 上次写了 基于 Gin 的 HTTP 代理 Demo 之后,对…

ant design vue3 处理 ant-card-head ant-tabs靠左边对齐之has选择器不生效

火狐浏览器是不支持has的。 解决方法:通过position来解决。

解析编程中的技术迷题:常见挑战与应对策略

前言 在数字化时代的浪潮中,编程已经成为了一项至关重要的技能。无论是在软件开发、数据分析、人工智能还是互联网领域,编程都扮演着不可或缺的角色。作为一种创造性的活动,编程不仅仅是代码的书写,更是一种解决问题和创新的思维方…

软件测试的测试文档怎么编写?

在软件测试中的流程中,测试文档也是一个重要的流程,所以测试人员也需要学习测试文档的编写和阅读。 一定义: 测试文档(TestingDocumentation)记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。…

【JavaEE初阶】 详解HTTPS协议加密过程

文章目录 🌴HTTPS协议是什么?🎄运营商劫持事件🎋HTTPS的工作过程🚩对称加密🚩非对称加密🚩引入证书🚩完整流程 🌳HTTPS加密总结⭕总结 🌴HTTPS协议是什么&…

基于Netty实现TCP通信

创建一个Maven项目添加下面依赖 <dependencies><!-- 日志依赖 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.32</version></dependency><dependency><g…

帮亲戚个忙,闲来有事用php写个58商铺出租转让信息抓取

最近亲戚想做点小超市生意&#xff0c;但是又不懂互联网&#xff0c;信息获取有点闭塞。知道我身在互联网大潮中&#xff0c;想让我帮忙看看网上有没有商铺转让的。心想&#xff0c;这不是小菜一碟&#xff0c;大显身手的时候来了&#xff0c;大概去58瞅了瞅&#xff0c;这玩意…

【问题定位】阅读Nacos服务注册与发现的源码解决服务注册异常

问题现象 本地服务启动&#xff0c;发现调用FeignClient的服务&#xff0c;跑的是sit的服务&#xff0c;而本地是uat的环境配置。 问题跟踪 feign.SynchronousMethodHandler#invoke&#xff0c;调用远程服务。 public Object invoke(Object[] argv) throws Throwable {Reque…