[网鼎杯 2020 青龙组]bang

29 篇文章 1 订阅

CTF逆向-[网鼎杯 2020 青龙组]bang-安卓脱壳逆向:frida-dexdump导出得到源码-CSDN博客

这位哥的博客一定要看!

包棒的

______________________________________________

一个apk文件

可以看见这里是函数的入口

但是根本没有这个函数,我们先查壳,然后不行再试一下是不是app动态释放

通过下面的代码,进行查壳

#!/usr/bin/env python3
# coding=utf-8
# python version 3.10 by serfend
#
import sys
import zipfile
import json
import base64
import zlib

config = b'c$|G!Ym@Oz6#Ok)i*l({S%jz{uE|6M2_}~h$XIb(cd~@|?e8Qk_SxO{8_CR>KHYtK@;+xqbBz!!p0`f^JaV#JqJY|xge<^I$|4Et%3@(c-s*3s8u8f)Lx~l8MzNb~DT{DKMATF)SJ?NGf-Jq$P#AUCVzbrb1zA$E3LC+G70zqQ9PJ&3=i_6o&~AL@9JuMl88sKA`<1TKU%3V5YUWZpp_G|P8UEE4!fi1`{_|EZmrJMnGlT(UDtb6PkD*pST}ARfsubjGQsBunOtz17tPY!zqft<MiK5E1`Wr>GqpZ7kp)!&Pm32&;;2l<Tu;HijV3q$o7D>$^Q7T-DYkoC2EI2dz;C4<A4k<;#{ni$E$F>2tmXG(awEHlv;?v#^Ak?Wf`9eo7w~s_l<Q3g+xrY}p`qrE5w<a^pS~jWX@|*cnsU0;9s<~m*hG!~LKt^};soU|F)f1MCIGdx_X17|QV}%AAT1*39(BPXoyF^cwl|?R;m8$Joa}Vp!NauW4Bb<ZrRKOGszgGZh;m(_~ysXYB&Gj31vd_vgz=|jh27+;D6yj{y&X#nW9Lhf^ru`vMj?`zk=`McZ2th!VqoZOpPEW5b=sBTn1ZpIJrwdBzdJM{Xc~SDKAv8qyK4N<Kn3J!9>VgF-y-}z3%>o>WD61kPEp$$)Iha$RT;fl#Y4k~SnG*K19r--XW=z@w`Y_5Miz-#QagjU%vota8em*IyiNQQ%6fRAEdP923uW#a=6{-P7`=NL4W3d!!T#lH!`0B?Fr+2wMJ9G0ps=C<S%IRx^^41r*&cb%irGA|#JTrcFR(Z9QWjc^TR&*2QQT*Uz!+NxSZ=pL-#X8VaN5;IH)qS=Ub#od?J@e;e6DZXXv~N>ubigpB*z7ECzu~c$vmR?)v3KUb&VWg7Qg0m}>VwxdSYx^KKCT$i<gcd3G@_g?`8*YbV}r6CuLC36OgtQ61T4_`8r|)@7!SOv#rRP)p#a1)vgC^a)GS9`8CqvjpL*D)T1LX+C-*K1r5;ENPe$LcWkM~7MEx<fUrX-&Mwd41p>jjX%ege#Gnh`??@pNv*EqC5vih7-$yCIvcgHv8irS9G%Jg1bWp;2)NS(VBKQdyI4EEtk*hO?b9vyk8)GX1-=w)XkKv_OUZ>T_$cVX-~PRhC<x3VkBQ6csx1B2ZA+$gPa#qnA6PP<nD8W>b!w<;9ha<{$kBpr#n_TiM8Pi!inBTWD8ZB?R8DYSase~UTzhE2E#s5#-oc#a^GW(EgxJbJPK9-<}Ix9{W0eay!Zrg8F8kIlZdSn$H|<A>ZeXS}ZAK#|YJ0ZjTpXGy~2v~ZD%;IU2vi8O)ikuvv|+-1zGne6V|*?l_aZ+?zsVe@Q%%eopYcw<`I_qY%AwwZq1#hbF`A__5`R)<g9OaJ#MSV+N4V{E)c7Q~=Gt85+~QU%Ir{}L^qJaQ=JktN1^J6uwheuniH4_o|>C?;CYMISPBmAAT^nR~C&-o45dr_*;AOB<B@bsJFizz8cCXT8dp-Rb3FGmKOv@!zw^v7wU%s3CtsFM`m)wm7VQnA&fry&=B(;L8>V)*MuWe|hcetzP0>ukp%)38Y=P85eHNeJcT7QTG_>vg^*ituXn1h#P2QseMd`2=FSe3+^3Ihr){@{JxG(__+zo;Ja}UTexp6D5OpmKpn{y{!46Fa~@g!d%OHns-Ptkra}YByl4C27WG%mg`NA0fa^j+;FakwblzzC<N|ei>{W5UUm90l_Ln5#5&>?!JZYX@{84Hh_qMr1SHn^q6Bt2MaP{@wtoJ*DJ)1QWIzA((bCE&i@bt-qefs)4p#KSO<}ZAdQDhC_n!74}8vN0!Kj_^v%EXdzZb&$YT~yq=SnA=$aRI2z$A38uP45'
config = base64.b85decode(config)
config = zlib.decompress(config)
config = base64.b85decode(config)
config = json.loads(config.decode())
rules_config = config['rules']
m = {}


def init():
    def add_single(file: str, key: str) -> None:
        if not file in m:
            m[file] = []
        m[file].append(key)

    v = rules_config['v1']
    for key in v:
        for file in v[key]:
            add_single(file, key)


def check(filename: str) -> any:
    file = zipfile.ZipFile(filename)
    result = []
    for f in file.namelist():
        for k in m:
            if k in f:
                result.append([f, m[k]])
    return result


def main(filename: str) -> any:  # list[str]
    result = check(filename)
    if not result:
        print('no shell is found.')
        return
    print('following shell is found:')
    for r in result:
        print(f'{r[0]}:{" | ".join(r[1])}')


if __name__ == '__main__':
    print(f'{config["banner"]}\n{"-" * 30}')

    # 硬编码文件路径
    filepath = r"D:\CTF\questions\buuctf\[网鼎杯 2020 青龙组]bang\signed.apk"

    init()
    main(filepath)

目前仅支持的加固厂商:
娜迦、梆梆、爱加密、通付盾、360加固、
百度加固、阿里加固、腾讯加固、 网易易盾
盛大加固、瑞星加固、网秦加固、
国信灵通加固、几维安全加固、顶像科技加固、
apkprotect加固、等常规厂商
------------------------------
following shell is found:
lib/armeabi-v7a/libSecShell.so:梆梆免费版
lib/arm64-v8a/libSecShell.so:梆梆免费版
lib/x86/libSecShell.so:梆梆免费版
lib/x86_64/libSecShell.so:梆梆免费版

可以看见加壳了

脱壳需要用到frida,资源在上面那个哥的博客里面有

安装教程

Hook神器: frida超详细安装教程_frida-tools-CSDN博客

把frida service放入模拟器

先开一个cmd,链接上模拟器,然后运行frida

adb root 

adb devices

adb shell

adb cd./AAAA(放入fridaserve的地址)

./frida

然后模拟器一般会自己弹出运行的软件

如果不行你就自己点开

然后再开一个

运行

frida-dexdump -FU

 

这里就是你dump下来的dex文件

接下来我们要转换为jar文件

首先你要有dex-tools

github上有,前面发的链接也有

然后在

在这个地址打开cmd

d2j-dex2jar.bat C:\Users\15598\how_debug\classes.dex C:\Users\15598\how_debug\classes.jar

d2j-dex2jar.bat C:\Users\15598\how_debug\classes02.dex -o C:\Users\15598\ho
w_debug\classes02.jar

运行

现在就有了两个jar文件

第一个jar打开

(要用jadx)

完成!

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

_Nickname

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值