精华内容
下载资源
问答
  • 反编译的工具,apk逆向工具,可以用于反编译,可将apk文件逆向转换为代码,从class.dex文件里提取代码 反编译教程博客:https://blog.csdn.net/Nobody_else_/article/details/83996441
  • apk逆向说明

    2018-09-20 21:48:48
    apk逆向手册用于学习一些简单的入门级别操作,初学者可以看看。
  • 自己目前在用的最新APK逆向工具集,EXE文件,简单易用,可从APK得到JAVA源代码和资源文件等
  • APK逆向工具打包

    2018-03-11 00:20:01
    APK逆向工具打包,包含了apktool_2.3.0,dex2jar-2.0,jd-gui-windows-1.4.0 从官方下载后打包的。
  • APK 逆向工具

    2018-07-31 16:18:35
    用于反编译APK,使用方法:解压之后,直接推拽APK 文件到_onekey-decompile-apk.bat
  • APK逆向过程基础

    千次阅读 2019-08-05 17:56:38
    了解apk逆向过程首先需要了解apk包是怎么来的,都包括哪些内容,所以我会从apk的打包过程讲起。下面可以看到Android官网给出的一张apk打包的基本流程图:(蓝色格子是本人添加的) 从中可以梳理出apk打包的...

    一.APK的打包过程

           了解apk的逆向过程首先需要了解apk包是怎么来的,都包括哪些内容,所以我会从apk的打包过程讲起。下面可以看到Android官网给出的一张apk打包的基本流程图:(蓝色格子是本人添加的)

          

    从中可以梳理出apk打包的基本流程有如下7步:

    1. 打包资源文件

    对象:Resource文件(res目录中的文件)、 Assets文件(assets目录中的文件)、 AndroidManifest.xml文件

    工具:aapt(Android Asset Package Tool)工具,负责编译和打包资源

    产物:项目中的AndroidManifest.xml文件和布局文件XML都会编译,然后生成相应的R.java,另外AndroidManifest.xml会被aapt编译成二进制,除了assets和res中的raw资源被原封不动地打包进APK之外,其它的资源都会被编译或者处理,会生成一个resources.arsc文件和一个R.java,前者保存的是一个资源索引表,后者定义了各个资源ID常量

     

    2. 处理AIDL文件

    对象:aidl文件

    工具:aidl(Android Interface Definition Language)工具,即Android接口描述语言工具

    产物:生成相应的Java文件供程序调用,若项目中没有使用到aidl文件,则跳过这步

     

    3. 编译项目源代码

    对象:R.java、Java接口文件以及工程源代码

    工具:Java编译器(javac)

    产物:生成多个.class文件(字节码文件)

     

    4. 转换所有.class文件

    对象:.class文件和第三方库的jar包

    工具:dx工具

    产物:生成classes.dex文件(Dalvik字节码)

     

    5. 打包生成apk

    对象:classes.dex文件、resources.arsc和其他的资源(没有编译的资源,如assets目录下资源、/res/raw目录下的资源)

    工具:apkbuilder

    产物:未签名的apk文件

     

    6. 对apk文件签名

    对象:apk文件

    工具:JDK提供的jarsigner工具或Android源码提供的signapk工具

    产物:Android调试程序时带有默认debug.keystore签名的apk 或者 打包发布时提供特有的签名文件的apk

     

    7apk对齐处理

    对象:签名的apk文件

    工具:zipalign工具

    产物:使apk中所有资源文件距离文件起始偏移为4字节的整数倍,从而在通过内存映射访问apk文件时会更快,对齐的作用就是减少运行时内存的使用

    二、Android反编译

    Android开发者反编译别人的apk,主要目的还是为了学习到更多,取彼之长,补己之短。那么如何反编译呢?

    首先了解基本的apk包都包括哪些文件:(以下是本人打的最基础的apk包,解压后如图)

         

    具体文件如下:

          名称               内容                                                                                                     详细
    META-INF签名文件夹三个签名证书(MANIFEST.MF、CERT.SF、CERT.RSA)。MANIFEST.MF文件是对每个文件的SHA-256-Digest;CERT.SF是对每个文件的头3行进行SHA-256-Digest;CERT.RSA这个文件保存了签名和公钥证书。
    res资源文件有animator,anim,color,drawable,layout,menu,raw,value等文件夹
    AndroidManifest.xml清单文件记录应用的包名、版本、权限、引用的库文件等信息
    classes.dex执行文件java编译后的Android可执行的dex文件
    resources.arsc编译后的二进制资源文件记录了所有的应用程序资源目录的信息,包括每一个资源名称、类型、值、ID以及所配置的维度信息。 这是一个索引文件。

            其次了解Android中常用的反编译工具有三个:dex2jar、jd-gui和apktool,这三个工具的作用如下:

    1.  apktool:反编译生成smali字节码文件,提取apk中的资源文件。下载地址:https://ibotpeaches.github.io/Apktool/install/
    2.  dex2jar:将apk中的classes.dex文件转换成jar文件。下载地址:https://github.com/pxb1988/dex2jar
    3.  jd-gui:查看由dex2jar转换成的jar文件,以界面的形式展示反编译出来的Java源代码。下载地址:http://java-decompiler.github.io/

    工具具体的使用方法:

    (一)apktool的使用:

    • ① 进入apktool文件夹执行如下命令,反编译指定apk文件
    • ② 最终会生成一个对应文件夹,如下:

              

    具体文件如下:

    名称

    内容

    详细

    original

    包括/META-INF、

    AndroidManifest.xml(这是二进制的清单)

     

    三个签名证书(MANIFEST.MF、CERT.SF、CERT.RSA)

    .....

    res

    资源文件

    有animator,anim,color,drawable,layout,menu,raw,value等文件夹

    smali

    源代码文件夹

    项目源代码.smali文件

    AndroidManifest.xml

    清单文件

    记录应用的包名、版本、权限、引用的库文件等信息

    apktool.yml

    apktool.yml文件

    记录了apk名、packageInfo、sdkInfo(minSdkVersion和targetSdkVersion)、versionInfo(versionCode和versionName)

    • ③ 根据需求修改相关的资源和代码后,利用apktool进行二次打包:

    ④ 经过执行以上的命令,app-release文件夹会增加两个文件:

             

    ⑤ 其中/dist文件夹里面的便是二次打包生成的未签名的apk包,接下来便要对其进行签名才能正常安装:


            其中第一个红圈指的是签名文件,绿色框指的是签名后的文件名, 黄色圈指的是待签名的apk, 第二个红圈指的是签名文件的别名。执行命令后输入签名文件对应的密码便可生成指定名称的签名apk,至此apktool工具大概的使用就差不多了。

     

    (二)dex2jar的使用:

    ① 如图,执行d2j-dex2jar.bat app-release.apk命令:(实际上是反编译apk里的classes.dex文件,读者也可以执行d2j-dex2jar.bat classes.dex这个命令)

    ② 生成一个app-release-dex2jar.jar文件(或者是classes-dex2jar.jar文件) 

     

    (三)jd-gui的使用:

           运行下载的jd-gui.exe,运行jd-gui.exe 点击File--->OpenFile--->classes-dex2jar.jar,打开刚才使用dex2jar反编译生成的jar文件便可出现如下界面:

           至此,本人所了解的apk逆向过程的基础基本如此,若要了解更多还需更进一步的学习!文章如有不对或排版不行的地方,还望读者指出与批评。如有不清楚的地方,还望留言指出。

     

    参考链接:

    https://blog.csdn.net/luoshengyang/article/details/8738877

    https://www.cnblogs.com/royi123/p/3576746.html

    https://blog.csdn.net/goodlixueyong/article/details/51126874

    https://www.cnblogs.com/xunbu7/p/7345912.html

    https://blog.csdn.net/loongago/article/details/89646920#7_APK_55

    https://www.52pojie.cn/forum.php?mod=viewthread&tid=822434&page=1

    展开全文
  • 一、APK 加壳脱壳现状、 二、判断 APK 是否加壳、 三、APK 逆向流程、





    一、APK 加壳脱壳现状



    加壳覆盖率很高 : 当前的应用 , 基本上 90% 都会加壳 , 各大加固厂商 , 基本都 提供免费的加壳服务 ; 很难找到不加壳的应用 ;


    脱壳场景 :

    • 竞品分析 : 分析竞品 APK 时 , 如果对方加壳 , 需要 先脱壳 , 然后才能分析 ;

    • 恶意操作分析 : 恶意应用一般都会加壳 , 并且加的壳都很特殊 , 需要 先进行脱壳 , 然后才能进行恶意代码分析 ;





    二、判断 APK 是否加壳



    如何判断一个 Android 应用是否加壳 :

    • 直接解压观察 : 将应用 APK 解压 , 观察其特征 ;
    • Android Killer 分析 : 使用 Android Killer 等工具分析 APK 文件 , 会提示加壳信息 , 分析加壳种类 ; 每种加壳的方式都会留下加壳的指纹特征 ;
    • GDA 分析 : 使用 GDA 分析 APK 文件 , 将 APK 文件直接拖动到 GDA 中 , 就会进行自动分析 ;




    三、APK 逆向流程



    检测加壳 : 使用检测工具 如 GDA 等 , 判断 APK 文件是否加壳 ; 根据加壳的相关指纹信息 , 判断加的是哪种壳 ;

    脱壳 : 针对 APK 加壳类型 , 进行 脱壳 ;

    反编译 : 使用 反编译工具 如 ApkTool , JEB , Jadx 等 , 对 APK 进行反编译操作 ;

    定位关键函数 :

    • 静态分析 : 静态分析 得到 关键 字符串 , 函数 等信息 , 定位需要分析的 关键函数 ;
    • 动态分析 : 使用 Hook , 动态调式 技术 , 进行 动态分析 ;

    深入分析 : 根据 关键函数 是 Java 还是 C/C++ 再进行不同的深入分析 ;

    展开全文
  • reverse(一)——apk逆向 文章目录reverse(一)——apk逆向一、工具准备二、例题示范1.buuctf——helloworld2.buuctf——findit总结 apk的本质是一个压缩包,只是它使用了自己的一套机制进行的压缩。因此直接...

    reverse(一)——apk逆向


    apk的本质是一个压缩包,只是它使用了自己的一套机制进行的压缩。因此直接使用解压缩软件很多文件会出现乱码。因此需要专门的工具来进行解压缩,这个工具的名字叫做apktool。


    一、工具准备

    APK改之理(集Apk反编译、Apk查壳、加密解密、Apk调试分析、Apk打包、Apk签名于一身)

    二、例题示范

    1.buuctf——helloworld

    (1)利用工具直接找到main函数下的flag

    在这里插入图片描述

    2.buuctf——findit

    (1)同样打开工具在main函数中发现16进制数值
    在这里插入图片描述
    (2)转换
    在这里插入图片描述
    在这里插入图片描述
    (3)偏移16位
    在这里插入图片描述

    总结

    多学多练多刷

    展开全文
  • 抓包、apk反编译 、逆向 和 charles 配合使用
  • 2048.apk逆向测试应用

    2021-01-01 11:00:13
    2048老版本apk
  • 安卓apk逆向思路

    2020-02-11 10:06:47
    总结一些经典步骤,工具下载地址: ...提取码:itn4 1.查看资源文件 使用apktool可以最大限度的还原出资源文件 java -jar apktool_2.3.4.jar d -f ...yv.apk (要反编译的apk名字) vpn(反编译后存到vpn目录下) 2.使用...

    总结一些经典步骤,工具下载地址:

    链接:https://pan.baidu.com/s/1leIM_C_OA2CGJV_eaNFa9Q
    提取码:itn4

    1.查看资源文件

    使用apktool可以最大限度的还原出资源文件

    java -jar apktool_2.3.4.jar d -f yv.apk -o vpn
    

    yv.apk (要反编译的apk名字) vpn(反编译后存到vpn目录下)

    2.使用dex2jar反编译apk得到Java源代码

    将yv.apk解压将其中的classes.dex文件放到dex2jar-2.0 目录下
    dos命令定位到dex2jar.bat所在目录,输入

    d2j-dex2jar classes.dex
    

    然后获得 classes-dex2jar.jar 文件

    3.使用jd-gui工具将class文件反编译成java源代码

    运行jd-gui.exe,将classes-dex2jar.jar 拖入jd-gui.exe即可

    4.逆向SO文件

    有些apk为了防止被反编译等原因,将关键代码封装成SO文件

    so是shared object的缩写,见名思义就是共享的对象,机器可以直接运行的二进制代码。
    

    也就是使用C\C++来编写,然后编译成SO文件,逆向SO是一个复杂的过程,简单的可以参考这几篇文章

    1.汉化修改so文件心得篇一(带偏移修改)

    2.汉化修改so文件心得篇二(带偏移修改)

    3.so文件汉化心得【整理】

    4.Android逆向之旅—Android应用的汉化功能(修改SO中的字符串内容)

    展开全文
  • Android反编译apk逆向分析

    万次阅读 多人点赞 2018-10-27 18:48:36
    Android反编译apk反编译、逆向软件下载地址apkTool报错 : Error: Unable to access jarfile \xx\apktool.jar 确保命令中的路径正确,最好无中文和空格 确保文件中夹中包含apktool.jar (即使是apktool2.0.jar也要...
  • apk逆向破解入门级

    万次阅读 2018-10-12 11:28:20
    样本很简单,就只有个发短信的行为,内容加密,可以...找到对应的smali代码删除掉重新编译生成apk搞定。 新生成的apk成功删除掉了if判断那块代码 最后hook解密方法动态看到解密内容 附上样本: 链接: https://p...
  • @#~#$MaoXH(胡小毛)的Android逆向之路系列又来了,本次他分享了一道CTF题的逆向详细过程,希望有缘人能够有所收获~0x01开整~实验环境:雷电模拟器+AndroidStudio+androidKiller+jad-gui目标apk:目的:获取inputflag...
  • signatures 得到apk签名 signatures ->hashCode() 得到签名的哈希值 二.逆向一个有签名校验的app-----霸哥磁力搜索(使用AndroidKiller重新签名后应用会闪退) 下载链接:https://cloud.189.cn/t/buYjEnaQbuye ...
  • Android apk包解压逆向工具,你可以用它来解压apk文件,来分析Android apk大致的架构。比较适合Android apk 分析。
  • 攻防世界——进阶第一题(APK逆向) 直接用jeb反汇编出这个apk文件,直接分析代码的实现过程。 找到代码的输出提示的地方。这里发现都是用id来代替的,为了更加好的确认这id的具体内容,我们需要找到R文件,R...
  • dex 加密,防逆向,防止二次打包。(注意:该功能当前并非很完善,暂不建议商用,欢迎学习交流,欢迎提交 Pull requests)。 注意:加固后的 apk 启动时会做签名校验,如果和原来的签名不匹配会启动失败,在设置界面...
  • [工具] Mac下一键APK逆向环境

    千次阅读 2019-03-28 21:42:02
    安装apktool和dex2jar,jd-gui homebrew安装方法如下: brew install apktool brew install dex2jar ...dmg可能不支持最新版本的mac用不了,...执行脚本apktool d xxx.apk 注:xxx.apk为你要反编译的apk 在你执行命...
  • 3、ZIP压缩包 完善的ZIP功能支持:可直接浏览ZIP内的文件,并直接对其进行添加、解压、删除、重命名、显示图片缩略图,并使用独自研发的免二次压缩技术 4、安卓逆向 DEX文件反编译修改字节码,字符常量池修改,翻译...
  • APK逆向工具详解

    千次阅读 2021-11-16 14:31:34
    APK逆向工具详解对应的配套视频课程、工具详见: Android安全逆向技术入门课程--移动安全视频教程-信息安全-CSDN程序员研修院 模拟器 app不一定要在手机上安装,模拟器是一样的。这样可以不同的手机版本切换,...
  • 安卓apk逆向之雷霆解锁VIP会员超详细教程 图1∽10为『永久免费』教程,图11∽13为『免登陆』教程,图14∽24为『修改VIP』教程 逆向该apk使用的工具为MT管理器,论坛上有该工具免费版本 本文...
  • APK逆向之静态分析篇

    千次阅读 2018-05-09 00:06:00
    0x00 APK包结构 0x11 apktool 
  • 包含三个APK分析的常用工具软件,ApkAnalyser-master.zip;APKMessenger.zip;onekey-decompile-apk-1.0.1.zip
  • Apk逆向学习

    2017-11-16 10:49:53
    Apk逆向学习
  • apk逆向实例 TopCtf

    2020-12-24 02:12:34
    TopCtf背景故事:我是小白一枚,自学一些基础知识。。。从朋友那得到的题,朋友说巨简单,然后各种不会。。。不容易呀,千辛万苦终于做出来一道了。。。眼泪已经控制不住了。...解题思路:用killer打开,反编译,很顺利...
  • 平哥\爬虫课程 平哥\叶森\猿人学-爬虫进阶课\section2-安卓逆向\逆向工具及演示APP\AliCrackme_密码在so文件_hook.py apk在:E:\1A爬虫课程 平哥\爬虫课程 平哥\叶森\猿人学-爬虫进阶课\section2-安卓逆向\逆向工具...
  • 安卓apk逆向助手工具

    2018-09-27 19:20:33
    此工具用于安卓反编译apk用的,包括:签名、打包、反汇编等等
  • Android Studio提供了一个直接查看完成打包的apk的组成的工具APK分析器。APK分析器可以减少你通过app内部的DEX文件和资源文件调试问题的时间,对减小APK的大小也有帮助。通过Android Studio的APK分析器,你可以完成...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,081
精华内容 4,032
关键字:

apk逆向