Android 混淆与反编译的简单记录
来源:互联网 发布:停车位软件哪个好 编辑:程序博客网 时间:2024/05/01 09:09
-dontusemixedcaseclassnames #混淆时不使用大小写混合类名-dontskipnonpubliclibraryclasses #不跳过library中的非public的类-verbose #打印混淆的详细信息-dontoptimize #不进行优化,建议使用此选项,-dontpreverify #不进行预校验,Android不需要,可加快混淆速度。-ignorewarnings #忽略警告-optimizationpasses 5 #指定代码的压缩级别# 保护代码中的Annotation不被混淆# 这在JSON实体映射时非常重要,比如fastJson-keepattributes *Annotation*#把混淆类中的方法名也混淆了-useuniqueclassmembernames#将文件来源重命名为“SourceFile”字符串-renamesourcefileattribute SourceFile# 避免混淆泛型# 这在JSON实体映射时非常重要,比如fastJson-keepattributes Signature#-repackageclasses'a'-flattenpackagehierarchy# keep住源文件以及行号-keepattributes SourceFile,LineNumberTable#------------------ android基本项 ----------------# 保留所有的本地native方法不被混淆-keepclasseswithmembernames class * { native <methods>;}# 保留了继承自Activity、Application这些类的子类# 因为这些子类有可能被外部调用# 比如第一行就保证了所有Activity的子类不要被混淆-keep public class * extends android.app.Activity-keep public class * extends android.app.Application-keep public class * extends android.app.Service-keep public class * extends android.content.BroadcastReceiver-keep public class * extends android.content.ContentProvider-keep public class * extends android.app.backup.BackupAgentHelper-keep public class * extends android.preference.Preference-keep public class * extends android.view.View-keep public class com.android.vending.licensing.ILicensingService# 枚举类不能被混淆-keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String);}# 保留自定义控件(继承自View)不能被混淆-keep public class * extends android.view.View { public <init>(android.content.Context); public <init>(android.content.Context, android.util.AttributeSet); public <init>(android.content.Context, android.util.AttributeSet, int); public void set*(***); *** get* ();}# 保留Parcelable序列化的类不能被混淆-keep class * implements android.os.Parcelable{ public static final android.os.Parcelable$Creator *;}# 保留Serializable 序列化的类不被混淆-keepclassmembers class * implements java.io.Serializable { static final long serialVersionUID; private static final java.io.ObjectStreamField[] serialPersistentFields; !static !transient <fields>; private void writeObject(java.io.ObjectOutputStream); private void readObject(java.io.ObjectInputStream); java.lang.Object writeReplace(); java.lang.Object readResolve();}# 对R文件下的所有类及其方法,都不能被混淆-keepclassmembers class **.R$* { *;}# 对于带有回调函数onXXEvent的,不能混淆-keepclassmembers class * { void *(**On*Event);}# --------------------------------------------------------------------------# 项目代码-keep class **.R{*;}-keep class com.xvzoom.wallet.model.** { *; }# ------------------------------lib-------------------------------------# --------------------------------------------------------------------------# eventbus-keep class de.greenrobot.event.** {*;}-keep public class *{ public void onEvent*(...);}# --------------------------------------------------------------------------#glide-keep public class * implements com.bumptech.glide.module.GlideModule-keep public enum com.bumptech.glide.load.resource.bitmap.ImageHeaderParser$** { **[] $VALUES; public *;}# --------------------------------------------------------------------------# butterknife-keep class butterknife.** { *; }-dontwarn butterknife.internal.**-keep class **$$ViewBinder { *; }-keepclasseswithmembernames class * { @butterknife.* <fields>;}-keepclasseswithmembernames class * { @butterknife.* <methods>;}# --------------------------------------------------------------------------# Bugly-dontwarn com.tencent.bugly.**-keep public class com.tencent.bugly.**{*;}# --------------------------------------------------------------------------# ImageLoader-keep class com.squareup.otto.** {*;}-dontwarn com.squareup.picasso.OkHttpDownloader# --------------------------------------------------------------------------# PickerView-keep class com.bigkoo.** {*;}-dontwarn com.bigkoo.**# --------------------------------------------------------------------------# fastjson-dontwarn com.alibaba.fastjson.**-keep class com.alibaba.fastjson.**{*; }# --------------------------------------------------------------------------# NoHttp-dontwarn com.yolanda.nohttp.**-keep class com.yolanda.nohttp.**{*;}-keep class com.xvzoom.wallet.network.** { *; }# --------------------------------------------------------------------------# tencent-dontwarn com.tencent.mm.**-keep class com.tencent.mm.**{*;}# --------------------------------------------------------------------------# zxing-dontwarn com.google.zxing.**-keep class com.google.zxing.**{*;}# --------------------------------------------------------------------------# nineoldandroids-dontwarn com.nineoldandroids.**-keep class com.nineoldandroids.** { *;}# --------------------------------------------------------------------------# okhttp-keep class com.squareup.okhttp.** { *; }-keep interface com.squareup.okhttp.** { *; }-dontwarn com.squareup.okhttp.*#如果引用了v4或者v7包-dontwarn android.support.**-dontwarn android.support.v4.**-keep class android.support.v4.** { *; }-keep public class * extends android.support.v4.**-keep public class * extends android.app.Fragment-dontwarn android.support.v7.**-keep class android.support.v7.** { *; }-keep public class * extends android.support.v7.**
混淆简单记录,虽然没用到 哈哈哈
反编译
1.下载dex2jar和gui。
dex2jar 这个工具用于将dex文件转换成jar文件
jd-gui 这个工具用于将jar文件转换成java代码
2.将apk解压,将classes.dex复制进dex2jar。
3.cmd进入dex2jar目录下,使用d2j-dex2jar classes.dex,生成jar包。
4.jar包在jd-gui中可以查看目录。
阅读全文
0 0
- Android 混淆与反编译的简单记录
- Android反编译与混淆
- Android 混淆打包与反编译
- Android开发反编译与混淆
- android 代码混淆与反编译
- android混淆代码与反编译
- Android混淆、反编译以及反破解的简单回顾
- Android混淆、反编译以及反破解的简单回顾
- Android混淆、反编译以及反破解的简单回顾
- Android混淆、反编译以及反破解的简单回顾
- android 混淆,反编译,反破解的简单说明和认识
- Android混淆、反编译以及反破解的简单回顾
- APK的混淆与反编译
- 反编译以及代码混淆的简单介绍
- android反编译与混淆网址保存学习
- Android APK之代码混淆与反编译
- Android APK之代码混淆与反编译
- 【学习】Android代码混淆与反编译
- 获取当前网络信息,状态,以及ping网址
- unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make a
- Chapter04 编写基本的MapReduce程序(二) 非JAVA语言编写mapreduce程序
- Socket通信
- 5分钟学会jsonp跨域
- Android 混淆与反编译的简单记录
- 算法复习:二叉树中和为某一值的路径
- 第三篇 :微信公众平台开发实战Java版之请求消息,响应消息以及事件消息类的封装
- Mininet网络仿真工具
- 看一遍就懂,详解java多线程——volatile
- HttpServletRequest
- HDU 5875 Function
- 虚拟化技术详解
- hdu 4507 数位DP(求和类型)