前瞻:
之前翻译过一篇BlueBox关于反编译的文章,其中介绍了静态和动态两种。
翻译的不是很好,因为这类技术篇需要一定的相应基础才行,大伙凑合着看,有好的建议或者意见也欢迎提出,或者重译都可以。
关于BlueBox的介绍或者了解,移步: http://bluebox.com/
关于反编译:
活动早就开始了,现在才有时间写,写的也比较仓促 , 发现不论是爱加蜜的cto还是社友们,几乎把市面上的反编译工具,方法都说遍了,不过赘述
因为那没有意义。选几段经典的给大伙看看。此外,题外话,拿反编译去谋利,比如加广告,恶意踹改等等此类行为我是不支持的,是对别人劳动成果的窃取。
如果是想要学习框架结构,实现原理,我觉得还是可以的。当然我也鼓励一些好的APK生厂商能够愿意分享自己的技术实现原理,传道授业,分享开源精神,
这样就不用担心这担心那了。
反编译工具就那些了,常见的APKTOOL+jd-gui的组合,深点的IDA等等,比比皆是。
关于如何保护:
当然对于一些安全性高的,用户量比较大的,有着自己的特有的技术等等在内的,比如银行啦,图片处理啦,下载量大的实用软件啦,保护自己的APP还是很有必要的,基本上现在通过so去处理关键的数据交互已经能够不错的抵制一些非法篡改等等,再加上现有的为大家熟知的保护方法,能够有效的防止了反编译。当然,第三方加密平台的出现也是一种体现,软件思维的体现,节省人力时间成本,工具类出现的意义也在于此。
主要帖子,爱加蜜的cto已经归类常见的保护方法: http://www.eoeandroid.com/thread-316988-1-1.html
1.防止工具反编译
a) 伪加密
b) APK压缩包故意破坏
c) 素材中的图片故意破坏
d) 使用无效的字节码防止反编译
2. 混淆保护
a)文件混淆
3. 运行时验证
a) 签名验证的各种方法
4. 防止内存修改
a) 如何防止”八门神奇”通过内存数据
工具:
如果你正好也知道BlueBox,又恰巧知道Dexter的存在,那么就可以不用理会我下面的介绍与陈述了
官方介绍:
大致意思呢是指它是一款互动的安卓软件分析环境,我了解了,是人工与静态分析的结合体。它呢,分析能力包含静态和动态模块,分析结果丰富,非常灵活的标签系统【链接很清晰,有点像思维导图,此类工具比如FreeMind】,以及自动化处理或者扩展的API。对于分析一些病毒软件啊,一些自己感兴趣的apk的实现原理啊等等啊还是有帮助的。
这是进入后的首页:
可以清晰的看到,左侧是个集合栏,我这里就拿Fubbo来分析吧【没其他意思,选择上传文件随便点了个apk】。下图是预览的大致信息,可以清楚的看到apk的基本信息,这些通过apk就可以直接获取到相关信息
再然后点击open就可以看到整个分析了,大的apk可能会消耗一点分析的时间。下图右侧可以看到一个大致的情况,比如用了什么权限啊,甚至自定义的权限,包含了哪些Activity啦,Service啦,Receiver啦....单个点击都可以看到 比较直观的信息,为了节省篇幅,不再一一截图解释,做开发的人都看得懂,没啥英文模块需要特别解释。
同时可以注意到右侧悬浮的菜单,包含了几个大类:
再往下拉,可以看到一些详细的Activity信息,再下是service,receiver等
随便点击一个Activity吧,可以清晰的看到整个逻辑,AboutActivity继承于SwipeBackActivity,关于这个滑动返回,是指滑动Activity返回,类似于slidingmenu的侧滑效果,Fuubo的作者已经把它开源了,不过貌似只支持高版本的,然后再是更深层次的继承,最后是android.app.Activity.再细看AboutActivity,可以看到主要结构方法,参数等等,应该都看得懂...注意下那个黑色的弹出框,decompile this class,意思很清楚就是反编译这个类,点击后
会发现,他帮你把自己通过反编译工具去做的事归纳了起来,不用再去搜索引用,然后分析代码意思,即使是混淆过的代码,至于具体样子,更多的剖析,大伙自己去试吧,处于对此款APK作者的尊重就不再详细贴图。
第二个呢则是加密后的APK,比较偷懒,没写啥,就空代码。试了爱加蜜的,新建了个工程,打包,签名,混淆,比较蛋疼的是上传后竟然还要审核......梆梆我也传了,不需要的。。
加密后呢,是没签过名的,需要自己重签名,我也懒,就没签名上传了,显然它也检测出了 Bad Signature。。。。原谅我的懒惰,关于梆梆或者爱加蜜的加固,网上也有人剖析了,梆梆的相关文章也有
我也对加固过的包看过了,两家加密的方式几乎是像一家的样子....不过我没更深入的去分析,所以别介意,加密的那位客服妹纸,以及梆梆那位妹子经理..
好,继续,点击open,明显,MainActivity不可点击状态,应该是加固后的软件有效的防止了此款分析工具的反编译,由此可见,加固的作用。当然我相信厉害的BlueBox团队一定会在日后的更新中去分析以及
解决这些问题,本身他们就是一个专做移动安全等分析的实验室,大伙可以关注他的blog,顺便提升英文阅读水平。
之前翻译过一篇BlueBox关于反编译的文章,其中介绍了静态和动态两种。
翻译的不是很好,因为这类技术篇需要一定的相应基础才行,大伙凑合着看,有好的建议或者意见也欢迎提出,或者重译都可以。
关于BlueBox的介绍或者了解,移步: http://bluebox.com/
关于反编译:
活动早就开始了,现在才有时间写,写的也比较仓促 , 发现不论是爱加蜜的cto还是社友们,几乎把市面上的反编译工具,方法都说遍了,不过赘述
因为那没有意义。选几段经典的给大伙看看。此外,题外话,拿反编译去谋利,比如加广告,恶意踹改等等此类行为我是不支持的,是对别人劳动成果的窃取。
如果是想要学习框架结构,实现原理,我觉得还是可以的。当然我也鼓励一些好的APK生厂商能够愿意分享自己的技术实现原理,传道授业,分享开源精神,
这样就不用担心这担心那了。
反编译工具就那些了,常见的APKTOOL+jd-gui的组合,深点的IDA等等,比比皆是。
关于如何保护:
当然对于一些安全性高的,用户量比较大的,有着自己的特有的技术等等在内的,比如银行啦,图片处理啦,下载量大的实用软件啦,保护自己的APP还是很有必要的,基本上现在通过so去处理关键的数据交互已经能够不错的抵制一些非法篡改等等,再加上现有的为大家熟知的保护方法,能够有效的防止了反编译。当然,第三方加密平台的出现也是一种体现,软件思维的体现,节省人力时间成本,工具类出现的意义也在于此。
主要帖子,爱加蜜的cto已经归类常见的保护方法: http://www.eoeandroid.com/thread-316988-1-1.html
1.防止工具反编译
a) 伪加密
b) APK压缩包故意破坏
c) 素材中的图片故意破坏
d) 使用无效的字节码防止反编译
2. 混淆保护
a)文件混淆
3. 运行时验证
a) 签名验证的各种方法
4. 防止内存修改
a) 如何防止”八门神奇”通过内存数据
工具:
如果你正好也知道BlueBox,又恰巧知道Dexter的存在,那么就可以不用理会我下面的介绍与陈述了
官方介绍:
大致意思呢是指它是一款互动的安卓软件分析环境,我了解了,是人工与静态分析的结合体。它呢,分析能力包含静态和动态模块,分析结果丰富,非常灵活的标签系统【链接很清晰,有点像思维导图,此类工具比如FreeMind】,以及自动化处理或者扩展的API。对于分析一些病毒软件啊,一些自己感兴趣的apk的实现原理啊等等啊还是有帮助的。
这是进入后的首页:
可以清晰的看到,左侧是个集合栏,我这里就拿Fubbo来分析吧【没其他意思,选择上传文件随便点了个apk】。下图是预览的大致信息,可以清楚的看到apk的基本信息,这些通过apk就可以直接获取到相关信息
再然后点击open就可以看到整个分析了,大的apk可能会消耗一点分析的时间。下图右侧可以看到一个大致的情况,比如用了什么权限啊,甚至自定义的权限,包含了哪些Activity啦,Service啦,Receiver啦....单个点击都可以看到 比较直观的信息,为了节省篇幅,不再一一截图解释,做开发的人都看得懂,没啥英文模块需要特别解释。
同时可以注意到右侧悬浮的菜单,包含了几个大类:
再往下拉,可以看到一些详细的Activity信息,再下是service,receiver等
随便点击一个Activity吧,可以清晰的看到整个逻辑,AboutActivity继承于SwipeBackActivity,关于这个滑动返回,是指滑动Activity返回,类似于slidingmenu的侧滑效果,Fuubo的作者已经把它开源了,不过貌似只支持高版本的,然后再是更深层次的继承,最后是android.app.Activity.再细看AboutActivity,可以看到主要结构方法,参数等等,应该都看得懂...注意下那个黑色的弹出框,decompile this class,意思很清楚就是反编译这个类,点击后
会发现,他帮你把自己通过反编译工具去做的事归纳了起来,不用再去搜索引用,然后分析代码意思,即使是混淆过的代码,至于具体样子,更多的剖析,大伙自己去试吧,处于对此款APK作者的尊重就不再详细贴图。
第二个呢则是加密后的APK,比较偷懒,没写啥,就空代码。试了爱加蜜的,新建了个工程,打包,签名,混淆,比较蛋疼的是上传后竟然还要审核......梆梆我也传了,不需要的。。
加密后呢,是没签过名的,需要自己重签名,我也懒,就没签名上传了,显然它也检测出了 Bad Signature。。。。原谅我的懒惰,关于梆梆或者爱加蜜的加固,网上也有人剖析了,梆梆的相关文章也有
我也对加固过的包看过了,两家加密的方式几乎是像一家的样子....不过我没更深入的去分析,所以别介意,加密的那位客服妹纸,以及梆梆那位妹子经理..
好,继续,点击open,明显,MainActivity不可点击状态,应该是加固后的软件有效的防止了此款分析工具的反编译,由此可见,加固的作用。当然我相信厉害的BlueBox团队一定会在日后的更新中去分析以及
解决这些问题,本身他们就是一个专做移动安全等分析的实验室,大伙可以关注他的blog,顺便提升英文阅读水平。
转自:http://www.eoeandroid.com/thread-317776-1-1.html