前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之鱼不如授之以渔,只有知道一些基本原理,才能让我们以后能自行解决更多问题. 那么,你知道么?从我们在Android Studio中,点击run,到app运行在手机上,之间究竟发生了什么,代码和资源是怎么变成APK的,而APK又是怎么安装上去,并能执行的呢. build-simple-overview…
http://blog.zhaiyifan.cn/2016/02/13/android-reverse-2/ 2/18日增加对aidl和java编译的描述. 前言 上一次我们反编译了手Q,并遇到了Apktool反编译直接crash的问题,虽然笔者很想在这次解决这个问题,但在解决途中,发现该保护依赖于很多知识,所以本次先插入一下,正所谓知其然知其所以然,授之鱼不如授之以渔,只有知道一些基本原理,才能让我们以后能自行解决更多问题. 那么,你知道么?从我们在Android Studio中,点击run,…
        实际上,一个APK文件就是一个.zip格式的压缩包,我们可以用解压缩工具打开任何一个APK文件,由于代码混淆和加密,通过普通解压缩工具打开里面的文件或目录会看到各种乱码.一个典型的apk文件包含以下内容: •AndroidManifest.xml Android应用的配置清单文件,它向Android系统介绍了这个应用的很多配置信息,系统可以根据这个文件在相当程度上了解这个应用的一些信息.该文件是每个应用都必须定义和包含的,它描述了应用的名字.版本.权限.引用的库文件等等信息,如要…
逆向分析工具表 工具 描述 网址 androidterm Android Terminal Emulator http://code.google.com/p/androidterm/ droidbox Android Application Sandbox https://code.google.com/p/droidbox/ TaintDroid Realtime Privacy Monitoring on Smartphones https://github.com/TaintDroidh…
apk 反编译大家都比较熟悉,这里只做一个笔记. 1 反编译 apk apktool d perfect.apk 这样就把资源文件解压缩了, classes.dex 也反编译成了 smali 文件 2 修改 smali 文件 得到 smali 文件,现在就可以对 smali 文件进行修改和添加自己的代码了. 当然可以进一步用  dex2jar (或者 enjarify) 处理将  dex 转成 java class 文件, 再用  jd-jui 等反编译成 java 代码. 现在 apk 基本都…
androidterm:   Android Terminal Emulator   http://code.google.com/p/androidterm/   droidbox:   Android Application Sandbox   https://code.google.com/p/droidbox/   TaintDroid:   Realtime Privacy Monitoring on Smartphones   https://github.com/TaintDroi…
一 .smali数据类型 1.Dalvik字节码 Davlik字节码中,寄存器都是32位的,能够支持任何类型,64位类型(Long/Double)用2个连续的寄存器表示: Dalvik字节码有两种类型:原始类型:引用类型(包括对象和数组) 原始类型:          v   void  只能用于返回值类型           Z   boolean           B   byte           S   short           C   char           I   …
本文博客地址:http://blog.csdn.net/qq1084283172/article/details/68942660 一.sasquatch工具的安装和使用 sasquatch工具支持对 非标准的SquashFS格式的文件镜像 进行解压并且sasquatch工具也binwalk工具集成的一个功能组件之一.最新版的sasquatch工具是基于squashfs 4.3的源码修改而来的,具体修改那些文件如下,修改的那些内容在sasquatch的GitHub的pathes目录下有详细说明.…
原文:https://www.jianshu.com/p/71fb7ccc05ff 0.写在前面 本文是笔者自学笔记,以破解某目标apk的方式进行学习,中间辅以原理性知识,方便面试需求. 参考文章的原文链接会附在相应流程位置,方便阅读学习.   逆向分析流程.jpg 1.获取目标apk 第一步是拿到目标安装包文件,这一步很简单,可以在主流的第三方市场内获取,但是主流的第三方市场都要求应用加固,为了之后方便,笔者常常去app的官网下载,或者去一些小市场下载,运气好的话能下载到他们的未加固版本. 2…
断断续续的总算的把android开发和逆向的这两本书看完了,虽然没有java,和android开发的基础,但总体感觉起来还是比较能接收的,毕竟都是触类旁通的.当然要深入的话还需要对这门语言的细节特性和奇技淫巧进行挖掘. 这里推荐2本书,个人觉得对android开发入门和android逆向入门比较好的教材: <google android 开发入门与实战> <android 软件安全与逆向分析> 1. 我对android逆向的认识 因为之前有一些windows逆向的基础,在看andr…
本文来源:带动行业内卷,渣总义不容辞 字越少事儿越大,请关注github(可以点击阅读原文): https://github.com/virjarRatel 平头哥(ratel)是一个Android逆向分析工具套件,他提供一系列渐进式app逆向分析工具. 同时平头哥也是一个app二次开发的沙箱环境,支持在免root环境下hook和重定义app功能. 对于大部分app来说,平头哥打开了潘多拉魔盒, 请不要在授权之外违法使用平头哥 (仅建议用于个人定制化使用.app攻防安全研究等领域), 在rate…
你们发现了吗?Android逆向.安全方面的工程师真的越来越"稀有"了. 以腾讯.美团.百度为代表的大厂们,在某招聘网站上居然薪酬高达30-60k. 现在移动端市场越来越火热,APP越来越多, 经常有APP爆出窃取个人隐私.强行定位.拉取通讯录好友信息等各种霸道条款,还有很多病毒是我们不知道的. 因此APP安全将面临巨大的市场,而安卓逆向就能解决APP安全的问题,逆向APP一攻一防才能知道问题出来哪里,用什么办法解决. 但是安卓逆向是一个杂学,要学的技能很多,考验的是知识广度+深度+经…
概述 最近一直在学习Android应用安全相关和逆向分析的知识.现在移动app在安全方面是越来越重视了,特别是那些巨头企业涉及到钱的应用,那加密程度,简直是丧心病狂,密密麻麻.从这里可以看出,对于应用的安全,那些巨头企业是多么的看重了.我们有时候在某个app上见到某个功能,某个效果蛮不错的,我们想看看对方的思路怎么走的,这时候,我们就可以通过反编译来编译该apk,拿到代码,进行分析. 本人的是Mac环境,如果是window环境的同学,在环境搭建和工具上可以选择Window环境的.先看看需要到的工…
copy : https://blog.csdn.net/u012573920/article/details/44034397 1.Smali简介 Smali是Dalvik的寄存器语言,它与Java的关系,简单理解就是汇编之于C.假如你对汇编有足够的驾驭能力,那你可以通过修改汇编代码来改变C/C++代码的走向.当然,学过汇编的都清楚,汇编比BrainFuck还难学,更不用说去反编译修改了. 但是Smali有一点不一样,就是它很简单,只有一点点的语法,只要你会java,了解Android的相关知…
一.故事背景 现在很多人都喜欢玩文艺,特别是我身边的UI们,拍照一分钟修图半小时.就是为了能够在朋友圈显得逼格高,不过的确是挺好看的,修图的软件太多了就不多说了,而且一般都没有水印啥的.相比较短视频有一个比较有逼格的编辑工具「Vue」个人已经用了很长时间了,拍出来的视频借助强大滤镜真的很好看,显得逼格也高,更重要的是他有我最喜欢的功能就是可以添加视频背景音乐,选择自己喜欢的音乐,然后还可以编辑这段背景音乐,反正我个人觉的这个是我最喜欢用的产品了.但是好用的东西必定有它不好的地方,因为他真的很强大…
Android逆向之旅---动态方式破解apk进阶篇(IDA调试so源码) 来源 https://blog.csdn.net/jiangwei0910410003/article/details/51500328 一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的…
一.逆向分析 首先感谢王同学提供的样本,因为王同学那天找到我咨询我说有一个应用Fiddler抓包失败,其实对于这类问题,我一般都会这么回答:第一你是否安装Fiddler证书了,他说他安装了.第二你是否用了我之前说的那个Xposed框架JustTrustMe,不了解这个框架的同学可以查看这里:Python爬取应用「英语流利说」的配音视频数据:他说了也用了.到这里我就没理由不帮他看了,自己下载了应用安装之后,的确有这个问题: 看到了,这里就是这样的提示,也没看到具体的请求参数啥的,所以这个就引发了我…
项目地址:https://github.com/BaiduSecurityLabs/ZjDroid 前提条件: 1.Root手机一部 2.须要通过Xposed installer( http://dl.xposed.info/latest.apk)安装Xposed Framework; 一.ZjDroid工具介绍 ZjDroid是基于Xposed Framewrok的动态逆向分析模块,逆向分析者能够通过ZjDroid完毕下面工作:1.DEX文件的内存dump2.基于Dalvik关键指针的内存Ba…
Soul app是我司的竞品,对它的语音音乐播放同步联动的逻辑很感兴趣,于是就开启了一波逆向分析. 下面看代码,以及技术分析,直接步入正轨,哈哈. 我们根据https://github.com/xingstarx/ActivityTracker 这个工具,找到某一个页面,比如cn.soulapp.android/.ui.post.detail.PostDetailActivity 这个页面,然后我们用反编译工具AndroidToolPlus反编译soul 的Android apk, 然后搜索下P…
本文博客链接:http://blog.csdn.net/qq1084283172/article/details/57074695 一.手机设备环境 Model number: Nexus 5 OS Version: Android 4.4.4 KTU84P Kernel Version: 3.4.0-gd59db4e 二.Android内核提取 adb shell su cd /dev/block/platform/msm_sdcc.1/by-name ls -l boot boot 是个系统…
本文博客地址:https://blog.csdn.net/QQ1084283172/article/details/80982869 Android系统在启动时安装应用程序的过程,这些应用程序安装好之后,还需要有一个Home应用程序来负责把它们在桌面上展示出来,在Android系统中,这个默认的Home应用程序就是Launcher了.Android系统的Home应用程序Launcher是由ActivityManagerService启动的,而ActivityManagerService和Pack…
apk(android package)就是我们安卓系统的安装文件,可以在模拟器和手机中直接打开安装,从项目中打包apk有几种方式可取 一.最简单的方法(类似我们的winfrom) 只要我们调试或者运行过项目,在项目下的bin debug下就有同名apk文件了(Eclipse)下是这样的.在Android下变成了\app\build\apk下了 当然我们不能把这个apk放在商店.没有签名会被人家的apk替换 二.签名发布 1.签名的意义 为了保证每个应用程序开发商合法ID,防止部分开放商可能通过…
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正 http://blog.csdn.net/jiangwei0910410003/article/details/51671019…
前言 最近UC浏览器中文版出了一个快速搜索的功能, 在使用其他app的时候, 如果复制了一些内容, 屏幕顶部会弹一个窗口, 提示一些操作, 点击后跳转到UC, 显示这个悬浮窗不需要申请android.permission.SYSTEM_ALERT_WINDOW权限. 如下图, 截图是在使用Chrome时截的, 但是屏幕顶部却有UC的view浮在屏幕上. 我使用的是小米, 我并没有给UC授悬浮窗权限, 所以我看到这个悬浮窗时是很震惊的. 截图 悬浮窗原理 做过悬浮窗功能的人都知道, 要想显示悬浮窗…
第一步:下载逆向助手:(链接: https://pan.baidu.com/s/15jtoFDg9LWV80HREeyx5HA 提取码: k527 ) 第二步:将apk文件拷贝到逆向助手的apktool目录,并CD到当前目录下: 第三步:在cmd命令行中输入命令 apktool d -f 应用程序名,如: apktool d -f com.google.earth_190791304.apk ,回车 可以看到生成了以apk名字命名的文件夹,里面可以直接看到res目录下的资源文件和android的…
最近想要研究热修复的原理,并自己实现一套简单的热修复框架(音视频的坑刚挖好就又挖另一个坑了2333),已经在看书入门 c++,方便后续查看业内一些知名热修复框架的源码,另外在涉及编译期/运行时修改代码之前,先了解一下 apk 是如何从项目源码被打包生成的,可能对后续的从思路上或实际操作都会所裨益. 文中涉及到的工具所在目录:Android/sdk/build-tools.下面开始分解并逐步实现对源码的打包. 编译流程 1. 生成仅包含资源文件的 apk 包和 R.java 文件 根据资源文件和…
一.前言 今天我们继续来看破解apk的相关知识,在前一篇:Eclipse动态调试smali源码破解apk 我们今天主要来看如何使用IDA来调试Android中的native源码,因为现在一些app,为了安全或者效率问题,会把一些重要的功能放到native层,那么这样一来,我们前篇说到的Eclipse调试smali源码就显得很无力了,因为核心的都在native层,Android中一般native层使用的是so库文件,所以我们这篇就来介绍如何调试so文件的内容,从而让我们破解成功率达到更高的一层.…
一.前言 今天我们开始apk破解的另外一种方式:动态代码调试破解,之前其实已经在一篇文章中说到如何破解apk了: Android中使用静态方式破解Apk  主要采用的是静态方式,步骤也很简单,首先使用apktool来反编译apk,得到smail源码,然后分析smail代码,采用代码注入技术来跟踪代码,然后找到关键方法进行修改,进而破解,同时还可以使用一些开源的hook框架,比如:Xposed和Cydia Substrate,来进行关键方法的hook.所以这里我们可以看到我们破解的第一步是使用ap…
想必打过CTF的小伙伴多多少少都触过Android逆向,所以斗哥将给大家整一期关于Android逆向的静态分析与动态分析.本期先带来Android逆向的静态分析,包括逆向工具使用.文件说明.例题解析等. Android逆向就是反编译的过程,因为看不懂Android正向编译后的结果所以CTF中静态分析的前提是将出现文件反编译到我们看得懂一层源码,进行静态分析. 0X01 基础说明 Android应用的逻辑代码是由Java进行开发,所以是第一层就是java代码Java虚拟机JVM运行的是java文件…
前言 “Android APP二次打包”则是盗版正规Android APP,破解后植入恶意代码重新打包.不管从性能.用户体验.外观它都跟正规APP一模一样但是背后它确悄悄运行着可怕的程序,它会在不知不觉中浪费手机电量.流量,恶意扣费.偷窥隐私等等行为. 二次打包问题只是Android应用安全风险中的一部分, 一般是通过反编译工具向应用中插入广告代码与相关配置,再在第三方应用市场.论坛发布. 对于打包党对于移动App带来的危害有以下几种: 1. 插入自己广告或者删除原来广告: 2. 恶意代码, 恶…