通过逆向快速开发一个Android APP

| 前段时间,老板让我开发一个TV的安全类的APP,本人比较懒,如果全部手敲一个APP太费劲,周期时间又长,正好最近在学习关于逆向方面的知识,正好拿来练练手!
好了那么现在开始我们的快速开发之旅!
首先,准备工具:1.Androidkiller
2.jadx0.6.1
按照需求找类似的APP,用AndroidKiller查壳工具看下APP有没有加壳,如果有壳可以使用脱壳神器drizzleDumper工具,这个工具是开源的,大家想看源码可以去下载:https://github.com/DrizzleRisk/drizzleDumper;当然这个工具网上有人已经分析了原理,这里就大致在说一下,他的原理就是一点:root设备之后,通过ptrace附加需要脱壳的apk进程,然后在脱壳的apk进程的内存中进行dex文件的特征搜索,当搜索到dex文件时,进行dex文件的内存dump。
其实这个思路和之前介绍的ZjDroid,DexExtractor等工具原理还不太一样,之前的脱壳工具都是基于hook拦截系统的加载dex函数进行dump出dex的。但是这个工具是基于附加目标程序,寻找内存段具备dex文件头部信息进行dump的操作。这个思路也是非常好的。我们也知道dex的长度是保存在头部信息中的,所以只要在内存段中找到dex的头部信息,然后解析长度,有了起始地址和长度,那么就可以获取内存中的完整dex文件了。(对脱壳是否成功,这个估计有一定的概率性)
drizzleDumper工具使用:(以com.qihoo.freewifi为例)
在cmd控制台的条件下,执行cd命令进入到存放drizzleDumper的文件夹,然后将drizzleDumper文件推送到android手机的/data/local/tmp文件夹下并赋予可执行权限,然后根据每种android加固的特点,选择需要脱壳的apk和drizzleDumper运行的先后顺序,调整能够脱壳成功的过程。这里使用的com.qihoo.freewifi为例,先运行com.qihoo.freewifi程序,然后adb shell条件下su提权,****执行drizzleDumper的脱壳操作,等待2秒。

  • cd xxxxx/drizzleDumper

  • adb push drizzleDumper /data/local/tmp

  • adb shell chmod 0777 /data/local/tmp/drizzleDumper

  • adb shell #进入androd系统的shell

  • su #获取root权限

  • ./data/local/tmp/drizzleDumper com.qihoo.freewifi 2 #执行脱壳操作

     最好不要找经过混淆的APP,这样增大阅读代码难度!一般 Apk 在发布出去之前,都是会被混淆的,这基本上国内 App 的标配。这样一个类,最终会被混淆成 a.b.c ,方法也会变成 a.b.c.a() ,这样其实非常不利于我们阅读。我们很难看到一个 a.java 的文件,就确定它是哪一个,还需要根据包名来区分。
    

而 deobfusation 功能,可以为它们其一个特殊的名字,这样它在这个项目中,名字就唯一了,方便我们识别和搜索。
这个功能可以在 Tools -> deobfusation 中激活。接下来来看看它的效果。deo-beforedeo-before开启 deobfusation 之后的效果如下:deo-afterdeo-after可以看到,a 变成了 p003a。
按照步骤一步步来,要有耐心,不要一心急把整个都COPY到时候一大片爆红,瞬间就没了心情!
1.先新建一个项目.
2.用AndroidKiller编译找到的APP,找到res资源文件,在Window Explorer外找到文件,整个COPY.
3.在工程信息里面找到程序路口,copy下名字.
4.用jadx打开APP,Ctrl+N快速搜索找到程序入口!
5.将整个类copy到自己的项目,记得在AndroidMainFest.xml注册!这是会有一大片红,不要急,耐心!跟着我一步步来!
6.首先看看第一个BaseActivity,这个很明显是缺少父类class,来到jadx ,Ctrl+N搜索baseActivity,找到该类整个copy,好了问题解决!,按照类似的方法,哪里错误点那里,!大部分原因是因为缺少类或则包没有导入.一天时间整个框架就搭好了,差不多一周时间就把整个项目完整的COPY出来了.然后就可以坐在那里抖腿看看论坛啥的!
AS里有些比较实用的快捷键Alt+j批量修改,ctrl+f查找,F2找到错误的信息,shift+shift全局搜索!
7.copy也是有技巧的,按步骤来,首先先把布局主界面做出来,先不要实现逻辑,做出一个大概的框架,然后具体功能一个模块一个模块去实现,千万不要急,要不然很容易出错!把自己搞得晕头转向,还有一些找不到类的情况,一般是用了第三方的框架,去官网上下框架就好了!
因为项目已经做好,有些问题一是半会想不出来,自己也懒得截图,所以写的有乱,打字好累,本人比较懒!后期有时间我会慢慢修改!

|

<ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

3.png (76.7 KB, 下载次数: 0)

3.png

</dd>

</dl></ignore_js_op> <ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

2.png (21.99 KB, 下载次数: 0)

2.png

</dd>

</dl></ignore_js_op> <ignore_js_op style="word-wrap: break-word;"><dl class="tattl attm" style="word-wrap: break-word; margin: 0px; padding: 10px 10px 10px 0px; float: none; overflow: visible; width: 1191px; height: auto;">

<dd style="word-wrap: break-word; margin: 0px; padding: 0px; color: rgb(153, 153, 153);">

1.png (116.63 KB, 下载次数: 0)

1.png

</dd>

</dl></ignore_js_op>

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,921评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,635评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,393评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,836评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,833评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,685评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,043评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,694评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,671评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,670评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,779评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,424评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,027评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,984评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,214评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,108评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,517评论 2 343

推荐阅读更多精彩内容