如何防止 apk 被反编译,感觉混淆用处不大,请教下大家有啥好方法吗?

2019-06-18 14:45:06 +08:00
 DrSpencerReid
10205 次点击
所在节点    Android
29 条回复
stephonhu
2019-06-18 14:58:02 +08:00
加固,聊胜于无
有钱买企业级的,反正我司也没用过,不知道好不好[手动狗头]
Shouldong
2019-06-18 15:06:41 +08:00
一般的混淆用处不大,但是混淆成 '",‘”, 这种真的有点用。。。
DrSpencerReid
2019-06-18 15:09:15 +08:00
@stephonhu 太惨了,买企业级的吧
DrSpencerReid
2019-06-18 15:10:37 +08:00
@Shouldong 可以让反编译的人眼瞎。。
GTim
2019-06-18 15:32:20 +08:00
了胜于无

加强参数校验

比如逆天的 拼多多,有一个 anti_content 字段,它的构成,爬虫的劝退着
lvsemi1
2019-06-18 15:36:02 +08:00
真干这行的字节码都看,混淆不混淆也就多点时间成本
lihongming
2019-06-18 15:36:06 +08:00
用那个把变量名和方法名都混淆成 1li!|组合的混淆器,防不住也烦死他
nonprocoder
2019-06-18 15:37:54 +08:00
先想想真的有必要混淆吗
Jirajine
2019-06-18 15:43:24 +08:00
混淆是比较有用的。除非你的软件是 Adobe 那种涉程度不然没人真的去搞你。一般都是些脚本小子拿工具瞎弄,不好弄谁费那个劲,还如直接买。
另外不要加固,一来加固除非高价买企业级不然脱个壳相当容易,二来某些无良公司( tx,360 )的加固就是给你的应用挂马,你的应用变流氓并且还要用你的签名为它背书。
lowett
2019-06-18 15:44:15 +08:00
只能增加破解的难度,从 app 上是防不住的

最近在学些这块的东西。
结论只有一个:只要你的 app 值得破解,任何防破解手段都是无效,时间长短而已。
DrSpencerReid
2019-06-18 15:51:17 +08:00
@Jirajine 本来想直接买企业级加固的,听你一说感觉像是花钱求着别人来搞自己。
pkookp8
2019-06-18 15:51:52 +08:00
从另一个思路考虑,定时向服务器检验数据合法性和 id ?
hyyou2010
2019-06-18 15:56:48 +08:00
很麻烦的,很不推荐。做成 so 可能有点用。

最佳是把核心的东西放服务器上,客户端就一个操作界面。
AndroidEngineer
2019-06-18 16:13:12 +08:00
@hyyou2010 so 库用 ida 一样逆向
superalsrk
2019-06-18 16:15:42 +08:00
核心签名核心业务放到 so 里, 可以参考 抖音那种 libcms.so 用 ollvm 混淆一下, 虽然 IDA 也能看, 但是难了数量级, 直接劝退只会用 AK 的水货
DrSpencerReid
2019-06-18 16:21:00 +08:00
@superalsrk 这个是增加难度系数的好方法,我打算试试。谢谢
0Zed
2019-06-18 16:31:03 +08:00
增强 app 与服务器之间的各种校验 +1
littiefish
2019-06-18 17:37:28 +08:00
@pkookp8 工具类的我一般禁网,不联网不让用的直接舍弃。貌似还没有哪个 APP 是必须使用的
WordTian
2019-06-18 17:41:19 +08:00
@AndroidEngineer 并不,so 可以加壳的
lollipop43
2019-06-18 18:08:54 +08:00
If it runs, it can be cracked.
——语出我的大学老师

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/575110

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX