算法分析&传输加密&数据格式&密文存储&代码混淆&逆向保护

发布于:2025-04-22 ⋅ 阅读:(11) ⋅ 点赞:(0)
  • 代码混淆

  • 一.基本概念
  • java的bytecode很容易通过JAD等反编译工具还原出源代码。这样势必不满足安全的定义。如何一定程度上保护需要防止被反编译的源代码呢?混淆(obfuscate)技术注意:用obfuscate防盗版是根本不可能,连汇编这种东西都能被**掉,而java代码基本上等同于开源的同义词。用obfuscate只是为了增加反编译的难度,保护源代码的知识产权。混淆包照常运行,没有任何问题。可以使用反编译工具如jd-gui查看混淆后的包,验证混淆效果。
  • 二.混淆技术
  • 名称混淆 name obfuscode
  • 将有意义的类,字段、方法名称更改为无意义的字符串。生成的新名称越 短,字节代码越小。在名称混淆的字节代码中,包,类,字段和方法名称已重命名,并且永远不能恢复原始名称。
  • 流混淆 Flow Obfuscation
  • 用于if, switch, while,for等关键字,对字节码进行细微的修改,模糊控制流,而不改变代码在运行时的行为。通常情况下,选择和循环等逻辑构造会被更改,因此它们不再具有直接等效的Java源代码。流模糊的字节码通常强制反编译器将一系列标签和非法的goto语句插入到它们生成的源代码中。源代码有时会因为反编译错误而变得更加模糊。
  • 其他
  • 异常混淆 Exception Obfuscation
  • 字符串加密混淆 String Encryption
  • 引用混淆 Reference Obfuscation
  • 网络安全探针
  • 定义与功能
  • 定义:网络安全设备探针是一种设备或软件,它通过捕获和分析网络数据包,实时监控网络活动,以发现潜在的网络威胁。
  • 功能:
  • 实时监控:探针能够实时捕获网络中的数据包,并分析其中的信息,如源地址、目的地址、协议类型等。
  • 威胁检测:通过比较捕获到的数据包与已知的正常行为模式或恶意行为特征,探针能够识别出网络中的异常行为,从而发现潜在的网络攻击。
  • 安全防护:一旦检测到网络威胁,探针可以采取相应的措施进行防范,如阻断攻击源、记录攻击信息等。
  • 性能优化:除了安全防护外,探针还可以提供网络流量分析和报告,帮助网络管理员了解网络使用情况,优化网络架构和配置,提高网络性能和安全性。
  • 数据传输的的形式

  • XML

  • XML是用来传输储存数据的(主要还是传输功能)
  • 他的结构 其实就是<>这类的
  • <?xml version="1.0" encoding="UTF-8"?><note><to>Tove</to><from>Jani</from><heading>Reminder</heading><body>Don't forget me this weekend!</body></note>
  • json

  •  JSON: JavaScript Object Notation JS对象简谱 , 是一种轻量级的数据交换格式.
  • {'admin':'admin','password':'123456'}
  • 实例一:
  • 数据在传输过程中的加密(以url为例)
  • 做实例的目的就是明白,网站的url编码会影响到我们的漏洞探针(漏洞的注入点)问题,只有我们用相同的注入代码(加密的)才能让注入成功 因为这个编码在服务器后端他会进行解码

  • 我们用一下加密工具 cap,选择base64
  • 实例二 密码加密的问题
  • 如密码是 x=123
  • 我们也可以写成 x{
  • x:123
  • }
  • 改漏洞探针,这边我们抓包了之后在{}里面去改
  • 不同的格式

  • burp抓包里一下有用的信息

  • 数据库密码的加密问题
  • 不同网站的加密 DIScus

  • 这边其实加上这个盐才能解密

  • 这是我们的第二种形式就是web加盐
  • 我们安装新版的dis

  • 这边这个新版的用的是DES加密(这个需要偏移值,和密匙才能解)
  • 实例二
  • php源码的加密(这个就是防止被溯源到源码)

  • 去网上随便找个加密php的文件工具
  • 这边我们看一下php的文件效果


网站公告

今日签到

点亮在社区的每一天
去签到