外挂制作教程--背包加密

newman0708 2004-09-20 09:28:37
背包加密是一中相当高级的加密方式,不容易破解,而且还原也相对容易,因此采用这种加密方式加密游戏数据也是非常好的,只要知道背包,就可以轻易算出来。

引用:
1<2,1+2<4,1+2+4<8,1+2+4+8<16,……,那么如果我们选择这样一些数,这些数从小到大排列,如果前面所有的数加起来的值总小于后面的数,那么这些数就可以构成一个背包,我们给一个这个背包里面的某些数的和,这个数就是被加密的数,由这个背包组成这个数只有一种组合方式,这个方式就是秘密了,例如给大家一个封包(2,3,6,12,24,48),由这个背包里的某些数构成的数:86,你知道86怎么来的吗?当然,你看着背包里面的内容,可以知道是由2+12+24+48得到的,

我还没有看懂86是怎么来的,怎么背包就是86?

我看了一点,但是没有看懂,所以想请问一下,哪位大哥会的话,请帮我讲的详细一点。

...全文
374 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeffandjeff 2004-09-22
  • 打赏
  • 举报
回复
按我的理解(单从你上面给的说明),哈,本人没有去研究过这种背包加密方法

应该是这样来实现加密的把
1)背包是只有加密者知道(相当于一把钥匙)
2)把要传递信息分拆到背包里(原文)
3)传递信息分拆到背包的值之和就是实际传递的数据(密文)
4)收到信息后利用背包就可以把密文还原为原文

举个例子,就以你开始用的例子来说把
1)你知道背包(2,3,6,12,24,48),你上面又说是封包(哈,姑且认为封包=背包)
2)譬如你要传递的信息由2,12,24,48组成,那么这组信息经过背包加密就编程86
3)收到86后,你就可以根据背包把86唯一拆分为原始信息的 2,12,24,48

这只是原理,具体的操作可能就会有些变化咯
我觉得一般都是把传递信息变成16进制的串来进行传递咯,比如你要123,那么你可能会经过一段你的算法先把123分拆为背包里面的唯一组合
收到组合后,再经过一次算法把这个组合还原为123,也就是经过两次的加密咯
kerlw 2004-09-21
  • 打赏
  • 举报
回复
上面那段可以这样给你改写一下,你应该就能明白了:
你有一个封包,内容为 02 03 06 12 24 48,然后你就可以把这一段拿出来作为一个背包,加密为86
kerlw 2004-09-21
  • 打赏
  • 举报
回复
你这个是某人写的一篇关于写金庸群侠传外挂的一篇文章吧,哈哈。
文章应该写的很清楚的。你仔细阅读全文,动动脑筋就能理解了。
mastercyl 2004-09-21
  • 打赏
  • 举报
回复
学习
UP
tongcheng 2004-09-21
  • 打赏
  • 举报
回复
up
newman0708 2004-09-21
  • 打赏
  • 举报
回复
那么怎么加密解密呢!

能否给一个具体一点的例子?


谢谢
property1 2004-09-21
  • 打赏
  • 举报
回复
up
newman0708 2004-09-21
  • 打赏
  • 举报
回复
各位,如果有空的话,能不能帮我一下。

把背包加密解密的过程能不能详细的讲的一下,我真的很想知道。

假设我有一个字符串“123”有发送,那么,
在网络上传输时的码是什么样?(加密),具体的字符串是什么样的?
对方收到后如何解密?(解密),具体的字符串是什么样的?


谢谢

kerlw 2004-09-21
  • 打赏
  • 举报
回复
哦,对了,刚才忘了说明白了,我理解的那个和不止是86一个,只要是2,3,6,12,24,48这组数里面的数值(个数任意)排列组合起来得到的和(但是要求排列组合方法唯一)就可以作为密文,比如得到背包6,就是2,3,得到12就是2,3,6
kerlw 2004-09-21
  • 打赏
  • 举报
回复
我没有看全文,所以可能理解有偏差。仅供参考:
这种加密方式没有密匙这种概念了,实际上也有,只是不同于一般的加密方式,加密之前你就得选好一组按从小到大排列的数,然后定义一个和,这个和必定是这些数字的和+1,而且有且仅有一种组合可以得到这个和。比如上面的2,3,6,12,24,48这一组数,能够组成的和就是86。当你得到一个背包为86的时候,你就知道他是2,3,6,12,24,48.至于怎么区分背包和正常的封包,那就是另外有个话题了。你还是仔细阅读一下原文,揣摩揣摩~
newman0708 2004-09-21
  • 打赏
  • 举报
回复
那我在网张传输的内容是02 03 06 12 24 48吗?

86又有什么用?

我又是怎么去解密呢?

谢谢!

讲详细点,我很菜的。
jeffandjeff 2004-09-20
  • 打赏
  • 举报
回复
(2,3,6,12,24,48)这是背包
86 = 2+12+24+48
就是说86是加密数据,是由背包里面某些数(2+12+24+48)组成的加密数据
ccchenyu 2004-09-20
  • 打赏
  • 举报
回复
就这么多么?把所有的都贴出来
我看得也有点晕
zedk 2004-09-20
  • 打赏
  • 举报
回复
up
zl194 2004-09-20
  • 打赏
  • 举报
回复
up

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧