AndroidDev 板


LINE

其实就是利用 proguard,对整个专案的程式码做"混淆",让人无法轻易的解析。混 淆的意思是将程式码中,原本有意义的变数或函数的名称,代换成无意义的文字。 诚如就像版友之前所说,就算被混乱过,只要花时间,还是可以看出程式的架构。不 过假设你有一个担心的老板,还是可以将 proguard 的混淆结果拿来说嘴一下:)。 另外一个考量的是时间成本,花时间解析这份经过混淆的 code,搞不好所花得时间 就可以硬刻出相同的功能外加 debug 好几回。就时间成本来考量,proguard 或许也有 些用处。 Android 从 ADT(Android Development Tools) 8.0.0 开始内建支援 proguard, 详细资料请参考网页。 http://developer.android.com/guide/developing/tools/proguard.html 而要将经过 proguard 的结果输出,要用 File -> Export -> Android -> Export Android Application,这在网页上没有描 述的非常清楚,当初有稍微找了一下。 proguard 预设是利用英文字母来替换原来变数或函数的名字,但是可以利用参数的 设定,利用其他的"符号"来代替英文字母。参数如下: -obfuscationdictionary dic.txt dic.txt 是字典档,存放我们希望替换的符号。之前在研究的时候,突然福至心灵, 用了神奇的字典档(我自己觉的还蛮神奇的) 麤 龘 贔 驫 矗 毳 (其实还有蛮多字 ptt 无法打出来,其实就是一堆难念笔划又多的中文字) 没错,就是利用这些我自己都不太会念的中文字,当初的想法很简单,我就是要让人 难以辨识,我知道中文是两个字元,如果在不支援的双 bytes 的电脑上,会显示乱码, 如果在支援的电脑上,会显示难以念出的中文字。但是中文字经过编译之後会变啥,程式 是否还能正常执行,我没把握也没概念,就抱着姑且一试的心情,反正 build 一次也两三 分钟而已。 结果比我预期的好,程式可以执行,混淆的结果也颇让人满意,节录一小段反组译之後 的 code: http://pastebin.com/embed_iframe.php?i=35jiWneR 变数名称的地方,肉眼辨识下都是同一个符号。不过我无法担保你如果使用同样的字 典档,程式是否一样可以正确无误。或许这些复杂的中文字,在 progroud 处理的时候已 经是分开的字元了,这我就没有仔细研究了。 proguard 的参数请参考 proguard 的网页: http://proguard.sourceforge.net/index.html#/manual/usage.html 小结: android 已经将 prograd 内建了,透过适当修改混淆器的字典档,可以加强混淆的 程度。 最後的心得: 在机会成本的观念下,个人是觉的 proguard 还是有一点点的保护作用。想要做研究 深入了解,当然是可以好好的拆(猜)解别人的 code。但在金钱和时间考量下,这样的逆向 工程似乎就不是最佳解了。 当初是上面的老板担心,将来程式放到 market 上,我们能有什麽保护措施?所以才 花了点时间研究这些东西。但是这些东西真的可以保护到程式码吗?我反而想问,我们的 程式真的需要这样的保护吗?还是只是敝帚自珍而已? 总之我花了点时间,玩了一些东西,就整理一下和大家分享:) --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.119.80.94
1F:→ qrtt1:不过 hacker 根本不看 code,是直接改变局部的流程。 01/21 15:43
2F:推 nowar100:收录至 z-3-2-3 01/21 16:11
3F:推 abccbaandy:不看code? 详细希望 01/21 21:12
4F:→ coronach:应该就直接挖 例如说某一步明显挡掉某行为 直接改那边 01/21 22:12
5F:→ coronach:要全部逆向工程太耗时了 01/21 22:12
6F:推 LoveCheer:有看有推!!! 01/21 23:15
7F:→ abccbaandy:正常不是都这样吗...谁会在乎你全部的功能 01/21 23:25
8F:推 gpc:改作porting卖机器比较实在 XD 01/23 12:52
9F:→ a1234957:现在PORTING的人一堆 01/23 18:07







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Gossiping站内搜寻

TOP