吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14149|回复: 28
收起左侧

[分享] 异或思路解密

  [复制链接]
a2601487 发表于 2018-3-24 13:32
本帖最后由 a2601487 于 2018-3-25 16:13 编辑

    来到吾爱破解的时间也不长,看到的东西很多,也觉得自己很渺小。尝试过很多大牛的软件辅助,的确在学习方面跟工作方面得到不少的帮助,但总不能制作伸手党
下面我就根据我的显浅知识来说下关于加密解密方面的知识。主要面向小白,老手捂着嘴笑好了。。。(能力有限,不足之处敬请指出与原谅!!)
    首先说一下异或加密解密原理吧!这就少不了计算机知识的补充了,计算机使用二进制的,就是0与1,我们通常逢10进1,而二进制就是逢2进1,就是说就算机
比较笨。。。虽然计算机只能识别0和1,但是这0和1有不同的排序组合序列就会有不同的信息呈现,(补充一下,其实计算机的二进制原理思想来自咱神洲大地,为什么?
不为什么,咱老祖宗牛啊,易经听过?没,那你就Low了,这易经里面的阴阳其实就是二进制的来源,算命的,风水的,阴阳家的,儒家,法家基本诸子百家的思想都源于
易经,易经这门学说,其实港真,以我的思维可能用十辈子都学不来,易经就是很科学,核心在于两个符号阴【两横】,阳【一横:长度等同于阴的两横】。阴与阳是一种
抽象符号,当然在某个领域阴与阳都会具象化,比如说性别,性格,水火。。。。阴阳相互组合出现不同的排序就会衍生不同的现象事情,简单类比成原子的排列顺序不同
会导致气态,液态,固态)这里二进制的0与1,是阴与阳的具象化。不扯了,二进制的话一般刚接触就4位,8位(0101,01011010)随意值,因为四位八位有一个便利性;
bin表示二进制 dec表示十进制
这里说下二进制与十进制的转换:bin1010 = dec10  
思路:dec321 拆开来是不是等于 3×10×10 + 2×10 + 1  因为进制是10 那么就很明显规律了,百位上(第三位)需要乘上两个10 ,十位上(第二位)需要乘上一个10
那么换做二进制也一样,bin1010 = 1×2×2×2 + 0×2×2 + 1×2 + 0×2 = 10 二进制转换为10进制

对于异或吧! 实际上是两个二进制数进行某种运算而得出另外一个结果,而这种运算就是异或
异或就是两个数组同数位上的两个数相运算,相同的为结果0,不同的结果为1 ;例子
数据A bin      1           0           1           0
数据B bin      0           1           1           0
                    不同      不同      同         同
结果              1           1           0           0
运算规则是同数位相同为0,不同为1

刚才说了电脑上只能识别二进制,那么换个说法就是其实我们所看见的所有电脑上的文件,包括文本,视频,音频 当前的网站都是0与1的进化版,所以很多文本文件出现乱码,
其中之一的就是对文本文件进行了异或加密,异或加密需要一个密钥。一个密钥一般是一个字节型大小的数值,为什么偏偏是一个字节的单位呢?因为电脑上(ascll)字符
【早期美国设定的标准好像:美国人用的是英文,而英文的单位是字母】一个字节就可以表示。就像上面说的如果结果 bin1100是乱码 ,那么数据B是密钥,数据A是原文。
因为结果通过密钥异或运算就可以得到源码,异或是双向运算。。。这么解释没错吧

好,思路:对于文本文件,TXT吧!很多时候都是空格居多,那么在乱码之后的文本文件会出现很多同一字符,那么就要看这个字符的二进制是什么了;我想说下,不能百分百准确
毕竟依靠个人经验,好,刚说完,异或运算是双向的,我们想要猜源码,那么就要先确定乱码,然后根据乱码跟源码之间的关系弄到密钥,有了密钥就可以大批量乱码还原。
举个例子说,某个(乱码)文本文件出现某个字符很多次数,那么这个字符可能是源码中的空格字符,那么第一步猜测乱码与源码,第二步猜测乱码与源码的异或关系,找到密钥
来上图:

错误部分:在于空格的Ascll码错了,(Space)的十六进制编码是20 ,X的十六进制没变,就是88
分隔符-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
乱码.png

这个乱码文件的X字符好多,他的源码我猜测是空格;那好,查下X对应的二进制是(百度ASCLL)
二进制0101 1000
十进制88
十六进制58
字符X

二进制0000 1001
十进制9
十六进制09
字符空格

那么密钥就是十六进制的78 也就是二进制的 01111000 。获得密钥我对所有的文字进行异或解密
原码.png

分隔符-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------





首先我很感谢大家的支持,我第一次编辑的时候出现了一个小错误,就是ascll码出错了!但是思路没错的,具体的异或运算思路在下面
其实也算不上多高大上的技术,只是将学习中的应用到生活与工作,那么就可以变得很高级的样子吧...嗯,让我情不自禁皮了一下。学
习是阳,生活/工作是阴。要结合一下排序组合才会出现不一样的精彩嘛


乱码


原码



假设乱码是X ,对应的十六进制就是 58      二进制01001000
那么对应的原码应该是空格,space(空格)对应十六进制20,二进制00100000
求密钥就要逆向思维,将乱码/原码当做结果,毕竟双向运算,就可以求出密钥
原码       space         0    0    1    0    0    0    0    0
乱码          X                0    1    0    1    1    0    0    0


密钥                            0    1    1    1    1    0    0    0
密钥就是十六进制的 78



这就是一种思路,可能源码不是空格,可以是其他符号,不过可以有这种思路,为日后破解多积累一分

免费评分

参与人数 9吾爱币 +8 热心值 +8 收起 理由
Kenzo.7 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
zezhao- + 1 + 1 热心回复!
y2008 + 2 + 1 用心讨论,共获提升!
ban_op + 1 + 1 谢谢@Thanks!
lookerJ + 1 热心回复!
Bloodst0ne + 1 谢谢@Thanks!
ws5483 + 1 + 1 热心回复!
aa334477 + 1 + 1 我很赞同!
疯狂逃窜 + 1 我很赞同!

查看全部评分

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

whklhh 发表于 2018-3-26 17:47
其实这个思路可以应用于所有单表置换的加密,还可以考虑一下当使用一个key来异或加密的时候该怎么办呢~
eg:  
char key[] = "thiskey";
for(i=0;i<len(text);i++)
{
  text[i] ^= key[i%len(key)];
}

这个就是多表置换啦。
tt9527 发表于 2018-3-24 13:50
Suppose 发表于 2018-3-24 14:04
对于异或,只需要知道逆运算就是再异或一次,比如C=A^B  那么 B=A^C ,A=B^C
疯狂逃窜 发表于 2018-3-24 14:10
要论现代科学,还是要起源于英国
zhhayu 发表于 2018-3-24 15:06
解释看懂了,例子没看懂。
zhhayu 发表于 2018-3-24 15:08
0101 1000 XOR  0000 1001  = 01111000  这个怎么异或来的??谢谢楼主。
 楼主| a2601487 发表于 2018-3-24 15:54
zhhayu 发表于 2018-3-24 15:08
0101 1000 XOR  0000 1001  = 01111000  这个怎么异或来的??谢谢楼主。

思维没错,是我的Ascll码给错了。空格的00100000   X的01011000  密钥 01111000
laffy19 发表于 2018-3-24 22:39
看看学习,谢谢分享
unkownc 发表于 2018-3-24 23:54 来自手机
谢谢分享
-ruo 发表于 2018-3-25 12:00
嗯,楼主  你的前面介绍部分的  二进制转十进制  1010(b)=12(d)  应该是 10吧?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-14 05:23

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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