DASCTF复盘 (三)、RE -> fake_pica (记一次安卓脱壳)
好久了,一直没看这道题,这几天抽空浅学了一下安卓逆向,回来复盘这道题
一、Jeb载入

没有找到MainActivity函数,猜测有壳,去查了下android加固厂商的特征

https://bbs.pediy.com/thread-223248.htm

发现是梆梆加固
二、脱壳
使用BlackDex脱壳工具,在android下脱壳
脱壳后提取到主机
提取命令如下:
adb pull /storage/emulated/0/Android/data/top.niunaijun.blackdexa32/dump/com.ppsuc.ppsucctf D:\Android_RE\tiqu

adb pull 脱壳文件地址 提取到的目的地址
再通过dex2jar把dex转化为jar文件即可

这里我得到了五个jar文件,挨个查找最后定位到了MainActivity函数
三、解密,拿到flag
代码逻辑比较简单
#include <iostream> using namespace std; int main(){ unsigned char content[] = {-114, 95, -37, 127, -110, 113, 41, 74, 40, 73, 19, 124, -57, -88, 39, -116, -16, -75, -3, -45, -73, -6, -104, -6, -78, 121, 110, 74, -90, -47, -28, -28}; unsigned char content1[] = {-40, 26, 95, -49, -40, -123, 72, -90, -100, -41, 122, -4, 25, -101, -58, 116}; for (int i = 0; i < 32; ++i) { printf("%x", content[i] & 0xff); } cout<<endl; for (int i = 0; i < 16; ++i) { printf("%x", content1[i] & 0xff); } return 0; }

转化为16进制后直接去网站上解密

、



浙公网安备 33010602011771号