【Android逆向】制作Fart脱壳机,完成对NCSearch的脱壳操作

android,逆向,制作,fart,脱壳机,完成,ncsearch,脱壳,操作 · 浏览次数 : 442

小编点评

**1. 重启手机到fastboot模式** * 下载并执行 adb reboot bootloader ——重启手机到fastboot模式。 * 在手机上执行 sh flash-all.sh,发现报错/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1。 * 解决问题:打开终端执行 which fastboot,并检查目录下是否存在 make_f2fs、mke2fs 和 lib64 文件。 **2. 下载platform-tools文件** * 获取 platform-tools 的下载网址:https://developer.android.com/studio/releases/platform-tools **3. 为platform-tools文件赋予权限** * 使用 sudo 命令将 make_f2fs、mke2fs 和 lib64 文件的权限设置为 777。 **4. 将make_f2fs 和 mke2fs 文件复制到 fastboot 目录** * 使用 sudo 命令将 make_f2fs 和 mke2fs 文件复制到 /usr/bin 目录。 **5. 重新启动手机** * 手机重启到 normal 模式。 * 在 sdcard/fart 目录中寻找目标 apk 包名目录。 * 找到 dump 된 dex 文件和主动调用产生的 bin 文件。 * 使用 DexRepair 等工具填充 bin 文件,然后重新启动手机。 **6. 验证手机是否已安装 APK** * 打开jadx 文件,发现之前的空函数被填充完毕。 * 再次打开jadx 文件,发现所有函数已正常填充。

正文

1. 我的手机是Pixel 1 ,下载fart对应的镜像

镜像位置具体参考大佬博客 https://www.anquanke.com/post/id/201896

2 执行 adb reboot bootloader ——重启手机到fastboot模式, 直接重启手机到fastboot模式,不用关机后再按组合键

3 执行 sh flash-all.sh, 发现报错

/usr/lib/android-sdk/platform-tools/mke2fs failed with status 1
fastboot: error: Cannot generate image for userdata

参考博客 : https://blog.csdn.net/cheriyou_/article/details/109722008 的内容解决

1.打开终端执行which fastboot  (eg: /usr/bin/fastboot)

2.打开fastboot所在目录  (cd /usr/bin)

3.检查目录下是否存在make_f2fs文件、mke2fs文件、lib64文件夹(文件夹下含libc++.so文件)

4.不存在从platform-tools中拷贝过去 , platform-tools的下载网址: https://developer.android.com/studio/releases/platform-tools
    sudo cp make_f2fs /usr/bin
    sudo cp mke2fs /usr/bin
   sudo cp -r lib64 /usr/bin
5. 赋予权限
     sudo chmod 777 make_f2fs
     sudo chmod 777 mke2fs
     sudo chmod -R 777 lib64

4. 手机刷入后正常开机,安装好apk,赋予apk写sdcard权限

5. 前往 sdcard/fart 目录寻找 目标apk包名目录,找到dump下来的dex文件和主动调用产生的.bin文件,bin就是函数方法内容(smali)

6. 有时还是会哟与一些nop方法,需要我们去手动填充,需要让他们和dex文件合并起来

这里使用 https://github.com/luoyesiqiu/DexRepair
来进行填充

举例:
java -jar ../../DexRepair/output/DexRepair.jar 8732432_dexfile_execute.dex 8732432_ins_4095.bin

会生成: 8732432_dexfile_execute_repair.dex

再次打开jadx ,发现之前的空函数被填充完毕

与【Android逆向】制作Fart脱壳机,完成对NCSearch的脱壳操作相似的内容:

【Android逆向】制作Fart脱壳机,完成对NCSearch的脱壳操作

1. 我的手机是Pixel 1 ,下载fart对应的镜像 镜像位置具体参考大佬博客 https://www.anquanke.com/post/id/201896 2 执行 adb reboot bootloader ——重启手机到fastboot模式, 直接重启手机到fastboot模式,不用关机

【Android逆向】制作Youpk脱壳机,完成对NCSearch的脱壳操作

1. 拉去youpk 代码或镜像,自行编译构建 youpk 代码地址 https://github.com/youlor/unpacker 2. 执行 adb reboot bootloader 3. 执行 sh flash-all.sh 4. 安装NCSearch,并启动app 5. 执行adb

【Android逆向】frida 破解 jwxdxnx02.apk

apk 路径: https://pan.baidu.com/s/1cUInoi 密码:07p9 这题比较简单,主要是用于练习frida 1. 安装apk到手机 需要输入账号密码 2. 使用jdax 查看apk package hfdcxy.com.myapplication; import andr

[Android逆向]Exposed 破解 jwxdxnx02.apk

使用exposed 遇到了一些坑,这里记录一下 源码: package com.example.exposedlesson01; import de.robv.android.xposed.IXposedHookLoadPackage; import de.robv.android.xposed.X

[Android 逆向]frida 破解 切水果大战原版.apk

1. 手机安装该apk,运行,点击右上角礼物 提示 支付失败,请稍后重试 2. apk拖入到jadx中,待加载完毕后,搜素失败,找到疑似目标类MymmPay的关键方法payResultFalse 4. adb logcat 或者androidstudio 查看该进程的日志,发现以下日志 com.mf

[Android 逆向]Xposed 破解 切水果大战原版.apk

代码 public class Main implements IXposedHookLoadPackage { boolean flag = false; @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam

【Android逆向】frida 破解 滚动的天空

1. apk 安装到手机中 2. 玩十次之后,会提示 充值 3. adb shell dumpsys window | grep mCurrentFocus 查看一些当前activity是哪一个 是 AppActivity 4. 阅读代码,感觉是unity3d做的游戏 5. apk拖入到jadx中,

【Android逆向】滚动的天空中插入smali日志

1. 编写一个MyLog.java 放到一个android工程下,编译打包,然后反编译拿到MyLog的smali代码 package com.example.logapplication; import android.util.Log; public class MyLog { public st

【Android逆向】frida hook so 函数

1. apk来自52pojie 链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an 2.apktool反编译apk,拿到so文件 java -jar ../apktool_2.2.4.jar d app-debug.apk 3. 用j

【Android逆向】修改so文件方式修改程序行为

1. 还是之前的那个apk 链接:https://pan.baidu.com/s/1vKC1SevvHfeI7f0d2c6IqQ 密码:u1an 尝试使用 010Editor来修改so文件 2. 使用ida打开so文件,双击 hello 52pojie!,会跳转到该字符串的偏移地址,ida显示是00