精华内容
下载资源
问答
  • Python代码混淆处理

    2019-07-13 16:57:03
    今天给大家介绍的是一款名叫Intensio-Obfuscator的专业代码混淆处理工具,广大Python开发人员以及安全专家可以使用这款工具来对v2.x以及v3.x版本的Python代码进行混淆处理。 工具简介 Intensio-Obfuscator可以直接将...

    今天给大家介绍的是一款名叫Intensio-Obfuscator的专业代码混淆处理工具,广大Python开发人员以及安全专家可以使用这款工具来对v2.x以及v3.x版本的Python代码进行混淆处理。

    工具简介
    Intensio-Obfuscator可以直接将Python源代码进行转换,并输出经过混淆处理后的Python代码。它会自动将变量名、类名以及函数名替换为随机字符,并定义长度,移除注释内容,自动换行,并给每一行代码增加随机脚本(所有的随机值都是不同的)。

    工具运行要求

    Python版本>=v3.5。
    

    文件支持
    Intensio-Obfuscator目前支持的Python文件代码版本为v2.x以及v3.x版本.

    工具安装
    广大用户可以直接使用git命令将项目代码从GitHub代码库中克隆至本地:

    git clone https://github.com/Hnfull/Intensio-Obfuscator.git
    
    
    cd Intensio-Obfuscator/intensio/
    

    功能介绍

    替换:替换所有的变量名、类名以及函数名,移除所有的换行符

    填充:在每一行代码后添加随机脚本,并移除所有的换行符

    移除:移除代码中的全部注释以及换行

    低级混淆:生成32个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名

    中级混淆:生成64个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名

    高级混淆:生成128个字符的随机字符串,替换源代码中定义的变量名、类名以及函数名

    工具使用
    参数 描述
    -h, –help 显示帮助菜单
    -f, –onefile 指定一个代码文件
    -d, –multiplefiles 指定多个代码文件(项目)
    -i, –input 源文件或目录
    -c, –code 输入文件或目录中使用的语言,默认值为[python]
    -o, –output 混淆处理后的输出文件或目录
    -m, –mixer 输出变量混淆的字符数量/长度,默认值为: [medium],可选项为: [lower, medium, high]
    -r, –replace 激活“替换”混淆功能
    -p, –padding 激活“填充”混淆功能
    -rm, –remove 激活“移除”混淆功能

    如果你想要在使用“替换”功能时排除掉某些变量名、类名或函数名的话,可以编辑下面这个文件:

    intensio/exclude_python_words.txt
    

    工具使用样例

    python3.xintensio_obfuscator.py -d -i test/python/multiplefiles/basic/input/basicRAT -cpython -o test/python/multiplefiles/basic/output/basicRAT -m lower -r –rm
    
    python3.xintensio_obfuscator.py -d -i test/python/multiplefiles/advanced/input/basicRAT-c python -o test/python/multiplefiles/advanced/output/basicRAT -m high -r -p-rm
    

    许可证协议
    本项目遵循MIT开源许可证协议。

    免责声明
    Intensio-Obfuscator的开发出于教育目的,请不要将其用于非法活动。

    http://www.45zq.cn/portal/article/index/id/146.html

    展开全文
  • .zip,u3d、cocos2dx、iOS代码混淆、自动翻新专家(WHC_ConfuseSoftware)是一款新一代运行在MAC OS平台的App、完美支持Objc和Swift、U3D、Cocos2dx项目代码的自动翻新(混淆)、支持文件夹名称、文件名、修改资源文件...
  • 御安全浅析安卓开发代码混淆技术【关键词:代码混淆,Android应用加固,移动应用保护,APP保护,御安全】 提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的...

    御安全浅析安卓开发代码混淆技术
    【关键词:代码混淆,Android应用加固,移动应用保护,APP保护,御安全】

    提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法——代码混淆技术。
    随着移动互联网的快速发展,应用的安全问题不断涌现出来,于是越来越多的应用开发者将核心代码由java层转到native层,以对抗成熟的java逆向分析工具,然而如果native层的代码如果没有进行任何保护,还是比较容易被逆向分析工作者获取其运行逻辑,进而完成应用破解或者进行其他的操作。那么提高native代码的安全性有什么好办法吗?答案是肯定的,今天我们就来介绍一种有效对抗native层代码分析的方法——代码混淆技术。

    那么,什么是代码混淆呢?代码混淆的学术定义如下:

    代码混淆(code obfuscation)是指将计算机程序的代码,转换成一种功能上等价,所谓功能上的等价是指其在变换前后功能相同或相近。其解释如下:程序P经过混淆变换为P‘,若P没有结束或错误结束,那么P’也不能结束或错误结束;而且P‘程序的结果应与程序P具有相同的输出。否则P’不是P的有效的混淆。
      
    目前对于混淆的分类,普遍是以Collberg 的理论为基础,分为布局混淆(layout obfuscation)、数据混淆(data obfuscation)、控制混淆(control obfuscation)和预防混淆(preventive obfuscation)这四种类型。

    1. 布局混淆
        
      布局混淆是指删除或者混淆软件源代码或者中间代码中与执行无关的辅助文本信息,增加***者阅读和理解代码的难度。软件源代码中的注释文本、调试信息可以直接删除,用不到的方法和类等代码或数据结构也可以删除,这样即可以使***者难以理解代码的语义,也可以减小软件体积,提高软件装载和执行的效率。软件代码中的常量名、变量名、类名和方法名等标识符的命名规则和字面意义有利于***者对代码的理解,布局混淆通过混淆这些标识符增加***者对软件代码理解的难度。标识符混淆的方法有多种,例如哈希函数命名、标识符交换和重载归纳等。哈希函数命名是简单地将原来标识符的字符串替换成该字符串的哈希值,这样标识符的字符串就与软件代码不相关了;标识符交换是指先收集软件代码中所有的标识符字符串,然后再随机地分配给不同的标识符,该方法不易被***者察觉;重载归纳是指利用高级编程语言命名规则中的一些特点,例如在不同的命名空间中变量名可以相同,使软件中不同的标识符尽量使用相同的字符串,增加***者对软件源代码的理解难度。布局混淆是最简单的混淆方法,它不改变软件的代码和执行过程。

    2. 数据混淆
        
      数据混淆是修改程序中的数据域,而对代码段不作处理。常用的数据混淆方式有合并变量、分割变量、数组重组、字符串加密等。
        
      合并变量是将几个变量合并为一个数据,原来的每个变量占据其中一个区域,类似于一个大的数据结构。分割变量则是将一个变量分割为两个变量,对分割前后提供一种映射关系,将对一个变量的操作转化为对分割后两个变量的操作。
        
      数组重组有数组的分割、合并、折叠和平滑等几种方式。分割是将一个数组分成2个或多个相同维度的数组;合并则相反;折叠是增加数组的维数;平滑则是相反。
        
      在ELF文件中,全局变量和常量字符串存放在数据段中,反汇编工具可以轻易查找到字符串与代码之间的引用关系。在软件破解中,通过一些字符串提示可以很方便的找到代码关键语句,从而破解软件。字符串加密则可以对这些明显的字符串进行加密存储,在需要时再进行解密。

    3. 控制混淆
        
      控制混淆也称流程混淆,它是改变程序的执行流程,从而打断逆向分析人员的跟踪思路,达到保护软件的目的。一般采用的技术有插入指令、伪装条件语句、断点等。伪装条件语句是当程序顺序执行从A到B,混淆后在A和B之间加入条件判断,使A执行完后输出TRUE或FALSE,但不论怎么输出,B一定会执行。
        
      控制混淆采用比较多的还有模糊谓词、内嵌外联、打破顺序等方法。
        
      模糊谓词是利用消息不对称的原理,在加入模糊谓词时其值对混淆者是已知的,而对反混淆者却很难推知。所以加入后将干扰反汇编者对值的分析。模糊谓词的使用一般是插入一些死的或不相关的代码(bogus code),或者是插入在循环或分支语句中,打断程序执行流程。
        
      内嵌(in-line)是将一小段程序嵌入到被调用的每一个程序点,外联(out-line)是将没有任何逻辑联系的一段代码抽象成一段可被多次调用的程序。

    打破顺序是指打破程序的局部相关性。由于程序员往往倾向于把相关代码放在一起,通过打破顺序改变程序空间结构,将加大破解者的思维跳跃。

    1. 预防混淆
        
      预防混淆一般是针对专用的反编译器设计的,目的就是预防被这类反编译器反编译。他是利用特定的反编译器或反混淆器的弱点进行专门设计。预防混淆对于特定的反编译器非常有效,所以在使用时要综合利用各种反编译器的特点进行设计。
        
      御安全保护方案提供了以上所述四种混淆分类的多维度的保护,布局混淆方面,御安全提供了针对native代码层中的函数名进行了混淆删除调试信息等功能;数据混淆方面,御安全提供了针对常量字符串加密及全局变量的混淆的功能;控制混淆方面,御安全针对代码流程上,提供了扁平化,插入bogus 分支以及代码等价变换等功能;预防混淆方面,御安全在混淆过程中加入了针对主流反编译器的预防混淆的代码,能够有效地抵抗其分析。御安全还对应用开发者提供不同等级的保护力度及多种混淆方式的功能的选择,用户可以根据自己的需求定制不同的混淆功能保护。
        
      同时,御安全保护方案除了提供代码混淆保护方面的技术,还提供代码虚拟化技术及反逆向、反调试等其他安全保护方案,综合使用多种保护方案可以有效地提高您的代码安全,欢迎大家使用。

    关于腾讯安全实验室

    腾讯移动安全实验室:基于腾讯手机管家产品服务,通过终端安全平台、网络安全平台和硬件安全平台为移动产业打造云管端全方位的安全解决方案。其中腾讯御安全专注于为个人和企业移动应用开发者,提供全面的应用安全服务。

    腾讯安全反诈骗实验室:汇聚国际最顶尖白帽***和多位腾讯专家级大数据人才,专注反诈骗技术和安全***体系研究。反诈骗实验室拥有全球最大安全云数据库并服务99%中国网民。

    (腾讯御安全团队原创,转载请注明来源)

    转载于:https://blog.51cto.com/11642030/2083262

    展开全文
  • 最近小师傅让我学习了解一下Android中的代码混淆,混淆是啥啊??我这个嘴啊立马就问出来了 小师傅解释说:我们apk其实可以看作一个压缩包,你改一个后缀名解压缩之后里面的资源文件,配置以及源代码都可以完全呈现...

    ProGuard

      最近小师傅让我学习了解一下Android中的代码混淆,混淆是啥啊??我这个嘴啊立马就问出来了 小师傅解释说:我们apk其实可以看作一个压缩包,你改一个后缀名解压缩之后里面的资源文件,配置以及源代码都可以完全呈现,混淆之后会把一些类和方法的名字改变,就很难追踪了,就是不想自己的代码被破解,增加别人反编译的难度,android中的混淆规则写在proguard-rules.pro中,有一些特定的命令规则,我听的云里雾里的,特定规则是什么?混淆又是怎么做的?不敢问了不敢问了,自己查资料吧。所以自己上guardsquare的官网去看了看(也算是一遍翻译一边总结)。
    

    目标收获:了解ProGuard是什么,有自己的理解能够给别人讲清楚,以及和AndroidStudio的联系,以及能熟悉一遍相关语法吧。

    一.ProGuard简介

    guardsquare官网有这样一句话—

    A complete Android application

    The standard build processes of the Android SDK (with Ant, Gradle, Android Studio and Eclipse) already integrate ProGuard with all the proper settings.

    一个完整的Android应用程序

    Android SDK的标准构建过程(包括Ant,Gradle,Android Studio和Eclipse)已经将ProGuard与所有正确的设置集成在一起。

    注意:已经将ProGuard与所有正确的设置集成在一起。

    那就有这样的疑问:ProGuard是什么?为什么要用这个东西,他有什么作用?什么算正确的设置?

    一个一个问题解决

    • ProGuard是什么

      ProGuard是一个java字节码的开源优化器,他拥有四个部分,Java类文件收缩器,优化器,混淆器和预校验器。通过这四个步骤,它可以删除无用的类、字段、方法和属性。可以删除没用的注释,最大限度地优化字节码文件。它还可以使用简短的无意义的名称来重命名已经存在的类、字段、方法和属性。常常用于Android开发用于混淆最终的项目,增加项目被反编译的难度。

    原来不仅仅可以混淆代码防止反编译,它还可以优化我们的代码 所以这四个步骤肯定各自有各自的的作用

    • ProGuard的作用
      最终目标:ProGuard减少了Android应用程序的下载和启动时间,并提高了它们在移动设备上的性能。
      1. Java类文件收缩器(shrink):这一步进行的压缩步骤,从入口点开始递归的确定使用哪些类和类成员,其他的没有被用到的类和类成员就被丢弃
      2. 优化器(optimize):进行的优化步骤,ProGuard会进一步优化代码,这一步属于在字节码级别的性能优化,可以将不是入口点的类和方法变成私有的静态的或最终的(在可能的情况下为类添加static和final修饰符,在可能的情况下为方法添加private, static和final修饰符)未使用的参数可以移除,并且可以内联一些方法(在可能的情况下使get/set方法成为内联的)
      3. 混淆器(obfuscate) : 在混淆步骤中,ProGuard会重命名不是入口点的类和类成员,比如使用a,b,c,d这样简短而无意义的名称,对类、字段和方法进行重命名。在这整个过程中,保持入口点确保他们仍然可以通过他们原来的名字被访问。
      4. 预校验器( preverify):在Java平台上对处理后的代码进行预检,确保加载的class文件是可执行的。这个步骤是不必知道入口点的唯一步骤

    这里写图片描述

                                图:来自官网的工作流程图
    

    上面四个步骤中三个都提到了入口点(Entry Point),那么什么是入口点呢?

    入口点是在ProGuard过程中不会被处理的类或方法。在压缩的步骤中,ProGuard会从入口点开始递归遍历,搜索哪些类和类的成员在使用。对于没有被使用的类和类的成员,就会在压缩阶段丢弃。在优化阶段,那些非EntryPoint的类、方法都会被设置为private、static或final,不使用的参数会被移除。在混淆的阶段,ProGuard会对非EntryPoint的类和方法进行重命名。 为了能够确定哪些代码必须被保留以及哪些代码可以被丢弃或模糊处理,就必须指定一个或多个代码入口点 。(ProGuard文件中我们写的保持的那些我感觉就是写的入口点)

    • ProGuard正确的设置

    关于设置AndroidStudio以及具备了ProGuard的所有步骤,但是我们要针对制定一些关于自己APP的ProGuard规则,写在proguard-rules.pro 中。比如对以上四个步骤 哪一个执行哪一个不执行的配置,再比如我们要去保留入口点不被混淆。网上有很多关于ProGuard的正确设置模版 那针对一个APP,我们应该从哪些方面去Add project specific ProGuard rules ???

    那就是第二个大部分 如何写proguard-rules文件

    二.编写ProGuard文件

    注意:以下内容可能不全是ProGuard的语法,只针对于Android应用开发

    四个步骤都可以去配置,先熟悉一遍语法(可以的话可以看英文,后面是我乱七八糟翻译的,可能有出入)

    shrink压缩阶段:

    -dontshrink

    Specifies not to shrink the input class files. By default, shrinking is applied; all classes and class members are removed, except for the ones listed by the various -keep options, and the ones on which they depend, directly or indirectly. A shrinking step is also applied after each optimization step, since some optimizations may open the possibility to remove more classes and class members.(指定不压缩输入文件,默认情况下,是会执行压缩步骤的。除了-keep相关配置指定的类,所有其它没有被引用到的类都会被删除,在每一次优化步骤执行完之后,也会进行一次压缩操作,因为在优化的时候可能会删除更多的类和类成员)

    -printusage [filename]

    Specifies to list dead code of the input class files. The list is printed to the standard output or to the given file. For example, you can list the unused code of an application. Only applicable when shrinking.(指定这个文件里是打印那些被删除的类文件,这个列表可能打印到标准输出流或者一个文件中例如你可以指定哪些代码是不使用的,仅仅适用于shrink阶段)

    -whyareyoukeeping class_specification

    Specifies to print details on why the given classes and class members are being kept in the shrinking step. This can be useful if you are wondering why some given element is present in the output. In general, there can be many different reasons. This option prints the shortest chain of methods to a specified seed or entry point, for each specified class and class member. In the current implementation, the shortest chain that is printed out may sometimes contain circular deductions – these do not reflect the actual shrinking process. If the -verbose option if specified, the traces include full field and method signatures. Only applicable when shrinking.(简单来说就是给一个说法为啥这个类特殊被保护了呢?仅适用于压缩阶段)

    optimize 优化阶段:

    -dontoptimize

    Specifies not to optimize the input class files. By default, optimization is enabled; all methods are optimized at a bytecode level.(指定不优化输入文件,默认情况下优化选项是开启的,并且所有的优化都是在字节码层进行的。)

    -optimizations

    Specifies the optimizations to be enabled and disabled, at a more fine-grained level. Only applicable when optimizing. This is an expert option. (专家选项,慎用,就是优化的更加精细的意思吧)

    -optimizationpasses n

    Specifies the number of optimization passes to be performed. By default, a single pass is performed. Multiple passes may result in further improvements. If no improvements are found after an optimization pass, the optimization is ended. Only applicable when optimizing.(指定执行几次优化,默认情况下,只执行一次优化。执行多次优化可以提高优化的效果,如果执行过一次优化之后没有效果,就会停止优化,剩下的设置次数不再执行。这个选项只在optimizate阶段有效)

    -assumenosideeffects class_specification

    Specifies methods that don’t have any side effects (other than maybe returning a value). In the optimization step, ProGuard will then remove calls to such methods, if it can determine that the return values aren’t used. ProGuard will analyze your program code to find such methods automatically. It will not analyze library code, for which this option can therefore be useful. For example, you could specify the method System.currentTimeMillis(), so that any idle calls to it will be removed. With some care, you can also use the option to remove logging code. Note that ProGuard applies the option to the entire hierarchy of the specified methods. Only applicable when optimizing. In general, making assumptions can be dangerous; you can easily break the processed code. Only use this option if you know what you’re doing! (指定一些方法是没有任何意义的方法,可能他会有返回值,在优化阶段,如果他的返回值没有被用到ProGuard将会把这个方法删除,proguard会自动的分析你的代码,但不会分析处理类库中的代码。反正谨慎使用)

    -allowaccessmodification

    Specifies that the access modifiers of classes and class members may be broadened during processing. This can improve the results of the optimization step. For instance, when inlining a public getter, it may be necessary to make the accessed field public too. Although Java’s binary compatibility specifications formally do not require this (cfr. The Java Language Specification, Third Edition, Section 13.4.6), some virtual machines would have problems with the processed code otherwise. Only applicable when optimizing (and when obfuscating with the -repackageclasses option).Counter-indication:* you probably shouldn’t use this option when processing code that is to be used as a library, since classes and class members that weren’t designed to be public in the API may become public.( 指定在处理期间可以扩大类和类成员的访问修饰符。这可以改善优化步骤的结果,但是如果你的代码是一个组件库代码的时候,就不要使用这个选项,他可能会将一些私有的部分变为public的)

    -mergeinterfacesaggressively

    Specifies that interfaces may be merged, even if their implementing classes don’t implement all interface methods. This can reduce the size of the output by reducing the total number of classes. Note that Java’s binary compatibility specifications allow such constructs (cfr. The Java Language Specification, Third Edition, Section 13.5.3), even if they are not allowed in the Java language (cfr. The Java Language Specification, Third Edition, Section 8.1.4). Only applicable when optimizing.Counter-indication: setting this option can reduce the performance of the processed code on some JVMs, since advanced just-in-time compilation tends to favor more interfaces with fewer implementing classes. Worse, some JVMs may not be able to handle the resulting code. Notably: Sun’s JRE 1.3 may throw an InternalErrorwhen encountering more than 256 Miranda methods (interface methods without implementations) in a class.( 指定一些接口可以被合并即使他的实现类没有实现全部的接口,这可以通过减少类的总数来减少输出文件体积的大小)

    obfuscate 混淆阶段

    -dontobfuscate

    Specifies not to obfuscate the input class files. By default, obfuscation is applied; classes and class members receive new short random names, except for the ones listed by the various -keep options. Internal attributes that are useful for debugging, such as source files names, variable names, and line numbers are removed.(指定不要混淆输入的类文件。默认情况下,应用混淆。类和类成员会收到新的短随机名称,除了各种-keep选项列出的名称外。对调试有用的内部属性,例如源文件名称,变量名称和行号被删除。)

    -printmapping [filename]

    Specifies to print the mapping from old names to new names for classes and class members that have been renamed. The mapping is printed to the standard output or to the given file. For example, it is required for subsequent incremental obfuscation, or if you ever want to make sense again of obfuscated stack traces. Only applicable when obfuscating.(指定输出旧名称到已被重命名的类和类成员名称的映射,后续想知道混淆的路径是可以参考的,只在混淆时适用)

    -applymapping filename

    Specifies to reuse the given name mapping that was printed out in a previous obfuscation run of ProGuard. Classes and class members that are listed in the mapping file receive the names specified along with them. Classes and class members that are not mentioned receive new names. The mapping may refer to input classes as well as library classes. This option can be useful for incremental obfuscation, i.e. processing add-ons or small patches to an existing piece of code. If the structure of the code changes fundamentally, ProGuard may print out warnings that applying a mapping is causing conflicts. You may be able to reduce this risk by specifying the option -useuniqueclassmembernames in both obfuscation runs. Only a single mapping file is allowed. Only applicable when obfuscating.(指定重用一个已经写好了的map文件作为新旧元素名的映射。元素名已经存在在mapping文件中的元素,按照映射表重命名;没有存在到mapping文件的元素,重新赋一个新的名字,只在混淆时适用)

    。。。

    还是附上一个链接 相当于语法指南(希望原作者不要介意啊 )更详细的可以去里面查阅 因为官网是英文的 可能不太好看

    初步的了解就看到这里了

    等之后再继续完善这部分的内容

    展开全文
  • 因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java代码混淆器)保护Java的类文件。[/quote]Java代码混淆器的原理就是将字节码转换为一个逻辑上的对等物,这种转换后的版本...
    [quote]从事Java编程的人都知道,可以通过逆向工程反编译得到Java程序的源代码,这种反编译工具之一就是JAD。因此,为保护我们的劳动成果,尽可能给反编译人员制造障碍,我们可以使用Java Obfuscator(Java代码混淆器)保护Java的类文件。[/quote]Java代码混淆器的原理就是将字节码转换为一个逻辑上的对等物,这种转换后的版本极难拆散。即使有人试图去反编译,过程将极其艰难复杂,并很难绕过转换后模糊晦涩的编码。主要的过程如下:
    

    用一个常规编译器(比如JDK)编译Java源代码运行Java代码混淆器,在受保护的环境下生成编译类文件。最后生成的会是一个不同的输出文档,也许扩展名也会不同。

    这个被重命名为.class file的文件在功能上与原字节码是对等的,由于虚拟机仍然可以对其进行解译,因此对性能不会产生影响。

    以下是一些可用来混淆(obfuscate)Java字节码的工具:

    [b]Zelix KlassMaster[/b]

    Zelix KlassMaster是一款用Java写的实用工具,能读取和修改Java类文件,可以运行在任何支持1.1.6版Java虚拟机的平台上。

    下载:http://www.zdnetindia.com/downloads/info/898255.html

    [b]Cinnabar Canner[/b]
    Canner通过创建一个原生Windows可执行文件(EXE文件)保护你的代码不被逆向工程反编译,这个可执行文件包含了你的应用程序类和资源的全部加密版本,只有在被JVM调用到内存中时才处于非加密状态。

    网站:http://www.cinnabarsystems.com/canner.html

    下载:http://www.cinnabarsystems.com/download.html

    [b]Jmangle Java类粉碎机[/b]

    Jmangle是用来阻止反编译Java程序,降低盗版的软件,开发者可用其粉碎类文件中的符号,一个比较常见的Java代码混淆器。

    网站:http://www.elegant-software.com/software/jmangle/

    下载:http://www.elegant-software.com/software/jmangle/download.html

    [b]JODE[/b]

    JODE是一款含Java解码器和优化器的java包。

    网站:http://java-source.net/open-source/obfuscators/jode

    最后要说的是,你也可使用其他几款类似的Java代码混淆器,这些工具运用许多不同的方法达到了相同的目标。他们也有共同之处,就是允许通过不同的过程

    转换生成.exe文件,将.class和.jar文件模糊化。


    【编辑推荐】

    用纯Java代码调用JavaFX的功能关于能提高Java代码可重用性的三个措施用EXT模拟面向对象的java代码 Java代码的静态编译和动态编译中的问题比较提高Java代码重用性的三个方法

    本篇文章来自<A href='http://www.soidc.net'>IDC专家网</a> 原文链接:http://www.soidc.net/articles/1213781061058/20090731/1215945536998_1.html
    展开全文
  • 绿色易维PHP代码加密专家 1.3 [一款优秀的PHP程序代码加密软件]下载 软件大小:1.28MB 软件语言:简体中文 软件类别: 软件授权:共享软件 软件性质:编程开发 更新时间:2013-07-21 09:12:57 应用平台:Win2...
  • Android 开发怎样做代码加密或混淆

    千次阅读 2018-11-29 15:41:07
    在大公司怎么做android代码混淆的?发现他们的软件用apktool反编译居然没看到classes.dex文件和当前安卓APP加固到底该如何做到防篡改?这两个问题中有过相应回答,现搬运要点过来。网易资深安全工程师钟亚平在今年的...
  • ProGuard介绍ProGuard是一个Java类文件压缩器,优化器,混淆器和... 这些步骤使代码更小,更高效,更难以进行逆向工程。 最终的预验证步骤将预验证信息添加到类,这是Java Micro Edition和Java 6及更高版本所必需的。所
  • WHAT’S NEW? 授权服务器改为虚拟空间+云服务器... 默认配置加密时,在每个代码段自动插入一个“混淆专用变量”,从而增加默认配置时的加密强度。让工具的使用更加轻松。 增加了一个入口保护算法 请从这里查看pdf ...
  • 模块代码编辑器中的语法高亮 变更日志 0.7.0(2017 年 4 月 13 日) 更改:小代码重构为现代标准 修正:用户界面和引擎损坏 删除:第三方站点导入 删除:仪表板中带有过时信息的页面 移除:截图 0.6.8(2
  • 相关恶意代码在从PyPI网站删除之前已被下载3万次,腾讯安全专家发现国内部分镜像库尚存在这些恶意代码,腾讯安全专家建议软件开发人员从PyPI代码库下载资源时,注意进行安全审核,避免将恶意代码安装到自己的开发...
  • 深度解析SDN——利益、战略、技术、实践(实战派专家力作,业内众多专家推荐) 张卫峰 编  ISBN 978-7-121-21821-7 2013年11月出版 定价:59.00元 232页 16开 编辑推荐 1、《深度解析SDN——利益、...
  • 人工智能:第六章 专家系统

    万次阅读 2015-12-08 09:12:51
    教学内容:本章主要介绍专家系统的定义、结构、特点和类型,分析了基于规则的专家系统、基于框架的专家系统和基于模型的专家系统,归纳了协同式和分布式等新型专家系统,并结合实例介绍了专家系统的设计方法和开发...
  • 关于JS压缩、混淆、加密

    千次阅读 2018-04-11 21:21:04
    转自: JS混淆加密专家顾名思义,压缩:Compress,是对JS文件进行压缩,一般是去除JS脚本中的空格、回车换行、注释。可以使用格式化工具对压缩后脚本进行格式化。混淆:Munge,Obfuscate,Confuse,,是对函数中的局部...
  • 前言 现在用户手机性能,浏览器性能,网络性能,越来越好,后端逻辑逐渐向前端转移,前端渲染变得...我们一般不希望核心业务逻辑轻易的被别人了解,往往会通过代码混淆的方式去进行保护。 那么,代码混淆对JS性能...
  • C专家编程

    千次阅读 2018-05-21 23:10:46
    枚举具有一个优点:#define定义的名字一般在编译时被丢弃,而枚举名字则通常一直在调试器中可见,可以在调试代码时使用它们。 3.3 优先级规则 规则如下: A 声明从它的名字开始读取,然后按照优先级顺序...
  • 2012年C++专家进阶之二

    千次阅读 2012-05-15 17:23:48
    2012年C++专家进阶之二 一、 类成员函数的重载、覆盖和隐藏的区别 相同点:都是函数名字相同 序号 区别项 重载 覆盖 隐藏 1 含义 无此一说 主要方便编写代码,...
  • jspacker js压缩专家v1.0

    2009-03-01 09:14:32
    本软件还可以通过对javascript的变量名称和过程名称进行编码,从而起到混淆js代码的作用,保护您的劳动成果。 JS代码压缩,基本原理为: 1. 压缩多余的空格和换行符 2. 删除注释,因为注释只对程序员有用而对于浏览...
  • 关于代码混淆,针对.NET程序程序而言,.NETReactor保护的程序目前还没有被破解过。这与.NETReactor的保护理念有关,因 为.NETReactor不仅对代码实现有效混淆,还对相对应的程序方法,函数,调用等进行模糊,并提供...
  • js压缩专家

    2012-09-04 20:02:49
    随着Ajax的应用普及,JavaScript已经得到了越来越多程序员的重视。但JS不好调试,代码多了也会严重影响...本软件还可以通过对javascript的变量名称和过程名称进行编码,从而起到混淆ja代码的作用,保护您的劳动成功。
  • AI动物识别专家系统-实验报告

    千次阅读 2020-04-25 11:54:42
    动物识别专家系统设计,并编程实现。 //包含事实库和规则库 //查找与规则前提链中前提号相同的事实 //如果事实的断言为真则判断下一个前提,为假,则表示该规则不适合 //事实断言为不知道的时候,向用户询问 规则I1...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,009
精华内容 4,003
关键字:

代码混淆专家