最近做了项目写的混淆加密代码,保留下来,下次备用

# To enable ProGuard in your project, edit project.properties
# to define the proguard.config property as described in that file.
#
# Add project specific ProGuard rules here.
# By default, the flags in this file are appended to flags specified
# in ${sdk.dir}/tools/proguard/proguard-android.txt
# You can edit the include path and order by changing the ProGuard
# include property in project.properties.
#
# For more details, see
#   http://developer.android.com/guide/developing/tools/proguard.html
 
# Add any project specific keep options here:
 
# If your project uses WebView with JS, uncomment the following
# and specify the fully qualified class name to the JavaScript interface
# class:
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
#   public *;
#}


-optimizationpasses 7
-dontusemixedcaseclassnames
-dontskipnonpubliclibraryclasses
-dontpreverify
#屏蔽警告,脚本中把这行注释去掉
-ignorewarnings
-dontwarn  //dontwarn去掉警告


-verbose
-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*
-dontwarn android.support.**
#混淆时应用侵入式重载
-overloadaggressively   
 
#确定统一的混淆类的成员名称来增加混淆
-useuniqueclassmembernames  
#重用映射增加混淆
#-applymapping  com.envee.patientClient.activity.CheckNetActivity
 
# 组件并没有混淆,因为系统需要通过清单(AndroidManifest.xml)文件来查找和运行应用程序。
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-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 com.android.vending.licensing.ILicensingService

#保留R文件
-keep class **.R$* {*;}

#如果系统中用到了注解映射机制,则需要保留
-keepattributes *Annotation*

#所有的native方法不能去混淆
-keepclasseswithmembernames class * {
    native <methods>;
}
 
#某些构造方法不能去混淆
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet);
}
 
-keepclasseswithmembers class * {
    public <init>(android.content.Context, android.util.AttributeSet, int);
}
 
-keepclassmembers class * extends android.app.Activity {
   public void *(android.view.View);
}
# 枚举类不能去混淆.
-keepclassmembers enum * {
    public static **[] values();
    public static ** valueOf(java.lang.String);
}
#aidl文件不被混淆
-keep class * implements android.os.Parcelable {
  public static final android.os.Parcelable$Creator *;
}


####   上面是所有混淆基本模板    ######
####   下面是项目自定义混淆      ######

#第三方jar包不能混淆
-libraryjars libs/alipay.jar
-libraryjars libs/android-support-v13.jar
-libraryjars libs/baidumapapi_v2_2_0.jar
-libraryjars libs/httpmime-4.1.3.jar
-libraryjars libs/jpinyin-1.0.jar
-libraryjars libs/locSDK_3.1.jar
-libraryjars libs/ShareSDK-Core-2.1.2.jar
-libraryjars libs/ShareSDK-QZone-2.1.2.jar
-libraryjars libs/ShareSDK-SinaWeibo-2.1.2.jar
-libraryjars libs/SocialSDK_QQZone_1.jar
-libraryjars libs/SocialSDK_QQZone_2.jar
-libraryjars libs/SocialSDK_tencentWB_1.jar
-libraryjars libs/SocialSDK_tencentWB_2.jar
-libraryjars libs/SocialSDK_WeiXin.jar
-libraryjars libs/umeng_sdk.jar
-libraryjars libs/umeng_social_sdk.jar
-libraryjars libs/UPPayAssistEx.jar
-libraryjars libs/UPPayPluginEx.jar
-libraryjars libs/zxing-core-2.2.jar
-keep class android.support.v4.**{*;}

#保留数据库工具类
-keep class com.kklink.yuexia.db.**{*;}
-keep class com.kklink.database.**{*;}

#保留第三方代码
-keep class com.alipay.android.app.lib.**{*;}
-keep class com.google.zxing.client.android.**{*;}

#保留model实体
-keep class com.kklink.yuexia.model.**{*;}
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 为了解密JS混淆加密代码,您可以使用以下Python代码: ``` def deobfuscate(obfuscated_code): # 首先,使用JS解密器库(例如Javascript Deobfuscator)尝试解密代码 # 以下是使用Javascript Deobfuscator库的示例代码 from javascript_deobfuscator.deobfuscator import Deobfuscator deobfuscator = Deobfuscator() deobfuscated_code = deobfuscator.deobfuscate(obfuscated_code) # 如果解密失败,则可以使用正则表达式尝试搜索混淆代码并将其删除 # 例如,您可以尝试删除所有多余的空格和换行符,以及使用 eval() 等函数执行的代码 import re deobfuscated_code = re.sub(r'\s+', '', deobfuscated_code) deobfuscated_code = re.sub(r'eval\(.+\)', '', deobfuscated_code) return deobfuscated_code ``` 希望这可以帮助您! ### 回答2: 一个解密JS混淆加密代码的Python代码并不是一件容易的事情。JS混淆加密代码通常使用多种技术和算法进行混淆加密,包括字符串的编码、函数的重命名、代码的压缩等。因此,要正确解密这样的代码需要具备一定的JS和Python编程经验以及对加密算法的了解。 下面给出一个简单的示例,演示如何解密JS混淆加密代码中的简单字符编码。假设有一个JS混淆加密代码如下: ``` var str = 'Uijt!jt!dpef;ifsf!nz!ejtqmbz!uif!usjbjofs!xfssz'; var decodedStr = ''; for (var i = 0; i < str.length; i++) { var char = str.charCodeAt(i) - 1; decodedStr += String.fromCharCode(char); } console.log(decodedStr); ``` 可以使用Python编一个简单的解密函数: ```python def decode_js_string(encoded_str): decoded_str = '' for char in encoded_str: decoded_char = chr(ord(char) + 1) decoded_str += decoded_char return decoded_str encoded_str = 'Uijt!jt!dpef;ifsf!nz!ejtqmbz!uif!usjbjofs!xfssz' decoded_str = decode_js_string(encoded_str) print(decoded_str) ``` 这段Python代码将输出解密后的字符串:`This is confidential data; please don't share`。 需要注意的是,这只是一个简单的示例,针对复杂的JS混淆加密代码,需要深入研究相关算法和技术,并编相应的解密函数进行解密。 ### 回答3: 要编一个解密JS混淆加密代码代码,可以使用Python中的一些库和算法来帮助我们完成这个任务。 首先,我们需要了解JS混淆加密的原理。JS混淆加密通常是通过对代码进行编码、加密混淆等方式,使得代码的结构、函数名、变量名等变得难以理解和分析。因此,我们需要尝试逆向这些操作,将代码还原为可读的形式。 对于编码操作,我们可以使用Python的base64库来进行解码。函数`b64decode()`可以将base64编码的字符串解码为原始字符串。例如,可以使用`base64.b64decode("YXNkZg==")`将编码为"YXNkZg=="的字符串解码为"asdf"。 对于加密操作,我们需要了解加密算法的具体实现。常见的加密算法包括对称加密算法(如AES、DES)和非对称加密算法(如RSA)等。根据具体的加密算法,我们可以使用相应的Python库来进行解密。 对于混淆操作,我们需要仔细分析代码的结构和变量名的命名规则。通常,混淆后的变量名可能会被重命名为无意义的字符,需要通过对代码进行分析和逻辑推理来还原变量的真实含义。 综上所述,解密JS混淆加密代码代码一般需要结合具体的混淆方式和加密算法来进行。需要具备一定的编程逻辑和算法知识。在编过程中,可以参考相关的Python库和算法实现。最终,通过逆向和分析,可以将加密代码还原为可读的形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值