当前位置:网站首页 > 黑客培训 > 正文

脱壳系列—— *加密脱壳(Android使用手册破解)

freebuffreebuf 2018-04-02 469 0

本文来源:i_春秋

作者:i春秋作家HAI_ZHU

0x00 前言

好久没有写文了,要好好开动一下了。很多事情要忙。这篇文章本来很早之前就要写的,但是因为很多事情就拖了很久。

前置内容

HAI_使用手册

知识总结

0x01 smali层静态分析

反编译,不多说。

然后来看启动的class。

image.png

调用run方法,和load方法。

image.png

这里有两个so文件载入。

exec

execmain


image.png

0x02 so层分析

libexec.so

image.png

查看JNIonload,发现并没有我们需要的内容。

image.png

这个时候,我们可以先尝试进行一下动态调试。

0x03 动态调试

首先要明确断点dexfileopen。

前置配置不啰嗦了。可以去看一下之前的文章。

勾选三项,停在这里。

image.png

下端点。


155851zzwfhbvmgbgb8pam.png

端点的位置在libdvm.so->dexfileopen.

jdb转发。

160636sgo7my12dy1xxyhn.png

F9运行,发现端点停在这里了。

160734oh0nnbui7451ziu5.png

同步R0寄存器。

160905idllhmvr91vwcl9w.png

这里很明显看到了一个dex文件。

0x04 dump dex

通过dex文件判断大小和偏移。

使用脚本进行dump

static main(void){     auto fp, begin, end, dexbyte;     //打开或创建一个文件     fp = fopen("e:\\dumpss.dex", "wb");     //dex基址     begin = 0x772C06DC;     //dex基址 + dex文件大小 end = begin + 0x000FAEB4;     for ( dexbyte = begin; dexbyte  end;     dexbyte ++ ){ //按字节将其dump到本地文件中 fputc(Byte(dexbyte), fp); } }

成功dump

0x05 偷梁换柱

把dex反编译后放入Android killer中进行分析。

通过使用app发现“请先激活用户”

搜索

170300l42adnvdvwquld6v.png

然后对跳转方法进行更改。进行暴力破解。

测试:破解成功。

0x06 脱壳修复

去掉android:name="com.shell.SuperApplication",然后进行回编译。
170417blexflxtlkfpn4vm.png

最后大功告成

转载请注明来自网盾网络安全培训,本文标题:《脱壳系列—— *加密脱壳(Android使用手册破解)》

标签:移动端安全

关于我

欢迎关注微信公众号

关于我们

网络安全培训,黑客培训,渗透培训,ctf,攻防

标签列表

Powered By Z-BlogPHP 1.7.3