吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 62183|回复: 64
收起左侧

[原创工具] lua脚本加密工具:简单异或加密

  [复制链接]
Ganlv 发表于 2018-5-24 19:04
本帖最后由 Ganlv 于 2018-5-25 02:35 编辑

系列教程

前言

做了那么多 Lua 脚本破解,我们来尝试写一个不能被破解的加密。

所谓不能被破解,并不是真正不能被破解,只是在没有密码的情况下很难破解。

算法

原理很简单,把原文的每一字节依次和秘钥的每一字节进行异或就行了,原文比密文长的话就把密文再多重复几遍。

例子

原文 Hello, world!,秘钥 foobar

先把他们转换成为 16 进制(其实转换成 2 进制更直观)

原文 48656C6C6F2C20776F726C6421,秘钥 666F6F626172

然后依次异或运算

0x48 ^ 0x66 = 0x2E // H
0x65 ^ 0x6F = 0x0A // e
0x6C ^ 0x6F = 0x03 // l
0x6C ^ 0x62 = 0x0E // l
0x6F ^ 0x61 = 0x0E // o
0x2C ^ 0x72 = 0x5E // ,

05.jpg

秘钥不够长了,那就再从头开始

0x20 ^ 0x66 = 0x46 // 空格
0x77 ^ 0x6F = 0x18 // w
0x6F ^ 0x6F = 0x00 // o
0x72 ^ 0x62 = 0x10 // r
0x6C ^ 0x61 = 0x0D // l
0x64 ^ 0x72 = 0x16 // d

0x21 ^ 0x66 = 0x47 // !

连起来,得到的密文就是 2E0A030E0E5E461800100D1647

异或运算其实就是“不兼得”,说的更通俗一些,对应位不相等为 1,相等为 0

比如 0x48 ^ 0x66 写成二进制就是 01001000 ^ 01100110

0 ^ 0 = 0
1 ^ 1 = 0
0 ^ 1 = 1
0 ^ 0 = 0
1 ^ 0 = 1
0 ^ 1 = 1
0 ^ 1 = 1
0 ^ 0 = 0

结果就是 00101110, 也就是 0x2E

异或运算的一个特性就是 a ^ b = c 那么 c ^ b = a,这样如果 b 是秘钥的话,原文 a 被加密成 cc 又可以解密回原文 a 了。

一些额外的操作

其实这一步也没什么必要,就是一个简单的打乱顺序,让结果看起来更奇怪一些,没有什么真正的用途,并不会对防破解有什么作用。

  • 打乱顺序
  • 添加乱码

通过概率统计来破解

这种简单异或加密,如果秘钥太短的话很有可能被通过统计方式破解出来,比如源代码有连续的空格,那么密文中就会在这些出现与秘钥相关密文,而且因为空格很常见,可能统计出这些片段从而提取出秘钥。

效果图

01.jpg

02.jpg

03.jpg

04.jpg

支持中文密码

06.jpg

附件

本程序代码开源,具体请在 GitHub 搜索。附件是编译好的版本,使用 Chrome 等版本较新的浏览器打开 dist/index.html 即可。

lua-simple-encrypt.7z (46.19 KB, 下载次数: 3628)

  • 20180525 尝试修复GG修改器错误问题(因为 Lua 数组第一个元素下标为 1,我错误写成了 0
  • 20180525 尝试修复GG修改器错误问题(因为 http://lua-users.org/wiki/BitUtils 提供的第一种异或算法在手机上运行存在问题)
  • 20180525 增加对中文密码的支持(仅支持UTF-8编码,通常不会出现问题)

免费评分

参与人数 11吾爱币 +19 热心值 +10 收起 理由
才情 + 1 + 1 谢谢@Thanks!
紫斗仙皇 + 1 谢谢@Thanks!
Kokomon + 1 谢谢@Thanks!
sty520520 + 1 + 1 用心讨论,共获提升!
szqever + 1 + 1 谢谢@Thanks!
小权666 + 2 + 1 我很赞同!
云在天 + 8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zyqdzyqd + 1 + 1 谢谢@Thanks!
610100 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
dibh10 + 1 + 1 用心讨论,共获提升!
lin_xop + 1 + 1 热心回复!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| Ganlv 发表于 2018-5-25 19:01
熊有儒 发表于 2018-5-25 18:38
何时有解密工具放出啊

简单异或加密、RC4加密、AES加密都是不可解的,只能穷举密钥。如果密钥量足够,并且原文没有特征,密文长度较短都是不可能解密的。解密工具不存在的。
zhz950107 发表于 2018-6-15 13:16
Apea_s 发表于 2018-6-12 11:58
请问楼主,听起来很高大上其实一堆无用代码,并且没摸清楚什么加密的 SSU 名字有点长反正关键字就是SSU加密,这个怎么搞,有空能麻烦看一下嘛。
注意一下有行数验证,gg.getLine = function() return 1 end 即可。
ssu.lua.txt (886.36 KB, 下载次数: 113)

 楼主| Ganlv 发表于 2018-5-24 23:53
吞茶嚼花 发表于 2018-5-24 21:58
好像……gg执行不了

有没有什么报错信息,我自己没测试过gg修改器。
 楼主| Ganlv 发表于 2018-5-24 19:53
wojinz 发表于 2018-5-24 19:49
搞的特复杂啊?

加密肯定比解密要麻烦一点,得自己写算法,其实原理并不算多复杂,这可能是对称加密中最简单的了。
skick5200 发表于 2018-6-7 12:31 来自手机
最新加密,SSU你可以破解吗?
邓扬扬 发表于 2018-5-24 21:59
楼主加密后无法正常运行
我识故人兮 发表于 2018-5-25 19:56 来自手机
KΟKΟ 发表于 2018-5-25 19:50
为什么我软件经常被人破解.不论我怎么自己加密,只能弄一些暗门,但是也不好意思开启暗门....
因为不懂破 ...

知道密钥后,怎么破解处原文呢,小白请指教
wojinz 发表于 2018-5-24 19:49
搞的特复杂啊?
Nineg 发表于 2018-5-24 20:05
感谢大佬的分享。。谢谢
爱吃土豆的小冷 发表于 2018-5-24 20:52
大佬又来了,每次看见大佬发帖又懂了一点
吞茶嚼花 发表于 2018-5-24 21:58
好像……gg执行不了

免费评分

参与人数 1吾爱币 +1 收起 理由
Ganlv + 1 我更新了附件,可能是因为一个1错写成0了,具体我再试试

查看全部评分

linfengtai2008 发表于 2018-5-24 22:15 来自手机
大佬,luojit解密方法有吗
井中观 发表于 2018-5-24 22:17
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 17:49

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表