zoukankan      html  css  js  c++  java
  • 关于ZjDroid的脱壳

    前言:ZjDroid是基于Xposed Framewrok的动态逆向分析模块

    这里有个APP简单加固的apk包,可以先试着看能否成功反编译

    1、DDMS LOG过滤,查看pid,打开monitor的LogCat项,然后过滤如下内容

    zjdroid-shell-APP的包名

    接着打开APK,查看对应的APK的PID

    2、查看APK当前加载的DEX文件的信息(坑点:必须得先进行adb的命令模式下才能执行),可以发现APK的路径

    adb shell
    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{action:dump_dexinfo}'
    

    3、查看class信息(坑点:必须得先进行adb的命令模式下才能执行)

    adb shell 
    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{"action":"dump_class","dexpath":"/data/app/com.example.helloworld-1.apk"}'
    

    4、baksmali dump dex(坑点:必须得先进行adb的命令模式下才能执行)

    adb shell 
    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{"action":"backsmali","dexpath":"/data/app/com.example.helloworld-1.apk"}'
    

    路径如下,然后通过MT管理器进行拖动文件到外部存储中,然后在PC电脑中进行拉出,然后进行dex2jar

    发现反编译之后,class文件还是看不了,那就是dump dex的时候这个文件不是核心文件,那么继续换另外一个

    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{action:dump_dexinfo}'
    
    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{"action":"dump_class","dexpath":"/data/data/com.example.helloworld/.cache/classes0.jar"}'
    
    am broadcast -a com.zjdroid.invoke --ei target 4339 --es cmd '{"action":"backsmali","dexpath":"/data/data/com.example.helloworld/.cache/classes0.jar"}'
    

    继续反编译查看,发现可以看到 那么就是脱壳成功了

    正常加壳的反编译:

    脱完壳之后的:

    总结:可以发现脱壳之后,就有新的信息发现,并且可以进行相关apk的测试,所以个人理解脱壳就是一个信息搜集扩大化的手段!

  • 相关阅读:
    高并发系统中的常见问题
    区块链需要解决诸多问题
    什么是“区块链”技术
    github源码开源区块链浏览器
    JavaScript 内存
    行为驱动开发(BDD)
    Vue.js
    Net程序员学习Linux
    Mybatis数据操作
    Metatable和Metamethod(转)
  • 原文地址:https://www.cnblogs.com/zpchcbd/p/13694275.html
Copyright © 2011-2022 走看看