精华内容
下载资源
问答
  • FakerAndroid( ) FakerAndroid() 当apk是统一的il2cpp游戏时,将apk文件转换为stantard android项目的工具包括钩子api和il2cpp c ++脚手架。 概括 优雅地在apk文件上编写代码。 可以将Apk文件直接转换为...
  • FakerAndroid 项目实操

    千次阅读 2021-03-05 10:15:54
    首先将apk和FakerAndroid.jar 放在同一个目录 将apk反编译成Android Studio工程 //语法 //java -jar FakerAndroid.jar fk <apkpath> -o <outdir> java -jar FakerAndroid.jar fk game.apk -o game

    针对Unity开发的工程
    FakerAndroid基本使用说明:https://github.com/Efaker/FakerAndroid/blob/main/CHINESE.md

    针对il2cpp打包的Unity工程
    首先将apk和FakerAndroid.jar 放在同一个目录

    1. 将apk反编译成Android Studio工程

      //语法 
      //java -jar FakerAndroid.jar fk <apkpath> -o <outdir>
      java -jar FakerAndroid.jar fk game.apk -o game
      

    在这里插入图片描述

    1. 使用Android Studio打开工程,将启动Activity替换成FakerActivity

    2. 在src\cpp目录下打开native-lib添加hook通知事件(通常需要hook的事件在il2cpp-functions.h)

      //例如捕捉游戏帧事件
      Java_com_faker_android_FakerApp_fakeApp(JNIEnv *env, jobject thiz, jobject application) {
      	...
      	init_il2cpp(base);
      	...
      	fakeCpp((void*)UISystemProfilerApi_BeginSample, (void*)hook_UISystemProfilerApi_BeginSample, reinterpret_cast<void**>(&UISystemProfilerApi_BeginSample));
      }
      
      //步骤到游戏帧事件之后,调用callJava("OnFrame")通知FakerActivity
      //callJava 工具已经帮忙实现了,callJava 内部调用FakerActivity的onJniCall函数
      void hook_UISystemProfilerApi_BeginSample(void* __this, UISystemProfilerApi_SampleType__Enum type, MethodInfo* method) {
       static  auto tick = GetTickCount();
      	if (GetTickCount() - tick > 1000) {
          	callJava("OnFrame");
          	tick = GetTickCount();
      	}
      	return UISystemProfilerApi_BeginSample(__this, type,0);
      }
      
    3. FakerActivity里面处理OnFrame事件

      //Hook之后会调用onJniCall事件,onJniCall将事件转换到了主线程的callJava里面去
      //所以此时我们可以在FakerActivity的callJava添加代码处理逻辑
      
      private void callJava(String msg){
      	if(msg.equals("OnFrame")){
      		//do smothing
      	}
      }
      
    4. 将事件处理结果回调到native-lib里面去(如果需要的话)

      //这里可以参照FakerAndroid的registerCallBack事件,添加自己的事件
      
    5. 添加自己的Activity,这个过程和正常开发Android Studio逻辑一模一样,就不讲解了。

      在这里插入图片描述

    6. app\src\main\jniLibs目录可以查看游戏支持的cpu架构和加载的so,app\libs可以查看依赖的aar和jar

    7. 编译生成apk即可

    针对MONO打包的Unity工程
    此时通过上述步骤我们发现cpp的目录结构少了很多头文件,只有简单的一个faker.h,通过上述hook方法貌似行不通,此时只能重新编译处理mono脚本Assembly-CSharp.dll
    在这里插入图片描述
    使用工具dnspy打开Assembly-CSharp.dll
    在这里插入图片描述
    找到关键点并且修改,右键编辑类-》编译,之后保存模块就行
    在这里插入图片描述
    Mono和Android通信,依然采用上述方法调用Android层的onJniCall

    mono调用Android中Activity的方法

    private static AndroidJavaClass _androidJavaClass;
    
    public static void callAndroid(string msg)
    	{
    		if (GameManager._androidJavaClass == null)
    		{
    			GameManager._androidJavaClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
    		}
    		GameManager._androidJavaClass.GetStatic<AndroidJavaObject>("currentActivity").Call("onJniCall", new object[]
    		{
    			msg
    		});
    	}
    
    

    Android调用mono方法

     public static void addCurrency(int addCurrency){
            UnityPlayer.UnitySendMessage("GameManager", "AddCurrency",String.valueOf(addCurrency));
        }
    
    //其中AddCurrency为GameManager中的方法,非静态方法
    //public void AddCurrency(string msg)
    //{
    //	CurrencyManager.AddCurrency(int.Parse(msg));
    //}
    
    
    展开全文
  • FakerAndroid 越来越尼玛强悍! AndroidStudio 安装FakerAndroid插件,直接将Apk打开为AndroidStudio标准工程 下载FakerAndroid-AS.zip AS->File-Settings->Plugin->SettingIcon->InstallPlugin ...

    FakerAndroid 越来越尼玛强悍!

    AndroidStudio 安装FakerAndroid插件,直接将Apk打开为AndroidStudio标准工程

    1、下载

    下载FakerAndroid-AS.zip

    2、安装

    AS->File-Settings->Plugin->SettingIcon->InstallPlugin Plugin From Disk->重启AndroidStudio

    3、使用

    AS->File->FakerAndroid->选择目标Apk文件

    配个几张图吧

    欢迎使用,有问题,随时留言

    二次开发实例教程

    展开全文
  • 1、下载FakerAndroid工具包 下载地址:https://github.com/Efaker/FakerAndroid/releases/download/0.0.1/FakerAndroid.jar 2、cmd切换到FakerAndroid.jar平级目录 [工具包和要操作的Apk] [工具包目录] 3、...

    1、下载FakerAndroid工具包

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

    Github传送
    2、cmd切换到FakerAndroid.jar平级目录
    [工具包和要操作的Apk]

    [工具包目录]

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

    [等待命令执行完成]

    4、查看Apk平级目录下面生成的AndroidStudio工程
    [查看原安装包目录]

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

    --------------------------------------因后续迭代版本增加了FakerAndroid-AS插件,同时可以使用FakerAndroid-AS插件一步替代上面的所有步骤,更简单更爽 ,点我看教程CSDN 或者 点我看教程Github------------------------------------------------

    6、等待加载完成直接运行项目(确认项目加载完成,部分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

    实例源码下载
     

    展开全文
  • 文章转移 FakerAndroid-AS

    文章转移

    FakerAndroid-AS

    展开全文
  • FakerAndroid( ) FakerAndroid() 当apk是统一的il2cpp游戏时,可以将apk文件转换为stantard android项目的工具包括钩子api和il2cpp c ++脚手架。 概括 优雅地在apk文件上编写代码。 可以将Apk文件直接转换为...
  • 项目地址: Github传送 简介 直接将Apk文件转换为可以进行二次开发的Android项目的工具,支持so hook,对于il2cpp的游戏apk直接生成il2cpp c++脚手架 将痛苦的逆向环境,转化为舒服的开发环境,告别汇编,告别二...
  • FakerAndroid (FakerAndroid.jar or FakerAndroid-AS) A tool translate a apk file to stantard android project include so hook api and il2cpp c++ scaffolding when apk is a unity il2cpp game. Summary ...
  • app/build.gradle sensitiveOptions {//when build type debuggable is false this feature working only and with this feature working building speed will slow down ,you can make it working when ...
  • FakerAndroid A tool translate apk file to common android project and support so hook and include il2cpp c++ scaffolding when apk is a il2cpp game apk 简介 优雅地在一个Apk上写代码 直接将Apk文件转换为...
  • ~~~格式优化整理~~~1、下载FakerAndroid工具包 下载地址:https://github.com/Efaker/FakerAndroid/releases2、cmd切换到FakerAndroid.jar平级目录 [工具包和要操作的Apk] [工具包目录]3、执行 java -jar ...
  • Faker - 用于在android上异步加载图像的kotlin扩展
  • FakerAndroid A tool translate apk file to common android project and support so hook and include il2cpp c++ scaffolding when apk is a il2cpp game apk 简介 直接将Apk文件转换为可以进行二次开发的...
  • Faker-crx插件

    2021-04-02 01:54:24
    语言:English (United States) 在浏览器中生成虚假数据 在浏览器中生成伪造数据。 再也不用输入“ asdasd”了。
  • 问题: 运行java -jar signapk.jar platform.x509.pem platform.pk8 app-release-unsigned.apk app-release-signed.apk 报错:Error: Invalid or corrupt jarfile signapk.jar 解决: 报错的原因是signapk.jar文件有...
  • repositories { maven { url "https://maven.google.com" } } implementation 'com.android.support:appcompat-v7:26.0.1' 转载于:https://www.cnblogs.com/cuthead/p/appcom...
  • Android-Plugin-Framework README: 中文 Android-Plugin-Framework是一个Android插件化框架,用于通过动态加载的方式免安装运行插件apk 最新版本: 0.0.55-snapshot 项目结构 文件夹 说明 ...示例代码,包含宿主APP、...
  • 27款优秀的Android逆向工程工具

    万次阅读 2019-07-20 22:26:36
    工欲善其事必先利其器,好的Android逆向工程工具在逆向破解工程中起到事半功倍的作用。 1. SMALI/BAKSMALI SMALI/BAKSMALI是一个强大的apk文件编辑工具,用于Dalvik虚拟机(Google公司自己设计用于Android平台的...
  • 一、问题背景 博主最近在整合毕业设计项目,博主的毕业设计项目就是一款基于ARCore和EasyAR的增强现实的Unity 3D儿童教育应用,但是博主又针对这个应用开发了一款论坛社交APP,现在博主的需求就是把这个Unity 3D项目...
  • 今天用android studio敲完代码以后编译竟然发现报了一个Invalid escape sequence at line 1 column 26 path $[0].name的错误 后来研究了一下时因为出现中文字符的原因,只需要在Gradle Scripts文件夹下的gradle....
  • Zygote Zygote的作用是什么? 启动SystemServer 孵化应用进程 启动三段式 ...#mermaid-svg-ib9wKZ2LcFjbHTgO .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);...
  • 更新AS后,一直无法打开总是报错如下: “Internal Error. Please report to https://https://code.google.com/p/android/issues java.lang.RuntimeException: ...
  • 例如: public class App extends Application { public static Context mContext; @Override public void onCreate() { super.onCreate(); mContext = this;...注意:需要在配置文件Applica

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

fakerandroid