本文目录导读:

干货梆梆加固一天学会?别慌!我这不就手把手带你飞了嘛!
嘿,各位亲爱的程序员老哥们,还有那些被甲方爸爸逼疯的测试小姐姐们!今天咱们不聊虚的,就聊点干货梆梆——APP加固!
哎哟喂,说实话,我刚开始听到“加固”这俩字的时候,心里那个嘀咕啊:“啥玩意儿?给我的APP穿个铁布衫还是金钟罩?”结果真到自己上手那会儿,才发现这玩意儿比我想象中好玩多了,但也比我想象中坑多了!真的,不骗你们,我踩了一整天的坑,才算是把梆梆加固这尊大佛给请明白了。
先说说我为啥突然想起搞这个吧!
还不是因为上周提交应用市场的时候,被拒了N回!理由千篇一律:“您的应用存在被破解风险,请进行安全加固”,我当时就那个火大啊,恨不得顺着网线爬过去问问他:“大哥,到底啥叫有风险?我写的代码还能是豆腐渣工程不成?”(气鼓鼓)
但没办法,人在屋檐下不得不低头啊,于是乎,我给自己立了个flag:就一天时间,必须把加固整明白! 诶,你还真别说,这一天下来,我从一个“加固小白”愣是变成了半个“加固砖家”,今儿个我就把这干货梆梆的实战经验全盘托出,你要是有心,保证你看完能少走我一整天的弯路!
上午篇:先别急着加固,咱们得搞清楚敌人是谁!
干货加一:认清“裸奔”的日常 兄弟们,说句扎心的话,咱们平时打包出来的APK,在黑客眼里就是个没穿衣服的小透明,你的源码、资源文件、SO库,全都明晃晃地躺在里面,随便找个工具,比如Apktool,一键就能把咱们的安卓包拆得跟零件似的,这感觉,就像你辛辛苦苦写的情书,结果被贴在了小区公告栏上——那是相当的社死!
干货加二:加固到底在干哈? 说白了,就是给咱们的APK套一层“防弹衣”,它不让别人直接看到你的“肉体”——也就是那层DEX文件(那就是咱们的核心逻辑代码),加固会把你的DEX藏起来,然后让一个“壳”先跑起来,壳会判断环境是不是安全,没问题了再把真正的代码“哗啦”一下倒出来执行。这个思路,咱必须得门儿清! 不然你连加固的原理都不懂,后面出错了你都不知道去哪儿哭!
下午篇:嘿嘿,重头戏来了!实操实操!
干货加三:注册那点破事儿 我选的也是大家用的梆梆加固,这玩意儿商业化做得好,功能全,安卓iOS通吃,一注册,哎哟,要实名认证,要创建应用,步骤繁琐得跟查户口似的。别烦!忍着! 咱就把它当成去银行开户,流程严点总比你的钱(代码)被人偷了强,对吧?(撇嘴)
干货加四:一键加固?那爽感简直飞起! 登录后台,上传你的APK,找到一个超显眼的“一键加固”按钮(嚯!第一次点这按钮,手抖得跟帕金森似的),点击之后,屏幕就开始转圈圈了,这时候我可没闲着,我上了个厕所,泡了杯咖啡,回来一看,好家伙!状态栏显示加固成功!
干货加五:签名!签名!签名!重要的事情说三遍! 这里是老坑!!!千万记住!! 加固完的那个包,是没有签名的!你不能直接拿去发布!我当时就犯了这个低级错误,直接往应用市场传,结果系统秒拒:“签名无效”,我当时那个心碎啊,感觉一天白干了。 加固后的第一步,就是要用你自己的签名证书(就是那个.jks或.keystore文件)给这个新包重新签上名,你问我怎么签?打开你电脑上的Android Studio,找到那个“Build > Generate Signed Bundle / APK”,一步步向导下去,两三分钟就搞定,签完名,那才是真正能上架的“完全体”!
晚上篇:验证成果,顺便吐吐槽
干货加六:检查一下,心里才踏实 签名完事,别急着发!咱得自己先跑一下啊!装上那个新包,“嗖”一下点开APP,哎呦,启动速度似乎变慢了一点点?别慌!这是正常现象! 壳在启动时要解密、校验,多耗个几毫秒完全OK,重点是要看看功能是否正常,我反正是把所有核心流程都点了一遍,连bug都没调出来,那一刻,我感觉自己像个成功爆破碉堡的战士!心理那叫一个舒坦!
干货加七:来点真心话 说实话,梆梆加固一天学会,真不是吹牛,它那后台操作界面,已经傻瓜化得不能再傻瓜了,但,里面的弯弯绕绕(比如多渠道打包、SO加密、资源文件混淆) ,真要全学会,一天是绝对不够的,我这一天,只能说是把最核心的“保命”步骤给打通了。
明天,咱也是加固过的人了!
好了,各位兄弟姐妹,这就是我一个Java仔与梆梆加固搏斗一整天的血泪史,虽然一开始我是被逼上梁山的,但回过头来看,这干货梆梆的成就感还真不是盖的!
至少现在,我可以跟那位当初拒绝我的审核员硬气地说一句:“哼!我的应用现在可是穿了铁布衫的,看你怎么破!”(得意洋洋)
如果你也正准备尝试加固,别怕,鼓捣一天保证能上手!路漫漫其修远兮,咱们一起在防破解的道路上越走越远吧!
互动一下:你第一次用加固工具的时候,有没有碰到什么奇奇怪怪的坑?评论区分享一下呗,让我乐呵乐呵!