基于FakerAndroid的一次il2cpp游戏逆向精修实录!!!零汇编零二进制纯编码实现

from–https://blog.csdn.net/s297165331/article/details/117736681

 

 

 

 

1、下载FakerAndroid 工具包

下载地址:https://github.com/Efaker/FakerAndroid/releases

2、cmd切换到FakerAndroid.jar平级目录

[工具包和要操作的Apk]

[工具包目录]

3、执行 java -jar FakerAndroid.jar fk <apkpath>生成AndroidStudio工程

[执行命令]

[等待命令执行完成]

4、查看Apk平级目录下面生成的AndroidStudio工程

[查看原安装包目录]

  1. AndroidStudio直接打开生成的Android工程 [生成的Android项目工程目录结构]

  1. 等待加载完成直接运行项目(确认项目加载完成,部分Res或Manifest文件有问题的话需要手动修复一下,实测大部分的未做res混淆的Apk都是没有问题

[直接Run运行项目]

7、Java类调用之继承(意在演示Java层原有Java类调用)

[父类继承]

8、Java类调用之Api调用(意在演示Java层原有Java Api调用)

[父类Api调用]

9、Manifest入口Activity替换

[AndroidManifest入口Activity替换]

10、Java类替换(意在演示对原有Java类的直接替换)

[类替换之原类]

[类替换之自己编写的替换类]

11、定义Jni方法进行Hoook操作和il2cpp脚手架的调用

[Jni方法定义]

[HookApi和Il2cpp脚手架的使用]

12、对原il2cpp脚手架定义过的方法进行Hook替换

[Il2cpp脚手架中的UI回调函数替换以及Il2cpp脚手架中的Api调用]

[JniHook Btn]

13、 后上一下效果图,忘记说了,文章中所有图片的宽度都使用了1024px

[效果图]

赞收藏

评论

分享

举报

上一篇:Android lint检查 下一篇:独乐乐不如众乐乐,你的项目还在纠结用日志打印log么?Android开发o

提问和评论都可以,用心的回复会被更多人看到 评论

相关文章

IL2CPP的优化 : Devirtualization 去虚拟化

Unity的脚本虚拟机团队一直在寻找让代码运行得更快的方法。这是三篇介绍关于IL2CPP AOT编译器小优化文章的第一篇,另外这篇文章也会教大家如何进行优化。虽然这些优码运行速度提升两到三倍,但是它们也会对游戏起到非常重要的帮助,我们也希望它们能帮助您了解你的代码是如何运行的。现代编译器非常擅长执行各种优化来提高代码运行发人员,我们通常可以向编译器显式的传达一些代码信息来帮助编译器提升性能。今天,我们将详细讨论IL2CPP的一个小优化,看看它如何改进现有代码的运行效率。D

c# 编译器 虚方法 c++代码 虚表

IL2CPP 的工作原理

使用 IL2CPP 开始构建时,Unity 会自动执行以下步骤: 1.将 Unity Scripting API 代码编译为常规 .NET DLL(托管程序集)。 2.应用托管字节码剥离。此步骤可显著减小构建的有托管程序集转换为标准 C++ 代码。 4.使用本机平台编译器编译生成

IL2CPP

Unity IL2CPP 游戏分析入门

一、目标 很多时候App加密本身并不难,难得是他用了

Android 安全 json v8 c#

Unity用户手册-IL2CPP

什么是IL2CPP?从技术层面上来说,我们说的IL2CPP包含了两部分:一个进行 预先编译的编译器(译注:ahead-of-time,又叫AOT,以下一律使用AOT缩写) 另外一个部分就支持的运行时库。AOT编译器将由.NET 输出的中间语言(IL)代码生成为C++代码。运行时库则提供诸如垃圾回收,与平台无关的线

IL2CPP 运行时库 程序集 编译器

Unity发布WebGL时il2cpp报错

近做的一个项目,导入了一款插件但是不论是开发时,还是发布window项目,皆没有问题就是发布WebGL时报错了不贴图了,大概就是il2cpp.exedidnotrunproperly之类发布

帖子,各种方法总结如下:发布的路径不要带有非ascii字符,即纯英文数字字符,对于咱们而言就是路径中不要有中文发布路径与项目同级把项目拷到c盘,发布也到C盘删除项

unity webgl il2cpp player settings subset

浅谈Unity与.Net、Mono、IL2CPP

一:什么是Mono?Mono是基于CLI和C#的ECMA标准提供的.Net的另一种实现,与.Net不同的是Mono具备了跨平台的能力二:Mono的组成——C#编译器:C#编译器称为mcs 译工作,因为mcs是C#写的编译器而且还使用了很多.Net的API,所以在非WIndows平台上 unity .net c# c++ Unity将来时:IL2CPP是什么?

制作,多平台部署,而这一核心功能是靠Mono实现的。可以说Mono是Uni unity IL2CPP c# .net c++ unity3d游戏IL2CPP相关算法简单分析 unity3d游戏IL2CPP相关算法简单分析

编码算法 协议分析 移动互联网 游戏 算法

Unity Android IL2CPP 编译报错的一种可能原因

Unity 版本 5.6.6f2在使用 Android 的 IL2CPP 时,发生编译报错,报错内容如下所示:stdout:IL2CPP error (no further information about what managed code was being conver

available)Additional information: Build a d…

Unity ios android 编译错误 iosd

Unity3d:c#,Mono,IL2CPP,托管代码,AOT,JIT

Mono跨平台ILIntermediate Language,中间语言,面向对象的汇编语言工作流通

unity3d C# Mono与IL2CPP 托管与非托管代码 AOT与JIT

用Unity做游戏,你需要深入了解一下IL2CPP

http://youxiputao.com/articles/5064[ 转载自 IndieACE ] 这次我们翻译了一篇Unity官方博客上的文章,原文题目为AN INTRODUCTION TO IL2CP

IL2Cpp

【Unity开发小技巧】PlayerSetting里面的Scripting Backend模式Mono或者IL2CPP 在从业过程中有很多初学者一开始只知道打包流程,

unity打包 Mono IL2CPP .net c#

基于FakerAndroid的一次il2cpp游戏逆向精修实录!!!零汇编零二进制纯编码实现

~~~格式优化整理~~~1、下载FakerAndroid工具包下载地址:https://github.com/Efaker/FakerAndroid/releases2、cmd切换到FakerAndroid.jar平级目录[工具包和要操作的Apk][

Android 移动开发

Unity之IL2CPP 背景在Unity4.6.1p5以后版本中,在PlayerSettings—>Other Settings—>Scripting Backend有mono和il2cpp两个选项,它们是Unity脚本后处理(Scripting Backend)的两种方式。

Unity一种新的脚本后 …

运行时库 编译器 c++ 平台移植 静态编译

IL2Cpp简易加密方法

Mono作为backend的时代,破解总的来说还是容易的: 修改libmono.so :从内存动态搜素dll特征值动态dump混淆Dll:dnspy作者的de4net可以反混淆大部分混淆器修改Dll的P MTP):可以用XPose抓取Dll主体配合一些工具修复PE头动态解密Dll Meth …

加载 加壳 ios 启动流程 开发人员

Unity3D将来时:IL2CPP(上)

http://inpla.net/thread-8197-1-1.htmlUnity3D将来时:IL2CPP(上)(注:本文详细的讲述了C#,Mono,.Net, IL等Unity使用到的概念,如果你已经熟知这些,可以直接跳过必大家都不陌生,独… c# .net 3d c++ javascript

Unity使用IL2CPP编译Android应用时NDK环境的配置

用Unity编译APP,PlayerSettings里面Scripting Backend可以选择Mono2x和IL2CPP,但如果是在编译Android项目,Unity不仅仅需要Android sdk环境,也需要NDK这个环境,如果没有会弹出下面这样的提示框: Invalid

android android项目 提示框

android app il2cpp unity 热更 unity热更新技术

在开发商业游戏时,热更新是一个很重要的模块,这里讲的热更新不是指仅仅修复Bug,而是进行游戏功能的更新。简单来讲,就是启动游戏后,跑个条,下载资源和代码,然篇博客所写的内容并不是 优的解,只是完成了热更新这个事情而已,具体使用还需要使用者根据自己的项目来具体来看。这里采用的方案是使用 AssetBundle 和 xLua。使用了资源的完全

unity lua 游戏引擎 Powered by 金山文档 json Unity3D 降低IL2CPP编译可执行文件大小

项目开始使用IL2CPP编译,后果是可执行文件急剧增加。 google后发现国外一大神写的方法,原帖在这http://forum.unity3d.com/threads/suggestion-for-reducing-the-size-of-il2

executable.3

sed i++ xcode xml ide

mysql允许所有ip远程连接mac mysql8允许远程连接

本文将解决本地Navicat连接远程MySQL服务器提示不允许连接。一、MySQL8.0安装1.下载wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm 2.安装 mysql80-community-release-el7-1.noarch.rpm 3.检查mysql的yum源是否安

mysql允许所有ip远程连接mac mysql 数据库 MySQL

python引用同级目录 python调用上级目录下的文件本文研究了访问上层目录中文件的三种方法,并分析了各自的优缺点以及使用的函数特性。比较的结论是方法2(基于os.path)为三者中 佳。更新: 近发现python内还有一个p 之后值得一试。另外如果类似需求大量存在,可以学习使用__init__.py将工程打包。问题情景需求:在a.py文件中访问上级目录中的文件b.txt,并且保证c.py也能正常工作。目录

python引用同级目录 python中的点的作用 python 绝对路径 相对路径

java json 任意对象 转 java json对象转字符串

复制代码 //使用json中的parse方法转换; var str=’{“name”:“fendouer”, “age”:23}’; //这是一个json字符串’’ var ob=JSON.parse(str) ; //返回一个新对象 console.log(ob.name)//把js 转换成字符串 var obj={“student”:[{“name”:“cyl”

java json 任意对象 转 JSON 字符串 json

android 设置等待条 等待怎么设置

#固定休眠时间设置包导入 from time import sleep#显性等待包导入 from selenium.webdriver.support.wait import WebDriverWaitfrom case.drivers_set import driver#1.固定休眠

2.隐式等待 driver.implicitly_wait(3) #

android 设置等待条 ci 业务逻辑 UI

mysql补齐空格 mysql空格怎么打

一、结构类操作1.1 连接数据库1.1.1 命令连接数据库# 基础格式 mysql [OPTIONS] [database_name] # 常用参数格式 mysql [-h<ip>] [-u<username>] [-p<password>] [-P<port>

[database_name]说明:选项及其

mysql补齐空格 mysql 字段 数据库

Copyright © 2005-2023

51

M

CTO.CO

 

版权所有

 

ICP

060544

关于我们

官方博

全部文

热门标

了解我

在线客服

网站地

友情链接

开源基础软件社

51

CT

O

CT

O

51

汽车开发者社

上一篇
下一篇