windows下hashcat利用GPU显卡性能破解密码
由于一般密码破解工具的破解速度实在是太慢,而且支持的密码破解协议也不多,暴力破解的话,有的密码1年时间也破不出来,用字典跑的话必须要明文密码在字典里才行,而且密码字典太大的话,也很浪费时间,跑不出来也是很常见的事情,下面推荐一款世界上破解密码速度最快的工具,hashcat,hashcat github地址,选择最新版的下载即可。

hashcat支持多种计算核心:
GPU
CPU
APU
DSP
FPGA
Coprocessor
下载官方NVIDA驱动程序
到NVIDA官网下载与自己电脑显卡型号相对应的显卡驱动程序如图所示,然后根据提示一步步安装即可。

安装完成后,重启电脑即可。
(NAVIDA的显卡只需要安装官方驱动即可,已经内含HASHCAT破解密码所需的GPU运算工具。记得使用上图官方下载的显卡驱动,不要使用windows自带的显卡驱动。)
测试hashcat是否能利用gpu运算速度来破解密码
hashcat64.exe -b

基准测试hashcat破解各种密码散列的速度。

检查设置如果已正确安装了GPU能够看到它并会列出其属性和使用的驱动程序信息。
hashcat详细命令及使用
普通
-m, —hash-type=NUM 哈希类别,其NUM值参考其帮助信息下面的哈希类别值,其值为数字。如果不指定m值则默认指md5,例如-m 1800是sha512 Linux加密。 -a, –attack-mode=NUM 攻击模式,其值参考后面对参数。“-a ”字典攻击,“-a ” 组合攻击;“-a ”掩码攻击。 -V, —version 版本信息 -h, –help 帮助信息。 –quiet 安静的模式, 抑制输出
基准测试
-b, –benchmark 测试计算机破解速度和显示硬件相关信息
杂项
–hex-salt salt值是用十六进制给出的 –hex-charset 设定字符集是十六进制给出 –runtime=NUM 运行数秒(NUM值)后的中止会话 –status 启用状态屏幕的自动更新 –status-timer=NUM 状态屏幕更新秒值 –status-automat 以机器可读的格式显示状态视图 –session 后跟会话名称,主要用于中止任务后的恢复破解。
文件
-o, –outfile=FILE 定义哈希文件恢复输出文件 –outfile-format=NUM 定义哈希文件输出格式,见下面的参考资料 –outfile-autohex-disable 禁止使用十六进制输出明文 -p, –separator=CHAR 为哈希列表/输出文件定义分隔符字符 –show 仅仅显示已经破解的密码 –left 仅仅显示未破解的密码 –username 忽略hash表中的用户名,对linux文件直接进行破解,不需要进行整理。 –remove 移除破解成功的hash,当hash是从文本中读取时有用,避免自己手工移除已经破解的hash –stdout 控制台模式 –potfile-disable 不写入pot文件 –debug-mode=NUM 定义调试模式(仅通过使用规则进行混合),参见下面的参考资料 –debug-file=FILE 调试规则的输出文件(请参阅调试模式) -e, –salt-file=FILE 定义加盐文件列表 –logfile-disable 禁止logfile
资源
-c, –segment-size=NUM 字典文件缓存大小(M) -n, –threads=NUM 线程数 -s, –words-skip=NUM 跳过单词数 -l, –words-limit=NUM 限制单词数(分布式)
规则
-r, –rules-file=FILE 使用规则文件: -r .rule, -g, –generate-rules=NUM 随机生成规则 –generate-rules-func-min= 每个随机规则最小值 –generate-rules-func-max=每个随机规则最大值 –generate-rules-seed=NUM 强制RNG种子数
自定义字符集
-, –custom-charset1=CS 用户定义的字符集 -, –custom-charset2=CS 例如: -, –custom-charset3=CS –custom-charset1=?dabcdef : 设置? 为0123456789abcdef -, –custom-charset4=CS -2mycharset.hcchr : 设置 ? 包含在mycharset.hcchr
攻击模式
–toggle-min=NUM 在字典中字母的最小值 –toggle-max=NUM 在字典中字母的最大值 –increment 使用增强模式 –increment-min=NUM 增强模式开始值 –increment-max=NUM 增强模式结束值 –perm-min=NUM 过滤比NUM数小的单词 –perm-max=NUM 过滤比NUM数大的单词 -t, –table-file=FILE 表文件 –table-min=NUM 在字典中的最小字符值 –table-max=NUM 在字典中的最大字符值 –pw-min=NUM 如果长度大于NUM,则打印候选字符 –pw-max=NUM 如果长度小于NUM,则打印候选字符 –elem-cnt-min=NUM 每个链的最小元素数 –elem-cnt-max=NUM 每个链的最大元素数 –wl-dist-len 从字典表中计算输出长度分布 –wl-max=NUM 从字典文件中加载NUM个单词,设置0禁止加载。 –case-permute 在字典中对每一个单词进行反转
参考
= hash[:salt] = plain 明文 = hash[:salt]:plain = hex_plain = hash[:salt]:hex_plain = plain:hex_plain = hash[:salt]:plain:hex_plain = crackpos = hash[:salt]:crackpos = plain:crackpos = hash[:salt]:plain:crackpos = hex_plain:crackpos = hash[:salt]:hex_plain:crackpos = plain:hex_plain:crackpos = hash[:salt]:plain:hex_plain:crackpos
调试模式输出文件 (for hybrid mode only, by using rules):
= save finding rule = save original word = save original word and finding rule = save original word, finding rule andmodified plain
内置的字符集:
?l = abcdefghijklmnopqrstuvwxyz 代表小写字母
?u = ABCDEFGHIJKLMNOPQRSTUVWXYZ 代表大写字母
?d = 代表数字
?s = !”#$%&’()*+,-./:;<=>?@[\]^_`{|}~ 代表特殊字符
?a = ?l?u?d?s 大小写数字及特殊字符的组合
?b = × – 0xff
攻击模式
= Straight (字典破解) = Combination (组合破解) = Toggle-Case (大小写转换) = Brute-force(掩码暴力破解) = Permutation(序列破解) = Table-Lookup(查表破解) = Hybrid dict + mask 字典加掩码破解 = Hybrid mask + dict 掩码+字典破解 = Prince(王子破解)
哈希类型
有关哈希具体值示例可以参考网址
= MD5
= md5($pass.$salt)
= md5($salt.$pass)
= md5(unicode($pass).$salt)
= md5($salt.unicode($pass))
= HMAC-MD5 (key = $pass)
= HMAC-MD5 (key = $salt)
= SHA1
= sha1($pass.$salt)
= sha1($salt.$pass)
= sha1(unicode($pass).$salt)
= sha1($salt.unicode($pass))
= HMAC-SHA1 (key = $pass)
= HMAC-SHA1 (key = $salt)
= MySQL323
= MySQL4./MySQL5
= phpass, MD5(WordPress), MD5(phpBB3),MD5(Joomla)
= md5crypt, MD5(Unix), FreeBSD MD5,Cisco-IOS MD5
= MD4
= NTLM
= Domain Cached Credentials (DCC), MSCache
= SHA256
= sha256($pass.$salt)
= sha256($salt.$pass)
= sha256(unicode($pass).$salt)
= base64(sha256(unicode($pass)))
= sha256($salt.unicode($pass))
= HMAC-SHA256 (key = $pass)
= HMAC-SHA256 (key = $salt)
= md5apr1, MD5(APR), Apache MD5
= SHA512
= sha512($pass.$salt)
= sha512($salt.$pass)
= sha512(unicode($pass).$salt)
= sha512($salt.unicode($pass))
= HMAC-SHA512 (key = $pass)
= HMAC-SHA512 (key = $salt)
= SHA-(Unix)
= Cisco-PIX MD5
= Cisco-ASA MD5
= WPA/WPA2
= Double MD5
= bcrypt, Blowfish(OpenBSD)
= MD5(Sun)
= md5(md5(md5($pass)))
= md5(md5($salt).$pass)
= md5($salt.md5($pass))
= md5($pass.md5($salt))
= md5($salt.$pass.$salt)
= md5(md5($pass).md5($salt))
= md5($salt.md5($salt.$pass))
= md5($salt.md5($pass.$salt))
= md5($username..$pass)
= md5(strtoupper(md5($pass)))
= md5(sha1($pass))
= Double SHA1
= sha1(sha1(sha1($pass)))
= sha1(md5($pass))
= MD5(Chap), iSCSI CHAP authentication
= sha1($salt.$pass.$salt)
= SHA-(Keccak)
= Half MD5
= Password Safe SHA-
= IKE-PSK MD5
= IKE-PSK SHA1
= NetNTLMv1-VANILLA / NetNTLMv1-ESS
= NetNTLMv2
= Cisco-IOS SHA256
= Android PIN
= AIX {smd5}
= AIX {ssha256}
= AIX {ssha512}
= AIX {ssha1}
= GOST, GOST R 34.11-
= Fortigate (FortiOS)
= OS X v10.+
= GRUB
= IPMI2 RAKP HMAC-SHA1
= sha256crypt, SHA256(Unix)
= Drupal7
= WBB3, Woltlab Burning Board
= scrypt
= Cisco $$
= Cisco $$
= Radmin2
= Django (PBKDF2-SHA256)
= Cram MD5
= SAP CODVN H (PWDSALTEDHASH) iSSHA-
= PrestaShop
= PostgreSQL Challenge-ResponseAuthentication (MD5)
= MySQL Challenge-Response Authentication(SHA1)
= SIP digest authentication (MD5)
= Plaintext
特殊哈希类型
= Joomla < 2.5.
= PostgreSQL
= osCommerce, xt:Commerce
= Skype
= nsldap, SHA-(Base64), Netscape LDAPSHA
= nsldaps, SSHA-(Base64), Netscape LDAPSSHA
= Oracle S: Type (Oracle +)
= SMF > v1.
= OS X v10., v10., v10.
= EPi
= Django (SHA-)
= MSSQL()
= MSSQL()
= PeopleSoft
= EPiServer .x < v4
= hMailServer
= EPiServer .x > v4
= SSHA-(Base64), LDAP {SSHA512}
= OS X v10.
= MSSQL( & )
= vBulletin < v3.8.5
= PHPS
= vBulletin > v3.8.5
= IPB2+, MyBB1.+
= Mediawiki B type
= WebEdition CMS
= Redmine Project Management Web App
第四步:hashcat破解密码规则示例
()字典攻击 -a password.lst
()1到8为数字掩码攻击 -a --increment --increment-min --increment-max ?d?d?d?d?d?d?d?d –O
?d代表数字,可以换成小写字母?l,大写字母?u,特殊字符?s,大小写字母+特殊字符?a,–O表示最优化破解模式,可以加该参数,也可以不加该参数。 ()8为数字攻击 -a ?d?d?d?d?d?d?d?d
同理可以根据位数设置为字母大写、小写、特殊字符等模式。 ()自定义字符
现在纯数字或者纯字母的密码是比较少见的,根据密码专家对泄漏密码的分析,%的个人密码是字母和数字的组合,可以是自定义字符了来进行暴力破解,Hashcat支持4个自定义字符集,分别是 - - - -。定义时只需要这样- ?l?d ,然后就可以在后面指定?,?2表示小写字母和数字。这时候要破解一个8位混合的小写字母加数字: Hashcat.exe -a –force - ?l?d hassh值或者hash文件 ????????
例如破解dz小写字母+数字混合8位密码破解: Hashcat -m -a - ?l?d dz.hash ????????
()字典+掩码暴力破解
Hashcat还支持一种字典加暴力的破解方法,就是在字典前后再加上暴力的字符序列,比如在字典后面加上3为数字,这种密码是很常见的。使用第六种攻击模式: a- (Hybrid dict + mask)
如果是在字典前面加则使用第7中攻击模式也即( a- = Hybridmask + dict),下面对字典文件加数字123进行破解: H.exe -a ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为password123,则只要password.lst包含123即可 ()掩码+字典暴力破解 H.exe -a ffe1cb31eb084cd7a8dd1228c23617c8 password.lst ?d?d?d
假如ffe1cb31eb084cd7a8dd1228c23617c8的密码为123password,则只要password.lst包含password即可。 ()大小写转换攻击,对password.lst中的单词进行大小写转换攻击 H.exe-a ffe1cb31eb084cd7a8dd1228c23617c8 password.lst
EXAMPLES
()8位数字破解 Hashcat64-m hash -a ?d?d?d?d?d?d?d?d -w –O
()-8位数字破解 Hashcat-m hash -a --increment --increment-min --increment-max ?d?d?d?d?d?d?d?d
()1到8位小写字母破解 Hashcat-m hash -a --increment --increment-min --increment-max ?l?l?l?l?l?l?l?l
()8位小写字母破解 Hashcat-m hash -a ?l?l?l?l?l?l?l?l -w –O
()-8位大写字母破解 Hashcat-m hash -a --increment --increment-min --increment-max ?u?u?u?u?u?u?u?u
()8位大写字母破解 Hashcat-m hash -a ?u?u?u?u?u?u?u?u -w –O
()5位小写+ 大写+数字+特殊字符破解 Hashcat-m hash -a ?b?b?b?b?b -w
()使用字典进行破解
使用password.lst字典进行暴力破解,-w 3参数是指定电力消耗 Hashcat -m -a -w hash password.lst
在执行破解成功后,hashcat会自动终止破解,并显示破解状态为Cracked,Recvoered中也会显示是否破解成功. 破解known_hosts中的IP地址
经过研究发现known_hosts中会对连接的IP地址进行HMAC SHA1加密,可以通过hexhosts攻击进行转换,然后通过hashcat进行暴力破解,其密码类型为160(HMAC-SHA1 (key = $salt))。 ()计算HMAC SHA1值 gitclone https://github.com/persona5/hexhosts.git
cdhexhosts
gcchexhosts.c -lresolv -w -o hexhosts
./hexhosts
获取known_hosts的HMAC SHA1加密值: 注意:known_hosts值一定要正确,可以将known_hosts文件复制到hexhosts文件目录。 ()组合攻击暴力破解 hashcat-a -m known_hosts.hash ips_left.txt ips_right.txt --hex-salt
组合攻击是将ips_left.txt和ips_right.txt进行组合,形成完整的IP地址进行暴力破解。 ips_left.txt和ips_right.txt文件可以用以下代码进行生成: ip-gen.sh: for a in `seq ` do for b in `seq0 ` do echo"$a.$b." >> ips_left.txt echo"$a.$b" >> ips_right.txt done done
()使用掩码进行攻击 hashcat -a -m known_hosts.hash ipv4.hcmask--hex-salt
ipv4.hcmask文件内容可在此站下载。 破解md5加密的IP地址
在CDN等网络或者配置中往往会对IP地址进行MD5加密,由于其位数3×+(xxx.xxx.xxx.xxx)=17位,通过正常的密码破解其时间耗费非常长,但通过分析其IP地址的规律,发现其地址XXX均为数字,因此可以通过hashcat的组合和掩码进行攻击。 hashcat-a –m ip.md5.txt ips_left.txt ips_right.txt hashcat -a1 -m ip.md5.txt ipv4.hcmask
另外在F5的cookie中会对其IP地址进行加密,可以参考的破解代码如下: import struct cookie = "1005421066.20736.0000" (ip,port,end)=cookie.split(".") (a,b,c,d)=[ord(i) for i in struct.pack("i",int(ip))] print "Decoded IP: %s %s %s %s" % (a,b,c,d) Decoded IP: 10.130.237.59
破解技巧总结
在使用GPU模式进行破解时,可以使用-O参数自动进行优化 暴力破解一条md5值
()9位数字破解 Hashcat64.exe-a --force d98d28ca88f9966cb3aaefebbfc8196f ?d?d?d?d?d?d?d?d?d
单独破解一条md5值需要加force参数 ()9位字母破解 Hashcat64.exe-a --force d98d28ca88f9966cb3aaefebbfc8196f ?l?l?l?l?l?l?l?l?l
破解带盐discuz密码
()数字破解
7位数字,7秒时间破解完成任务。 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d
8位数字破解,9秒时间破解完成任务。: Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d
9位数字破解,9秒时间破解完成任务。 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?d?d?d?d?d?d?d?d?d
字母破解
()6位小写字母 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l
()7位小写字母 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l
()8位小写字母 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l 9分钟左右完成破解任务
()9位小写字母 Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?l?l?l?l?l?l?l?l?l -O
字母加数字
Hashcat64.exe-a --force -m - ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463???????
()7位大写字母 Hashcat64.exe-a –force –m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 ?u?u?u?u?u?u?u
()6到8位数字破解 Hashcat64.exe-a –force –m ffe1cb31eb084cd7a8dd1228c23617c8:f56463--increment --increment-min --increment-max ?l?l?l?l?l?l?l?l
自定义破解
()使用数字加字母混合6位进行破解 Hashcat64.exe-a --force -m - ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463?????? -O
()使用数字加字母混合7位进行破解,破解时间4分16秒 Hashcat64.exe-a --force -m - ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463??????? –O
()使用数字加字母混合8位进行破解 Hashcat64.exe-a --force -m - ?d?l ffe1cb31eb084cd7a8dd1228c23617c8:f56463???????? -O
字典破解模式
Hashcat64.exe-a --force -m ffe1cb31eb084cd7a8dd1228c23617c8:f56463 password.lst
使用字典文件夹下的字典进行破解: Hashcat32.exe-m mysqlhashes.txt –remove -o mysql-cracked.txt ..\dictionaries\*
会话保存及恢复破解
()使用mask文件规则来破解密码 hashcat-m -a --session mydz dz.hash masks/rockyou--.hcmask
()恢复会话 hashcat--session mydz --restore
掩码破解
mask规则文件位于masks下,例如D:\PentestBox\hashcat-4.1.\masks,执行破解设置为: masks/8char-1l-1u-1d-1s-compliant.hcmask
masks/8char-1l-1u-1d-1s-noncompliant.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
masks/rockyou--.hcmask
运用规则文件进行破解 Hashcat -m mysqlhashes.txt–remove -o mysql-cracked.txt ..\dictionaries\* -r rules\best64.rule hashcat -m -a dz.hashpassword.lst -r rules\best64.rule -O
hashcat参数优化
考虑到hashcat的破解速度以及资源的分配,我们可以对一些参数进行配置
.Workload tuning 负载调优。
该参数支持的值有1,,,, --gpu-accel 可以让GPU发挥最大性能。
.Gpu loops 负载微调
该参数支持的值的范围是8-(有些算法只支持到1000)。 --gpu-loops 可以让GPU发挥最大性能。
.Segment size 字典缓存大小
该参数是设置内存缓存的大小,作用是将字典放入内存缓存以加快字典破解速度,默认为32MB,可以根据自身内存情况进行设置,当然是越大越块了。 --segment-size 可以提高大字典破解的速度。
LAST:密码设置建议
使用更长的字符串
使用更大的字符集字母、数字、符号 不要使用任何可能与你有关的字符作为密码或密码的一部分使用
windows下hashcat利用GPU显卡性能破解密码的更多相关文章
- Windows下显示已经连过的Wifi密码
Windows下显示已经连过的Wifi密码 1. 打开cmd 2. netsh 3. wlan show profile 可以得到所有已经连过的wifi 4. wlan show pr ...
- 详细介绍Windows下也能够使用osw性能升级历史
1.Windows系统历史性能分析困难背景 在Linux/Unix上.要追朔历史性能,一般採用部署nmon进行性能监控採集与存储的方式实现.可是却没有在Windows上的版本号. Windows系统假 ...
- 让theano在windows下能进行GPU并行的配置步骤
最近在implement DeepLearning.net上面的程序.对于开源的python,最头疼的就是各种package和各种configuration. 而且还是在windows下. 想要让th ...
- windows下consul利用json文件注册服务
windows下,以开发模式启动consul命令 consul agent -dev -config-dir=D:\tools\consul 人工注册服务,新建一个json文件 ,放到D:\tools ...
- Windows下安装Redis服务,修改查看密码,修改端口,常用命令
一.安装 出自:https://jingyan.baidu.com/article/0f5fb099045b056d8334ea97.html 1.要安装Redis,首先要获取安装包.Windows的 ...
- windows 下 TensorFlow(GPU 版)的安装
windows 10 64bit下安装Tensorflow+Keras+VS2015+CUDA8.0 GPU加速 0. 环境 OS:Windows 10,64 bit: 显卡:NVIDIA GeFor ...
- windows下定时利用bat脚本实现ftp上传和下载
前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: ...
- windows下Android利用ant自动编译、修改配置文件、批量多渠道,打包生成apk文件
原创文章,转载请注明:http://www.cnblogs.com/ycxyyzw/p/4535459.html android 程序打包成apk,如果在是命令行方式,一般都要经过如下步骤: 1.用a ...
- Windows下安装Tensorflow—GPU版本
https://blog.csdn.net/weixin_39290638/article/details/80045236
随机推荐
- android实现扫一扫等功能
链接:https://blog.csdn.net/weixin_40399313/article/details/78814325
- ajax循环展示某段代码
ajax内定义function,根据条件递归调用即可. success: function(data){ if (dataList[i].subModuleList){ sublist(dataLis ...
- Python学习(三)——Python的运算符和数值、字符的类中方法
Python开发IDE PyCharm,eclipse PyCharm的基础用法 全部选中后 Ctrl+?全部变为注释 运算符 结果为值的运算符 算术运算符: + - * / % // ** 赋值运算 ...
- 常用工具api等链接
java技术驿站 http://cmsblogs.com/ WatchMen(守望者成才网) http://www.watchmen.cn/ JAVA知识分享 http://www.java1234. ...
- C语言:求n(n<10000)以内的所有四叶玫瑰数。-将字符串s1和s2合并形成新的字符串s3,先取出1的第一个字符放入3,再取出2的第一个字符放入3,
//函数fun功能:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指数组中,个数作为返回值.如果一个4位整数等于其各个位数字的4次方之和,则称该数为函数返回值. #incl ...
- 「SDOI2009」虔诚的墓主人
传送门 Luogu 解题思路 离散化没什么好说 有一种暴力的想法就是枚举每一个坟墓,用一些数据结构维护一下这个店向左,向右,向上,向下的常青树的个数,然后用组合数统计方案. 但是网格图边长就有 \(1 ...
- How2j学习java-2、用命令行中编写第一个 JAVA 程序
真正在工作中开发 java 应用都会使用eclipse,myeclipse, IntelliJ等等 使用最原始的命令行方式来执行Hello World 1.准备项目目录 在e: 创建一个project ...
- mac下Red Hat 7.4服务器初始化
物料:VMware Fusion for Mac版 rhel-server-7.4-x86_64-dvd.iso 通过VMware安装好虚拟机,打开终端: 1.通过ifconfig查看ip和网 ...
- Python中的lambda函数介绍
Lambda函数,即Lambda 表达式(lambda expression),是一个匿名函数(不存在函数名的函数),Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam ...
- python爬虫(八) requests库之 get请求
requests库比urllib库更加方便,包含了很多功能. 1.在使用之前需要先安装pip,在pycharm中打开: 写入pip install requests命令,即可下载 在github中有关 ...