首页
社区
课程
招聘
[原创]神奇的文件加密
发表于: 2020-7-10 16:13 5497

[原创]神奇的文件加密

2020-7-10 16:13
5497
  本文件加密不需要输入密码,随便用鼠标点击几下就可以完成文件加密。
  并且支持拖拽操作,将文件拖到程序界面,即可完成文件的选择。
  程序界面上有使用说明。祝您加密愉快!

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 2
支持
分享
最新回复 (28)
雪    币: 211
活跃值: (531)
能力值: ( LV9,RANK:172 )
在线值:
发帖
回帖
粉丝
2

直接说了, 代码质量辣鸡, 代码思路辣鸡。 


附件是用你的不可破解的软件加密的,写个python来解密,完全不需要所谓的组合文件。

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import chardet
import sys
import struct

dword_424A30 = 0


def msvcrt_srand(x):
    global dword_424A30
    dword_424A30 = x


def msvcrt_rand():
    global dword_424A30
    dword_424A30 = 214013 * dword_424A30 + 2531011
    return (dword_424A30 >> 16) & 0x7FFF

    # return msvcrt.rand()


if __name__ == '__main__':
    if len(sys.argv) == 2:
        with open(sys.argv[1], 'rb') as f:
            file_bin = f.read()
            check_len = 64 if len(file_bin) > 64 else len(file_bin)

            for i in range(2 ** 32):
                msvcrt_srand(i)

                text = []
                for b in file_bin[0:check_len]:
                    b0 = 0xff & (b - (msvcrt_rand() & 0xff))
                    text.append(struct.pack('B', b0))

                plaintext = b''.join(text)
                ret = chardet.detect(plaintext)

                if ret['confidence'] > 0.9:
                    if ret['encoding'] in ['GBK', 'GB2312', 'utf-8', 'ascii']:
                        print(i, plaintext)
                        break

    print('end')


最后于 2020-7-17 12:51 被vmtest编辑 ,原因:
上传的附件:
2020-7-17 12:51
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
3
@vmtest 本程序是用来加密文件的,组合文件相当于密码,你不用组合文件,相当于没有加密,那就没有解密的问题了。不加密你破解的是什么啊?
2020-7-17 16:36
0
雪    币: 211
活跃值: (531)
能力值: ( LV9,RANK:172 )
在线值:
发帖
回帖
粉丝
4
sjdkx @vmtest 本程序是用来加密文件的,组合文件相当于密码,你不用组合文件,相当于没有加密,那就没有解密的问题了。不加密你破解的是什么啊?
你的理解能力有问题???    我说的不用组合文件是解密的时候不用。
a.txt 是加密后的结果, 用你高大上组合文件加出来的。  

你的代码质量是在太差了,一堆的问题。
2020-7-17 16:41
0
雪    币: 7065
活跃值: (3106)
能力值: ( LV4,RANK:52 )
在线值:
发帖
回帖
粉丝
5
for i in range(2 ** 32):   这句浪费了,for i in range(2560)  就可以了,10个字节,每个字节最大是256
2020-7-17 16:55
0
雪    币: 397
活跃值: (799)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wsy
6
vmtest 你的理解能力有问题??? 我说的不用组合文件是解密的时候不用。 a.txt 是加密后的结果, 用你高大上组合文件加出来的。 你的代码质量是在太差了,一堆的问题。
兄弟,你省了我的事了。
我真懒得攻击他的东西。怕有木马,不敢下载他的程序。
2020-7-17 16:56
0
雪    币: 211
活跃值: (531)
能力值: ( LV9,RANK:172 )
在线值:
发帖
回帖
粉丝
7
不对 for i in range(2 ** 32): 这句浪费了,for i in range(2560) 就可以了,10个字节,每个字节最大是256
是的。  确实可以改小。 这个python以前写的直接复制了,他的另外一个程序也是这样。  真的好low啊。
2020-7-17 17:23
0
雪    币: 211
活跃值: (531)
能力值: ( LV9,RANK:172 )
在线值:
发帖
回帖
粉丝
8
wsy 兄弟,你省了我的事了。 我真懒得攻击他的东西。怕有木马,不敢下载他的程序。
他能力这么差不可能写木马。  但是倒是担心他的代码bug,弄坏我的vbox虚拟机,运行前还备份了一下。 这种人就是井底之蛙。大佬不用和他计较。
2020-7-17 17:29
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
9
你们这些高人,说的话不能理解,能叙述详细些吗?例如明文是什么?用什么组合文件加密的,怎么解出明文的?不懂python,你的解密程序有可执行的吗?
2020-7-17 19:16
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
10
如果真能解出确实不错,我的加密程序是直接用伪随机数加密的,中间省略了一步即密钥随机化,有此步骤你们可能就不好破解了,因为那相当于真随机数组加密。
2020-7-17 19:22
0
雪    币: 688
活跃值: (204)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
和小孩子玩抓迷藏一样,在一间小房子里躲起来,他就以为别人找不到他了.
2020-7-17 23:18
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
12
@vmtest 你那也叫破解,使用python多年前写的东西,源码放那表示你能破解?简直是儿戏。
若能破解请将实例写出,用何明文,如何加密的,你怎么复现原文的写清楚,别打马虎眼。
我那个加密软件,就是为了人们破解用的,直接用rand()加密,连乘一个系数和加一个系数都没有,本来应对rand()组成的密钥数组做随机化处理的也省略了,即便如此还没有人轻易的破解实在是悲哀。 
2020-7-18 08:16
0
雪    币: 6256
活跃值: (703)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
sjdkx 你们这些高人,说的话不能理解,能叙述详细些吗?例如明文是什么?用什么组合文件加密的,怎么解出明文的?不懂python,你的解密程序有可执行的吗?

简直浪费时间

最后于 2020-7-18 10:32 被cocomail编辑 ,原因: 錯別字
2020-7-18 10:27
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
14
软件逆向,找到入口不足为奇,程序并没有做抑制穷举攻击的举动,穷举攻击怕多入口,长密码。
穷举攻击能快速判别解密是否成功是关键,否则正解错过也浑然不知。就算有点三脚猫的功夫有什么值得装大条的资本。
当代密码学本身就是垃圾,例如商用密码规定那么周到,选用加密方式那么多专家论证,不照样泄露储户信息吗?
2020-7-19 20:28
0
雪    币: 5514
活跃值: (2254)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
新人表示,看雪的精华数代表能力,连精华都没有,还是安心学习吧。
2020-7-19 22:37
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
16
许多所谓精华,就是表面科普些基础知识,并无创新。
2020-7-20 00:13
0
雪    币: 211
活跃值: (531)
能力值: ( LV9,RANK:172 )
在线值:
发帖
回帖
粉丝
17
sjdkx 软件逆向,找到入口不足为奇,程序并没有做抑制穷举攻击的举动,穷举攻击怕多入口,长密码。 穷举攻击能快速判别解密是否成功是关键,否则正解错过也浑然不知。就算有点三脚猫的功夫有什么值得装大条的资本。 ...

才几行代码,这都看不懂还得我解释给你听? 真是呵呵的。

储户密码泄露,可能来自sql注入, 垂直权限,水平权限,https劫持,加密前Hook,或者客户端硬编码密钥。

你见过直接穷举aes, rsa1024密钥的?   

 

你所谓的无法破解总结下来就3句话

1  我使用随机函数,随机函数肯定高大上

2 我加密的密文没有验证对错

3 用户愿意配合我使用超长密码,并且愿意使用反人类的gui操作


我看csdn博客你接触编程17年+了,恕我直言,可能你真的不适合这个行业。没有学习能力,并且在自己的臆想中自大。

买本论坛的《加密与解密》好好看看,入个门再出来讨论吧。 你的任何帖子我不再回复,简直浪费时间。


2020-7-20 10:58
0
雪    币: 688
活跃值: (204)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
楼上的建议极对.
做了17年完成这个样子,的确是入错行了,智商跟不上..
做了17年"加密",连"安全与不安全"的概念都还未搞清楚,真的是没有更傻的了.
纯属路过,不吐不快.我发现这个论坛有3个类似的"臆想家",并且不接受任何别人的解释和意见.
2020-7-20 15:11
0
雪    币: 3017
活跃值: (27722)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
19
请各位伙伴交流讨论时语气委婉些,也不要恶意重伤他人,避免造成一些矛盾。
2020-7-20 17:30
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
20
谢谢vmtest的指教,确实基础很差又狂妄自大,编程及密码学都是业余爱好胡乱学了一点皮毛。
这个加密软件主要特点是加密操作简单,无需输入密码,加密强度较低。
2020-7-20 20:25
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
21
@vmtest 对不起耽误你的时间了,我的加密程序很辣鸡,你那个Python我也不会用,你要能破解我的加密软件的密文的话,能否举个实例。让密码爱好者也心服口服,否则你只是好像能破解的样子实在没什么意思。
2020-7-23 10:35
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
22
@vmtest   可以说我这个加密程序是能够破解的,因为这里是直接用随机函数rand()生成的数组加密的,并没有设置什么障碍,如果用密码控制对rand()生成的数组做进一步的随机化处理,任何人都不可能破解的,因为用户密码是未知数它衍生出来的东西是找不到的,复现不了的。而这个程序破解的难点就是用穷举种子出来数组,你如何快速的找出正解,这个应该能做到,就是做到了也没什么了不起,能解出前面那种情况才是真本事。
2020-7-26 22:33
0
雪    币: 215
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
23
太高端深奥了
2020-7-28 15:07
0
雪    币: 10014
活跃值: (2012)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
24
@vmtest 你的逆向工程往那一摆,不能运行等于没用。也看不出逆出什么关键的东西。
没有能力破解密文或不屑一顾,就老实待着吧,别拿这些没用的东西示众。
2020-8-3 08:53
0
雪    币: 105
活跃值: (4447)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25


原来无论哪里都有民科啊

我错了,

....不应该回复的,

越回复 越起劲....

最后于 2020-8-3 09:53 被Imxz编辑 ,原因:
2020-8-3 09:52
0
游客
登录 | 注册 方可回帖
返回
//