请分析一下这个包的加密方法。

在游戏中,有几种频率非常高的加密方法——异或运算加密、背包运算加密等。

1.XOR加密:

示例:

我们看到的是A,B a,B,c,d,e,f F,然而他的实际意义并不是这样。他的实际意思是1,2,3,4,5,6。当我们看到1时,他的实际意义是6,并不是映射时按照一定的规律暗指的。如果我们只知道A,

加密问题

y=f(x),

这里的x相当于上面说的abcdef,而Y是123456,箭头是F,F是映射方法,函数是映射方法。从函数和映射的角度来理解加密是非常好的,也是非常正确的。

异或运算的加密特性

这种加密方式不是很隐蔽,但是非常容易实现。可以在整个软件中调用一个映射。所以在制作游戏的时候,不需要太高的技术,而且这个贴图可以随时修改,非常容易维护和更新。如果贴图法则被破解,还可以更新游戏来更新贴图。

破解这种加密方法:

在一个网络管理软件中,有一个隶属函数。功能是这样的。任何会员都可以直接上电脑,无需向网吧老板注册。

其实软件实现这个功能的过程是这样的。首先,用户输入用户名和密码,然后将它们发送到主控计算机。主控计算机检查用户名是否存在,然后检查密码是否正确。如果发送密码,会有一个包发送到主控计算机,可以中途拦截。这是WPE的特产。当然,也可以使用其他黑客工具进行拦截。首先,截取几个用户名和密码。下面这个是在电脑上截取的。

发送0000 01 00 00 00 7a 68 61 6e 67 6a 75 6e 30 30 37 00

00 02 00 64 66 6c 64 68 6a 66 64 65 6a 68 00 00

规则:比较规则和结构规则。这里使用了比较规则。通过使用比较规则的相同比较和不同比较,很容易识别用户名和密码在哪个部分。

用户名是:7a 68 61 6e 67 6a 75 6e 30 30 37。

密码是:64 66 6c 64 68 6a 66 64 65 6a 68。

立即使用我们的进位专家处理这些16字符,翻译结果如下:

用户名:zhangjun007

密码:dfldhjfdejh

显然密码不正确,因为一般人很难记住。

异或运算分析来分析这个密码!

假设这是一张完整的地图,

建立a到a的映射,逐一分析a到z的映射,结果都是错的。

所以要考虑字母到数字的映射。

最后,检查从C到L到0-9的映射。

分析结果出来了:

密码是:13915731275。

这个密码是正确的。

加密和解密

从一个二进制到另一个二进制是一个异或运算,它是一个单一的完全映射。所谓单满映射,就是每一个图像都有一个原图像,每一个原图像都有一个图像。

比如我们的映射是从16到10,像,10中的所有数字,16中的数字都是原始图像,10中的每个数字都唯一对应16中的一个数字,所以所有图像都有。

单满含沙射影:

如果我们这样对应,0对应A,1对应B,以此类推,如果你的生日是:1986,2月14,加密你的生日,根据我们的映射,结果是BJIG年,C月,BE日。

你如何知道一个包是否被异或加密?

如果一个包确实是用异或运算加密的,就要采用枚举法,也叫穷举法,例如:y=F(x)。

我们找几个点,叫做已知点,然后解方程。

例:已知A对应0,D对应3,F对应5。

那么你可以这样做,

F(a)=0,F(d)=3。所有这些异或运算都是线性的,即可以认为是一维的,映射为:F(x)=Asc(x)-97。

Asc()是VB中的一个函数,它的作用是返回字母的Ascii码。

测试皮带f的5,

(这些能决定功能的点从何而来?

例:要知道游戏里的钱数和包裹里的数的关系,

我们需要找到一些可以确定的东西,

我们把一元钱扔掉,看看数字是多少,找一分。如果不能确定一个点,可以取更多的点来确定。如果还是不行,再来。

如果是不规则映射,就要取所有点。

游戏里钱数的加密必须是常规运算加密,不知道是不是异或运算加密!多做动手分析,这需要经验和技巧,或者找一些工具帮助分析,对你的包破解会有很大帮助!

背包加密

这是一种相当先进的加密方法。

背包有两种,加背包和乘背包!

附加背包:1

前面所有数字的总和总是小于后面的数字,这些数字可以组成一个背包。数字是加密的数字。

这个背包只有一个组合能凑成这个数。

给大家一包(2,3,6,12,24,48)。

这个背包里由一些数字组成的数字:86,

86是怎么来的?

由2+12+24+48得到。

如果你没有这个背包,而是直接得到这个86,你知道组成这个86的最小数字吗?

你不可能知道,因为加起来是86的数字太多了:85+1=86,82+2=86等等。你不可能知道,所以背包加密很难破解。

如何在游戏中使用这种加密?

用户名和密码只能由字母和数字组成。

那么总* * *就是36个元素。

使用有36个元件的背包,

背包的一个元素对应一个字母或数字,

当播放器设置用户名时,

我们将这个用户名翻译成背包中的一个元素。

然后把这些用户换算的数字加起来,

得到一个数字,

这个号码是用户名,

你得到这个号码,

你知道用户名吗?

例:有一个密码:511,背包是:(1,2,4,8,16,32,64,128,256),是一个加法背包,对应关系如下:65436。g,128->;h,256-& gt;我,

那么密码就是:abcdefghi,

从511到这个密码,是不是很难想到?

如果密码不是这个顺序呢?(没有解释)

解密方法:

1.利用孤立点进行破解;2.用背包破解。

乘法背包

1 & lt;21+2 & lt;31 * 2 * 3 & lt;71 * 2 * 3 * 7 & lt;431 * 2 * 3 * 7 * 42 & lt;1683,

背包的特点是,如果背包里的数据从小到大排列,那么前面所有数据的乘积小于后面的任何一个元素。

裂纹增殖回来

像加法背包,可以用孤立点的方法,也可以用直接拿到背包的方法破解!

知道了背包和加密数据,怎么知道背包数是由哪些元素组成的?

另外,在背包中找到最近的但小于数字A的数字,从加密数字中减去数字A,比较减去的数字,继续重复上述操作,就很容易找到所有的部件了!乘法的方法也一样,这里就不介绍了!