㈠ android代码混淆以及怎么判断一个apk代码是否被混淆过
方案一:
一、 下载dex2jar包,解压
二、把apk包的后缀名改为.zip
三、把apk压解压拿到classes.dex文件,并放到dex2jar所在的目录下
四、运行命令dex2jar.exe classes.dex
五、下载jd-gui
六、把jar包加载到jd.gui,查看源码,源码中的类名,方法名,变量名是否已经改变
方法二:
一、下载apktool工具
二、运行apktool.bat d xxx.apk,把apk反编译成smali
三、如果想要进一步查看源码,可下载smali2java
四、使用smali文件的文件名进行分析,如果存在1个或1个以上的资源类的smali文件,就可以证明该apk没有被混淆过。
㈡ android代码混淆为什么不混淆activity
一般四大组件不混淆的,主要有以下原因:
1.四大组件声明必须在manifest中注册,如果混淆后类名更改,而混淆后的类名没有在2.manifest注册,是不符合Android组件注册机制的.
3.外部程序可能使用组件的字符串类名,如果类名混淆,可能导致出现异常
4.四大组件是要配置在清单文件的,混淆了找不到
㈢ android 混淆时怎么排除友盟推送的包
Android混淆,又称Android代码混淆,是伴随着Android系统的流行而产生的一种AndroidAPP保护技术,用于保护APP不被破解和逆向分析。
友盟(Umeng),2010年4月在北京成立,是中国最专业、最有数据凝聚力的移动开发者服务平台。友盟提供iOS、Android和Windows Phone等多平台服务。
友盟消息推送,指向指定终端用户(单播)、 所有终端用户(广播) 或 满足特定条件的终端用户群(组播),发送通知或消息。此外,还支持开发者使用 自有的账号系统(alias) 来发送消息给指定的账号或者账号群。
混淆时排除友盟推送的Jar包,只需要在proguard.cfg文件中加入如下配置即可:
-dontwarn com.umeng.**
-keep class com.umeng*.** {*; }