`
noaighost
  • 浏览: 38797 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

挥之不去•能有一本《如来神掌》 ——零基础手把手教你ROM移植,第一册《Android软件安全与逆向分析》

阅读更多

挥之不去·能有一本《如来神掌》

——零基础手把手教你ROM移植,第一册《Android软件安全与逆向分析》

 

大神的玩儿,硬件有树莓派,软件有rom cooker。买了小米,买了大可乐,为的就是享受更高的ROM。前段时间,罗永浩的锤子ROM,就业内人士看来,就是一个launcher apk+phone apk+一堆应用而已。所以在发布前,他提到过9100用他们的rom好费电,这也是正常,这么多特效,这么多apk,完全顾及美工。没有经过测试,怎么可能做到一件性价比一流的产品呢?

大神不多说,尤其就是romhow to cookMIUI开源,很多开发者写了很多自己的心得,但面对一堆小白,一堆性能极低的计算机,你要他们去装虚拟机,用乌班图,反编译,还要插桩等等一系列工作,真的要恶补很多计算机知识。

那么做一个定制的ROM真的难过上青天吗?

送你第一册,成为ROM的小厨,切菜前必须懂的技能smail插桩前的准备知识。摘录自《Android 软件安全与逆向分析》

“一个完整的 Android 程序反编译后的代码量可能非常庞大,要想在这浩如烟海的代码中找到程序的关键代码,是需要很多经验与技巧的。笔者经过长时间的探索,总结了以下几种定位代码的方法。”

作者在总结的几条里,最为吸引我的是“代码注入法”。这也是很多百度知识下,smail最为少传授的部分。远看这本书,感觉还算是一本干货的东西。对着文章,继续阅读……

说得兴起?到底移植是改什么?就是改APK,这是第一层。那么,如何分析一个完整的Android程序?android下,默认的情况是,每个apk相互独立的,基本上每个应用都是一个dalvik虚拟机,都有一个uid,再配合上linux本身的权限机制,使得apk互通很难直接进行。但作为一个独立应用的集成,不管多少个apk,都可以并为一个单独的dalvik虚拟机,直观的反映给开发人员就是在shell下列出进程,那几个apk同时加载后,会一个进程存在。

本书还有一个好处,他不断用java各种OOP的编程实例,推出smail会是什么的形式出现,对于熟悉OOP的同志来说,反编译工作就像玩九宫格一样,所以是一个很严密的推断过程。但是比开发一个应用要容易点,因为开发apk很讲究你对整体的类设计,一个成功的产品开发成本很低,但是维护成本会是开发的数百倍。而smail分析下,算是一条线性的思维方式去观察运行情况,这样对比的方式改代码,做移植,会轻松很多。前提你要找到一个很稳定的底包,然后慢慢去改。

 

1
1
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics