封包編碼
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
.版本 2 .程序集 程序集1 .子程序 取內容, 文本型 .參數 封包, 文本型 .局部變量 a, 整數型 .局部變量 b, 整數型 .局部變量 ls, 文本型 .如果真 (尋找文本 (封包, “[]”, , 假) ≠ -1 或 尋找文本 (封包, “head”, , 假) ≠ -1 或 封包 = “”) 輸出調試文本 (封包) 返回 (“”) .如果真結束 a = 尋找文本 (封包, “[”, , 假) .如果真 (a ≠ -1) a = a + 2 b = 倒找文本 (封包, “]”, , 假) .如果真 (b ≠ -1) b = b - 1 ls = 取文本中間 (封包, a, b - a) ls = 子文本替換 (ls, #引號 + “,” + #引號, “\u000d\u000a”, , , 真) .如果真結束 .如果真結束 返回 (asciiConvertNative (ls)) .子程序 asciiConvertNative, 文本型, , 將Ucs2碼轉換為Ansi碼 (返回轉換后的文本) .參數 文本, 文本型, , 欲轉換的Ucs2碼 .局部變量 p, 文本型 .局部變量 對象, 對象 .局部變量 js, 文本型 js = “function asciiConvertNative(s) {” + #換行符 + “var asciicode = s.split(” + #引號 + “\\u” + #引號 + “);” + #換行符 + “var nativeValue = asciicode[0];” + #換行符 + “for (var i = 1; i < asciicode.length ; i++) {” + #換行符 + “var code = asciicode [i];” + #換行符 + “nativeValue += String.fromCharCode(parseInt(” + #引號 + “0x” + #引號 + “ + code.substring(0, 4)));” + #換行符 + “if (code.length > 4) {” + #換行符 + “nativeValue += code.substring(4, code.length);” + #換行符 + “}” + #換行符 + “}” + #換行符 + “return nativeValue;” + #換行符 + “}” 對象.創建 (“ScriptControl”, ) 對象.寫屬性 (“Language”, “JScript”) 對象.通用方法 (“Eval”, js) p = 對象.通用方法 (“Run”, “asciiConvertNative”, 文本, , , , ).取文本 () 返回 (p) .子程序 彗星URL編碼, 文本型, , 返回已編碼的URL .參數 Bin_URL, 文本型 .局部變量 局部_數據, 字節集 .局部變量 i, 整數型 .局部變量 ii, 文本型 局部_數據 = 到字節集 (Bin_URL) .計次循環首 (取字節集長度 (局部_數據), i) .如果 (到整數 (局部_數據 [i]) ≥ 48 且 到整數 (局部_數據 [i]) ≤ 57 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 65 且 到整數 (局部_數據 [i]) ≤ 90 或 到整數 (局部_數據 [i]) ≥ 97 且 到整數 (局部_數據 [i]) ≤ 122) ii = ii + 字符 (局部_數據 [i]) .否則 ii = ii + “%” + 取十六進制文本 (局部_數據 [i]) .如果結束 .計次循環尾 () 返回 (ii) .子程序 Base64編碼, 文本型, , BASE64編碼處理(返回編碼后的文本) .參數 待編碼數據, 字節集, , 待編碼字節集 .局部變量 余數 .局部變量 臨時, 字節型, , "3" .局部變量 變量 .局部變量 集合, 字節集 .局部變量 長度, 整數型 .局部變量 字符, 字節集 .局部變量 i 長度 = 取字節集長度 (待編碼數據) .如果真 (長度 < 1) 返回 (“”) .如果真結束 余數 = 長度 % 3 .如果真 (余數 > 0) 待編碼數據 = 待編碼數據 + 取空白字節集 (3 - 余數) .如果真結束 長度 = 取字節集長度 (待編碼數據) 字符 = 取空白字節集 (長度 × 4 ÷ 3) i = 1 集合 = 到字節集 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”) .變量循環首 (1, 長度, 3, 變量) 臨時 [1] = 待編碼數據 [變量] 臨時 [2] = 待編碼數據 [變量 + 1] 臨時 [3] = 待編碼數據 [變量 + 2] 字符 [i] = 集合 [右移 (臨時 [1], 2) + 1] 字符 [i + 1] = 集合 [左移 (位與 (臨時 [1], 3), 4) + 右移 (臨時 [2], 4) + 1] 字符 [i + 2] = 集合 [左移 (位與 (臨時 [2], 15), 2) + 右移 (臨時 [3], 6) + 1] 字符 [i + 3] = 集合 [位與 (臨時 [3], 63) + 1] i = i + 4 .變量循環尾 () .如果真 (余數 > 0) 長度 = 取字節集長度 (字符) .如果 (余數 = 1) 字符 [長度 - 1] = 取代碼 (“=”, ) 字符 [長度] = 取代碼 (“=”, ) .否則 字符 [長度] = 取代碼 (“=”, ) .如果結束 .如果真結束 返回 (到文本 (字符)) |
微信轉賬記錄金額導出數據的代碼
此功能需要加載精易模塊5.6
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
|
.版本 2 .支持庫 shell .支持庫 iext .程序集 窗口程序集_啟動窗口 .程序集變量 微信句柄, 整數型 .程序集變量 阿信, 類_識圖 .程序集變量 handwork, 整數型 .程序集變量 總收入, 整數型 .程序集變量 領包回復, 文本型 .程序集變量 自動回復, 文本型 .子程序 __啟動窗口_創建完畢 .如果真 (文件是否存在 (取特定目錄 (#系統桌面) + “Config.ini”) = 假) 寫配置項 (取特定目錄 (#系統桌面) + “Config.ini”, “恭喜發財”, “領包回復”, “已確定收款,即將充值”) 寫配置項 (取特定目錄 (#系統桌面) + “Config.ini”, “恭喜發財”, “自動回復”, “您好,有什么可以幫助您的”) .如果真結束 ' 讀取句柄 微信句柄 = 進程_名取句柄 (“WeChat.exe”) handwork = GetDesktopWindow () ' 調試輸出 (微信句柄) .如果真 (微信句柄 = -1) 選擇框1.選中 = 假 .如果真結束 ' 讀取配置 領包回復 = 讀配置項 (取特定目錄 (#系統桌面) + “Config.ini”, “恭喜發財”, “領包回復”, “已確定收款,即將充值”) 自動回復 = 讀配置項 (取特定目錄 (#系統桌面) + “Config.ini”, “恭喜發財”, “自動回復”, “您好,有什么可以幫助您的”) .子程序 百度云OCR識別圖片, 文本型, , 論壇大佬轉載的帖子 忘記誰了... .參數 圖片, 字節集, , png、gif、jpg圖片,尺寸不宜過大 .局部變量 XML對象, 對象 .局部變量 源代碼, 字節集 .如果真 (XML對象.創建 (“Microsoft.XMLHTTP”, ) = 假) 返回 (“”) .如果真結束 XML對象.方法 (“open”, “POST”, “http://biji.baidu.com/inotes/api/hackathonocr”, 假, ) XML對象.方法 (“setRequestHeader”, “Content-Type”, “application/x-www-form-urlencoded”) XML對象.方法 (“send”, “text=data%3Aimage%2Fpng%3Bbase64%2CiVBORw0KGg&sig=47E%2BgkykZJ8HIncF%2BXugDwalZmI2mtP%2F3jy6nVZNCDUAAAAAAAAAAAAAAAAAAAAA&body=data%3Aimage%2Fpng%3Bbase64%2C” + 彗星URL編碼 (Base64編碼 (圖片))) 處理事件 () 返回 (取內容 (XML對象.讀文本屬性 (“responseText”, ))) .子程序 備注識別, , , 備注識別備注識別備注識別 .局部變量 返回位置_備注, 精易_坐標 .局部變量 區域截圖_備注, 字節集 .局部變量 返回文本_備注, 文本型 .如果真 (選擇框2.選中 = 真) ' 首次激活自動回復 剪輯板_置文本 (自動回復) 鍵盤_組合按鍵 (#V鍵, #Ctrl鍵, , ) 鍵盤_單擊 (#回車鍵, 1) 處理事件 () 鍵盤_單擊 (#回車鍵, 1) .如果真結束 .如果真 (選擇框3.選中 = 真) 播放音樂 (#提示音, ) .如果真結束 ' 截圖 返回位置_備注 = 阿信.找圖_從句柄 (, #備注標識, , ) 區域截圖_備注 = 圖片_屏幕區域截圖 (返回位置_備注.橫 + 50, 返回位置_備注.縱 - 15, 180, 30) 圖片框1.圖片 = 區域截圖_備注 ' Ocr識別 返回文本_備注 = 百度云OCR識別圖片 (區域截圖_備注) 返回文本_備注 = 子文本替換 (返回文本_備注, “,”, “”, , , 真) 返回文本_備注 = 子文本替換 (返回文本_備注, “!”, “”, , , 真) 返回文本_備注 = 刪全部空 (返回文本_備注) ' 調試輸出 (返回文本_備注) 編輯框1.內容 = 返回文本_備注 .子程序 _按鈕1_被單擊 .局部變量 索引, 整數型 .局部變量 int, 整數型 .局部變量 金額, 整數型 .如果真 (編輯框1.內容 ≠ “暫無消息” 且 編輯框2.內容 ≠ “暫無轉賬”) ' 置剪輯版 .如果 (選擇框5.選中 = 真) 剪輯板_置文本 (編輯框1.內容) .否則 剪輯板_置文本 (編輯框1.內容 + “-” + 編輯框2.內容) .如果結束 ' 加入超級列表框 索引 = 超級列表框1.插入表項 (-1, 編輯框1.內容, , , , ) 超級列表框1.置標題 (索引, 1, 編輯框2.內容) 超級列表框1.置標題 (索引, 2, 時間_到文本 (, 3, )) ' 計算總收入 總收入 = 總收入 + 到整數 (編輯框2.內容) 標簽4.標題 = “已收轉賬數:” + 到文本 (超級列表框1.取表項數 ()) + “ | 總金額:” + 到文本 (總收入) 時鐘1.時鐘周期 = 2000 時鐘2.時鐘周期 = 6000 .如果真結束 .子程序 轉賬識別, , , 轉賬識別轉賬識別轉賬識別 .局部變量 區域截圖_金額, 字節集 .局部變量 返回文本_金額, 文本型 .局部變量 返回位置_金額, 精易_坐標 .局部變量 確認收錢_位置, 精易_坐標 .局部變量 聊天框_坐標, 精易_坐標 返回位置_金額 = 阿信.找圖_從句柄 (, #轉賬標識, , ) 處理事件 () 程序_延時 (200) 區域截圖_金額 = 圖片_屏幕區域截圖 (返回位置_金額.橫 + 46, 返回位置_金額.縱, 150, 30) ' 寫到文件 (取特定目錄 (#系統桌面) + “1.jpg”, 區域截圖) 圖片框2.圖片 = 區域截圖_金額 返回文本_金額 = 百度云OCR識別圖片 (區域截圖_金額) 程序_延時 (500) ' 點擊轉賬 鼠標_單擊 (handwork, 返回位置_金額.橫, 返回位置_金額.縱, 1) ' 調試輸出 (“返回位置”, 返回位置_金額.縱) 處理事件 () 程序_延時 (500) 確認收錢_位置 = 阿信.找圖_從句柄 (, #確認收錢, , ) 處理事件 () 程序_延時 (1000) ' 調試輸出 (“確認收錢”, 確認收錢_位置.橫) .如果 (確認收錢_位置.橫 ≠ -1) ' 點擊收錢 鼠標_單擊 (handwork, 確認收錢_位置.橫, 確認收錢_位置.縱, 1) 程序_延時 (500) 處理事件 () 鍵盤_單擊 (#Esc鍵, 1) 處理事件 () 程序_延時 (1000) .否則 鍵盤_單擊 (#Esc鍵, 1) 處理事件 () 程序_延時 (1000) .如果結束 .如果真 (選擇框4.選中 = 真) ' 領包回復 聊天框_坐標 = 阿信.找圖_從句柄 (, #聊天框, , ) 程序_延時 (500) ' 調試輸出 (“聊天框”, 聊天框_坐標.橫) 鼠標_單擊 (handwork, 聊天框_坐標.橫, 聊天框_坐標.縱 + 20, 1) 程序_延時 (500) 剪輯板_置文本 (領包回復) 鍵盤_組合按鍵 (#V鍵, #Ctrl鍵, , ) 程序_延時 (500) 鍵盤_單擊 (#回車鍵, 1) 處理事件 () .如果真結束 .如果真 (取文本左邊 (返回文本_金額, 2) = “00”) 返回文本_金額 = “0.0” + 取文本右邊 (返回文本_金額, 1) 編輯框2.內容 = 返回文本_金額 返回 () .如果真結束 返回文本_金額 = 取文本左邊 (返回文本_金額, 取文本長度 (返回文本_金額) - 2) 編輯框2.內容 = 返回文本_金額 .子程序 _時鐘2_周期事件 .局部變量 返回位置_金額, 精易_坐標 返回位置_金額 = 阿信.找圖_從句柄 (, #轉賬標識, , ) .如果真 (返回位置_金額.橫 = -1 且 返回位置_金額.縱 = -1) 編輯框2.內容 = “暫無轉賬” 返回 () .如果真結束 轉賬識別 () 時鐘2.時鐘周期 = 0 .子程序 _時鐘1_周期事件, , , 監控消息識別備注 .局部變量 返回位置_消息, 精易_坐標 返回位置_消息 = 阿信.找圖_從句柄 (, #消息標識, , ) ' 鼠標_移動 (, 返回位置.橫, 返回位置.縱) ' 調試輸出 (“消息標識符”, 返回位置_消息.橫, 返回位置_消息.縱) .如果真 (返回位置_消息.橫 = -1 且 返回位置_消息.縱 = -1) 返回 () .如果真結束 鼠標_單擊 (handwork, 返回位置_消息.橫, 返回位置_消息.縱, 1) 備注識別 () 時鐘1.時鐘周期 = 0 .子程序 _標簽3_鼠標左鍵被放開, 邏輯型 .參數 橫向位置, 整數型 .參數 縱向位置, 整數型 .參數 功能鍵狀態, 整數型 .局部變量 錯誤率, 整數型 信息框 (“本程序調用百度OCR文字智能識別技術” + #換行符 + “如果識別出現錯誤,建議備注名中加上空格” + #換行符 + “比如:原備注名為 mx666 則改為 m x 6 6 6”, 0 + #信息圖標, “提示:面向未來”) .子程序 _時鐘3_周期事件 .局部變量 微信位置, 精易_矩形 .如果真 (微信句柄 = -1) 選擇框1.選中 = 假 .如果真結束 .如果真 (選擇框1.選中 = 真) .如果真 (選擇框1.選中 = 真) 微信位置 = 窗口_取矩形 (微信句柄) 移動 (微信位置.右邊 - 10, 微信位置.頂邊 + 24, , ) .如果真結束 .如果真結束 .子程序 _選擇框1_鼠標左鍵被放開, 邏輯型 .參數 橫向位置, 整數型 .參數 縱向位置, 整數型 .參數 功能鍵狀態, 整數型 .如果真 (微信句柄 = -1) 選擇框1.選中 = 假 信息框 (“檢測到您并沒有打開微信” + #換行符 + “請先打開微信”, 0, “提示:您好”) .如果真結束 .子程序 __啟動窗口_將被銷毀 .局部變量 時間, 文本型 .局部變量 文件號, 整數型 .局部變量 int, 整數型 .局部變量 文本, 文本型 .如果 (信息框 (“您好” + #換行符 + “是否導出列表框金額相關數據?” + #換行符 + “點擊是表示生成配置并導出,否則直接結束”, #是否鈕 + #詢問圖標, “提示:是否導出數據”) = #是鈕) 時間 = 到文本 (取現行時間 ()) 寫到文件 (取特定目錄 (#系統桌面) + 時間 + “.txt”, 到字節集 (“”)) 文件號 = 打開文件 (取特定目錄 (#系統桌面) + 時間 + “.txt”, , ) .計次循環首 (超級列表框1.取表項數 (), int) 文本 = 超級列表框1.取標題 (int - 1, 0) + “-” + 超級列表框1.取標題 (int - 1, 1) + “-” + 超級列表框1.取標題 (int - 1, 2) 寫文本行 (文件號, 文本) .計次循環尾 () 關閉文件 (文件號) .否則 結束 () .如果結束 .子程序 _監控消息_被選擇 .局部變量 time, 整數型 .如果真 (監控消息.選中 = 真) 監控消息.選中 = 假 信息框 (“已撤銷監控消息”, 0, “提示:成功”) 時鐘1.時鐘周期 = 0 返回 () .如果真結束 .如果真 (監控消息.選中 = 假) 監控消息.選中 = 真 .如果真 (Ms2000.選中 = 真) time = 2000 時鐘1.時鐘周期 = time 信息框 (“已開啟監控消息,” + “時鐘周期為” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真結束 .如果真 (Ms3500.選中 = 真) time = 3500 時鐘1.時鐘周期 = time 信息框 (“已開啟監控消息,” + “時鐘周期為” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真結束 .如果真 (Ms4900.選中 = 真) time = 4900 時鐘1.時鐘周期 = time 信息框 (“已開啟監控消息,” + “時鐘周期為” + 到文本 (time), 0, “提示:成功”) 返回 () .如果真結束 .如果真結束 .子程序 _Ms3500_被選擇 Ms3500.選中 = 真 Ms2000.選中 = 假 Ms4900.選中 = 假 時鐘1.時鐘周期 = 3500 .子程序 _監控轉賬_被選擇 .局部變量 TIME, 整數型 .如果真 (監控轉賬.選中 = 真) 監控轉賬.選中 = 假 信息框 (“已撤銷監控轉賬”, 0, “提示:成功”) 時鐘2.時鐘周期 = 0 返回 () .如果真結束 .如果真 (監控轉賬.選中 = 假) 監控轉賬.選中 = 真 .如果真 (Ms5000.選中 = 真) TIME = 5000 時鐘2.時鐘周期 = TIME 信息框 (“已開啟監控轉賬,” + “時鐘周期為” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真結束 .如果真 (Ms6000.選中 = 真) TIME = 6000 時鐘2.時鐘周期 = TIME 信息框 (“已開啟監控轉賬,” + “時鐘周期為” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真結束 .如果真 (Ms7000.選中 = 真) TIME = 7000 時鐘2.時鐘周期 = TIME 信息框 (“已開啟監控轉賬,” + “時鐘周期為” + 到文本 (TIME), 0, “提示:成功”) 返回 () .如果真結束 .如果真結束 .子程序 _Ms2000_被選擇 Ms2000.選中 = 真 Ms3500.選中 = 假 Ms4900.選中 = 假 時鐘1.時鐘周期 = 2000 .子程序 _Ms4900_被選擇 Ms4900.選中 = 真 Ms2000.選中 = 假 Ms3500.選中 = 假 時鐘1.時鐘周期 = 4900 .子程序 _Ms5000_被選擇 Ms5000.選中 = 真 Ms6000.選中 = 假 Ms7000.選中 = 假 時鐘2.時鐘周期 = 5000 .子程序 _Ms6000_被選擇 Ms5000.選中 = 假 Ms6000.選中 = 真 Ms7000.選中 = 假 時鐘2.時鐘周期 = 6000 .子程序 _Ms7000_被選擇 Ms5000.選中 = 假 Ms6000.選中 = 假 Ms7000.選中 = 真 時鐘2.時鐘周期 = 7000 .子程序 _Ms200_被選擇 Ms200.選中 = 真 Ms500.選中 = 假 Ms1000.選中 = 假 時鐘3.時鐘周期 = 200 .子程序 _Ms500_被選擇 Ms200.選中 = 假 Ms500.選中 = 真 Ms1000.選中 = 假 時鐘3.時鐘周期 = 500 .子程序 _Ms1000_被選擇 Ms200.選中 = 假 Ms500.選中 = 假 Ms1000.選中 = 真 時鐘3.時鐘周期 = 1000 |
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接