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

2019 年 6 月 18 日
 DrSpencerReid
16940 次点击
所在节点    Android
29 条回复
stephonhu
2019 年 6 月 18 日
加固,聊胜于无
有钱买企业级的,反正我司也没用过,不知道好不好[手动狗头]
Shouldong
2019 年 6 月 18 日
一般的混淆用处不大,但是混淆成 '",‘”, 这种真的有点用。。。
DrSpencerReid
2019 年 6 月 18 日
@stephonhu 太惨了,买企业级的吧
DrSpencerReid
2019 年 6 月 18 日
@Shouldong 可以让反编译的人眼瞎。。
yemoluo
2019 年 6 月 18 日
了胜于无

加强参数校验

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

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

最佳是把核心的东西放服务器上,客户端就一个操作界面。
AndroidEngineer
2019 年 6 月 18 日
@hyyou2010 so 库用 ida 一样逆向
superalsrk
2019 年 6 月 18 日
核心签名核心业务放到 so 里, 可以参考 抖音那种 libcms.so 用 ollvm 混淆一下, 虽然 IDA 也能看, 但是难了数量级, 直接劝退只会用 AK 的水货
DrSpencerReid
2019 年 6 月 18 日
@superalsrk 这个是增加难度系数的好方法,我打算试试。谢谢
0Zed
2019 年 6 月 18 日
增强 app 与服务器之间的各种校验 +1
littiefish
2019 年 6 月 18 日
@pkookp8 工具类的我一般禁网,不联网不让用的直接舍弃。貌似还没有哪个 APP 是必须使用的
WordTian
2019 年 6 月 18 日
@AndroidEngineer 并不,so 可以加壳的
lollipop43
2019 年 6 月 18 日
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