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

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 ,发现之前的空函数被填充完毕
posted @ 2023-03-02 18:13  明月照江江  阅读(1099)  评论(1编辑  收藏  举报