APK骨架分析

APK反编译的一般步骤是:

后辍apk改为rar用winrar等工具解压

使用apktool反编译图片和xml

使用dex2jar将解压得到的classes.dex文件转为jar文件

使用jd_gui(图形版jad)将jar文件反编译为可读的java源文件

不过更简单地可以使用众多软件集合APK改之理(这就有点像MASM32

AndroidManifest.xml--APK的总体配置文件,类似javaweb的web.xml,配置包名(package)、应用权限(uses-permission)和可视界面(activity)等。

MainActivity.Java--APK程序入口类,尤其是其OnCreate方法其调用的setContentView方法设置了程序的初始化界面。

res目录--各可视化资产存放目录,包括图片(drawable)、界面(layout)、菜单(menu)、字符串(values)等。

xml文件调用定义的资源--如引用文件和图片<TextView android:text="@string/str_name" android:background = "@drawable/pic_name"/>

java调用定义的控件--Button btn_java = (ImageButton)findViewById(R.id.btn_name);

java调用定义的资源--btn_java.setText(getResources().getText(R.string.str_name));

java控件添加事件监听--btn_java.setOnClickListener()

Java界面转让--startActivity()

其中的Train.class是控制权转让到的类,真正的界面会在Train类的OnCreate方法中再次调用setContentView方法指定。

时间: 2024-07-30 18:34:25

APK骨架分析的相关文章

WebRTC中的AppRTCDemo.apk简单分析

以前一直在QQ空间记录一些简单的关于webrtc的笔记.博说不如发布CSDN,想想也可以,解决了一些小问题,也可以帮助一下其它碰到该同样问题的人. 上周试着将WebRTC中的PeerConnection_client进行改写,拿 掉了PeerConnection_Server端,改用openfire服务器,信令采用xmpp,主要代码来源于call.主要还是将http请求用xmpp重写了,原理上很简单,合并后,效果还可以. 现在开始看android版本的peerconnection,也就是标题的A

构建-13 Analyzer APK文件分析

官方文档 使用APK Analyzer分析您的构建 [Analyze your build with APK Analyzer] Android Studio包含一个APK分析器,可在构建过程完成后立即深入了解APK的组成.使用APK分析器可以减少您在应用中调试DEX文件和资源调试问题所花费的时间,并有助于减少您的APK大小.它也可以通过命令行apkanalyzer使用. 使用APK分析器,您可以完成以下操作: 查看APK中文件的绝对大小和相对大小,例如DEX和Android资源文件. 了解DE

Unity编译Android的原理解析和apk打包分析

作者介绍:张坤 最近由于想在Scene的脚本组件中,调用Android的Activity的相关接口,就需要弄明白Scene和Activity的实际对应关系,并对Unity调用Android的部分原理进行了研究. 本文主要探讨Scene和Activity之间的关系,以及Unity打包apk和Android studio打包apk的差别在什么地方?找到这种差别之后,可以怎么运用起来? 本文需要用到的工具: Android反编译工具--apktool Android studio自带的反编译功能 一.

apk文件分析原则

如果在dex生成的jar文件里没有发现关键内容的话,就要注意jar里面的native函数以及loadlibrary操作,从而可以判断出加载了哪些so,调用了什么函数.就不会出现判断不出是不是加载了某so的情况了. IDA调试的时候,只要勾选加载so时pause,通过so路径,就能很容易判断出来是不是apk自带的so文件了,attach是一种方法,但是很多情况下,关键点是在加载过程中的,很容易漏掉.

Android减包 - 减少APK大小

本文是对Google官方文档 Reduce APK Size 的翻译,点击"阅读原文"可以查看英文原文. 译者简介:damonxia(夏正冬),天天P图Android工程师 用户经常会避免下载看起来体积较大的应用,特别是在不稳定的2G.3G网络或者在以字节付费的网络.这篇文章描述了怎样减少你的APK大小,这会让更多的用户愿意下载你的应用. 理解APK的结构 在讨论怎样减少应用大小之前,先了解APK的结构是有用的.一个APK文件就是ZIP包,其中包含了组成你的应用的所有文件,比如Java

APK瘦身记,如何实现高达53%的压缩效果

作者:非戈@阿里聚安全 1.我是怎么思考这件事情的 APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律.不过随着移动端技术近两年的飞速发展,一些新的思维方式和优化方法也逐渐涌现和成熟起来.笔者在实践过程中踩过一些坑,收获了一些经验,在这里做个思考和总结,所以随笔给大家,希望对大家从事相关工作的时候有所帮助和参考,同时也是抛砖引玉,希望大家共同探讨这个开放性的话题. 关于为什么APK要瘦身,这个不多说,只

过陌陌APK签名校验

想分析下陌陌的一些功能,想不到陌陌还做了蛮多保护.分析使用的是5.2版本,这个版本进行了加壳,先要把壳脱掉,脱壳因为有万能的脱壳机,这里过程就略过了,主要讲下过签名校验吧. 过签名校验看雪上有同学之前有讲过,不过是2012年的,陌陌的文件名已经完全不一样了,不过他的签名获取代码还是跟以前类似,可以借用来定位一下代码位置. 用apk改之理对脱完壳的APK进行分析,然后在工程里搜索collectCertificates字符串,找到签名校验的相关代码的位置. 经过netbeans下断点确认,校验签名是

apk瘦身 提高优化效果

APK瘦身记,如何实现高达53%的压缩效果 我是怎么思考这件事情的 APK是Android系统安装包的文件格式,关于这个话题其实是一个老生常谈的题目,不论是公司内部,还是外部网络,前人前辈已经总结出很多方法和规律.不过随着移动端技术近两年的飞速发展,一些新的思维方式和优化方法也逐渐涌现和成熟起来.笔者在实践过程中踩过一些坑,收获了一些经验,在这里做个思考和总结,所以随笔给大家,希望对大家从事相关工作的时候有所帮助和参考,同时也是抛砖引玉,希望大家共同探讨这个开放性的话题. 关于为什么APK要瘦身

如何查看apk的包名和启动Activity

在做app自动化的时候,经常需要对apk进行分析其包名及启动Activity,在没安装的情况下,如何通过工具去查看apk的信息呢? 使用Android SDK自带的aapt工具,aapt(Android Asset Packaging Tool)在SDK的build-tools目录下.该工具可以查看,创建, 更新ZIP格式的文档附件(zip, jar, apk).也可将资源文件编译成二进制文件,app在build和打包时需要用到它. 打开cmd窗口,切换到sdk的build-tools目录,输入