博采众长,精于一技。Live for love, work for dream.

techparty归来,谈谈Android代码安全

周末去听了一场珠三角技术沙龙2010Q4 techparty,本来是想写写陈硕老师的《分布式系统:一种工程方法》感想的,但是功力还不够,先略过不谈,免得被人笑话。 不过正巧,对于闻波老师的《android应用开发杂谈》,我却颇有感触。

是什么让我产生反编译的念头?
前段时间,刚好有个想法,想开发个Android应用,其中设想有个功能,用Java实现解压缩,但是由于我菜,这么复杂的算法,不可能自己去开发。刚好我手机上装了个ACV的软件,里面有从SD card读取zip或rar包进行解压的功能,于是,萌生念头,反编译之。

反编译工具
经过一轮的Google,找到了不少方法,当然有其中闻波老师提到的apktool,但是反编译出来的结果,只是一行一行的Java指令,如果Java不是很熟悉的话(like me),没办法看呀。
反复折腾,终于找到了强大的组合dex2jar+jdgui

三步教你apk反编译
0.准备java环境和反编译工具(dex2jar, jd-gui),下载你准备反编译的apk文件;
1.用解压缩软件打开apk文件,把里面的文件解压到一个目录;
2.运行dex2jar进行反编译;
3.打开jd-gui,把反编译出来的jar拖进去就可以看到java源代码了。
ttpod.png
声明:反编译仅供学习之用,请勿作恶。

如何防止自己的apk被反编译
当然是代码加密或者代码混淆了。
相应的工具有:antproguard
方法各式各样,这个要发挥自己的想象力和创造力了。

附上techparty的演讲PPT:
分布式系统:一种工程方法
android应用开发杂谈

用户行为统计分析系统架构设计

项目需求
1.流量统计:统计应用程序的总用户数,每日新增用户数,并且以丰富的图表形式展现出来,让市场人员更好的掌握应用程序的增长趋势,销售情况等。
2.行为分析:分析应用程序每天的使用情况,包括活跃用户,启动次数,每次用户使用时长以及应用程序的活跃程度。帮助市场人员更好的了解用户对应用程序的使用程度,广告价值等。了解到用户来自哪里(针对中国用户的地理分布到省市级别),在使用什么型号的手机,所基于操作系统版本等信息, 以帮助开发人员改进应用程序,挖掘很深度的商业价值。记录单个用户的使用频率,绘制出一条用户使用趋势的曲线,通过它了解到应用程序的生命周期,用户使用的频繁程度等信息。

架构设计
analytics.png
总体架构图

继续阅读 »

2010亚运会倒计时 For Android

亚洲运动会(Asian Games)简称亚运会,是亚洲地区规模最大的综合性运动会,每四年举办一届,与奥林匹克运动会相间举行。最初由亚洲运动会联合会主办,1982年后由亚洲奥林匹克理事会(Olympic Council of Asia)主办。
2010年广州亚运会即将开幕,让我们一起来为它倒计时吧!
Screenshot.png

点击下载

更多Android软件请访问:http://android.rebill.info/

井字过三关(地主农民版)

两个玩家,一个打圈(O),一个打叉(X),轮流在3乘3的格上打自己的符号,最先以横、直、斜连成一线则为胜。
如果双方都下得正确无误,将是先下者胜。第一个先下中央。
这种游戏实际上是由第一位玩家所控制,第一位玩家是攻,第二位玩家是守。
此版本是在原版基础上修改后的地主农民版,增加了趣味性。
截取选区_004.png

点此下载

更多Android软件请访问:http://android.rebill.info/

家常菜谱 For Android

家常菜谱,为您提供各种家常菜谱的做法,轻松学会常见家常菜的做法。什么是家常菜: 家庭利用现有的调味品也可以炒制出的菜肴。目前已收录近200款菜式。菜式涵盖四川菜,广东菜,浙江菜,上海菜,湖南菜,山东菜,福建菜。
3.png

继续阅读 »

返回顶部