代码混淆技术有哪些 代码混淆定义及操作

有时候,我们想分析一个程序的java层逻辑。反编译后,我们发现所有的函数名、变量名、类名等。的代码已经成为一些混乱的名字,没有任何规则。这是怎么回事?实际上,程序是混乱的。有什么困惑?混乱是通过一些工具批量重命名函数名、变量名、类名、字段。混淆的例子和作用示例...

有时候,我们想分析一个程序的java层逻辑。反编译后,我们发现所有的函数名、变量名、类名等。的代码已经成为一些混乱的名字,没有任何规则。这是怎么回事?实际上,程序是混乱的。

有什么困惑?

混乱是通过一些工具批量重命名函数名、变量名、类名、字段。

混淆的例子和作用

示例:

我们来看一个不混淆的例子:这是我们自己写的程序,反编译的:

逻辑很清楚。反编译后的源代码和我们写的代码一模一样。我们写的应用就是一只被宰的羊,谁都可以咬。

代码保护的第一步是混淆,即对代码进行篡改,使反编译后的代码不那么容易理解。

打开andoridkiller工具,以X右为例

打开一个邮件文件夹:

发现都变成了这种:这种混淆只是初级的,有的可能会混淆成外语。

正常发育没有这个名字。

点进去看一个就行了。虽然有影响,但影响不大。

需要一个工具:jdax-GUI;

看看这个工具可以将我们的代码恢复到什么程序中:

我们可以使用一些工具来达到简单混淆的目的。点击这个

图标,它会再次混淆我们的代码。

重新打开,我们的代码会在这里重新编译重命名,方便我们区分。

迷茫无非是增加我们的逆向时间。放入jdax-gui是为了更好看,但整体逻辑不会混乱。

也就是说,代码混淆并不能一劳永逸地解决代码保护的问题。只是阅读代码比开发代码需要更长的时间。当然,有些核心代码最好不要放在Java里。有一些非常有毅力的人愿意度过这段时间。

Proguard和混淆功能介绍

(1)ProGuard会检测并移除包中未使用的类、字段、方法和属性,包括自己代码库中未使用的项。

(2)ProGuard还可以优化字节码,去掉不用的代码指令,用简称混淆其他类、字段和方法。

本文来自倾听雪落投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/568971.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 05-30
下一篇 05-30

相关推荐

  • 网页列表设计代码 网页制作经验分享

    有序列表经过前面对表格和形式的学习,再来学习列表是非常简单易懂的。学习是建立知识体系的过程。没有系统的学习再多的知识,也会支离破碎,也很难形成技能或者深度理解。所以,如果你是零基础的初学者,是第一次看我的教程。如果时间允许,请从目录中寻找第一个,循序渐进地

    2023-07-25 09:07:01
    767 0
  • steam错误代码-102解决方案

    改host就可以了 百度“steam118错误修复工具”选第一个3DM下载就可以了。建议你把电脑做成w10系统,不一定苹果电脑就要用苹果系统啊,w10还更好用。你是打开商城或者市场吧网站被污染了,你需要挂加速器,或者百度steam网站被污染,然后找到一个小程序,才能打开网站。1在桌面

    2023-07-23 04:39:01
    662 0
  • eclipse平台简介 java新手代码大全

    Eclipse workspace多平台使用u盘的解决方案(workroom空);在过去的Java编程中,Eclipse占据了绝大多数的位置。我们知道Java是一种跨平台的编程语言,所以我们有可能在不同的平台上编写Java代码。我们在学校机房的一个设备上写好Java代码后,回到宿舍还需要继续写。这时候我们

    2023-07-23 03:20:01
    502 0
  • html居中代码怎么写 网页制作文字居中代码

    这个问题好像是面试必问的!以前会时不时提问,给基本的分题。1.配置盒子的宽度和高度是已知的,位置:绝对;左:50%;top:50%;左边距:-自身宽度的一半;***rgin-top:-自身高度的一半;2.表格单元格布局父显示:表格单元;垂直对齐:居中;子边距:0自动;3.定位+改造;适用于宽度

    2023-07-23 03:11:01
    505 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信