安卓逆向脱壳:Frida-DEXDump一吻杀一个人,三秒脱一个壳

el/2024/4/20 15:10:15

本期用到 :python+frida+模拟器+Frida-DEXDump
如果没布置Frida环境可以跳转此文: Hook神器: frida超详细安装教程

一、前言

APP 加固发展到现在已经好几代了,从整体加固到代码抽取到虚拟机保护,加固和脱壳的方案也逐渐趋于稳定。随着保护越来越强,脱壳机们也变得越来越费劲,繁琐。但是毕竟道高一尺,魔高一丈,市面上有很多手段可以进行脱壳操作今天介绍的是使用Frida的一个脚本来dump apk的Dex。

二、原理

得益于FRIDA, 在 PC上面进行内存搜索、转储都变得十分方便,再也不需要考虑什么Xposed、什么Android开发、什么代码注入,只需要关注如何去搜索想要的东西,于是依赖一个几十行代码的小脚本,就可以将大部分内存中的 dex 脱下来。对于完整的 dex,采用暴力搜索 dex035 即可找到。而对于抹头的 dex,通过匹配一些特征来找到。
项目地址: https://github.com/hluwa/FRIDA-DEXDump

三、使用

例子为某加固的APK
在这里插入图片描述
我们只要在配置有Frida的环境的手机打开目标APK。
然后下载DEXDump脚本。目录结构如下:
在这里插入图片描述然后运行main文件。
在这里插入图片描述短短几秒钟一个新鲜的壳就脱下来了。
在这里插入图片描述

如果想要自己动手练习的话,可以关注公众号回复: 脱壳
获取练习的APK和查壳工具。

console.log("公众号:虫术")
console.log("wx:spiderskill")
欢迎大家前来交流

http://www.ngui.cc/el/3376929.html

相关文章

Linux + ProxyPool 搭建属于爬虫代理IP池

前言: 当爬虫达到一定速度时,大家都会遇到封Ip的情况,而搭建代理ip池是解决的最好方法,网络上有很多优秀的付费代理,但是作为白嫖党的我们又怎么能付钱那,本文将教会大家用一个成熟的开源项目搭建代理池。…

IDA动态调试

1、把本地server文件推送进手机目录 adb push android_x86_server(cpu型号要对应 模拟器是x86) /data/local/tmp/ 2、进入手机shell adb shell 3、进入手机tmp目录 cd /data/local/tmp/ 4、修改权限 chmod 777 android_server 5、运行 ./android_server 6、在本地执行…

CORS 头缺少 ‘Access-Control-Allow-Origin‘解决办法

服务端 from flask import Flask, request,make_response,jsonify app.route("/api/page1/run/list", methods["GET"]) def check():res make_response(jsonify({code: 0, data: {list:data}}))res.headers[Access-Control-Allow-Origin] *res.headers[…

关于axios的post用法

axios.post(, {data: params },{headers: {Access-Control-Allow-Origin:*, //解决cors头问题Access-Control-Allow-Credentials:true, //解决session问题Content-Type: application/x-www-form-urlencoded; charsetUTF-8 //将表单数据传递转化为form-data类型},withCredentia…

Python用python-docx抓取公众号文章写入word

一、安装包 pip3 install python-docx二、了解python-docx from docx import Document from docx.shared import Inchesdocument Document()#添加标题,并设置级别,范围:0 至 9,默认为1 document.add_heading(Document Title, 0…

flask给使用模板给js传参

用echarts时候发现eval处理传过来的值js里会报错,采用以下方式传值。 data: {{ dt_list | safe }}完美解决

python2忽略ssl证书验证问题

问题: requests.exceptions.SSLError: HTTPSConnectionPool(host*****, port****)解决办法: import urllib3 urllib3.disable_warnings() #verifyFalse requests.post(urlurl, paramsparams, headersheaders, datapost_params,verifyFalse)

MagiskHide android ro.debuggable属性调试修改

如果想要调试android 的程序,以下两个条件满足一个就行。 1、是apk的配置文件内的AndroidManifest.xml的 android:debuggable=”true”。 2、是修改/default.prop中ro.debuggable=1。 第一种通常是解包添加属性再打包,随着加壳软件以及apk校验等,容易出现安装包异常。 第…

“WCHAR *“ 类型的实参与 “LPSTR“ 类型的形参不兼容

在VS2013编译器中直接输入的字符串常量(如“abc”)默认是以const char *的格式(即ANSI编码)储存的,因此会导致类型不匹配的编译错误。 方法是右击“解决方案资源管理器”中的项目,“属性→配置属性→常规→…

将抓包证书推至安卓系统目录

1、找到证书文件 windows目录: C:\Users\用户名.mitmproxy,并将mitmproxy-ca-cert.pem 复制一份重命名为:c8750f0d.0 。 2、传入手机系统目录并给予权限(root权限下 #1 推至sdcard目录 adb push c8750f0d.0 /sdcard#2 切换至证书目录并挂载系统目录为…