问个问题, Java 有没有办法接入 gpu 运算,想写个暴力破解压缩包

2020-01-19 09:43:39 +08:00
 zzzmh

如题,就是写了自己玩玩的那种不开源不发布不盈利的 大概思路就是用 java 读 rar、zip、7z 等 从 0 开始逐个测试密码 密码不对就接着试的那种 如果只是开多线程用 cpu 算的话,感觉效率太低

早些年我接触过一个毛子大神写的 wifi 密码握手包的破解器 是用 gpu 运算的,算力贼强

迫于自身实力有限,就只会 java 一门后端语言 想问问有没有 java 调用 gpu 来运算的可能性? 如果需要再学 python 的话就算了。。。

10272 次点击
所在节点    Java
73 条回复
lihongjie0209
2020-01-19 11:51:22 +08:00
@bagel #23 按照黑盒测试, 使用 zip4j 作为 zip 文件的类库, 每次尝试解压都会读取一个 1024 * 4 的 buff, 读取之后进行 AES 校验, 失败抛出密码错误异常. 那么假设你的字典有 10000 项, 那么你需要进行 10000 次 read, 也就是 10000 次 IO(排除 JVM 对 IO 的优化).

参考: net.lingala.zip4j.tasks.AbstractExtractFileTask#unzipFile
lihongjie0209
2020-01-19 11:52:34 +08:00
@augustheart 看一下 40 楼, 忘记 @你了
augustheart
2020-01-19 12:01:07 +08:00
@lihongjie0209 这是一个专门用来解压缩的类库的具体实现,它并不需要考虑解密的速度,它的设计就只是为了输出解压后的数据,不管你的实际目的是什么,它都会把整个解压缩流程跑一遍。这就好比我坐公交需要刷上下车两次卡,但是我上车没刷卡,下车刷了一次卡,我只需要跑前面再刷一次卡补上就行,并不需要再坐个全程来补全刷卡。
你不要把你的思想局限在具体的类库的调用方式上,你这就好比写个批处理调用 zip 来判断压缩包密码,是非常低效且无脑的。
往大了说,编程就是算法+数据结构。io 并不是必须的。
lihongjie0209
2020-01-19 12:02:37 +08:00
@augustheart #42 是的, 如果黑盒测试这种浪费和低效是无法避免的.
lihongjie0209
2020-01-19 12:06:08 +08:00
@augustheart #42 具体要看楼主的取舍了, 如果黑盒测试, 那么瓶颈在 IO. 如果白盒测试(针对具体每个压缩文件类型以及加密算法), 那么瓶颈在研发难度以及时间.
ihciah
2020-01-19 12:08:53 +08:00
致命一击笑死🤣
augustheart
2020-01-19 12:11:56 +08:00
@lihongjie0209 从楼主的需求出发的话是不存在取舍这东西的
golden0125
2020-01-19 12:25:05 +08:00
真的佩服有些人,脸皮是厚如城墙,卖弄一知半解的知识恨不得用上所有自己知道的名词,被人现场打脸居然还能大言不惭怼回去,牛逼牛逼
realpg
2020-01-19 13:36:25 +08:00
暴力破解 RAR 加密现在有条件 忘了是必须加密文件名还是文件名必须不加密了
而且确实是计算密集型应用而不是 IO 密集型应用
liukangxu
2020-01-19 13:53:22 +08:00
大型翻车现场🤣
wuwukai007
2020-01-19 13:58:45 +08:00
生成 8 位的非纯数字密码估计都要好久吧,
mikicomo
2020-01-19 14:13:24 +08:00
下次发表评论前,还是要先提高自己的姿势水平,不然挺容易翻车的
ztxcccc
2020-01-19 14:18:09 +08:00
@ihciah 刀 刀 烈 火
hhhsuan
2020-01-19 14:26:05 +08:00
可以尝试一下 jcuda: http://www.jcuda.org/
zzzmh
2020-01-19 15:03:36 +08:00
厉害了 , 早上摸摸鱼发个帖没想到这么多人回复, 感谢各位大佬指点 ,我其实就是过年期间没事干想写的好玩的东西 ,其实目前还没开工, 就先做做准备的功课。
zzzmh
2020-01-19 15:06:32 +08:00
因为之前写过正常的压缩 zip、gzip、7z,所以打算先从这个入手,写个小工具,最终希望能 1 小时内至少跑完 8 位数字字母,这样才有可用性。如果有可能成的话,之后再扩展到 word 破解之类的上面,其实也没什么真的需要我破的文件,只是写着玩玩,顺便学学之前没写过的知识盲区
lostpg
2020-01-19 15:22:58 +08:00
暴力破解 io 密集。。。你说是,那就是,不反驳。
dicc
2020-01-19 15:47:09 +08:00
Passware Kit Forensic 2017 v1 (64-bit)
下载个破解的就可以了
seraphv3
2020-01-19 16:04:52 +08:00
以前玩过破解 wifi,用的 CDLinux,GPU 的确比 CPU 要快得多
seraphv3
2020-01-19 16:11:15 +08:00
@seraphv3 用 CDLinux 抓包,EWSA 在 windows 上跑包。这种方式一次都没有解出来过。后来有一次我把抓的包给专门跑包的人跑,跑了 2 个包,有一个跑出来了。不过如果是开了 WPS 的 wifi,尝试 PIN 码,一晚上就一定能跑出来

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/639055

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX