-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathatom.xml
More file actions
519 lines (301 loc) · 329 KB
/
atom.xml
File metadata and controls
519 lines (301 loc) · 329 KB
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
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Hi, I'm Cortana.</title>
<link href="/atom.xml" rel="self"/>
<link href="https://blog.tcpsoft.app/"/>
<updated>2022-04-10T10:19:04.915Z</updated>
<id>https://blog.tcpsoft.app/</id>
<author>
<name>tcpsoft</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>使用adb从手机传输相片到电脑</title>
<link href="https://blog.tcpsoft.app/2022/04/adb-picture-transfer/"/>
<id>https://blog.tcpsoft.app/2022/04/adb-picture-transfer/</id>
<published>2022-04-10T10:07:32.000Z</published>
<updated>2022-04-10T10:19:04.915Z</updated>
<content type="html"><![CDATA[<p>随着手机照片越来越多,手机空间越来越小,把手机照片腾到电脑上或许是一个减小空间的办法。<a id="more"></a></p><p>将安卓手机上的照片复制到电脑上有几种方法:</p><ul><li>手机连电脑,使用文件模式复制照片</li><li>手机连电脑,使用照片模式复制照片</li><li>手机插U盘,复制照片</li><li>手机插电脑,用adb命令行复制</li></ul><p>前两种方法,由于Windows垃圾的安卓数据传输协议,极有可能中途失败或者传输错误。不考虑</p><p>第三种方法,可行,但需要手机支持插U盘以及需要USB口转typeC口等,不是很方便</p><p>第四种方法,步骤稍多,但是不需要U盘中转,速度快,可以方便的查看结果等优势</p><blockquote><p>本文所使用和举例的机型是 MIUI 系统的手机,其他的系统路径不同,但是方法是一样的。</p><p>adb工具在这里放一个链接: <a href="https://cdutsec.lanzouw.com/ixnfb02yij7g" rel="external nofollow noopener noreferrer" target="_blank">https://cdutsec.lanzouw.com/ixnfb02yij7g</a></p><p>adb工具的版本太旧会影响传输速度和命令行的交互,所以尽量使用新版本的adb</p></blockquote><h1 id="0-准备工作"><a href="#0-准备工作" class="headerlink" title="0. 准备工作"></a>0. 准备工作</h1><h2 id="0-1-电脑上adb工具"><a href="#0-1-电脑上adb工具" class="headerlink" title="0.1 电脑上adb工具"></a>0.1 电脑上adb工具</h2><p>在此文件夹中,这三个文件,打开命令行即可操作。</p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410171522377.png" alt="image-20220410171522377"></p><p>在文件夹按住shift然后鼠标右键,选择在此处打开命令行,可以运行adb</p><p>(如果打开的是powershell,运行cmd进入cmd命令行)</p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410113046875.png" alt="image-20220410113046875" style="zoom:50%;"><h2 id="0-2-手机上开启开发者模式和USB调试"><a href="#0-2-手机上开启开发者模式和USB调试" class="headerlink" title="0.2 手机上开启开发者模式和USB调试"></a>0.2 手机上开启开发者模式和USB调试</h2><h4 id="0-2-1-开启开发者模式"><a href="#0-2-1-开启开发者模式" class="headerlink" title="0.2.1 开启开发者模式"></a>0.2.1 开启开发者模式</h4><p>如果手机没有开启开发者模式,按照这个操作开启开发者模式。</p><p>打开设置,点开我的设备</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210341.jpg" alt="IMG_20220405_210341" style="zoom:33%;"><p>点开全部参数</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210406.jpg" alt="IMG_20220405_210406" style="zoom:33%;"><p>一直点击MIUI版本,会进入开发者模式。</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210501.jpg" alt="IMG_20220405_210501" style="zoom:33%;"><h4 id="0-2-2-打开开发者模式后打开USB调试"><a href="#0-2-2-打开开发者模式后打开USB调试" class="headerlink" title="0.2.2 打开开发者模式后打开USB调试"></a>0.2.2 打开开发者模式后打开USB调试</h4><p>点开设置,打开更多设置,</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210522.jpg" alt="IMG_20220405_210522" style="zoom:33%;"><p>找到开发者选项</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210531.jpg" alt="IMG_20220405_210531" style="zoom:33%;"><p>首先开启开发者选项,手机可能提示有危险,选择确定。</p><p>然后打开USB调试的开关</p><img src="../../blog-images/2022/adb-picture-transfer/Screenshot_2022-04-10-16-46-22-788_com.miui.securitycenter.jpg" alt="Screenshot_2022-04-10-16-46-22-788_com.miui.securitycenter" style="zoom: 33%;"><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220405_210546.jpg" alt="IMG_20220405_210546" style="zoom:33%;"><h1 id="1-手机创建相册和分类照片"><a href="#1-手机创建相册和分类照片" class="headerlink" title="1. 手机创建相册和分类照片"></a>1. 手机创建相册和分类照片</h1><p>将手机中需要传到电脑的图片选中,点击添加到,新相册,创建相册</p><p>注意这里命名需要是:<strong>英文或数字,不能有空格</strong> ,如果是带有汉字或者有空格,选中其中的图片,重新创建相册。</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113421.jpg" alt="IMG_20220410_113421" style="zoom:33%;"><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113442.jpg" alt="IMG_20220410_113442" style="zoom:33%;"><p>选择移动相片的方式</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113507.jpg" alt="IMG_20220410_113507" style="zoom:33%;"><h1 id="2-电脑连接adb,搬运相片"><a href="#2-电脑连接adb,搬运相片" class="headerlink" title="2. 电脑连接adb,搬运相片"></a>2. 电脑连接adb,搬运相片</h1><p>把手机用原厂充电线插上电脑(杂牌线可能识别不了或数据传输有问题!)</p><p>运行<code>adb devices</code> ,可以看到设备ID。</p><p>(这时候手机可能谈弹出提示:是否允许这台计算机调试,选择允许。)</p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410165018191.png" alt="image-20220410165018191"></p><p><code>adb shell</code> 进入手机空间</p><p><code>cd /sdcard/Pictures/Gallery/owner/</code>,进入到相册的目录。<code>ls</code> 可以看到各个创建的相册</p><p>(在MIUI旧版本上需要运行的可能是:<code>cd /sdcard/MIUI/Gallery/cloud/owner/</code> )</p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410165325479.png" alt="image-20220410165325479"></p><p><code>cd 文件夹名字</code> 进入文件夹,例如在这里我的文件夹是usb,那么我运行:<code>cd usb</code></p><p><code>pwd</code> 查看当前目录的路径,</p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410171122349.png" alt="image-20220410171122349"></p><p>复制完整路径备用。</p><p><code>exit</code>或 ctrl d 退出shell命令行,回到Windows命令行,运行:</p><p><code>adb pull 完整路径</code> 来拉取文件,例如在此处我运行:<code>adb pull /sdcard/Pictures/Gallery/owner/usb</code></p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410171324243.png" alt="image-20220410171324243"></p><p>过程中没有报错,如果报错需要根据提示解决问题。</p><p>打开文件夹可以看到,相片文件夹已经有了:</p><p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410171541286.png" alt="image-20220410171541286"></p><h1 id="3-手机和电脑确认文件夹信息"><a href="#3-手机和电脑确认文件夹信息" class="headerlink" title="3. 手机和电脑确认文件夹信息"></a>3. 手机和电脑确认文件夹信息</h1><h2 id="3-1-手机上查看相册文件夹信息"><a href="#3-1-手机上查看相册文件夹信息" class="headerlink" title="3.1 手机上查看相册文件夹信息"></a>3.1 手机上查看相册文件夹信息</h2><p>打开re文件管理器(如果没有 安装一个)</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113744.jpg" alt="IMG_20220410_113744" style="zoom:33%;"><p>和上面的路径一样,打开找到owner,找到自己创建的文件夹,</p><p>长按选中文件夹,点击右上方三个点,点击属性</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113858.jpg" alt="IMG_20220410_113858" style="zoom:25%;"><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113908.jpg" alt="IMG_20220410_113908" style="zoom: 33%;"><p>可以看到文件夹里面有多少个文件,多少个文件夹,多少字节</p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410173129131.png" alt="image-20220410173129131" style="zoom:33%;"><h2 id="3-2-电脑上查看文件夹信息"><a href="#3-2-电脑上查看文件夹信息" class="headerlink" title="3.2 电脑上查看文件夹信息"></a>3.2 电脑上查看文件夹信息</h2><p>打开刚才的文件夹,右键刚收到的文件夹,属性,</p><p>或者按住键盘<code>alt</code>键然后双击文件夹,打开文件夹属性</p><img src="../../blog-images/2022/adb-picture-transfer/image-20220410172952180.png" alt="image-20220410172952180" style="zoom: 50%;"><p>对比两个信息,观察文件数、文件夹数、字节数都是一样的,就是完全复制到电脑上了,手机上的可以删除掉了</p><h1 id="4-手机上删除相册"><a href="#4-手机上删除相册" class="headerlink" title="4. 手机上删除相册"></a>4. 手机上删除相册</h1><p>这里快到结尾了,但还是要多说几句</p><p>删除相册的方式用且仅用:系统自带的相册app,来删除相册</p><img src="../../blog-images/2022/adb-picture-transfer/IMG_20220410_113959.jpg" alt="IMG_20220410_113959" style="zoom:33%;"><p>如图所示,MIUI是可能开启了云备份的,如果你恰好开了云备份并且这个相册里的一些图片已经备份,那么在使用文件管理器删除相册所在的文件夹,可能有两个问题:</p><ul><li>相册运行错误。相册找不到文件夹,但是配置中是有文件夹的,所以会显示一个相册,但是打不开</li><li>云备份恢复。如果一些图片删除了,手机联网会自动从云备份恢复图片。那你这个相册就删不干净了。</li></ul><p>如图所示,相册app删除的时候会同时删除远程备份,所以,,干净(并且不会导致相册运行错误)</p>]]></content>
<summary type="html">
<p>随着手机照片越来越多,手机空间越来越小,把手机照片腾到电脑上或许是一个减小空间的办法。
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>硬盘损坏(物理)和事件分析</title>
<link href="https://blog.tcpsoft.app/2022/03/my-disk-crushed/"/>
<id>https://blog.tcpsoft.app/2022/03/my-disk-crushed/</id>
<published>2022-03-04T11:40:09.000Z</published>
<updated>2022-03-04T15:08:17.232Z</updated>
<content type="html"><![CDATA[<p>寒假期间,本人的电脑硬盘坏掉了。</p><p>总结一点经验吧,希望能帮助到您。</p><a id="more"></a><h2 id="事件经过"><a href="#事件经过" class="headerlink" title="事件经过"></a>事件经过</h2><p> 起初是偶尔的找不到系统分区找不到 winload.efi 从而无法启动。后来启不动,BIOS也识别不到,多重启几次可以开机。最后直接无法识别,换卡槽换机器也完全无法识别。 <del>本人猜测可能是主控坏掉的原因。</del></p><p> 硬盘是<code>西数SN550</code>,容量是1TB,由于是在淘宝小店买的便宜货,店铺的售后就不可能了,尝试西数官方联保,在线申请一直提示网络问题无法申请。尝试看一下数据恢复服务,在系数官方的数据恢复里找到了ontrack公司,在线填写信息后客服发邮件提供了报价,约合人民币5500多。奈何本人,钱包不足,遂放弃。</p><p> 邮件如下(也可以参考一下使用<del>昂贵的</del>数据恢复服务的操作流程):</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br></pre></td><td class="code"><pre><span class="line">您好XXX,</span><br><span class="line"></span><br><span class="line">多謝你使用KLDiscovery Ontrack (HK) Ltd. 數據修復服務.</span><br><span class="line">Ontrack 35年歷史,在美國上市,是全球最大的數據恢復公司,每年恢復超過50,000個成功個案。</span><br><span class="line"></span><br><span class="line">數據恢復服務的程序如下:</span><br><span class="line">1. 請郵寄你的硬盤到我們的辦公室.</span><br><span class="line">2. 數據修復服務開始後, 你會收到我們發出的郵件, 你可登入查核數據修復進度.</span><br><span class="line">3. 當修復服務完成後, 我們會傳送修復報告及報價單到你的電子郵箱.</span><br><span class="line">4. 如你對報告感到滿意, 請簽回報價單. 修復好的數據將會儲存於全新1TB 移動硬盤.</span><br><span class="line">5. 標準服務的檢查費為HKD800恢復數據費用為 HKD6000. 時間約為5-7個工作天 (不包括速遞運輸時間時間).</span><br><span class="line">6. 如因為硬件事故或需配備零件, 需時可能會更長.</span><br><span class="line">7. 如未能恢復成功, 不會收取恢復數據費用</span><br><span class="line">8. 如Ontrack 成功恢復數據, 而客戶拒絕恢復服務, 我們會收取 HKD1000 行政費.</span><br><span class="line">9. 如客戶於一個月內未有取回硬盤, ONTRACK 會將硬盤消磁並销毁.</span><br><span class="line"></span><br><span class="line">以下是我們的辦公室地址,</span><br><span class="line">To: KLDiscovery Ontrack (HK) Limited</span><br><span class="line">香港北角電器道148 號12樓1203A室</span><br><span class="line">ATTN: Andrew Sin</span><br><span class="line">Tel: +852 3704 8688</span><br><span class="line"></span><br><span class="line">請包好你的硬盤及貼上我們的Job編號 (6389167)</span><br><span class="line">請確認以上的報價並回覆以上的電郵, 多謝!</span><br><span class="line">希望收到您的好消息!</span><br><span class="line">如需要任何協助, 請致電聯絡我們+852 3704 8688.</span><br><span class="line"></span><br><span class="line">Thank you!</span><br></pre></td></tr></table></figure><h2 id="丢失的数据"><a href="#丢失的数据" class="headerlink" title="丢失的数据"></a>丢失的数据</h2><p> 这一块硬盘里面包含了:</p><ul><li>200G的Windows系统盘(C),</li><li>200G的硬件技术资料(O),</li><li>200G的游戏分区GTA(V),</li><li>200G的多媒体文件(W),</li><li>50G的一些备份文件(X),</li></ul><p> 这些数据和资料全部丢失了。虽然说恰好这些资料不是最重要的,但是C盘仍然是很多重要文件的集散地,不管是重装还是格盘,都会丢失大量的程序数据,包括但不限于:</p><ul><li>appdata(相当大一部分程序的数据都在appdata),</li><li>documents(QQ接收文件 微信接收文件,QQ和微信的聊天记录数据库,一部分IDE的项目文件),</li><li>User目录(相当于Linux的~目录,程序员IDE的配置,一部分项目文件,一部分程序的配置文件都会在这里,尤其是ssh密钥和xshell的服务器记录,如果丢失损失非常大)</li><li>Download目录(相信很多人的下载文件都是放在这里的吧,如果丢失也会损失很多内容)</li><li>chrome的文件夹(书签 历史记录 扩展程序和油猴插件的脚本)(虽然说你登陆了账户并且开启了chrome同步,那书签和一小段时间的历史记录和你的扩展程序可以从远程恢复,但是扩展程序里面的数据 配置 手撕脚本等可能就付之一炬了特别是油猴(当事人:现在就是后悔 非常的后悔))</li></ul><h2 id="总结一些"><a href="#总结一些" class="headerlink" title="总结一些"></a>总结一些</h2><ul><li><p>在此提醒各位,购买贵重电子物品一定在官方店铺购买,确保售后服务等,推荐京东,一键申请售后(当初不该贪几十块钱的便宜)</p></li><li><p>除此之外,如果发现你的硬盘出现异常:异响、偶尔无法识别数据等,可能是出问题了,应该考虑数据备份到新磁盘然后更换磁盘了</p></li><li><p>定期的备份也是重要的,条件允许的情况下可以保存两份及以上的数据(本人条件有限)</p></li><li><p>在任务管理器的性能页面里面查看磁盘的指标,比如平均响应时间、活动时间、读写延迟,如果延迟很高,说明可能不太行了</p><img src="../../blog-images\2022\my-disk-crushed\image-20220304205257562.png" alt="image-20220304205257562" style="zoom:50%;"></li><li><p>可以使用一些工具检测硬盘的健康度或者异常程度,这里推荐一些扩展阅读资料:</p><p><a href="https://zhuanlan.zhihu.com/p/393343819" rel="external nofollow noopener noreferrer" target="_blank">这几款硬盘检测工具,为您的数据保驾护航 - 知乎</a></p><p><a href="https://www.laobuluo.com/6188.html" rel="external nofollow noopener noreferrer" target="_blank">这10款实用硬盘性能检测软件 适合HDD和SSD硬盘坏点健康检查-老部落</a></p><p><a href="https://www.bilibili.com/video/BV1WE41177yY/" rel="external nofollow noopener noreferrer" target="_blank">硬盘用了四年,还健康吗?|如何检测硬盘健康状态 _ 哔哩哔哩_bilibili</a></p></li></ul><h2 id="后记"><a href="#后记" class="headerlink" title="后记"></a>后记</h2><p>一怒之下在 jd 购买了三星980,1TB硬盘,感觉比西数更靠谱一点。</p><blockquote><p>西数,🐕都不用</p><p>真香~.jpg</p></blockquote>]]></content>
<summary type="html">
<p>寒假期间,本人的电脑硬盘坏掉了。</p>
<p>总结一点经验吧,希望能帮助到您。</p>
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>解决 WSL2 和 proxifier 的相互报错问题</title>
<link href="https://blog.tcpsoft.app/2021/07/wsl2-and-proxifier/"/>
<id>https://blog.tcpsoft.app/2021/07/wsl2-and-proxifier/</id>
<published>2021-07-21T02:00:00.000Z</published>
<updated>2021-07-21T02:12:20.832Z</updated>
<content type="html"><![CDATA[<p>转载自知乎:<code>https://zhuanlan.zhihu.com/p/151392411</code> </p><h2 id="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"><a href="#关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。" class="headerlink" title="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"></a>关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。</h2><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/v2-7fc4f91dc113fc84a7115c2f8661b8f6_1440w.jpg" alt="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"></p><a id="more"></a><h3 id="问题:"><a href="#问题:" class="headerlink" title="问题:"></a>问题:</h3><p>参考的对象类型不支持尝试的操作。(The attempted operation is not supported for the type of object referenced.)</p><h3 id="解决方法:"><a href="#解决方法:" class="headerlink" title="解决方法:"></a><strong>解决方法:</strong></h3><p><strong>1. 常见临时解决方案(不推荐):</strong></p><p>以管理员身份运行CMD,输入:</p><blockquote><p>netsh winsock reset</p></blockquote><p>重启计算机即可修复。</p><p><strong>2. 长期解决的方案(推荐):</strong></p><p>(1)下载此软件:</p><p><a href="http://www.proxifier.com/tmp/Test20200228/NoLsp.exe" rel="external nofollow noopener noreferrer" target="_blank">http://www.proxifier.com/tmp/Test20200228/NoLsp.exe</a></p><p>(需要挂代理访问下载)</p><p>(2)管理员身份运行CMD输入:</p><blockquote><p>NoLsp.exe C:\windows\system32\wsl.exe</p></blockquote><p>请自行注意NoLsp.exe程序的位置,以及你的wsl.exe位置。</p><p><strong>产生原因和解决方法分析:</strong></p><ol><li>代理软件和wsl2的sock端口冲突,使用netsh winsock reset重置修复。</li><li>Proxifer开发人员解释如下:</li></ol><blockquote><p>如果Winsock LSP DLL被加载到其进程中,则wsl.exe将显示此错误。最简单的解决方案是对wsl.exe使用WSCSetApplicationCategory WinAPI调用来防止这种情况。在后台,该调用在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock2\Parameters\AppId_Catalog中为wsl.exe创建一个条目。<br>这将告诉Windows不要将LSP DLL加载到wsl.exe进程中</p></blockquote><p><strong>上述解决方案来自于:</strong></p><p><a href="https://github.com/microsoft/WSL/issues/4177">https://github.com/microsoft/WSL/issues/4177</a></p><p><a href="https://answers.microsoft.com/zh-hans/insider/forum/all/wsl2%E5%AE%89%E8%A3%85kali/b6dd4c62-1130-4a7c-9462-1e9e5f38dab2" rel="external nofollow noopener noreferrer" target="_blank">https://answers.microsoft.com/zh-hans/insider/forum/all/wsl2%E5%AE%89%E8%A3%85kali/b6dd4c62-1130-4a7c-9462-1e9e5f38dab2</a></p>]]></content>
<summary type="html">
<p>转载自知乎:<code>https://zhuanlan.zhihu.com/p/151392411</code> </p>
<h2 id="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"><a href="#关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。" class="headerlink" title="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"></a>关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。</h2><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/v2-7fc4f91dc113fc84a7115c2f8661b8f6_1440w.jpg" alt="关于使用WSL2出现“参考的对象类型不支持尝试的操作”的解决方法。"></p>
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="代理" scheme="https://blog.tcpsoft.app/tags/%E4%BB%A3%E7%90%86/"/>
<category term="WSL2" scheme="https://blog.tcpsoft.app/tags/WSL2/"/>
<category term="proxifier" scheme="https://blog.tcpsoft.app/tags/proxifier/"/>
</entry>
<entry>
<title>欢迎 pwn 分区(P盘)</title>
<link href="https://blog.tcpsoft.app/2020/08/welcome-pwn-partition/"/>
<id>https://blog.tcpsoft.app/2020/08/welcome-pwn-partition/</id>
<published>2020-08-04T08:24:29.000Z</published>
<updated>2020-08-05T04:20:56.561Z</updated>
<content type="html"><![CDATA[<p>今天再次尝试 wsl+gdb 调试,照舅失败</p><p>于是我搞了一个 “P分区”<a id="more"></a></p><hr><h2 id="wsl-gdb,不行-❌"><a href="#wsl-gdb,不行-❌" class="headerlink" title="wsl+gdb,不行. ❌"></a>wsl+gdb,不行. ❌</h2><p>咕了很久还是想继续尝试gdb,wsl+gdb当然是最方便的一种方式了,打开命令行就可以用,都不需要开启 vmware。</p><p>但是很快的就遇到了问题。首先就是 wsl (我用的是Ubuntu16.04) 装好时是不支持32位程序的,通过搜索知道了安装启动 binfmt-support 就可以,让 wsl 能运行32位程序。</p><p><a href="https://www.jianshu.com/p/3df082840b40" rel="external nofollow noopener noreferrer" target="_blank">让64位的WSL(windows 子 linux系统)支持运行32位程序 - 简书</a> </p><p>正准备开心的打开gdb调试,布星了。</p><p>在 gdb 里 start 可以,但是 ni 就不行了:</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804185229605.png" alt="image-20200804185229605"></p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">pwndbg> ni</span><br><span class="line">Warning:</span><br><span class="line">Cannot insert breakpoint 1.</span><br><span class="line">Cannot access memory at address 0x80484a0</span><br><span class="line"></span><br><span class="line">Command aborted.</span><br></pre></td></tr></table></figure><p>查询了一波,感觉大概可能应该或许是 wsl 他就不能调试32位程序?</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804184759075.png" alt="image-20200804184759075" style="zoom: 50%;"><p>你品你细品,wsl 装好的时候是只有64位程序支持的,32位直接给砍掉了,如果要运行32位还需要安装 binfmt-support ,32位程序仿佛不是 wsl 本来所支持的功能?</p><p>你品你再品,gcc编译成32位程序还需要加 -m32 编译参数,那么默认编译出来就是64位?32位是不是”过时”了?</p><p>阅读 binfmt-support 的介绍,可以看到</p><p>在 <a href="https://packages.debian.org/stretch/binfmt-support" rel="external nofollow noopener noreferrer" target="_blank">https://packages.debian.org/stretch/binfmt-support</a> 上,写道:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><span class="line">==========原文==========</span><br><span class="line">软件包:binfmt-support(2.1.6-2)</span><br><span class="line">Support for extra binary formats</span><br><span class="line">The binfmt_misc kernel module, contained in versions 2.1.43 and later of the Linux kernel, allows system administrators to register interpreters for various binary formats based on a magic number or their file extension, and cause the appropriate interpreter to be invoked whenever a matching file is executed. Think of it as a more flexible version of the #! executable interpreter mechanism.</span><br><span class="line"></span><br><span class="line">This package provides an 'update-binfmts' script with which package maintainers can register interpreters to be used with this module without having to worry about writing their own init.d scripts, and which sysadmins can use for a slightly higher-level interface to this module.</span><br><span class="line"></span><br><span class="line">标签: 系统管理: 核心或模块, 软件开发: 解释器, 实做语言: implemented-in::perl, interface::commandline, 角色: 程序, 范围: 实用程序, 应用程序集: Debian</span><br><span class="line">==========google机翻==========</span><br><span class="line">软件包:binfmt-support(2.1.6-2)</span><br><span class="line">支持额外的二进制格式</span><br><span class="line">版本2.1.43和更高版本的Linux内核中包含的binfmt_misc内核模块,使系统管理员可以根据幻数或文件扩展名注册各种二进制格式的解释器,并在匹配文件时调用适当的解释器。被执行。将其视为#的更灵活版本!可执行解释器机制。</span><br><span class="line"></span><br><span class="line">该软件包提供了一个'update-binfmts'脚本,软件包维护者可以使用该脚本注册要与此模块一起使用的解释器,而不必担心编写自己的init.d脚本,并且sysadmin可以将其用于稍高级别的接口。模块。</span><br><span class="line"></span><br><span class="line">标签: 系统管理: 核心或模块, 软件开发: 解释器, 实做语言: implemented-in::perl, interface::commandline, 角色: 程序, 范围: 实用程序, 应用程序集: Debian</span><br></pre></td></tr></table></figure><p>在 <a href="http://binfmt-support.nongnu.org/" rel="external nofollow noopener noreferrer" target="_blank">http://binfmt-support.nongnu.org/</a> 上,写道:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">==========原文==========</span><br><span class="line">binfmt-support</span><br><span class="line">The binfmt_misc kernel module, contained in versions 2.1.43 and later of the Linux kernel, allows system administrators to register interpreters for various binary formats based on a magic number or their file extension, and cause the appropriate interpreter to be invoked whenever a matching file is executed. Think of it as a more flexible version of the #! executable interpreter mechanism.</span><br><span class="line"></span><br><span class="line">binfmt-support provides an update-binfmts script with which package maintainers can register interpreters to be used with this module without having to worry about writing their own init.d scripts, and which sysadmins can use for a slightly higher-level interface to this module.</span><br><span class="line"></span><br><span class="line">Versions 1.2.0 and above also support a mechanism for extending the range of binary formats among which the kernel can distinguish with the aid of a userspace helper, called a detector.</span><br><span class="line"></span><br><span class="line">The source code to binfmt-support can be retrieved from its Git repository (if you don't have Git, follow the link for installation instructions).</span><br><span class="line"></span><br><span class="line">This Web page is created and maintained by Colin Watson.</span><br><span class="line">Last modified: $Date: 2017/07/09 13:30:47 $</span><br><span class="line">==========google机翻==========</span><br><span class="line">binfmt-支持</span><br><span class="line">binfmt_miscLinux内核版本2.1.43和更高版本中包含的内核模块,允许系统管理员基于幻数或其文件扩展名注册各种二进制格式的解释器,并在匹配文件被调用时调用适当的解释器。被执行。可以将其视为#!可执行解释器机制的更灵活版本 。</span><br><span class="line"></span><br><span class="line">binfmt-support提供了一个update-binfmts 脚本,程序包维护人员可以使用该脚本来注册要与此模块一起使用的解释程序,而不必担心编写自己的 init.d脚本,并且sysadmins可以将其用于该模块的更高级别的界面。</span><br><span class="line"></span><br><span class="line">1.2.0及更高版本还支持一种扩展二进制格式范围的机制,内核可以借助一种称为检测器的用户空间助手来区分二进制格式 。</span><br><span class="line"></span><br><span class="line">binfmt-support可以从其Git存储库中检索要获取 的源代码(如果您没有Git,请遵循链接以获取安装说明)。</span><br><span class="line"></span><br><span class="line">该网页由Colin Watson创建和维护 。</span><br><span class="line">上次修改时间:$日期:2017/07/09 13:30:47 $</span><br></pre></td></tr></table></figure><p>这两个网页说,binfmt-support 是32位程序的解释器,安装后将32位程序绑定使用它打开。这是不是有点像虚拟机风格? gdb和Linux内核应该还是不能支持32位(我猜的)</p><hr><h2 id="vmware,好用!✅"><a href="#vmware,好用!✅" class="headerlink" title="vmware,好用!✅"></a>vmware,好用!✅</h2><p>不多说了吧,VMware装一个Ubuntu来进行调试,肯定没问题 </p><p>但是我还是想快速的访问Windows上那些文件夹。</p><p><a href="https://cn.bing.com/search?q=vmware%E6%B7%BB%E5%8A%A0%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9" rel="external nofollow noopener noreferrer" target="_blank">https://cn.bing.com/search?q=vmware添加共享文件夹</a></p><p>由于我会常用到下载文件夹,所以把下载文件夹映射到share目录。</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804221417612.png" alt="image-20200804221417612" style="zoom:67%;"><p>Linux里面,文件夹在哪儿呢?</p><p><code>/mnt/hgfs/share</code> </p><p>但是文件管理器进入这个目录,还是不能右键新建文件夹。 </p><p><code>ls -al</code> 查看权限,<code>chmod 777 share</code>来<a href="https://www.runoob.com/linux/linux-comm-chmod.html" rel="external nofollow noopener noreferrer" target="_blank">授予最宽的权限</a>,再次 <code>ls -al</code>查看权限</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804222350672.png" alt="image-20200804222350672"></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804222407950.png" alt="image-20200804222407950"></p><p>设置完后就可以像正常使用一样读写这个文件夹了,所做的更改,在Windows上全部同步。</p><p>可是,这个目录不太好打啊</p><p>我在 <code>~/.bash_aliases</code> 里设置了share,来方便地命令行打开文件夹 <code>alias share="cd /mnt/hgfs/share"</code></p><p>那么下次运行share命令就可以了,</p><p>(感觉还是哪里不太方便?)</p><hr><h2 id="P盘-与-pwn"><a href="#P盘-与-pwn" class="headerlink" title="P盘 与 /pwn"></a>P盘 与 /pwn</h2><p>干脆把那个文件夹抽出来,用一个分区存?</p><p>好处:</p><ol><li>Windows上好找,单独一个分区呢,二进制文件放里面就好啦</li><li>虚拟机里好找,vmware设置挂在文件夹时输入分区就行了,不用担心如果文件夹被移动,会导致虚拟机内不可用</li><li>wsl 里好找,众所周知,wsl 和Windows共享文件系统,是通过把Windows上的盘符,挂载到 /mnt,那么P盘对应就是 /mnt/p,可以说目录已经灰常好打了</li><li>稳定不容易坏,他就是个单独分区,不存在移动文件夹导致找不到的问题,只要这个盘还在,就能用(盘不在就创建一个分区呗)</li></ol><p>在此电脑,右键,管理,磁盘管理,搞个新分区,我选的4G大小差不多了。大概像酱紫:</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804164302218.png" alt="image-20200804164302218"></p><p>操作完之后就多出来一个P分区。</p><blockquote><p>这里有一点经验教训就是新建分区后进去然后打开wsl是不行的,wsl还不能识别到分区,如果要识别,需要重启wsl,在管理员权限的cmd里运行:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">net stop LxssManager</span><br><span class="line">net start LxssManager</span><br></pre></td></tr></table></figure></blockquote><p>虚拟机设置挂载文件夹,同上文。然后运行 ls -al 就可以看到 p 文件夹:</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804234159560.png" alt="image-20200804234159560"></p><p>这次就,不设置 alias 命令了吧,直接,把这个文件夹,映射到根目录下的 <code>/pwn</code> ?</p><p>创建符号链接</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sudo ln -s /mnt/hgfs/p /pwn</span><br></pre></td></tr></table></figure><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804234628952.png" alt="image-20200804234628952"></p><p>运行 <code>ls -al</code></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804234748499.png" alt="image-20200804234748499"></p><p>来试一下好了没,运行 <code>cd /pwn</code></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200804234951886.png" alt="image-20200804234951886"></p><p>(这里新建p分区的时候应该应该选择exFat文件系统的。。)</p><p>(然后用 DiskGenius 格式化成了exFat。亲测可用)</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200805000450165.png" alt="image-20200805000450165"></p><p>听说win10可以直接读取ext4 U盘,硬盘应该也快了。我试试格式化成ext4格式。</p><p>读取不了,资源管理器都不显示</p><p>尝试安装了一个 Ext2Fsd-0.69.exe,在 <a href="https://sourceforge.net/projects/ext2fsd/" rel="external nofollow noopener noreferrer" target="_blank">https://sourceforge.net/projects/ext2fsd/</a> 下载的</p><p>安装完成需要重启电脑,不敢重启,就算了不试了</p><p>格式化回exFat格式,可正常使用</p><p>下一步,放进文件</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200805002113063.png" alt="image-20200805002113063" style="zoom:67%;"><p>下一步,在Linux中使用</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200805002130947.png" alt="image-20200805002130947"></p>]]></content>
<summary type="html">
<p>今天再次尝试 wsl+gdb 调试,照舅失败</p>
<p>于是我搞了一个 “P分区”
</summary>
<category term="pwn" scheme="https://blog.tcpsoft.app/categories/pwn/"/>
<category term="gdb" scheme="https://blog.tcpsoft.app/tags/gdb/"/>
<category term="linux" scheme="https://blog.tcpsoft.app/tags/linux/"/>
<category term="vmware" scheme="https://blog.tcpsoft.app/tags/vmware/"/>
</entry>
<entry>
<title>简简单单的记录一下gdb的亿点点常用的操作</title>
<link href="https://blog.tcpsoft.app/2020/07/gdb-operation/"/>
<id>https://blog.tcpsoft.app/2020/07/gdb-operation/</id>
<published>2020-07-28T13:35:52.000Z</published>
<updated>2020-07-28T14:21:11.448Z</updated>
<content type="html"><![CDATA[<p>.<a id="more"></a></p><h2 id="gdb操作:"><a href="#gdb操作:" class="headerlink" title="gdb操作:"></a>gdb操作:</h2><hr><h4 id="gdb-xxx"><a href="#gdb-xxx" class="headerlink" title="gdb ./xxx"></a>gdb ./xxx</h4><p>开始调试xxx程序,如果不能运行,需要先 <code>chmod +x ./xxx</code></p><hr><h4 id="gdb-attach-pid"><a href="#gdb-attach-pid" class="headerlink" title="gdb attach [pid]"></a>gdb attach [pid]</h4><p>通过程序id即pid,gdb附加到一个正在运行的程序,并对其进行调试</p><hr><h4 id="start"><a href="#start" class="headerlink" title="start"></a>start</h4><p>运行程序并断点在第一条指令</p><p>输出寄存器,反汇编等信息</p><hr><h4 id="list"><a href="#list" class="headerlink" title="list"></a>list</h4><p>有源码的情况下 输出源码</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">pwndbg> list</span><br><span class="line">warning: Source file is more recent than executable.</span><br><span class="line">1 #include<stdio.h></span><br><span class="line">2 #include<stdlib.h></span><br><span class="line">3 #include<unistd.h></span><br><span class="line">4 int main(){</span><br><span class="line">5 char num='0';</span><br><span class="line">6 char str[10];</span><br><span class="line">7 read(0,str,0x10);</span><br><span class="line">8 if(num=='1'){</span><br><span class="line">9 puts("great.\n");</span><br><span class="line">10 fflush(stdout);</span><br></pre></td></tr></table></figure><hr><h4 id="b-内存地址"><a href="#b-内存地址" class="headerlink" title="b *内存地址"></a>b *内存地址</h4><p>在内存地址处下断点</p><hr><h4 id="b-函数名-函数名"><a href="#b-函数名-函数名" class="headerlink" title="b 函数名/*函数名"></a>b 函数名/*函数名</h4><p>下断点</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">pwndbg> b main</span><br><span class="line">Breakpoint 1 at 0x80484dc: file pwn05_char[]_overflow.cpp, line 5.</span><br></pre></td></tr></table></figure><hr><h4 id="info-b"><a href="#info-b" class="headerlink" title="info b"></a>info b</h4><p>查看断点信息</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">pwndbg> info b</span><br><span class="line">Num Type Disp Enb Address What</span><br><span class="line">1 breakpoint keep y 0x080484dc in main() at pwn05_char[]_overflow.cpp:5</span><br></pre></td></tr></table></figure><hr><h4 id="step"><a href="#step" class="headerlink" title="step"></a>step</h4><p>step(in),步入,在有源码调试时,执行下一行源码,有函数调用时进入函数调用</p><hr><h4 id="next"><a href="#next" class="headerlink" title="next"></a>next</h4><p>步过,在有源码调试时,执行下一行源码,有函数调用时执行完函数并执行到函数调用的下一行</p><hr><h4 id="nexti-ni"><a href="#nexti-ni" class="headerlink" title="nexti/ni"></a>nexti/ni</h4><p>next instruction,步过,执行下一行汇编指令</p><hr><h4 id="stepi-si"><a href="#stepi-si" class="headerlink" title="stepi/si"></a>stepi/si</h4><p>step into,步入,执行下一行汇编指令,如果有函数调用时进入函数的第一行汇编指令</p><hr><h4 id="finish"><a href="#finish" class="headerlink" title="finish"></a>finish</h4><p>运行完当前的函数,停在最后一句汇编代码</p><hr><h4 id="info-registers"><a href="#info-registers" class="headerlink" title="info registers"></a>info registers</h4><p>寄存器信息</p><hr><h4 id="x-lt-n-f-u-gt-lt-addr-gt"><a href="#x-lt-n-f-u-gt-lt-addr-gt" class="headerlink" title="x/<n/f/u> <addr>"></a><code>x/<n/f/u> <addr></code></h4><p>格式:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line">f格式:</span><br><span class="line">x 按十六进制格式显示变量。</span><br><span class="line">d 按十进制格式显示变量。</span><br><span class="line">u 按十六进制格式显示无符号整型。</span><br><span class="line">o 按八进制格式显示变量。</span><br><span class="line">t 按二进制格式显示变量。</span><br><span class="line">a 按十六进制格式显示变量。</span><br><span class="line">c 按字符格式显示变量。</span><br><span class="line">f 按浮点数格式显示变量。</span><br><span class="line"></span><br><span class="line">u格式:</span><br><span class="line">b表示单字节</span><br><span class="line">h表示双字节</span><br><span class="line">w表示四字节</span><br><span class="line">g表示八字节。</span><br></pre></td></tr></table></figure><hr><h4 id="一些GDB参考链接:"><a href="#一些GDB参考链接:" class="headerlink" title="一些GDB参考链接:"></a>一些GDB参考链接:</h4><p><a href="https://blog.csdn.net/tzshlyt/article/details/53668885" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/tzshlyt/article/details/53668885</a></p><p><a href="https://www.jianshu.com/p/b7896e9afeb7" rel="external nofollow noopener noreferrer" target="_blank">https://www.jianshu.com/p/b7896e9afeb7</a></p><p><a href="https://blog.csdn.net/u013525455/article/details/52813637" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/u013525455/article/details/52813637</a></p><p><a href="https://www.jianshu.com/p/e6af28e2566f" rel="external nofollow noopener noreferrer" target="_blank">https://www.jianshu.com/p/e6af28e2566f</a></p><p><a href="https://www.cnblogs.com/xiaoshiwang/p/10755199.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.cnblogs.com/xiaoshiwang/p/10755199.html</a></p><p><a href="https://www.cnblogs.com/xsln/p/gdb_instructions1.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.cnblogs.com/xsln/p/gdb_instructions1.html</a></p><p><a href="https://man.linuxde.net/gdb" rel="external nofollow noopener noreferrer" target="_blank">https://man.linuxde.net/gdb</a></p><p><a href="https://www.cnblogs.com/tangtangde12580/p/8045980.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.cnblogs.com/tangtangde12580/p/8045980.html</a></p><p><a href="https://www.cnblogs.com/zhoug2020/p/7283169.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.cnblogs.com/zhoug2020/p/7283169.html</a></p><p><a href="https://www.jianshu.com/p/adcf474f5561" rel="external nofollow noopener noreferrer" target="_blank">https://www.jianshu.com/p/adcf474f5561</a></p><p><a href="https://blog.csdn.net/songchuwang1868/article/details/86132281" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/songchuwang1868/article/details/86132281</a></p>]]></content>
<summary type="html">
<p>.
</summary>
<category term="pwn" scheme="https://blog.tcpsoft.app/categories/pwn/"/>
<category term="gdb" scheme="https://blog.tcpsoft.app/tags/gdb/"/>
</entry>
<entry>
<title>batch-shortcuts</title>
<link href="https://blog.tcpsoft.app/2020/07/batch-shortcuts/"/>
<id>https://blog.tcpsoft.app/2020/07/batch-shortcuts/</id>
<published>2020-07-28T13:19:40.000Z</published>
<updated>2020-07-28T13:28:21.725Z</updated>
<content type="html"><![CDATA[<p>教你设置 batch-shortcuts</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006APoFYly1geysc9gpjmj305i058749.jpg" alt="img"> <a id="more"></a></p><h2 id="PATH-环境变量介绍"><a href="#PATH-环境变量介绍" class="headerlink" title="PATH 环境变量介绍"></a>PATH 环境变量介绍</h2><p>搬运自 <a href="https://zhuanlan.zhihu.com/p/44003359" rel="external nofollow noopener noreferrer" target="_blank">知乎</a></p><h4 id="PATH-环境变量"><a href="#PATH-环境变量" class="headerlink" title="PATH 环境变量"></a>PATH 环境变量</h4><p>经常使用命令行工具的话,对<code>PATH</code>等环境变量应该会非常熟悉;但现今的日常开发,接触到这一概念的机会越来越少。</p><p>时不时还是会遇到小朋友问我:“什么是PATH?”</p><p>这里记录一下,以供参考。</p><h4 id="什么是环境变量?"><a href="#什么是环境变量?" class="headerlink" title="什么是环境变量?"></a>什么是环境变量?</h4><p>环境变量是操作系统提供给应用程序访问的简单 key / value字符串;windows/linux/mac都有同样的概念。</p><p>一般用于提供参数值给不同的应用程序。</p><h4 id="什么是PATH变量?"><a href="#什么是PATH变量?" class="headerlink" title="什么是PATH变量?"></a>什么是PATH变量?</h4><p>我们从命令行想要运行一个程序的时候,待运行的程序往往不是在当前目录。</p><p><code>PATH变量</code>就是用于保存可以搜索的目录路径,如果待运行的程序不在当前目录,操作系统便可以去依次搜索<code>PATH变量</code>变量中记录的目录,如果在这些目录中找到待运行的程序,操作系统便可以运行。</p><p>以<code>Go开发</code>为例,但我们使用<code>go install</code>命令编译、安装go程序后,可执行文件是会被保存在<code>$GOPATH/bin</code>路径下;那么我们可以把这个路径<strong>加入</strong>到<code>PATH变量</code>中,这样我们便可以在任意路径中运行go安装的程序。</p><h4 id="GOPATH"><a href="#GOPATH" class="headerlink" title="GOPATH"></a>GOPATH</h4><p><code>GOPATH</code>又是一个环境变量,用于保存go的主目录,go默认安装之后,<code>GOPATH</code>会是当前用户的主工作目录中的<strong>go</strong>子目录,即:<code>%HOME/go</code>。</p><h4 id="查看环境变量"><a href="#查看环境变量" class="headerlink" title="查看环境变量"></a>查看环境变量</h4><p>假设我们要查看<code>GOPATH</code>这个环境变量的值:</p><ul><li>windows command prompt: <code>echo %GOPATH%</code></li><li>windows powershell: <code>$env:GOPATH</code></li><li>linux & mac: <code>echo $GOPATH</code></li></ul><h4 id="设置PATH变量"><a href="#设置PATH变量" class="headerlink" title="设置PATH变量"></a>设置PATH变量</h4><h4 id="windows"><a href="#windows" class="headerlink" title="windows"></a>windows</h4><p>假设我们当前登陆操作系统的用户名是:<code>xiaomin</code></p><p>然后我们要把<code>c:\users\xiaomin\go\bin</code>路径加入到<code>PATH变量</code>中,在windows下我们可以在<a href="https://link.zhihu.com/?target=https%3A//www.wikiwand.com/en/PowerShell" rel="external nofollow noopener noreferrer" target="_blank">PowerShell</a>中执行:</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="variable">$env:Path</span> += <span class="string">";c:\users\xiaomin\go\bin"</span></span><br></pre></td></tr></table></figure><p>注意,这样仅仅只是<strong>临时修改</strong>当前的<code>PATH变量</code>,当我们关闭、重开PowerShell时,就需要重新设置。</p><p>如果要永久的修改,需要使用<strong>管理员权限</strong>启动PowerShell,然后执行:</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">setx /M PATH <span class="string">"%PATH%;c:\users\xiaomin\go\bin"</span></span><br></pre></td></tr></table></figure><h4 id="Linux-amp-Mac"><a href="#Linux-amp-Mac" class="headerlink" title="Linux & Mac"></a>Linux & Mac</h4><p>同样假设我们当前登陆用户名是:<code>xiaomin</code></p><p>然后我们要把<code>/home/xiaomin/go/bin</code>路径加入到<code>PATH变量</code>中</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">export</span> PATH=<span class="variable">$PATH</span>:/home/xiaomin/go/bin</span><br></pre></td></tr></table></figure><p>这同样是临时修改,重开shell之后,会被重置;要永久改变的话,一般是将上面的命令加入到我们使用的shell初始化文件中。</p><p>以bash为例,那么就是将上述命令加到<code>/home/xiaomin/.bash_profile</code>文件中。</p><hr><h2 id="设置步骤"><a href="#设置步骤" class="headerlink" title="设置步骤"></a>设置步骤</h2><h3 id="1-pathext"><a href="#1-pathext" class="headerlink" title="1. pathext"></a>1. pathext</h3><p>Windows上的另一个变量。这里存储可直接运行的文件类型,一般需要添加 .lnk 进去</p><h3 id="2-建立一个目录"><a href="#2-建立一个目录" class="headerlink" title="2. 建立一个目录"></a>2. 建立一个目录</h3><p>建立: <code>D:\bin\batch-shortcuts</code></p><p><code>D:\bin\</code> 路径又简洁又舒服</p><h3 id="3-把目录写入path"><a href="#3-把目录写入path" class="headerlink" title="3. 把目录写入path"></a>3. 把目录写入path</h3><p>参照百度经验:<a href="https://jingyan.baidu.com/article/8ebacdf02d3c2949f65cd5d0.html" rel="external nofollow noopener noreferrer" target="_blank">windows10设置环境变量PATH</a></p><p>注意,设置完后,需要重启资源管理器和命令行来应用更改。</p><p>可以在任务管理器,选中资源管理器,选择重新启动</p><p>可以注销,然后登陆</p><p>可以重启</p><h3 id="4-然后就可以用了"><a href="#4-然后就可以用了" class="headerlink" title="4. 然后就可以用了"></a>4. 然后就可以用了</h3><p>怎么用?</p><p>在上面那个文件夹内的所有文件,都是命令行可以访问到的。</p><p>一般可以创建:.bat .lnk ,.exe也阔以哇</p><p>举个栗子:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">文件名:batch-shortcuts.bat</span><br><span class="line">explorer "D:\bin\batch-shortcuts"</span><br></pre></td></tr></table></figure><p>模仿Linux <code>ctrl d</code> 一键关闭风格,创建的 d.bat</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">文件名:d.bat</span><br><span class="line">exit</span><br></pre></td></tr></table></figure><p>比如md5</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">文件名:md5.lnk</span><br><span class="line">指向:"D:\Program Fies (Green)\WinMD5校验器.exe"</span><br></pre></td></tr></table></figure><p>还有一些调用程序的,比如安装Ubuntu后,写一个脚本来调用Ubuntu执行命令</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line">文件名:ubuntu.bat</span><br><span class="line">@echo off</span><br><span class="line"></span><br><span class="line">echo.</span><br><span class="line">echo Usage:</span><br><span class="line">echo use "ubuntu run $code$" to run shell command</span><br><span class="line"></span><br><span class="line">echo.</span><br><span class="line">"C:/Program Files/WindowsApps/CanonicalGroupLimited.Ubuntu16.04onWindows_2020.1604.14.0_x64__79rhkp1fndgsc/ubuntu1604.exe" %*</span><br></pre></td></tr></table></figure><p>%* 是传递所有命令行参数,这个了解一下会有很大的帮助</p><p>如果不用这个,就得用 <code>%1 %2 %3 %4 %5 %6 %7 %8 %9</code> ,而超过9的就不能再处理了</p><p>还有其他玩法,自己探索吧!</p><hr><h2 id="关于-D-bin-文件夹"><a href="#关于-D-bin-文件夹" class="headerlink" title="关于 D:\bin 文件夹"></a>关于 D:\bin 文件夹</h2><p>我一般把命令行调用的,编程语言类的,放在这里面,</p><p>(还有一些绿色IDE为代表的,可以一套带走的,我也放里面)</p><p>(还有DOS系统盘为代表的,系统级的底层的,我也放里面)</p><p>一方面是,这个路径他没有空格,不容易导致命令行调用出错。</p><p>第二是,他真的又简洁又舒服哇</p><p>列出一下目前为止我的 <code>D:\bin</code> 的内容</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><span class="line">D:\bin>dir</span><br><span class="line"> 驱动器 D 中的卷没有标签。</span><br><span class="line"> 卷的序列号是 9E68-267B</span><br><span class="line"></span><br><span class="line"> D:\bin 的目录</span><br><span class="line"></span><br><span class="line">2020/05/25 16:24 <DIR> .</span><br><span class="line">2020/05/25 16:24 <DIR> ..</span><br><span class="line">2020/05/25 16:25 <DIR> .gradle</span><br><span class="line">2020/03/17 20:23 <DIR> Anaconda3</span><br><span class="line">2020/03/23 01:30 <DIR> Android_SDK</span><br><span class="line">2020/06/05 10:42 <DIR> batch-shortcuts</span><br><span class="line">2020/07/16 17:22 <DIR> DOS-16bit</span><br><span class="line">2020/02/15 14:21 <DIR> eclipse-cpp</span><br><span class="line">2020/02/15 14:18 <DIR> eclipse-java</span><br><span class="line">2020/05/21 17:14 <DIR> ESP_8266</span><br><span class="line">2019/07/01 00:43 <DIR> HBuilder.9.0.1.windows</span><br><span class="line">2020/03/31 23:31 <DIR> HBuilderX.2.6.8.20200330.full</span><br><span class="line">2020/04/21 01:06 <DIR> Java</span><br><span class="line">2020/07/17 11:56 <DIR> nodejs</span><br><span class="line">2019/11/28 13:53 <DIR> Perl</span><br><span class="line">2020/03/18 23:53 <DIR> PortableApps</span><br><span class="line">2020/02/19 23:47 <DIR> Python</span><br><span class="line">2020/03/12 21:23 <DIR> Qt</span><br><span class="line">2020/03/10 23:30 <DIR> Ruby27-x64</span><br><span class="line">2020/03/23 21:16 <DIR> texlive</span><br><span class="line"> 0 个文件 0 字节</span><br><span class="line"> 20 个目录 57,676,476,416 可用字节</span><br><span class="line"></span><br><span class="line">D:\bin></span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">
<p>教你设置 batch-shortcuts</p>
<p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006APoFYly1geysc9gpjmj305i058749.jpg" alt="img">
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>亿分钟成为时间管理大师</title>
<link href="https://blog.tcpsoft.app/2020/07/time-management/"/>
<id>https://blog.tcpsoft.app/2020/07/time-management/</id>
<published>2020-07-16T02:27:30.000Z</published>
<updated>2020-07-16T04:57:23.701Z</updated>
<content type="html"><![CDATA[<p>使用一个叫 manicTime 的软件<a id="more"></a></p><p>(好像最近越来越喜欢挖坑不填了哇)</p><p>(想了解的小伙伴请发邮件催更,联系方式在about页面有)</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200716102927688.png" alt="image-20200716102927688"></p>]]></content>
<summary type="html">
<p>使用一个叫 manicTime 的软件
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>QQ空间辅助点赞</title>
<link href="https://blog.tcpsoft.app/2020/07/qzone-faster-like/"/>
<id>https://blog.tcpsoft.app/2020/07/qzone-faster-like/</id>
<published>2020-07-11T01:05:01.000Z</published>
<updated>2020-08-16T10:30:11.292Z</updated>
<content type="html"><![CDATA[<p>QQ空间手滑点赞太麻烦,用键盘吧。</p><p>嗯,我文思枯竭了,编不出什么内容充实的文章,就写下过程贴代码吧<a id="more"></a></p><h2 id="浏览器检查元素"><a href="#浏览器检查元素" class="headerlink" title="浏览器检查元素"></a>浏览器检查元素</h2><p>通过完成的审查元素发现:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">所有的列表,元素的id: feed_friend_list</span><br><span class="line">一个说说的,元素的class: f-single</span><br><span class="line">点赞按钮,元素的class: qz_like_btn_v3</span><br><span class="line">评论按钮,元素的class: qz_btn_reply</span><br></pre></td></tr></table></figure><h2 id="写脚本"><a href="#写脚本" class="headerlink" title="写脚本"></a>写脚本</h2><p>之前考虑用jQuery实现,用油猴脚本,但是脚本对于加载jQuery有一点问题</p><p>因为QQ空间用了 $ 这个名字,但是不是jQuery,所以考虑用纯 js 实现。</p><p>后来啊。$ 不是可以用jQuery写么。就改成了jQuery实现</p><p>(jQuery真香)</p><h2 id="用纯-js-添加点赞按钮的css"><a href="#用纯-js-添加点赞按钮的css" class="headerlink" title="用纯 js 添加点赞按钮的css"></a>用纯 js 添加点赞按钮的css</h2><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">var</span> style = <span class="built_in">document</span>.createElement(<span class="string">'style'</span>);</span><br><span class="line">style.innerHTML=<span class="string">"a.item-on {background-color: red;}"</span></span><br><span class="line"><span class="keyword">var</span> head = <span class="built_in">document</span>.head || <span class="built_in">document</span>.getElementsByTagName(<span class="string">'head'</span>)[<span class="number">0</span>];</span><br><span class="line">head.appendChild(style);</span><br></pre></td></tr></table></figure><h2 id="完整脚本-v0-1"><a href="#完整脚本-v0-1" class="headerlink" title="完整脚本 v0.1"></a>完整脚本 v0.1</h2><p>(还没想好怎么解释这个脚本。直接贴代码)</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// ==UserScript==</span></span><br><span class="line"><span class="comment">// @name QQ空间快速操作</span></span><br><span class="line"><span class="comment">// @namespace https://blog.tcpsoft.app/</span></span><br><span class="line"><span class="comment">// @version 0.1</span></span><br><span class="line"><span class="comment">// @description try to take over the world!</span></span><br><span class="line"><span class="comment">// @author tcpsoft</span></span><br><span class="line"><span class="comment">// @match https://user.qzone.qq.com/*</span></span><br><span class="line"><span class="comment">// @grant none</span></span><br><span class="line"><span class="comment">// ==/UserScript==</span></span><br><span class="line">(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>{</span><br><span class="line"> <span class="comment">// Your code here...</span></span><br><span class="line"><span class="comment">/* https://greasyfork.org/zh-CN/scripts/373979-qq%E7%A9%BA%E9%97%B4%E5%8A%A8%E6%80%81%E8%87%AA%E5%8A%A8%E7%82%B9%E8%B5%9E/code */</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">up</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"上"</span>);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">left</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"左"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line">first.find(<span class="string">".qz_btn_reply"</span>).click();</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">down</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"下"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line">first.slideUp(<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line"><span class="comment">//if(jQuery(".f-single").length==0){</span></span><br><span class="line"><span class="comment">//window.scrollTo(window.scrollX, document.documentElement.scrollHeight);</span></span><br><span class="line"><span class="comment">//}</span></span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">right</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"右 点赞"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"><span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(zan.length);</span><br><span class="line"><span class="keyword">if</span>(zan.length!=<span class="number">0</span>){</span><br><span class="line">zan.eq(<span class="number">0</span>).click();</span><br><span class="line">}</span><br><span class="line">first.slideUp(<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">beg</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.clear();</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"【【【【【】】】】】"</span>);</span><br><span class="line"><span class="comment">/*插入输入框*/</span></span><br><span class="line"><span class="keyword">var</span> $rect = jQuery(<span class="string">'<div>\</span></span><br><span class="line"><span class="string"><style>\</span></span><br><span class="line"><span class="string">#rect {\</span></span><br><span class="line"><span class="string">height: 100px; width: 160px; border:red 5px solid; position:fixed;\</span></span><br><span class="line"><span class="string">z-index: 999; top:40px; margin-left:40%; margin-right:40%;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect:focus{ border:5px green solid; }\</span></span><br><span class="line"><span class="string"></style>\</span></span><br><span class="line"><span class="string"><textarea type="input" id="rect" value="">输入区操作:\n触摸板双指上下滑刷新动态\n下 下一条\n左 评论\n右 点赞</textarea></div>'</span>);</span><br><span class="line">jQuery(<span class="string">"body"</span>).append($rect);</span><br><span class="line"><span class="comment">/*红色点赞*/</span></span><br><span class="line">jQuery(<span class="string">"head"</span>).append(<span class="string">"<style id=\"addedCSS\" type=\"text/css\">a.item-on {background-color: red;}</style>"</span>);</span><br><span class="line"><span class="comment">/*红色提示和文字</span></span><br><span class="line"><span class="comment">jQuery("div.user-vip-info").eq(0).html("<span style='color:red;font-size:50px'>OOKK.</span>");</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/*监听document的回车操作 37左 38上 39右 40下*/</span></span><br><span class="line">jQuery(<span class="string">"#rect"</span>).keydown(<span class="function"><span class="keyword">function</span>(<span class="params">e</span>)</span>{</span><br><span class="line"><span class="comment">//获取键盘输入的keyCode</span></span><br><span class="line"><span class="comment">//console.log(e)</span></span><br><span class="line"><span class="keyword">var</span> keycode = (<span class="built_in">Number</span>)(e.keyCode);</span><br><span class="line"><span class="built_in">console</span>.log(keycode);</span><br><span class="line"> <span class="keyword">if</span>(keycode == <span class="number">37</span>){<span class="comment">//左</span></span><br><span class="line">left();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">38</span>){<span class="comment">//上</span></span><br><span class="line">up();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">39</span>){<span class="comment">//右</span></span><br><span class="line">right();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">40</span>){<span class="comment">//下</span></span><br><span class="line">down();</span><br><span class="line">}</span><br><span class="line"><span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">});</span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"----等两秒----"</span>);</span><br><span class="line">setTimeout(beg,<span class="number">2000</span>);</span><br><span class="line">})();</span><br></pre></td></tr></table></figure><h2 id="2020-08-01更新-v0-2"><a href="#2020-08-01更新-v0-2" class="headerlink" title="2020-08-01更新 v0.2"></a>2020-08-01更新 v0.2</h2><p>增加了修复网络的功能。妈妈再也不用担心更新不出来啦</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// ==UserScript==</span></span><br><span class="line"><span class="comment">// @name QQ空间快速操作</span></span><br><span class="line"><span class="comment">// @namespace https://blog.tcpsoft.app/</span></span><br><span class="line"><span class="comment">// @version 0.2</span></span><br><span class="line"><span class="comment">// @description QQ空间用键盘操作,岂不美哉</span></span><br><span class="line"><span class="comment">// @author tcpsoft</span></span><br><span class="line"><span class="comment">// @match https://user.qzone.qq.com/*</span></span><br><span class="line"><span class="comment">// @grant none</span></span><br><span class="line"><span class="comment">// ==/UserScript==</span></span><br><span class="line"></span><br><span class="line">(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>{</span><br><span class="line"><span class="meta"> 'use strict'</span>;</span><br><span class="line"> <span class="comment">// Your code here...</span></span><br><span class="line"><span class="comment">/* https://greasyfork.org/zh-CN/scripts/373979-qq%E7%A9%BA%E9%97%B4%E5%8A%A8%E6%80%81%E8%87%AA%E5%8A%A8%E7%82%B9%E8%B5%9E/code */</span></span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">up</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"上"</span>);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">left</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"左"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line">first.find(<span class="string">".qz_btn_reply"</span>).click();</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">down</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"下"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line">first.slideUp(<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line"><span class="comment">//if(jQuery(".f-single").length==0){</span></span><br><span class="line"><span class="comment">//window.scrollTo(window.scrollX, document.documentElement.scrollHeight);</span></span><br><span class="line"><span class="comment">//}</span></span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">right</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"右 点赞"</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"><span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(zan.length);</span><br><span class="line"><span class="keyword">if</span>(zan.length!=<span class="number">0</span>){</span><br><span class="line">zan.eq(<span class="number">0</span>).click();</span><br><span class="line">}</span><br><span class="line">first.slideUp(<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">beg</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.clear();</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"【【【【【】】】】】"</span>);</span><br><span class="line"><span class="comment">/*插入输入框*/</span></span><br><span class="line"><span class="keyword">var</span> $rect = jQuery(<span class="string">'<div id="rect_div">\</span></span><br><span class="line"><span class="string"><style>\</span></span><br><span class="line"><span class="string">#rect_div{\</span></span><br><span class="line"><span class="string">position:fixed; z-index: 999; top:40px; margin-left:40%; margin-right:40%; width: 50%;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect {\</span></span><br><span class="line"><span class="string">height: 100px; width: 200px; border:red 5px solid; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect:focus{ border:5px green solid; }\</span></span><br><span class="line"><span class="string">#qzone_fix_button{\</span></span><br><span class="line"><span class="string">float:left; height: 50px; width: 100px; border:skyblue 2px solid; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string"></style>\</span></span><br><span class="line"><span class="string"><textarea type="input" id="rect" value="">输入区操作:\n触摸板双指上下滑刷新动态\n下 下一条\n左 评论\n右 点赞</textarea>\</span></span><br><span class="line"><span class="string"><button id="qzone_fix_button" onclick="QZFL.cookie.set(\'page_engine_off\',1,\'qzone.qq.com\',\'/\',12);location = location.href;return false;">网络问题<br>立即修复</button></div>'</span>);</span><br><span class="line">jQuery(<span class="string">"body"</span>).append($rect);</span><br><span class="line"><span class="comment">/*红色点赞*/</span></span><br><span class="line">jQuery(<span class="string">"head"</span>).append(<span class="string">"<style id=\"addedCSS\" type=\"text/css\">a.item-on {background-color: red;}</style>"</span>);</span><br><span class="line"><span class="comment">/*红色提示和文字</span></span><br><span class="line"><span class="comment">jQuery("div.user-vip-info").eq(0).html("<span style='color:red;font-size:50px'>OOKK.</span>");</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/*监听document的回车操作 37左 38上 39右 40下*/</span></span><br><span class="line">jQuery(<span class="string">"#rect"</span>).keydown(<span class="function"><span class="keyword">function</span>(<span class="params">e</span>)</span>{</span><br><span class="line"><span class="comment">//获取键盘输入的keyCode</span></span><br><span class="line"><span class="comment">//console.log(e)</span></span><br><span class="line"><span class="keyword">var</span> keycode = (<span class="built_in">Number</span>)(e.keyCode);</span><br><span class="line"><span class="built_in">console</span>.log(keycode);</span><br><span class="line"> <span class="keyword">if</span>(keycode == <span class="number">37</span>){<span class="comment">//左</span></span><br><span class="line">left();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">38</span>){<span class="comment">//上</span></span><br><span class="line">up();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">39</span>){<span class="comment">//右</span></span><br><span class="line">right();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">40</span>){<span class="comment">//下</span></span><br><span class="line">down();</span><br><span class="line">}</span><br><span class="line"><span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">});</span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"----等两秒----"</span>);</span><br><span class="line">setTimeout(beg,<span class="number">2000</span>);</span><br><span class="line">})();</span><br></pre></td></tr></table></figure><h2 id="2020-08-16更新-v0-3"><a href="#2020-08-16更新-v0-3" class="headerlink" title="2020-08-16更新 v0.3"></a>2020-08-16更新 v0.3</h2><p>0.3版本,增加了简单的去除顶部的已点赞用户</p><p>代码:</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// ==UserScript==</span></span><br><span class="line"><span class="comment">// @name QQ空间快速操作</span></span><br><span class="line"><span class="comment">// @namespace https://blog.tcpsoft.app/</span></span><br><span class="line"><span class="comment">// @version 0.3</span></span><br><span class="line"><span class="comment">// @description QQ空间用键盘操作,岂不美哉</span></span><br><span class="line"><span class="comment">// @author tcpsoft</span></span><br><span class="line"><span class="comment">// @match https://user.qzone.qq.com/*</span></span><br><span class="line"><span class="comment">// @grant none</span></span><br><span class="line"><span class="comment">// ==/UserScript==</span></span><br><span class="line"></span><br><span class="line">(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>{</span><br><span class="line"><span class="meta"> 'use strict'</span>;</span><br><span class="line"> <span class="comment">// Your code here...</span></span><br><span class="line"><span class="comment">/* https://greasyfork.org/zh-CN/scripts/373979-qq%E7%A9%BA%E9%97%B4%E5%8A%A8%E6%80%81%E8%87%AA%E5%8A%A8%E7%82%B9%E8%B5%9E/code */</span></span><br><span class="line"> <span class="keyword">var</span> list=[<span class="string">"Cortana"</span>,<span class="string">"Cortana"</span>];</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">getFirstTime</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"> <span class="keyword">var</span> timetime = first.find(<span class="string">".info-detail .ui-mr8.state"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(timetime);</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">faded</span>(<span class="params">first</span>)</span>{</span><br><span class="line"> getFirstTime();</span><br><span class="line"> first.slideUp(<span class="number">100</span>,<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">clearLiked</span>(<span class="params"></span>)</span>{</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"pending."</span>);</span><br><span class="line"> <span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"> <span class="keyword">if</span>(first.length==<span class="number">0</span>){</span><br><span class="line">jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> <span class="keyword">return</span>;</span><br><span class="line">}</span><br><span class="line"> <span class="keyword">var</span> nickName = first.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(nickName);</span><br><span class="line"> <span class="keyword">var</span> matchList = <span class="literal">false</span>;</span><br><span class="line"> <span class="keyword">for</span>(i=<span class="number">0</span>;i<list.length;i++){</span><br><span class="line"> <span class="keyword">if</span>(nickName.indexOf(list[i])><span class="number">-1</span>){</span><br><span class="line"> matchList=<span class="literal">true</span>;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">if</span>(matchList==<span class="literal">true</span>){</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"进入{pass}分支"</span>);</span><br><span class="line"> <span class="keyword">var</span> second=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">1</span>);</span><br><span class="line"> <span class="keyword">var</span> nextZan=second.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='cancellike']"</span>);<span class="comment">//取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(nextZan.length);</span><br><span class="line"> <span class="keyword">if</span>(nextZan.length!=<span class="number">0</span>){ <span class="comment">//下面有取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"下面有取消赞,所以pass"</span>);</span><br><span class="line"> first.remove();</span><br><span class="line"> setTimeout(clearLiked,<span class="number">100</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{ <span class="comment">//下面没有取消赞,停止</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"下面无取消赞,所以停止"</span>);</span><br><span class="line"> <span class="keyword">var</span> nickName = second.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"下一个人是:"</span>,nickName);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{</span><br><span class="line"> <span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"> <span class="built_in">console</span>.log(zan.length);</span><br><span class="line"> <span class="keyword">if</span>(zan.length!=<span class="number">0</span>){</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{</span><br><span class="line"> first.remove();</span><br><span class="line"> setTimeout(clearLiked,<span class="number">100</span>);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">up</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"上"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"pending."</span>);</span><br><span class="line"> clearLiked();</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">left</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"左"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line">first.find(<span class="string">".qz_btn_reply"</span>).click();</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">down</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"下"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line">faded(first);</span><br><span class="line"><span class="comment">//if(jQuery(".f-single").length==0){</span></span><br><span class="line"><span class="comment">//window.scrollTo(window.scrollX, document.documentElement.scrollHeight);</span></span><br><span class="line"><span class="comment">//}</span></span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">right</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"右 点赞"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"><span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(zan.length);</span><br><span class="line"><span class="keyword">if</span>(zan.length!=<span class="number">0</span>){</span><br><span class="line">zan.eq(<span class="number">0</span>).click();</span><br><span class="line">}</span><br><span class="line">faded(first);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">beg</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.clear();</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"【【【【【】】】】】"</span>);</span><br><span class="line"><span class="comment">/*插入输入框*/</span></span><br><span class="line"><span class="keyword">var</span> $rect = jQuery(<span class="string">'<div id="rect_div">\</span></span><br><span class="line"><span class="string"><style>\</span></span><br><span class="line"><span class="string">#rect_div{\</span></span><br><span class="line"><span class="string">position:fixed; z-index: 999; top:40px; margin-left:40%; margin-right:40%; width: 50%;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect {\</span></span><br><span class="line"><span class="string">height: 120px; width: 200px; border:red 5px solid; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect:focus{ border:5px green solid; }\</span></span><br><span class="line"><span class="string">#qzone_fix_button{\</span></span><br><span class="line"><span class="string">float:left; height: 50px; width: 100px; border:skyblue 2px solid; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#clearLikedDiv{\</span></span><br><span class="line"><span class="string">vertical-align: top;border: 2px solid yellow;width: 150px;height: 80px;\</span></span><br><span class="line"><span class="string">display: inline-flex;flex-direction: column;background-color: wheat;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#finishedClearLiked{\</span></span><br><span class="line"><span class="string">border: skyblue 2px inset; font-size: 1.5em;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#startClearLiked{\</span></span><br><span class="line"><span class="string">width: 100%;flex-grow: 1;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string"></style>\</span></span><br><span class="line"><span class="string"><textarea type="input" id="rect" value="">输入区操作:\n触摸板双指上下滑刷新动态\n上 清理顶部已点赞\n下 下一条\n左 评论\n右 点赞</textarea>\</span></span><br><span class="line"><span class="string"><button id="qzone_fix_button" onclick="QZFL.cookie.set(\'page_engine_off\',1,\'qzone.qq.com\',\'/\',12);location = location.href;return false;">网络问题<br>立即修复</button>\</span></span><br><span class="line"><span class="string"><div id="clearLikedDiv">\</span></span><br><span class="line"><span class="string"><span id="finishedClearLiked">free.</span>\</span></span><br><span class="line"><span class="string"><button id="startClearLiked">清理已点赞</button>\</span></span><br><span class="line"><span class="string"></div>\</span></span><br><span class="line"><span class="string"></div>'</span>);</span><br><span class="line">jQuery(<span class="string">"body"</span>).append($rect);</span><br><span class="line"> jQuery(<span class="string">"#startClearLiked"</span>).click(clearLiked);</span><br><span class="line"><span class="comment">/*红色点赞*/</span></span><br><span class="line">jQuery(<span class="string">"head"</span>).append(<span class="string">"<style id=\"addedCSS\" type=\"text/css\">a.item-on {background-color: red;}</style>"</span>);</span><br><span class="line"><span class="comment">/*红色提示和文字</span></span><br><span class="line"><span class="comment">jQuery("div.user-vip-info").eq(0).html("<span style='color:red;font-size:50px'>OOKK.</span>");</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/*监听document的回车操作 37左 38上 39右 40下*/</span></span><br><span class="line">jQuery(<span class="string">"#rect"</span>).keydown(<span class="function"><span class="keyword">function</span>(<span class="params">e</span>)</span>{</span><br><span class="line"><span class="comment">//获取键盘输入的keyCode</span></span><br><span class="line"><span class="comment">//console.log(e)</span></span><br><span class="line"><span class="keyword">var</span> keycode = (<span class="built_in">Number</span>)(e.keyCode);</span><br><span class="line"><span class="built_in">console</span>.log(keycode);</span><br><span class="line"> <span class="keyword">if</span>(keycode == <span class="number">37</span>){<span class="comment">//左</span></span><br><span class="line">left();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">38</span>){<span class="comment">//上</span></span><br><span class="line">up();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">39</span>){<span class="comment">//右</span></span><br><span class="line">right();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">40</span>){<span class="comment">//下</span></span><br><span class="line">down();</span><br><span class="line">}</span><br><span class="line"><span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">});</span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"----等两秒----"</span>);</span><br><span class="line">setTimeout(beg,<span class="number">2000</span>);</span><br><span class="line">})();</span><br></pre></td></tr></table></figure><h2 id="2020-08-16更新-v0-4"><a href="#2020-08-16更新-v0-4" class="headerlink" title="2020-08-16更新 v0.4"></a>2020-08-16更新 v0.4</h2><p>增加显示最顶部五条动态内容,修复网络和状态条和删除顶部已点赞都放在最左边了</p><p>代码:</p><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br><span class="line">125</span><br><span class="line">126</span><br><span class="line">127</span><br><span class="line">128</span><br><span class="line">129</span><br><span class="line">130</span><br><span class="line">131</span><br><span class="line">132</span><br><span class="line">133</span><br><span class="line">134</span><br><span class="line">135</span><br><span class="line">136</span><br><span class="line">137</span><br><span class="line">138</span><br><span class="line">139</span><br><span class="line">140</span><br><span class="line">141</span><br><span class="line">142</span><br><span class="line">143</span><br><span class="line">144</span><br><span class="line">145</span><br><span class="line">146</span><br><span class="line">147</span><br><span class="line">148</span><br><span class="line">149</span><br><span class="line">150</span><br><span class="line">151</span><br><span class="line">152</span><br><span class="line">153</span><br><span class="line">154</span><br><span class="line">155</span><br><span class="line">156</span><br><span class="line">157</span><br><span class="line">158</span><br><span class="line">159</span><br><span class="line">160</span><br><span class="line">161</span><br><span class="line">162</span><br><span class="line">163</span><br><span class="line">164</span><br><span class="line">165</span><br><span class="line">166</span><br><span class="line">167</span><br><span class="line">168</span><br><span class="line">169</span><br><span class="line">170</span><br><span class="line">171</span><br><span class="line">172</span><br><span class="line">173</span><br><span class="line">174</span><br><span class="line">175</span><br><span class="line">176</span><br><span class="line">177</span><br><span class="line">178</span><br><span class="line">179</span><br><span class="line">180</span><br><span class="line">181</span><br><span class="line">182</span><br><span class="line">183</span><br><span class="line">184</span><br><span class="line">185</span><br><span class="line">186</span><br><span class="line">187</span><br><span class="line">188</span><br><span class="line">189</span><br><span class="line">190</span><br><span class="line">191</span><br><span class="line">192</span><br><span class="line">193</span><br><span class="line">194</span><br><span class="line">195</span><br><span class="line">196</span><br><span class="line">197</span><br><span class="line">198</span><br><span class="line">199</span><br><span class="line">200</span><br><span class="line">201</span><br><span class="line">202</span><br><span class="line">203</span><br><span class="line">204</span><br><span class="line">205</span><br><span class="line">206</span><br><span class="line">207</span><br><span class="line">208</span><br><span class="line">209</span><br><span class="line">210</span><br><span class="line">211</span><br><span class="line">212</span><br><span class="line">213</span><br><span class="line">214</span><br><span class="line">215</span><br><span class="line">216</span><br><span class="line">217</span><br><span class="line">218</span><br><span class="line">219</span><br><span class="line">220</span><br><span class="line">221</span><br><span class="line">222</span><br><span class="line">223</span><br><span class="line">224</span><br><span class="line">225</span><br><span class="line">226</span><br><span class="line">227</span><br><span class="line">228</span><br><span class="line">229</span><br><span class="line">230</span><br><span class="line">231</span><br><span class="line">232</span><br><span class="line">233</span><br><span class="line">234</span><br><span class="line">235</span><br><span class="line">236</span><br><span class="line">237</span><br><span class="line">238</span><br><span class="line">239</span><br><span class="line">240</span><br><span class="line">241</span><br><span class="line">242</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// ==UserScript==</span></span><br><span class="line"><span class="comment">// @name QQ空间快速操作</span></span><br><span class="line"><span class="comment">// @namespace https://blog.tcpsoft.app</span></span><br><span class="line"><span class="comment">// @version 0.4</span></span><br><span class="line"><span class="comment">// @description QQ空间用键盘操作,岂不美哉</span></span><br><span class="line"><span class="comment">// @author tcpsoft</span></span><br><span class="line"><span class="comment">// @match https://user.qzone.qq.com/*</span></span><br><span class="line"><span class="comment">// @grant none</span></span><br><span class="line"><span class="comment">// ==/UserScript==</span></span><br><span class="line"></span><br><span class="line">(<span class="function"><span class="keyword">function</span> (<span class="params"></span>) </span>{</span><br><span class="line"><span class="meta"> 'use strict'</span>;</span><br><span class="line"> <span class="comment">// Your code here...</span></span><br><span class="line"><span class="comment">/* https://greasyfork.org/zh-CN/scripts/373979-qq%E7%A9%BA%E9%97%B4%E5%8A%A8%E6%80%81%E8%87%AA%E5%8A%A8%E7%82%B9%E8%B5%9E/code */</span></span><br><span class="line"> <span class="keyword">var</span> list=[<span class="string">"Cortana"</span>,<span class="string">"今日百色"</span>,<span class="string">"易锦教育"</span>,<span class="string">"易锦大学"</span>,<span class="string">"CUIT网络空间安全学院"</span>,<span class="string">"丁凌娜"</span>,<span class="string">"黄恋茹"</span>,<span class="string">"Victor"</span>,<span class="string">"墙"</span>];</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">getFirstTime</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"> <span class="keyword">var</span> timetime = first.find(<span class="string">".info-detail .ui-mr8.state"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(timetime);</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">matchList</span>(<span class="params">nickName</span>)</span>{</span><br><span class="line"> <span class="keyword">var</span> match = <span class="literal">false</span>;</span><br><span class="line"> <span class="keyword">for</span>(i=<span class="number">0</span>;i<list.length;i++){</span><br><span class="line"> <span class="keyword">if</span>(nickName.indexOf(list[i])><span class="number">-1</span>){</span><br><span class="line"> match=<span class="literal">true</span>;</span><br><span class="line"> <span class="keyword">break</span>;</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">return</span> match;</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">faded</span>(<span class="params">first</span>)</span>{</span><br><span class="line"> getFirstTime();</span><br><span class="line"> first.slideUp(<span class="number">100</span>,<span class="function"><span class="keyword">function</span>(<span class="params"></span>)</span>{<span class="keyword">this</span>.remove()});</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">clearLiked</span>(<span class="params"></span>)</span>{</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"pending."</span>);</span><br><span class="line"> <span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"> <span class="keyword">if</span>(first.length==<span class="number">0</span>){ <span class="comment">//好友动态已经空了</span></span><br><span class="line">jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> <span class="keyword">return</span>;</span><br><span class="line">}</span><br><span class="line"> <span class="keyword">var</span> nickName1 = first.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(nickName1);</span><br><span class="line"> <span class="keyword">var</span> match1 = matchList(nickName1);</span><br><span class="line"> <span class="keyword">if</span>(match1==<span class="literal">true</span>){ <span class="comment">// 第一个人是列表</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"进入{pass}分支"</span>);</span><br><span class="line"> <span class="keyword">var</span> second=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">1</span>);</span><br><span class="line"> <span class="keyword">var</span> nextZan=second.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='cancellike']"</span>);<span class="comment">//查找取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第二个人有无取消赞:"</span>,nextZan.length);</span><br><span class="line"> <span class="keyword">if</span>(nextZan.length!=<span class="number">0</span>){ <span class="comment">//下面有取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"下面有取消赞,所以pass"</span>);</span><br><span class="line"> first.remove();</span><br><span class="line"> setTimeout(clearLiked,<span class="number">125</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{ <span class="comment">//第二个人下面没有取消赞,</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第二个人下面无取消赞,"</span>);</span><br><span class="line"> <span class="keyword">var</span> nickName2 = second.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第二个人:"</span>,nickName2);</span><br><span class="line"> <span class="keyword">var</span> match2 = matchList(nickName2);</span><br><span class="line"> <span class="keyword">if</span>(match2==<span class="literal">true</span>){ <span class="comment">// 第二个人也是列表</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"进入{pass}分支"</span>);</span><br><span class="line"> <span class="keyword">var</span> third=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">2</span>);</span><br><span class="line"> <span class="keyword">var</span> nickName3 = second.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第三个人:"</span>,nickName3);</span><br><span class="line"> <span class="keyword">var</span> thirdZan=third.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='cancellike']"</span>);<span class="comment">//取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第三个人有无取消赞:"</span>,thirdZan.length);</span><br><span class="line"> <span class="keyword">if</span>(thirdZan.length!=<span class="number">0</span>){ <span class="comment">//下面有取消赞</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第三个人下面有取消赞,所以pass"</span>);</span><br><span class="line"> first.remove();</span><br><span class="line"> setTimeout(clearLiked,<span class="number">125</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{ <span class="comment">//下面没有取消赞,停止</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"下面无取消赞,所以停止"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{</span><br><span class="line"> <span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"第一个人有无点赞按钮:"</span>,zan.length);</span><br><span class="line"> <span class="keyword">if</span>(zan.length!=<span class="number">0</span>){ <span class="comment">// 有点赞按钮,结束</span></span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{</span><br><span class="line"> first.remove();</span><br><span class="line"> setTimeout(clearLiked,<span class="number">125</span>);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> setTimeout(space,<span class="number">100</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="function"><span class="keyword">function</span> <span class="title">space</span>(<span class="params"></span>)</span>{</span><br><span class="line"> <span class="keyword">for</span>(<span class="keyword">var</span> iii=<span class="number">0</span>;iii<<span class="number">5</span>;iii++){</span><br><span class="line"> <span class="keyword">var</span> one=jQuery(<span class="string">".f-single"</span>).eq(iii);</span><br><span class="line"> <span class="keyword">if</span>(one.length==<span class="number">0</span>){</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">0</span>).html(<span class="string">"nickName"</span>);</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">1</span>).html(<span class="string">"timestamp"</span>);</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">2</span>).html(<span class="string">"content"</span>);</span><br><span class="line"> }</span><br><span class="line"> <span class="keyword">else</span>{</span><br><span class="line"> <span class="keyword">var</span> nickName = one.find(<span class="string">".f-nick a"</span>).html();</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">0</span>).html(nickName);</span><br><span class="line"> <span class="keyword">var</span> time = one.find(<span class="string">".info-detail .ui-mr8.state"</span>).html();</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">1</span>).html(time);</span><br><span class="line"> <span class="keyword">var</span> summary = one.find(<span class="string">".f-info"</span>).text();</span><br><span class="line"> jQuery(<span class="string">"#statusTable"</span>).find(<span class="string">"tr"</span>).eq(iii).find(<span class="string">"td"</span>).eq(<span class="number">2</span>).html(summary);</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"> }</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">up</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"上"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"pending."</span>);</span><br><span class="line"> clearLiked();</span><br><span class="line">setTimeout(space,<span class="number">100</span>);</span><br><span class="line">jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"finished."</span>);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">left</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"左"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line">first.find(<span class="string">".qz_btn_reply"</span>).click();</span><br><span class="line"> setTimeout(space,<span class="number">100</span>);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">down</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"下"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line">faded(first);</span><br><span class="line"> setTimeout(space,<span class="number">100</span>);</span><br><span class="line"><span class="comment">//if(jQuery(".f-single").length==0){</span></span><br><span class="line"><span class="comment">//window.scrollTo(window.scrollX, document.documentElement.scrollHeight);</span></span><br><span class="line"><span class="comment">//}</span></span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">right</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"右 点赞"</span>);</span><br><span class="line"> jQuery(<span class="string">"#finishedClearLiked"</span>).html(<span class="string">"free."</span>);</span><br><span class="line"><span class="keyword">var</span> first=jQuery(<span class="string">".f-single"</span>).eq(<span class="number">0</span>);</span><br><span class="line"><span class="built_in">console</span>.log(first);</span><br><span class="line"><span class="keyword">var</span> zan=first.find(<span class="string">"a.qz_like_btn_v3[data-clicklog='like']"</span>);</span><br><span class="line"><span class="built_in">console</span>.log(zan.length);</span><br><span class="line"><span class="keyword">if</span>(zan.length!=<span class="number">0</span>){</span><br><span class="line">zan.eq(<span class="number">0</span>).click();</span><br><span class="line">}</span><br><span class="line">faded(first);</span><br><span class="line"> setTimeout(space,<span class="number">150</span>);</span><br><span class="line">}</span><br><span class="line"><span class="function"><span class="keyword">function</span> <span class="title">beg</span>(<span class="params"></span>)</span>{</span><br><span class="line"><span class="built_in">console</span>.clear();</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"【【【【【】】】】】"</span>);</span><br><span class="line"><span class="comment">/*插入输入框*/</span></span><br><span class="line"><span class="keyword">var</span> $rect = jQuery(<span class="string">'<div id="rect_div">\</span></span><br><span class="line"><span class="string"><style>\</span></span><br><span class="line"><span class="string">#rect_div{\</span></span><br><span class="line"><span class="string"> position: fixed; z-index: 999;top: 40px; width: 90%; text-align: center; left: 0px; right: 0px; margin-left: auto; margin-right: auto;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect {\</span></span><br><span class="line"><span class="string">height: 140px; width: 210px; border:red 5px solid; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#rect:focus{ border:5px green solid; }\</span></span><br><span class="line"><span class="string">#clearLikedDiv{\</span></span><br><span class="line"><span class="string">vertical-align: top;border: 4px solid darkseagreen;width: 100px;height: 120px;\</span></span><br><span class="line"><span class="string">display: inline-flex;flex-direction: column;background-color: wheat;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#qzone_fix_button{\</span></span><br><span class="line"><span class="string">height: 50px; width: 100px; \</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#finishedClearLiked{\</span></span><br><span class="line"><span class="string">border: skyblue 3px inset; font-size: 1.5em;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#startClearLiked{\</span></span><br><span class="line"><span class="string">width: 100%;flex-grow: 1;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">\</span></span><br><span class="line"><span class="string">#statusTable{\</span></span><br><span class="line"><span class="string">border-collapse: collapse;\</span></span><br><span class="line"><span class="string"> display: inline-table;\</span></span><br><span class="line"><span class="string"> vertical-align: top;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#statusTable tr td:nth-child(1){\</span></span><br><span class="line"><span class="string">background-color: #FFFFCC;\</span></span><br><span class="line"><span class="string">width: 100px;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#statusTable tr td:nth-child(2){\</span></span><br><span class="line"><span class="string">background-color: #DDDDDD;\</span></span><br><span class="line"><span class="string">width: 100px;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string">#statusTable tr td:nth-child(3){\</span></span><br><span class="line"><span class="string">background-color: #CCFFCC;\</span></span><br><span class="line"><span class="string">width: 300px;\</span></span><br><span class="line"><span class="string">}\</span></span><br><span class="line"><span class="string"></style>\</span></span><br><span class="line"><span class="string"><div id="clearLikedDiv">\</span></span><br><span class="line"><span class="string"> <button id="qzone_fix_button" onclick="QZFL.cookie.set(\'page_engine_off\',1,\'qzone.qq.com\',\'/\',12);location = location.href;return false;">网络问题<br>立即修复</button>\</span></span><br><span class="line"><span class="string"><span id="finishedClearLiked">free.</span>\</span></span><br><span class="line"><span class="string"><button id="startClearLiked">清理已点赞</button>\</span></span><br><span class="line"><span class="string"></div>\</span></span><br><span class="line"><span class="string"><textarea type="input" id="rect" value="">输入区操作:\n触摸板双指上下滑刷新动态\n空格 加载前五条动态信息\n上 清理顶部已点赞\n下 下一条\n左 评论\n右 点赞</textarea>\</span></span><br><span class="line"><span class="string"><table id="statusTable" border="2"><tr>\</span></span><br><span class="line"><span class="string"><td>100</td><td>100</td><td>100</td>\</span></span><br><span class="line"><span class="string"></tr><tr>\</span></span><br><span class="line"><span class="string"><td>200</td><td>200</td><td>200</td>\</span></span><br><span class="line"><span class="string"></tr><tr>\</span></span><br><span class="line"><span class="string"><td>300</td><td>300</td><td>300</td>\</span></span><br><span class="line"><span class="string"></tr><tr>\</span></span><br><span class="line"><span class="string"><td>400</td><td>400</td><td>400</td>\</span></span><br><span class="line"><span class="string"></tr><tr>\</span></span><br><span class="line"><span class="string"><td>500</td><td>500</td><td>500</td>\</span></span><br><span class="line"><span class="string"></tr></table>\</span></span><br><span class="line"><span class="string"></div>'</span>);</span><br><span class="line">jQuery(<span class="string">"body"</span>).append($rect);</span><br><span class="line"> jQuery(<span class="string">"#startClearLiked"</span>).click(clearLiked);</span><br><span class="line"><span class="comment">/*红色点赞*/</span></span><br><span class="line">jQuery(<span class="string">"head"</span>).append(<span class="string">"<style id=\"addedCSS\" type=\"text/css\">a.item-on {background-color: red;}</style>"</span>);</span><br><span class="line"><span class="comment">/*红色提示和文字</span></span><br><span class="line"><span class="comment">jQuery("div.user-vip-info").eq(0).html("<span style='color:red;font-size:50px'>OOKK.</span>");</span></span><br><span class="line"><span class="comment">*/</span></span><br><span class="line"><span class="comment">/*监听document的回车操作 37左 38上 39右 40下*/</span></span><br><span class="line">jQuery(<span class="string">"#rect"</span>).keydown(<span class="function"><span class="keyword">function</span>(<span class="params">e</span>)</span>{</span><br><span class="line"><span class="comment">//获取键盘输入的keyCode</span></span><br><span class="line"><span class="comment">//console.log(e)</span></span><br><span class="line"><span class="keyword">var</span> keycode = (<span class="built_in">Number</span>)(e.keyCode);</span><br><span class="line"><span class="built_in">console</span>.log(keycode);</span><br><span class="line"> <span class="keyword">if</span>(keycode == <span class="number">32</span>){<span class="comment">//空格</span></span><br><span class="line"> <span class="built_in">console</span>.log(<span class="string">"空格"</span>);</span><br><span class="line">space();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">37</span>){<span class="comment">//左</span></span><br><span class="line">left();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">38</span>){<span class="comment">//上</span></span><br><span class="line">up();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">39</span>){<span class="comment">//右</span></span><br><span class="line">right();</span><br><span class="line">}<span class="keyword">else</span> <span class="keyword">if</span>(keycode == <span class="number">40</span>){<span class="comment">//下</span></span><br><span class="line">down();</span><br><span class="line">}</span><br><span class="line"><span class="keyword">return</span> <span class="literal">false</span>;</span><br><span class="line">});</span><br><span class="line">}</span><br><span class="line"><span class="built_in">console</span>.log(<span class="string">"----等两秒----"</span>);</span><br><span class="line">setTimeout(beg,<span class="number">2000</span>);</span><br><span class="line">})();</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">
<p>QQ空间手滑点赞太麻烦,用键盘吧。</p>
<p>嗯,我文思枯竭了,编不出什么内容充实的文章,就写下过程贴代码吧
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>手机差点报废后的自救</title>
<link href="https://blog.tcpsoft.app/2020/05/Mi9-SE-screen-problem-self-rescue/"/>
<id>https://blog.tcpsoft.app/2020/05/Mi9-SE-screen-problem-self-rescue/</id>
<published>2020-05-26T11:28:30.000Z</published>
<updated>2020-05-26T13:04:34.854Z</updated>
<content type="html"><![CDATA[<p>今天手机屏幕出问题手机差点变砖</p><a id="more"></a><h1 id="莫名其妙的自动点击"><a href="#莫名其妙的自动点击" class="headerlink" title="莫名其妙的自动点击"></a>莫名其妙的自动点击</h1><p>今天(前几天开始),手机使用的时候总是有莫名其妙的自动的点击,造成了一些困扰。</p><p>今天下午开始直接十点同时点击,在屏幕最下方!</p><p>脑补一下:打开输入法,啪啦啪啦给我按一堆 <code>,.,.,,,</code> ,</p><p>打开设置,啪啦啪啦给我点进去不知道什么设置选项了</p><p>打开 Minecraft ,选中TNT,刚想摆,结果在右边给我放了一堆了(然后切换成火石…)</p><p>(事后模拟了一下,大概就像这样:)</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173705203.jpg" alt></p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006qir4oly1gdsc02cc2kj308c09474m.jpg" alt="img" style="zoom:50%;"><h1 id="考虑是不是系统卡顿"><a href="#考虑是不是系统卡顿" class="headerlink" title="考虑是不是系统卡顿"></a>考虑是不是系统卡顿</h1><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/ceeb653ely1g5muukoxz9j20dy07s3yy.jpg" alt="img"></p><p>锁屏,解锁。无效</p><p>关机,重启。无效。开机一会儿后又开始了,而且频繁的点击影响锁屏解锁!</p><p>什么?你想叫我重买?</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006APoFYly1g56oaeje2gj30ae0acmxi.jpg" alt="不可能想都不要想_不要_可能表情" style="zoom:50%;"><h1 id="考虑是不是有病毒软件恶意程序"><a href="#考虑是不是有病毒软件恶意程序" class="headerlink" title="考虑是不是有病毒软件恶意程序"></a>考虑是不是有病毒软件恶意程序</h1><p>浩浩荡荡开始卸载(半年了终于清理一次手机)</p><blockquote><p>顺手发现了小米系统的自动启动程序是真的恶心。刚关了几个,又给我打开了几个程序</p></blockquote><p>检查并卸载了:白鲸V₱N、老王V₱N、蚂蚁V₱N、旋风V₱N、Minecraft网易版、adbd insecure(系统使用过程中提示授予了root权限 所以严重怀疑这个)、VMOS(占用空间大,顺手卸了吧)、轻启动(有模拟点击,所以也怀疑这个,而且长得还丑,顺手卸了吧)</p><p><strong>莫 有 卵 用 !</strong></p><p>还是那么自由的十点暴击</p><h1 id="冻结系统程序"><a href="#冻结系统程序" class="headerlink" title="冻结系统程序"></a>冻结系统程序</h1><p>浏览小米系统管家,看到了下面的程序然后冻结了</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526174312780.png" style="zoom:50%;"><p>心想重启一下才能停止运行系统服务呢。重启手机。结果:</p><p><strong>触 摸 完 全 没 反 应 了 !</strong></p><p>下图是网上随便找的,脑补一下随便怎么划都没反应的状态。当时我心里就直接:噔噔咚</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173640419.png" style="zoom: 80%;"><p>咋办??????????????????</p><h1 id="adb-?试试就逝世。"><a href="#adb-?试试就逝世。" class="headerlink" title="adb ?试试就逝世。"></a>adb ?试试就逝世。</h1><p>连接电脑,adb shell进入命令行。</p><p>input,模拟触摸。不管用</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526175057121.png" alt></p><p>通过搜索,知道了如何列出已停用的系统程序</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173039579.png" alt></p><p>通过搜索知道了启用已冻结的系统程序的方法,启用了两个,然后reboot重启</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173458485.png" alt></p><p>还是不行。又启用了两个</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173816548.png" alt></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526173752547.png" alt></p><p>重启,还是不行</p><h1 id="突然想到鼠标"><a href="#突然想到鼠标" class="headerlink" title="突然想到鼠标"></a>突然想到鼠标</h1><p>摸出手机 USB-C OTG 转接头,拔掉电脑无线鼠标插上OTG插上TypeC口,</p><p><strong>能用!</strong></p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526180533257.png" style="zoom: 50%;"><p>啊这?? 这变成巴掌大的 Android显示器了么</p><p>所幸是能用了</p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006m97Kgly1gdl8qdjl1gj30h30hs40u.jpg" alt="希望人没事_没事_希望表情" style="zoom:33%;"><p>现在又咋办呢????????????</p><h1 id="进入TRWP看看?"><a href="#进入TRWP看看?" class="headerlink" title="进入TRWP看看?"></a>进入TRWP看看?</h1><p>截图就不截图了,脑补一下。</p><p>重启进入TRWP,各种操作都是正常的,甚至还很流畅。</p><p>判定硬件没有问题。</p><p>判定TRWP手机驱动正常可用。</p><p>MIUI系统有问题。</p><h1 id="通过搜索,我们知道…"><a href="#通过搜索,我们知道…" class="headerlink" title="通过搜索,我们知道…"></a>通过搜索,我们知道…</h1><p>搜你妹,上莆田医院啊</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/ceeb653ely1g5muukoxz9j20dy07s3yy.jpg" alt="img"></p><p>重装。。。系统?</p><p>然后又搜了一堆新版系统,又搜了刷系统。</p><p>不行,我程序还没备份。</p><p>于是打算开始用鼠标操作进行本地备份( <a href="https://www.jb51.net/shouji/675884.html" rel="external nofollow noopener noreferrer" target="_blank">如何操作</a> )</p><p>此处省略 1w 字 …</p><p>浏览器历史记录:(信息量很大)<img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526165743064.png" alt="image-20200526165743064"></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526165817077.png" alt="image-20200526165817077"></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526165855658.png" alt="image-20200526165855658"></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526165952401.png" alt="image-20200526165952401"></p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/image-20200526170059829.png" alt="image-20200526170059829"></p><h1 id="我想起高兴的细情"><a href="#我想起高兴的细情" class="headerlink" title="我想起高兴的细情"></a>我想起高兴的细情</h1><p>手机发烫了。</p><p>想起前面哪篇文章说过触摸不行可能是屏幕上电荷什么的。。。</p><p>(<a href="http://gd.zhidao.189.cn/ckb/sj/20180629/1103_364939.html?city=gz" rel="external nofollow noopener noreferrer" target="_blank">终于找到这篇文章了</a>)</p><p>解决方案:湿抹布,上下左右前前后后擦一遍,重启。</p><p>问题解决。</p><p><img src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/006oOWahgy1fgl2m7ezfaj306y06yt8x.jpg" alt="意不意外!惊不惊喜! - 没想到吧?我想到了哈哈哈!意不意外?惊不惊喜?刺不刺激?_想不到_装逼_斗图_怼人表情表情"></p>]]></content>
<summary type="html">
<p>今天手机屏幕出问题手机差点变砖</p>
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="adb" scheme="https://blog.tcpsoft.app/tags/adb/"/>
</entry>
<entry>
<title>大举报:仿佛那个时代又来临了</title>
<link href="https://blog.tcpsoft.app/2020/05/dajubao/"/>
<id>https://blog.tcpsoft.app/2020/05/dajubao/</id>
<published>2020-05-11T06:35:55.000Z</published>
<updated>2020-05-26T11:57:51.419Z</updated>
<content type="html"><![CDATA[<p>转自 <a href="https://www.douban.com/note/719813875/" rel="external nofollow noopener noreferrer" target="_blank">豆瓣</a> : 2019-05-25 03:37:45<a id="more"></a></p><hr><h2 id="大举报:仿佛那个时代又来临了"><a href="#大举报:仿佛那个时代又来临了" class="headerlink" title="大举报:仿佛那个时代又来临了"></a>大举报:仿佛那个时代又来临了</h2><p>原创:梅骁 </p><p>1</p><p>之前我很想写一篇文章,写举报是时代变坏的开始。</p><p>但最近我的想法变了,我们的时代不是在开始变坏,而是已经变得很坏了。</p><p>最近一个让我有这种感觉的事件是王晨艺的点赞事件。</p><p>王晨艺是今年《创造营2019》的一个选手,是个没什么背景的舞蹈老师,在《创造营2019》这个整体很糊的节目里人气排名很靠前。</p><p>你不知道他没关系,因为我其实对他也没那么熟悉。</p><p>但这两天他身上发生了一个事情,有人扒出他六年前曾经在微博点赞过荤段子,所以认为他点赞涉及“敏感问题”,认为他是劣迹艺人,要求他立刻退赛。</p><p><img src="../../blog-images/2020/dajubao/p61346149.webp" alt="img"></p><p>看到这条新闻的时候,我觉得这一切都荒谬透顶。</p><p>最可怕的还不是有人认为一个人点赞荤段子所以他就是劣迹艺人,最可怕的是居然有人为了寻找一个人的“劣迹”而去疯狂翻查这个人过去多年的人生经历,试图寻找出一个黑料、一个过失,并对此大加举报攻击,以达到封杀、退赛的目的。</p><p>这个画面实在太可怕了。</p><p>一个人,他面无表情地盯着手机、盯着电脑,去从另一个人过往的茫茫人生经历里寻找一个错漏之处,就为了攻击他、打垮他。</p><p>你十年前说过脏话、你五年前垃圾没扔进垃圾桶、你三年前打过人一拳……这些全部都有可能成为你被攻击的素材。</p><p>这太可怕了,这画面的恐怖程度不亚于任何一部恐怖片。</p><p>因为我们谁都不能保证自己过往人生里从没有过任何错漏不当之处,所以我们任何人都有可能成为被这种手段打倒的那个。</p><p>2</p><p>时间稍微往前推一下。</p><p>今年三月份时,曾经发生过一件事,重庆一所高校里,有个老师因为课堂上发表损害国家声誉的过激言论而被学生举报。</p><p>学校很快发布公告,认为他违反教师职业道德,撤销了他的教师资格。</p><p><img src="../../blog-images/2020/dajubao/p61346150.webp" alt="img"></p><p>这是举报者的又一次胜利,可我看得特别害怕。</p><p>试想一下,当一个大学老师在课堂上讲话都可能会被举报的时候,他会怎么办?</p><p>他会只敢讲那些最安全、最无聊也最没有价值的东西,因为只有那些东西才是不会被举报的,与传道授业解惑相比,当然是个人的安全最重要。</p><p>这次是撤销教师资格,下次可能就是被判刑入狱,不,据我所知,已经有大学老师因为这个而入狱三年了。</p><p><img src="../../blog-images/2020/dajubao/p61346148.webp" alt="img"></p><p>所以,会越来越少人敢冒这个风险。</p><p>可是,你知道吗,现代大学教育跟中世纪大学教育的区别就在于,中世纪大学是传授已有知识的场所,而现代大学则担负着不断开拓新的知识和学科的职能。</p><p>所以,从1809年现代大学由柏林大学创立开始,“自由”都是大学最核心的关键词。</p><p>曾经在清华大学里,闻一多是言论最激进的教授,动不动就要在课堂上发表演说,后来更是在西南联大的广场集会上高声呼喊,对学校大肆批评。</p><p><img src="../../blog-images/2020/dajubao/p61346151.webp" alt="img"></p><p>闻一多</p><p>当时政府要求学校解聘闻一多,时任校长梅贻琦根本不理会,即便他自己也对闻一多的言行很不满,但他知道“自由”才是让大学教育保持活力的唯一动力。</p><p>而当“举报”出现在大学课堂上,当大学老师的每一句话都可能成为被举报的理由和材料时,还谈什么自由,谈什么进步。</p><p>我们的年轻一代在面对自己不认可的言论时第一反应已经不是“与他辩论”“将他驳倒”,而是熟练的使用举报手段“我要举报他,堵上他说话的嘴巴”。</p><p>并且他们一次又一次的成功做到了。</p><p>他们毁掉的不只是一个又一个老师,他们毁掉的更是教育本身。</p><p>这真的很可悲。</p><p>3</p><p>前两天,在豆瓣鹅组有这么一个帖子,内容是一个投票。</p><p>帖子的作者问大家,如果你发现你的父母、爱人、师长、朋友发表了不当言论,你要不要举报ta?</p><p>那个帖子里甚至详细地把这些人分成了“关系亲近的父母”“有过过节的朋友”“分手分得不愉快的前任”等等,把这些人分门别类地做了投票,问当这些发表了不当言论,你要不要举报。</p><p>这还不是最可怕的,最可怕的是下面的跟帖是真的认真在讨论。</p><p>有人说,父母是绝对不会举报的。</p><p>有人说,就算是爸妈,说了不当言论,也不能姑息。</p><p>有人说,分得不愉快的前任、有过节的朋友当然要举报啊。</p><p>诸如此类,林林总总,这些讨论才是我觉得最可怕的地方,因为大家都默认了“举报”的合法性,默认了当一个人发表了不当言论,他就应该被举报。</p><p>这实在太荒谬了。</p><p>没有任何一个人应该因为他的言论而被举报</p><p>当你遇到一个人说了你不认可的、甚至你极端厌恶的言论,你要做的事情应该是去反驳他、去驳倒他,去用你的思想、你的知识、你的言论去和他正面对决。</p><p>“我看不惯你的言论,所以我要反驳你”,这才是一个文明社会的人应该做的事情。</p><p>而“举报”是“我看不惯你的言论,所以我要堵上你的嘴,不让你说话,我堵不上,我就让更高的权力去堵你的嘴”。</p><p>这是个太可怕的思路。</p><p>一旦你把对言论正确与否的决定权交给了更高的权力,那今天被打倒的是你看不惯的人,明天被打倒的就可能是你自己。</p><p>不要觉得自己一辈子都不可能有任何错漏,任何人都会有错漏,任何人都会在某些情况下发表不当言论。</p><p>甚至,很可能今天还是很合情合理合法的言论,明天就会变成不当言论。</p><p>枪口不会因为你曾经是举报者,就对你网开一面。</p><p>4</p><p>其实,最近这两年来,举报已经越来越常见</p><p>有粉丝为了打击别家偶像,就去举报对方主演的作品有思想问题,有的就去挖对方多年前的微博、文章,试图找出蛛丝马迹、错漏之处。</p><p>我们其实是眼看着这股风气越兴越胜的。</p><p>有人因言获罪入狱,有人靠举报他人以达到打击报复的目的。</p><p>有人讨论当父母发表不当言论时,要不要与父母划清界线。</p><p>有人认真觉得堵上越来越多的嘴,这世界才会变得更好。</p><p>我们已经可以看到那个可预见的未来了。</p><p>在那个未来里,大家会因为不知道自己哪天因为哪句话被举报,所以大学老师会越来越不敢说话,亲人、爱人、朋友之间会越来越无法相信彼此。</p><p>甚至,就连你用滴滴打个车,都可能被司机举报你有不当言论,只因为你在车上和朋友讨论了一下性少数群体的话题。</p><p><img src="../../blog-images/2020/dajubao/p61346152.webp" alt="img"></p><p>我们已经能看到那个人人自危的未来就在不远处了。</p><p>你我都知道那会是个糟糕、邪恶的时代,我们早就见识过了。</p><p>但你我也都知道,我们是很难阻挡举报时代的来临的。</p><p>不,其实风行举报的时代早就已经在我们没注意时来临了,它早就已经深入到了我们生活的方方面面。</p><p>可这是不对的,无论多少人这么做,它都依然是不对的。</p><p>它会毁掉教育,毁掉创造和文化,毁掉人与人之间的信任,毁掉所有自由进步的可能性。</p><p>它不是将要到来,它是已经到来了。</p><p>你我都拦不住这个糟糕时代的来临。</p><p>但至少,我们可以选择不使用它,我们可以选择不做这个糟糕时代的共犯。</p>]]></content>
<summary type="html">
<p>转自 <a href="https://www.douban.com/note/719813875/" rel="external nofollow noopener noreferrer" target="_blank">豆瓣</a> : 2019-05-25 03:37:45
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>adb自动刷钱</title>
<link href="https://blog.tcpsoft.app/2020/05/adb-auto-make-money/"/>
<id>https://blog.tcpsoft.app/2020/05/adb-auto-make-money/</id>
<published>2020-05-05T01:31:03.000Z</published>
<updated>2020-05-05T05:27:20.987Z</updated>
<content type="html"><![CDATA[<p>这是一款名字叫“Zen Idle”的游戏。来尝试下自动刷钱</p><img src="../../blog-images/2020/adb-auto-make-money/image-20200505094215251.png" alt="image-20200505094215251" style="zoom: 33%;"><a id="more"></a><p>【adb获取包名以及当前运行的activity】</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell dumpsys window | findstr mCurrentFocus</span><br></pre></td></tr></table></figure><p>输出: </p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">mCurrentFocus=Window{98555ab u0 com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity}</span><br></pre></td></tr></table></figure><p>由包名获取apk路径</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell pm path io.ionic.starter</span><br></pre></td></tr></table></figure><p>【adb命令行启动应用程序】</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell am start -n 包名/类名</span><br></pre></td></tr></table></figure><p>如:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell am start -n com.android.music/com.android.music.MusicBrowserActivity</span><br></pre></td></tr></table></figure><p>【adb shell 修改系统时间】<br>下面命令亲测可用,假如当前时间 01月05号08点23分改成 01月05号12点23分</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell date "01051223"</span><br></pre></td></tr></table></figure><p>【按钮的位置】<br>找到开发者选项,开启“指针位置”,在游戏里找到按钮的范围<br>Claim按钮<br>X: 390-690 300 540<br>Y: 1212-1362 150 1287<br>关闭广告按钮<br>x 915<br>y 835</p><p>【Android adb 模拟滑动 按键 点击事件】</p><p>关于tap的话,他模拟的是touch屏幕的事件,只需给出x、y坐标即可。<br>此x、y坐标对应的是真实的屏幕分辨率,所以要根据具体手机具体看,比如你想点击屏幕(x, y) = (250, 250)位置:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell input tap 250 250</span><br></pre></td></tr></table></figure><p>此处我:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">input tap 540 1287</span><br></pre></td></tr></table></figure><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">input tap 915 835</span><br></pre></td></tr></table></figure><p>【总命令】</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">adb shell date <span class="string">"01010601"</span> ; am start -n com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity ; sleep 1 ; input tap 540 1287 ; sleep 1 ; date <span class="string">"01010101"</span> ; input keyevent 3</span><br></pre></td></tr></table></figure><p>加点循环</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">for</span> I <span class="keyword">in</span> $(seq 1 20);<span class="keyword">do</span></span><br><span class="line"> <span class="built_in">echo</span> <span class="variable">$I</span>/20 ; date <span class="string">"01010601"</span> ; am start -n com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity ; sleep 1 ; input tap 915 835 ; input tap 915 835 ; input tap 540 1287 ; sleep 1 ; date <span class="string">"01010101"</span> ; input keyevent 3</span><br><span class="line"><span class="keyword">done</span></span><br></pre></td></tr></table></figure><p>写入sh脚本,懒得每次输入了</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">echo</span> <span class="string">'for I in $(seq 1 20);do\n echo $I/20 ; date "01010601" ; am start -n com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity ; sleep 1 ; input tap 915 835 ; input tap 915 835 ; input tap 540 1287 ; sleep 1 ; date "01010101" ; input keyevent 3\ndone'</span> >zen.sh</span><br></pre></td></tr></table></figure><p>【adb 安装卸载程序】<br>adb root 失败,提示adbd cannot run as root in production builds<br>网上说安装adbd-Insecure-v2.00.apk,亲测无效。还是每次adb shell然后su吧。</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line">adb install ./adbd-Insecure-v2.00.apk</span><br><span class="line"></span><br><span class="line">adb shell pm list packages|grep adb</span><br><span class="line">输出:package:eu.chainfire.adbd</span><br><span class="line"></span><br><span class="line">adb uninstall eu.chainfire.adbd</span><br></pre></td></tr></table></figure><p>【尝试只改时间】</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">date "01010101" ; date "01010601"</span><br></pre></td></tr></table></figure><p>并不能让程序显示奖励窗口(必须先退出这个页面再进入)</p><p>并不能让程序显示奖励窗口(必须先退出这个页面再进入)</p><p>【进一步的集成】<br>通过命令行参数决定要循环几次</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">echo</span> <span class="string">'CNT=10</span></span><br><span class="line"><span class="string">if [ $# != 0 ] ; then </span></span><br><span class="line"><span class="string">CNT=$1</span></span><br><span class="line"><span class="string">fi</span></span><br><span class="line"><span class="string">for I in $(seq 1 $CNT);do</span></span><br><span class="line"><span class="string"> echo $I/$CNT ; date "01010601" ; am start -n com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity ; sleep 1 ; input tap 915 835 ; input tap 915 835 ; input tap 540 1287 ; sleep 1 ; date "01010101" ; input keyevent 3</span></span><br><span class="line"><span class="string">done'</span> >zen.sh</span><br></pre></td></tr></table></figure><p>然后:</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">adb shell</span><br><span class="line"><span class="built_in">cd</span> /sdcard/_sh</span><br><span class="line">su</span><br><span class="line">. ./zen.sh 20</span><br></pre></td></tr></table></figure><p>【手机闹钟BUG级响起】<br>无解<br>可以关闭闹钟</p><p>【尝试只在date的时候用su执行】</p><figure class="highlight sh"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">mkdir /sdcard/_sh</span><br><span class="line"><span class="built_in">echo</span> <span class="string">'CNT=10</span></span><br><span class="line"><span class="string">if [ $# != 0 ] ; then </span></span><br><span class="line"><span class="string">CNT=$1</span></span><br><span class="line"><span class="string">fi</span></span><br><span class="line"><span class="string">for I in $(seq 1 $CNT);do</span></span><br><span class="line"><span class="string"> echo $I/$CNT ; su -c date "01010601" ; am start -n com.TechTreeGames.ZenIdle/com.unity3d.player.UnityPlayerActivity ; sleep 1 ; input tap 915 835 ; input tap 915 835 ; input tap 540 1287 ; sleep 1 ; su -c date "01010101" ; input keyevent 3</span></span><br><span class="line"><span class="string">done'</span> >/sdcard/_sh/zen.sh</span><br></pre></td></tr></table></figure><p>完美~<br>但是会每次date的时候显示“已授予shell超级用户权限”,看着很难受<br>先su再执行脚本就不会了</p><p>可以在电脑上adb shell进去执行脚本,也可以用手机啦</p><p>【视频演示】</p><script src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/blog-images/static/jquery/jquery.min.js"></script><style>#opener{ width: 250px; height: 50px; font-size: 1.5em; text-align: center; background-color: #69F0AE; cursor: pointer; transform: scale(1); transition-duration: 0.5s;}#opener:hover{ transform: scale(1.04); transition-duration: 0.5s;} </style><p><button id="opener">点击开启</button></p><script src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/blog-images/2020/adb-auto-make-money/open_video.js"></script><div id="video_here"></div>]]></content>
<summary type="html">
<p>这是一款名字叫“Zen Idle”的游戏。来尝试下自动刷钱</p>
<img src="../../blog-images/2020/adb-auto-make-money/image-20200505094215251.png" alt="image-20200505094215251" style="zoom: 33%;">
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="adb" scheme="https://blog.tcpsoft.app/tags/adb/"/>
</entry>
<entry>
<title>Why linux</title>
<link href="https://blog.tcpsoft.app/2020/03/why-linux/"/>
<id>https://blog.tcpsoft.app/2020/03/why-linux/</id>
<published>2020-03-27T17:35:58.000Z</published>
<updated>2020-03-28T05:37:39.960Z</updated>
<content type="html"><![CDATA[<p>学习Linux之前,了解Linux哲学和Linux设计思想是必要的。</p><p>然后就是开始敲命令了啦<a id="more"></a></p><h2 id="Linux哲学"><a href="#Linux哲学" class="headerlink" title="Linux哲学"></a>Linux哲学</h2><h4 id="知乎:《unix-linux-设计哲学》"><a href="#知乎:《unix-linux-设计哲学》" class="headerlink" title="知乎:《unix/linux 设计哲学》"></a>知乎:《unix/linux 设计哲学》</h4><p><a href="https://zhuanlan.zhihu.com/p/57521605" rel="external nofollow noopener noreferrer" target="_blank">https://zhuanlan.zhihu.com/p/57521605</a></p><p>内容太多,不要求完全记住。可以以后回来再翻阅</p><h4 id="博客园:Linux的哲学思想"><a href="#博客园:Linux的哲学思想" class="headerlink" title="博客园:Linux的哲学思想"></a>博客园:<a href="https://www.cnblogs.com/ZhengLiming/p/5875049.html" rel="external nofollow noopener noreferrer" target="_blank">Linux的哲学思想</a></h4><p>Linux哲学思想:</p><ol><li>一切皆文件;</li><li>小型,单一用途的程序;</li><li>连接程序,共同完成复杂功能;</li><li>避免令人困惑的用户界面;</li><li>配置数据存储在文本中;</li></ol><p>解释:<br>一切皆文件:是 Unix/Linux 的基本哲学之一。不仅普通的文件,目录、字符设备、块设备、 套接字等在 Unix/Linux 中都是以文件被对待;它们虽然类型不同,但是对其提供的却是同一套操作界面。</p><p>小型,单一用途的程序:程序和可执行文件不要太复杂,这样才能保证了linux内核的高效运行</p><p>连接程序,共同完成复杂功能:复杂的任务可以通过连接多个简单的程序实现复杂的功能。对于复杂的功能linux通过许多简单程序的组合等方式实现,在保证简单功能的高效性的同时,复杂的程序也必然是高效性的</p><p>避免令人困惑的用户界面:如windows那样出了问题一般人选择的会是重启,实在是不行的话就是 重新 安装系统了,因为对于windows那样不是开源的,并且用户界面比较 复杂操作系统出了问题,一般的人是根本没有办法解决的。但是linux就不一样了,第一linux是开源的,无论什么问题都可以通过简洁的命令行实现 排错,修改系统的配置,一切都是简洁明了为基础。</p><p>配置数据存储在文本中:linux所有的配置文件都存放在文本配置文件当中,无论什么配置修改都只需修改其配置文件即可,配置文件时文本形式的只需任意一款文本编辑器修改即可而不是类似于windows那样将保存在注册表中,并且windows的注册表需要专门的二进制或十六进制的编辑器才可编辑,修改比较复杂</p><h4 id="bilibili:Linux哲学视频资料1:"><a href="#bilibili:Linux哲学视频资料1:" class="headerlink" title="bilibili:Linux哲学视频资料1:"></a>bilibili:Linux哲学视频资料1:</h4><p>哲学的魅力 | 非Windows系统家族的魅力之所在:“一切皆文件”</p><p><a href="https://www.bilibili.com/video/BV1Yb411g79x" rel="external nofollow noopener noreferrer" target="_blank">https://www.bilibili.com/video/BV1Yb411g79x</a></p><p>(命令不会没关系,了解一下“哲学”就好)</p><h4 id="bilibili:Linux哲学视频资料2"><a href="#bilibili:Linux哲学视频资料2" class="headerlink" title="bilibili:Linux哲学视频资料2"></a>bilibili:Linux哲学视频资料2</h4><p>TED-Linux背后的精神 _ Linus Torvalds</p><p><a href="https://www.bilibili.com/video/BV1a4411t7Kt?p=1" rel="external nofollow noopener noreferrer" target="_blank">https://www.bilibili.com/video/BV1a4411t7Kt?p=1</a></p><p>(一个有英文字幕的双语版本:)</p><p><a href="https://www.bilibili.com/video/BV1J7411v7BD" rel="external nofollow noopener noreferrer" target="_blank">https://www.bilibili.com/video/BV1J7411v7BD</a></p><hr><h2 id="系统目录结构"><a href="#系统目录结构" class="headerlink" title="系统目录结构"></a>系统目录结构</h2><p>Linux 里面最重要的概念估计就是“一切皆文件”了,我们来看看Linux系统的根目录结构。</p><p>首先是 Linux 不像 Windows 这种,系统里面看起来有多个“盘”,C,D,E,F,什么的,</p><p>在 Linux,只有一个“盘”(可以假想成 C盘),但是里面文件夹却有很多。</p><p><img src="https://www.runoob.com/wp-content/uploads/2014/06/4_20.png" alt="img"></p><p>我们来看看菜鸟教程 Linux 部分是怎么说的:</p><p><a href="https://www.runoob.com/linux/linux-system-contents.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.runoob.com/linux/linux-system-contents.html</a></p><p>其中用得比较多的文件夹也不是很多啦:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">/dev虚拟的,你的硬件设备会列出在这里</span><br><span class="line">/etc配置文件的集散地</span><br><span class="line">/home用户目录,相当于 Windows 的 %USERPROFILE% (你可以试试把这个输入资源管理器的地址栏回车)</span><br><span class="line">/media一些设备出现在这里</span><br><span class="line">/mnt用于挂载文件系统(插入U盘并挂载后在这里找)(wsl可以在这里访问主系统文件)</span><br><span class="line">/bin | /usr/bin | /usr/sbin 你看到文件出现在这里,那大概率是可执行程序这样的东西了</span><br><span class="line">/var做 web 你会爱死的</span><br></pre></td></tr></table></figure><hr><h2 id="Linux终端"><a href="#Linux终端" class="headerlink" title="Linux终端"></a>Linux终端</h2><p>终端(Terminal),也叫命令行,顾名思义,输入命令的地方。就是经常见到的黑窗口(当然并不见得都是黑的)</p><p>命令行是 Linux 最常见的状态,GUI (Graphical User Interface,图形用户界面) 反而不是</p><p>在 Linux 终端干得最多的一件事当然是敲命令了,命令一般是如下格式:</p><p><code>command [-option] parameter1 parameter2...</code></p><p>我们来看几个参考链接:</p><p>图示直观的:<a href="https://blog.csdn.net/pl0020/article/details/82012881" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/pl0020/article/details/82012881</a></p><p>分析有理的:<a href="https://blog.csdn.net/wangjianno2/article/details/16344807" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/wangjianno2/article/details/16344807</a></p><p>详细深入的:<a href="http://c.biancheng.net/view/720.html" rel="external nofollow noopener noreferrer" target="_blank">http://c.biancheng.net/view/720.html</a></p><p>这里还想 bb 几句:</p><ol><li>Windows Linux都有命令行(Windows早期DOS也是命令行系统),但是操作习惯有些小不同</li><li>Windows 参数一般是 <code>/option</code>,Linux 大多是 <code>-option</code> <code>--option</code></li><li>Windows 获取帮助一般是 <code>/?</code> ,Linux 大多是 <code>-h</code> <code>-help</code> <code>--help</code></li><li>Windows 路径以反斜杠 <code>\</code> 分隔,Linux 路径由正斜杠 <code>/</code> 分隔</li><li>Windows 命令行能运行 <code>.bat</code> 批处理脚本,Linux终端能运行 <code>.sh</code> 批处理脚本,语法大部分不同,少数相同</li></ol><hr><h2 id="开始背命令吧"><a href="#开始背命令吧" class="headerlink" title="开始背命令吧"></a>开始背命令吧</h2><h4 id="必学的少数命令"><a href="#必学的少数命令" class="headerlink" title="必学的少数命令"></a>必学的少数命令</h4><table><thead><tr><th align="center">ls</th><th align="center">ll</th><th align="center">cd</th><th align="center">touch</th><th align="center">clear</th><th align="center">pwd</th><th align="center">mkdir</th><th align="center">cat</th><th align="center">more</th></tr></thead><tbody><tr><td align="center">less</td><td align="center">tail</td><td align="center">cp</td><td align="center">mv</td><td align="center">rm(谨慎)</td><td align="center">find</td><td align="center">vi/vim</td><td align="center">|</td><td align="center">grep</td></tr><tr><td align="center">ps</td><td align="center">kill</td><td align="center">ipconfig</td><td align="center">tar</td><td align="center">reboot</td><td align="center">shutdown</td><td align="center">halt</td><td align="center">chmod</td><td align="center"></td></tr></tbody></table><p>这里是一些介绍:<a href="https://blog.csdn.net/weixin_44706512/article/details/90604635" rel="external nofollow noopener noreferrer" target="_blank">https://blog.csdn.net/weixin_44706512/article/details/90604635</a></p><h4 id="菜鸟教程:Linux-命令大全"><a href="#菜鸟教程:Linux-命令大全" class="headerlink" title="菜鸟教程:Linux 命令大全"></a>菜鸟教程:Linux 命令大全</h4><p>其他的,少见的,忘了的,可以在这里速查,也可以学习积累:</p><p> <a href="https://www.runoob.com/linux/linux-command-manual.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.runoob.com/linux/linux-command-manual.html</a></p><h4 id="Linux常用命令大全-和用法"><a href="#Linux常用命令大全-和用法" class="headerlink" title="Linux常用命令大全(和用法)"></a>Linux常用命令大全(和用法)</h4><p><a href="https://www.cnblogs.com/fnlingnzb-learner/p/5831284.html" rel="external nofollow noopener noreferrer" target="_blank">https://www.cnblogs.com/fnlingnzb-learner/p/5831284.html</a></p><hr><h2 id="Q-amp-A"><a href="#Q-amp-A" class="headerlink" title="Q&A"></a>Q&A</h2><h4 id="Linux-怎么装?"><a href="#Linux-怎么装?" class="headerlink" title="Linux 怎么装?"></a>Linux 怎么装?</h4><p>必应搜索“WSL安装”:<a href="https://cn.bing.com/search?q=wsl安装" rel="external nofollow noopener noreferrer" target="_blank">https://cn.bing.com/search?q=wsl%E5%AE%89%E8%A3%85</a></p><p>必应搜索“VMware 安装 Linux”:<a href="https://cn.bing.com/search?q=VMware+安装+Linux" rel="external nofollow noopener noreferrer" target="_blank">https://cn.bing.com/search?q=VMware+%E5%AE%89%E8%A3%85+Linux</a></p><p>想知道VMware安装详细某版本,把上面 Linux 换成你的对应详细版本即可,如:Ubuntu18.04</p><h4 id="发行版这么多,用哪个版本好?"><a href="#发行版这么多,用哪个版本好?" class="headerlink" title="发行版这么多,用哪个版本好?"></a>发行版这么多,用哪个版本好?</h4><p>初学者:Ubuntu、deepin。极客:Arch。服务器用户:CentOS。发烧玩家:Steam OS。</p><h4 id="哪儿去获取-Linux-镜像?"><a href="#哪儿去获取-Linux-镜像?" class="headerlink" title="哪儿去获取 Linux 镜像?"></a>哪儿去获取 Linux 镜像?</h4><p>千万别再去XX下载站了。</p><p>必应搜索你想要的系统名字,搜索结果第一条都是官方网站了,一般他们域名都是 <code>系统名.org</code>,这是非营利组织的域名,也有部分是 <code>系统.com</code>,如Ubuntu,因为它包含了商业发行版。</p><p>打开网站,在醒目的位置,都能找到 Download 这种东西,仔细寻找,可以找到 <code>.iso</code> 镜像下载链接。如果下载慢,可以使用 <a href="https://blog.csdn.net/u010250863/article/details/70161188" rel="external nofollow noopener noreferrer" target="_blank">国内镜像站</a> ,他们提供了高速的软件下载和软件源服务,像 <a href="http://mirrors.tuna.tsinghua.edu.cn/" rel="external nofollow noopener noreferrer" target="_blank">清华源</a>、<a href="http://mirrors.aliyun.com/" rel="external nofollow noopener noreferrer" target="_blank">阿里云</a>、<a href="http://mirrors.163.com/" rel="external nofollow noopener noreferrer" target="_blank">网易</a>等等</p><h4 id="我应该使用-root-用户吗?"><a href="#我应该使用-root-用户吗?" class="headerlink" title="我应该使用 root 用户吗?"></a>我应该使用 root 用户吗?</h4><p>不建议。应当在系统安装过程中设置好用户名和密码,以后使用需要高权限的命令应该使用 <code>sudo</code> 或 <code>su</code> 。</p>]]></content>
<summary type="html">
<p>学习Linux之前,了解Linux哲学和Linux设计思想是必要的。</p>
<p>然后就是开始敲命令了啦
</summary>
<category term="pwn" scheme="https://blog.tcpsoft.app/categories/pwn/"/>
<category term="linux" scheme="https://blog.tcpsoft.app/tags/linux/"/>
</entry>
<entry>
<title>科学地让 OneDrive 飞,下载速度 5Mb/s</title>
<link href="https://blog.tcpsoft.app/2020/03/let-onedrive-fly-scientifically/"/>
<id>https://blog.tcpsoft.app/2020/03/let-onedrive-fly-scientifically/</id>
<published>2020-03-21T07:06:27.000Z</published>
<updated>2020-03-22T04:21:35.300Z</updated>
<content type="html"><![CDATA[<p>OneDrive 是 Microsoft 的一个云存储服务,安装后集成在 Windows 资源管理器,所以比其他任何网盘都更有其与生俱来的优势。但由于众所周知的原因,OneDrive 的访问速度也极低。<br>访问速度慢还不算了,还经常会死在某个进度,一直下不动,这是最**的</p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321165324494.png" alt="image-20200321165324494" style="zoom:67%;"><div style="text-align:center">你看这 243KB/秒 长得多标致啊</div><a id="more"></a><h2 id="解决方案"><a href="#解决方案" class="headerlink" title="解决方案"></a>解决方案</h2><ol><li>ShadowsocksR</li><li>Proxifier</li><li>设置 OneDrive 多线程</li></ol><h2 id="1-ShadowsocksR"><a href="#1-ShadowsocksR" class="headerlink" title="1. ShadowsocksR"></a>1. ShadowsocksR</h2><p>略。</p><p>配置好之后应该是会开启 <code>127.0.0.1:1080</code> ,HTTP、Socks5 均有(没出问题的话默认就是这个配置)</p><h2 id="2-Proxifier"><a href="#2-Proxifier" class="headerlink" title="2. Proxifier"></a>2. Proxifier</h2><p>搜索<code>Proxifier</code>找到官网:<a href="https://www.proxifier.com/download/" rel="external nofollow noopener noreferrer" target="_blank">https://www.proxifier.com/download/</a></p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321172127587.png" alt="image-20200321172127587" style="zoom:67%;"><p>下载 <strong>Proxifier Standard Edition</strong> ,这个是安装版,Portable是绿色版,这里不用绿色版。</p><p>下载下来exe双击安装,安装过程中勾选Create a desktop shortcut,完了之后会默认打开软件,关掉它(你也可以在最后一步取消勾选Launch Proxifier)</p><p>在桌面快捷方式右键,用管理员权限运行。打开之后是长这个样子的:</p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321175935712.png" alt="image-20200321175935712" style="zoom:67%;"><p>选择31天试用,<a href="https://www.52pojie.cn/forum.php?mod=viewthread&tid=747987&page=3#pid20397576" rel="external nofollow noopener noreferrer" target="_blank">或者输入注册码</a>,如果输入注册码,最好是勾选<code>All userss on this computer(require administrator)</code>,然后就会打开程序主界面</p><p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321180424905.png" alt="image-20200321180424905"></p><p>我们当然是希望开机启动,所以开启<code>Autostart</code></p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321191843270.png" alt="image-20200321191843270" style="zoom:67%;"><p>通过Profile->Proxy Servers,添加 HTTPS 和 Socks5 代理配置</p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321181035454.png" alt="image-20200321181035454" style="zoom:67%;"><p>通过Profile->Proxification Rules,配置软件代理规则</p><p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321182841860.png" alt="image-20200321182841860"></p><p>我们在这里添加OneDrive。</p><p>先找到OneDrive的可执行文件的位置。一般应该是在<code>%localappdata%\Microsoft\OneDrive\</code></p><p>如果没有,运行OneDrive,打开任务管理器,在详细信息标签页,找到<code>onedrive.exe</code>,右键打开文件所在位置</p><p>点击上面窗口的Add,添加配置。点击Browse输入OneDrive目录,选择<code>onedrive.exe</code>,action选择通过socks5代理</p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321183611160.png" alt="image-20200321183611160" style="zoom:67%;"><p>保存,并把 default 的 action 设置为 direct(你也不希望所有程序都通过代理对吧)</p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321183553240.png" alt="image-20200321183553240" style="zoom:67%;"><p>任务栏里面右键 OneDrive,更多,关闭 OneDrive,再找到刚才的OneDrive程序位置,开启OneDrive。</p><p>我们随便下载一个文件看看:</p><p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321191651660.png" alt="image-20200321191651660"></p><h2 id="3-设置-OneDrive-多线程"><a href="#3-设置-OneDrive-多线程" class="headerlink" title="3. 设置 OneDrive 多线程"></a>3. 设置 OneDrive 多线程</h2><p>你好像速度没我快?那肯定是你氪金不够(bushi),那就试试开启 OneDrive 多线程</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">修改这个文件:</span><br><span class="line">"%localappdata%\Microsoft\OneDrive\settings\Personal\global.ini"</span><br><span class="line">可通过win r运行,或cmd里运行下面直接打开修改:</span><br><span class="line">notepad "%localappdata%\Microsoft\OneDrive\settings\Personal\global.ini"</span><br></pre></td></tr></table></figure><p>第一行加入:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">numberOfConcurrentUploads=3</span><br></pre></td></tr></table></figure><blockquote><p>PS:数值项即为线程数,最小值为1,最大值为3,根据实际需要选择即可</p></blockquote><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321193422745.png" alt="image-20200321193422745" style="zoom:67%;"><p>效果:(奇怪的网速增加了)</p><p><img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321213449574.png" alt="image-20200321213449574"></p>]]></content>
<summary type="html">
<p>OneDrive 是 Microsoft 的一个云存储服务,安装后集成在 Windows 资源管理器,所以比其他任何网盘都更有其与生俱来的优势。但由于众所周知的原因,OneDrive 的访问速度也极低。<br>访问速度慢还不算了,还经常会死在某个进度,一直下不动,这是最**的</p>
<img src="../../blog-images/2020/let-onedrive-fly-scientifically/image-20200321165324494.png" alt="image-20200321165324494" style="zoom:67%;">
<div style="text-align:center">你看这 243KB/秒 长得多标致啊</div>
</summary>
<category term="科学上网" scheme="https://blog.tcpsoft.app/categories/%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/"/>
<category term="代理" scheme="https://blog.tcpsoft.app/tags/%E4%BB%A3%E7%90%86/"/>
<category term="OneDrive" scheme="https://blog.tcpsoft.app/tags/OneDrive/"/>
</entry>
<entry>
<title>用 Visual Studio 2019 写 C++ 基础代码</title>
<link href="https://blog.tcpsoft.app/2020/03/cpp-with-Visual-Studio-2019/"/>
<id>https://blog.tcpsoft.app/2020/03/cpp-with-Visual-Studio-2019/</id>
<published>2020-03-06T06:30:00.000Z</published>
<updated>2020-03-06T06:45:52.168Z</updated>
<content type="html"><![CDATA[<p>什么?你不会用VS?<a id="more"></a></p><h3 id="准备工作"><a href="#准备工作" class="headerlink" title="准备工作"></a>准备工作</h3><p>安装 <a href="https://visualstudio.microsoft.com/zh-hans/vs/community/" rel="external nofollow noopener noreferrer" target="_blank">Visual Studio2019 Community</a>,不多说了,虽然可能出现很多问题。这里假定你已经有安装好的 VS2019。</p><h3 id="打开VS,创建项目"><a href="#打开VS,创建项目" class="headerlink" title="打开VS,创建项目"></a>打开VS,创建项目</h3><p>打开VS2019,看到如下界面。</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306134632068.png" alt="image-20200306134632068"></p><p>选择C++,Windows,选择控制台应用。</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306134730096.png" alt="image-20200306134730096"></p><p>填写项目名称和存储位置,点击创建。</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306134821590.png" alt="image-20200306134821590"></p><p>然后就会打开工程界面,在右边的解决方案资源管理器,源文件,可以找到刚才填写的名字的cpp文件,双击打开(默认会打开的),在左边正常编写代码,按 <code>F5</code> 运行,或点击上面绿色三角形,“本地Windows调试器”,(可以直接点也可以菜单栏选择调试,开始执行不调试(快捷键<code>Ctrl+F5</code>))</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306134954770.png" alt="image-20200306134954770"></p><h3 id="没有“控制台应用”选项?"><a href="#没有“控制台应用”选项?" class="headerlink" title="没有“控制台应用”选项?"></a>没有“控制台应用”选项?</h3><p>创建项目窗口,拉到最下面,找到安装</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306135632223.png" alt="image-20200306135632223"></p><p>在打开的窗口,勾选安装这三个。(其他的可以根据需要添加)(如果你确实不用VS开发高级应用,只勾选“使用C++的桌面开发”也就可以了)</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306135706897.png" alt="image-20200306135706897"></p><p>另外需要注意的是,如果想要图形化设计程序界面,(即MFC),需要在勾选“使用C++的桌面开发”之后,勾选右边的 C++ MFC v142</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306135751221.png" alt="image-20200306135751221"></p><p>,然后开始安装即可。可以选择下载时安装(下载一个安装一个),下载完成安装(全部下载完再一起装),我个人偏好后一种</p><p>(等待巨长时间,安装完成后再同理创建项目。)</p><h3 id="用VS进行简单调试"><a href="#用VS进行简单调试" class="headerlink" title="用VS进行简单调试"></a>用VS进行简单调试</h3><h4 id="断点"><a href="#断点" class="headerlink" title="断点"></a>断点</h4><p>在需要暂停的代码这一行前面灰色区域鼠标单击,出现一个红色圆点,就是下断点。</p><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306141237786.png" alt="image-20200306141237786"></p><p>再<code>F5</code> 开始调试,或点上方“本地Windows调试器”或菜单栏调试,开始调试。</p><p>VS界面会发生变化,且之前下断点位置会变成橙色箭头,表示程序当前正在执行这一行代码。此时程序暂停,可以查看变量值和一行一行运行程序。</p><ul><li><p>鼠标悬停在变量上,可以查看变量值。</p></li><li><p>选中变量,右键,添加监视,可以在下方监视面板自动显示变量值</p></li><li><p>在代码里鼠标右键,快速监视,输入变量名,可以添加多个变量监视,也可以添加表达式监视,比如<code>a+b+c</code></p></li></ul><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306142152438.png" alt="image-20200306142152438"></p><h4 id="单步运行"><a href="#单步运行" class="headerlink" title="单步运行"></a>单步运行</h4><p>图示的四个按钮。</p><ul><li>显示下一条语句</li><li>逐语句</li><li>逐过程</li><li>跳出</li></ul><p><img src="../../blog-images/2020/cpp-with-Visual-Studio-2019/image-20200306142607239.png" alt="image-20200306142607239"></p>]]></content>
<summary type="html">
<p>什么?你不会用VS?
</summary>
<category term="基础" scheme="https://blog.tcpsoft.app/categories/%E5%9F%BA%E7%A1%80/"/>
<category term="CPP" scheme="https://blog.tcpsoft.app/tags/CPP/"/>
<category term="VisualStudio" scheme="https://blog.tcpsoft.app/tags/VisualStudio/"/>
</entry>
<entry>
<title>群里提问的艺术</title>
<link href="https://blog.tcpsoft.app/2020/03/how-to-ask-in-group-chat/"/>
<id>https://blog.tcpsoft.app/2020/03/how-to-ask-in-group-chat/</id>
<published>2020-03-05T15:17:52.000Z</published>
<updated>2020-03-06T17:10:35.817Z</updated>
<content type="html"><![CDATA[<p>现在互联网发达的时代,大家都会有很多的群,xxx 交流群、xxx 技术交流、xxx开发群、xxx技术学习群等,大家的初心可能都是想交流的,遇到点问题然后就可以在群里问。</p><p>然而很多时候你问的问题没人回答;也有时候问了半天还是没找到答案;也有时候当你把问题发出来了,别人正准备回答你的时候,你说知道了;然后刚开始群里很活跃,慢慢的就死了。</p><p>其实以上问题,都是大家不想看到的,然而<strong>在群里提问</strong>是我们加入群的初心,但是很多人做不好,最终导致你的问题无人解答,群慢慢的失去意义。</p><p>今天我所谈的就是<strong>群里提问的艺术</strong>,让你的问题快速得到解决。<a id="more"></a></p><p>我将今天的问题分成以下三部分进行介绍:</p><ul><li>提问之前</li><li>提问之时,怎么提问</li><li>注意事项</li></ul><h2 id="提问之前"><a href="#提问之前" class="headerlink" title="提问之前"></a>提问之前</h2><p>在群里提问之前首先我们应该做好功课,看自己是否完成以下步骤,否则你的提问将一塌糊涂,大概率得不到想要 的答案。</p><ol><li>尝试自己解决</li><li>不能自己解决应该准备的哪些</li></ol><h3 id="尝试自己解决"><a href="#尝试自己解决" class="headerlink" title="尝试自己解决"></a>尝试自己解决</h3><p>尝试自己解决是非常重要的一步,这也是我们能否经过这个问题能够成长的关键所在。</p><ol><li><strong>通过搜索引擎搜索</strong>:baidu 或者 google(推荐),搜索结果中前三页如果找不到你想要的信息,就进行下一步吧。对于成熟的开源项目,你遇到的问题,很可能别人也遇到过。这时通过 Google、StackOverflow 等网站的搜索服务,可以帮你快速定位并解决问题。永远记住,地球上的你并不孤单,包括你遇到的问题。</li><li><strong>查阅手册/文档:</strong>确保自己阅读过至少一次官方文档。这样在遇到问题时,如果能回忆起只言片语,就可以再去读一遍相关文档,问题往往也就解决了。</li><li><strong>查阅社区/论坛:</strong>阅读常见问题文件(FAQ)或者开源项目的 issue,或者论坛(类似 <a href="http://react-china.org/" rel="external nofollow noopener noreferrer" target="_blank">react china</a>)</li><li><strong>询问朋友:</strong>如果你使用的开源软件,在朋友圈或同事圈里也有人使用,那么抬起你的脚、或拿起你的电话,真挚诚恳的探讨不会遭遇拒绝,而会增进友谊。不要犹豫,你的内心渴望面对面交流,你的朋友也是。</li><li><strong>自检并不断测试:</strong>试自己检查或试验以找到答案。</li><li><strong>阅读源码(这步非必须):</strong>如果你是程序开发者,尽量尝试阅读源码以找到答案。</li></ol><p>经过以上 6 步或者 5 步你都无法解决遇到的问题,那么你确实针对这个问题能力有限,准备去群里请教了,那么在尝试自己解决之后无果,应该做哪些准备呢?</p><h3 id="不能自己解决应该准备的哪些"><a href="#不能自己解决应该准备的哪些" class="headerlink" title="不能自己解决应该准备的哪些"></a>不能自己解决应该准备的哪些</h3><ol><li><strong>一定要明白自己想要问什么问题</strong>:不能自己都说不清自己想要问什么问题,那么群里提问你也问不出什么来。</li><li><strong>梳理准备您的问题</strong>:要说明之前你都干了些什么。</li><li><strong>要用言简意赅的语言</strong>:这个是我们作为职场一个必备的技能,说重点,言简意赅。</li></ol><h2 id="怎么提问"><a href="#怎么提问" class="headerlink" title="怎么提问"></a>怎么提问</h2><p>抱着平和对等的心态,找到合适的途径后,就得静下心来将遇到的问题写成文字。书写文字不是一件简单的事情,我们可以从遵循一些简单的规则开始。</p><h3 id="用词准确,问题明确"><a href="#用词准确,问题明确" class="headerlink" title="用词准确,问题明确"></a>用词准确,问题明确</h3><p>标题要简洁清晰,要言之有物。</p><blockquote><p>Bad:救命呀/急/跪求,遇到了一个 react 问题,xxx 组件渲染不出来</p><p>Good:在使用 xxx 版本的 react ,我操作了 xxx,也写了 xxx,但是 xxx 组件渲染不出来</p></blockquote><p>一个好标题范例是<code>目标 —— 差异</code>式的描述,许多技术支持组织就是这样做的。在<code>目标</code>部分指出是哪一个或哪一组东西有问题,在<code>差异</code>部分则描述与期望的行为不一致的地方。</p><h3 id="描述清晰,信息充足"><a href="#描述清晰,信息充足" class="headerlink" title="描述清晰,信息充足"></a>描述清晰,信息充足</h3><ol><li><strong>准确有效的信息:</strong>描述事实,而不是猜测,如果你想给出你的猜测,一定要先描述事实,给你的猜测一些证据,不然就不要猜测。</li><li><strong>问题表现/内容:</strong>按照时间顺序列出问题症状。问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如 20 行)记录会非常有帮助。</li><li><strong>简单的做过什么尝试:</strong>在描述你做过什么尝试的时候,简单的你描述你做了哪些尝试就行,为什么要这么做其实不是那么重要。</li></ol><p>如果你想弄清楚如何做某事(而不是报告一个 Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。</p><p>经常寻求技术帮助的人在心中有个更高层次的目标,而他们在自以为能达到目标的特定道路上被卡住了,然后跑来问该怎么走,但没有意识到这条路本身就有问题。结果要费很大的劲才能搞定。</p><p>玉伯有句话是这么说的:</p><blockquote><p>提问者选择的路本身就是一条崎岖之路,对于要解决的问题,实际上有更好的方式。这种情况下,描述清楚目标,讲清楚要干什么非常重要。</p></blockquote><ol><li><strong>想要问到什么:</strong>提供建议?发送一段代码?检查你的补丁或者别的?在群里经常会出现这种情况,当某个人发了一段文字,另外的人说:你想问什么?</li></ol><p>所以我们在问问题的时候一定要把你想要问到什么,这个目标想清楚。</p><ol><li><strong>提供尽量多的信息:</strong>尽量提供可重现的例子,你可以在 <a href="http://taoweng.site/index.php/archives/215/[http://www.jsbin.com]" rel="external nofollow noopener noreferrer" target="_blank">jsbin</a>)、<a href="http://runjs.cn/" rel="external nofollow noopener noreferrer" target="_blank">runjs</a>、<a href="http://taoweng.site/index.php/archives/215/[http://www.jsfiddle.net]" rel="external nofollow noopener noreferrer" target="_blank">jsfiddle</a>)、<a href="http://codepen.io/" rel="external nofollow noopener noreferrer" target="_blank">codepen</a> 等这些地方提供一个可重现的例子。即使你是一个很大的项目,想办法把你需要验证的点提取出来,如果确实无法提取,就贴一些代码,出现问题那行代码周围的代码(周围的相关代码都要,因为你可能觉得不是他们的问题,但也许就是,不然你觉得的都是对的,你就不会不知道怎么解决了)。</li></ol><h3 id="避免一些毫无意义的问题"><a href="#避免一些毫无意义的问题" class="headerlink" title="避免一些毫无意义的问题"></a>避免一些毫无意义的问题</h3><p>经常会有人问一些毫无意义的问题,比如这样的:</p><blockquote><p>Bad:有没有人会xxx?</p><p>Bad: 有没有人在?</p><p>Bad: 谁能帮我解决一个问题?</p></blockquote><p>面对这种问题,别人就很难预估你这个问题需要解决多久,也很难判断自己是否能解决这个问题,如果他回答了你,意味着你就是有空而且很在行,所以他还是选择不出声。这个就跟微信私聊的时候说:”在吗?“ 这种一个意思。</p><blockquote><p>Bad: 什么是 JavaScript?</p></blockquote><p>这种问题也是,很明显通过搜索引擎就能搞定的,要是下次还有这种问题,你就把这个图发给它。</p><p><img src="../../blog-images/2020/how-to-ask-in-group-chat/2019-06-10-113803.jpg" alt="img"></p><h3 id="建议的问法:"><a href="#建议的问法:" class="headerlink" title="建议的问法:"></a>建议的问法:</h3><ol><li>有问题直接问。比如:ES6什么时候雄霸天下,前端什么时候一统江湖?</li><li>直接说场景:我在做xx端东西的时候,在 window 7 平台的 IE7 版本下遇到了左右不对齐问题,具体如图所示img,代码地址:<code>http://www.jsbin.com/xxxx</code>,在百度中找到的答案,试了之后还是有同样的问题。请有空的同学帮我看看是什么问题?</li></ol><h2 id="注意事项"><a href="#注意事项" class="headerlink" title="注意事项"></a>注意事项</h2><ul><li>提前做好冷场的准备:也许别人在忙,也许这个问题太简单了,也许没人做过这块,如果冷场了,没人回答,赶紧换下一个群。</li><li>谦虚,别人没有义务帮你解决问题,往往大牛的时间比你少,比你珍贵。</li><li>没有一定的自学能力,问到问题就伸手的不适合玩这个。</li><li>群唯一的作用就是:扯淡、交流、分享,以上几条为前提。</li></ul><p>如果觉得问题记不住,收藏一下这个图吧:</p><p><img src="../../blog-images/2020/how-to-ask-in-group-chat/2019-06-10-113804.jpg" alt="img"></p><h2 id="最后"><a href="#最后" class="headerlink" title="最后"></a>最后</h2><p>其实对于问问题,我们换位思考一下就更好了,这其实也是人际交往的方式,站在看你提问题的角度,想想当别人提问题的时候,你想让他问什么,你才愿意去回答。</p><p>当然除了在群里提问,在社区里提问,论坛里提问都有一定的规范,后面再慢慢补充吧。</p><hr><blockquote><p>版权属于:桃翁</p><p>本文链接:<a href="http://taoweng.site/index.php/archives/215/" rel="external nofollow noopener noreferrer" target="_blank">http://taoweng.site/index.php/archives/215/</a></p><p>转载时须注明出处及本声明,欢迎关注我的公众号「前端桃园」</p></blockquote><p>.</p><p>(这真就原封不动的照搬呗)</p><hr><h2 id="《提问的智慧》"><a href="#《提问的智慧》" class="headerlink" title="《提问的智慧》"></a>《提问的智慧》</h2><p>另外还想再贴一个,最经典的,最最经典的(也最长最复杂的):</p><p>《提问的智慧》,来自 Github 。其实最初是 Eric S. Raymond, Rick Moen 创作的,然后 <a href="https://github.com/ryanhanwu">ryanhanwu</a> 翻译了并放在 Github 上作为一个开源项目,截止本文写作时,该项目已有 10.2k Star,2.8k Fork。</p><p>另外,由于这个是国外作者创作的,所以其中出现的案例论坛等一般是国外常见论坛,也可以了解一下。</p><p>【警告】:本文十分冗长,建议在有闲暇时间时仔细浏览。</p><p><a href="https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md">https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way/blob/master/README-zh_CN.md</a></p>]]></content>
<summary type="html">
<p>现在互联网发达的时代,大家都会有很多的群,xxx 交流群、xxx 技术交流、xxx开发群、xxx技术学习群等,大家的初心可能都是想交流的,遇到点问题然后就可以在群里问。</p>
<p>然而很多时候你问的问题没人回答;也有时候问了半天还是没找到答案;也有时候当你把问题发出来了,别人正准备回答你的时候,你说知道了;然后刚开始群里很活跃,慢慢的就死了。</p>
<p>其实以上问题,都是大家不想看到的,然而<strong>在群里提问</strong>是我们加入群的初心,但是很多人做不好,最终导致你的问题无人解答,群慢慢的失去意义。</p>
<p>今天我所谈的就是<strong>群里提问的艺术</strong>,让你的问题快速得到解决。
</summary>
<category term="基础" scheme="https://blog.tcpsoft.app/categories/%E5%9F%BA%E7%A1%80/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>2020 高考加油</title>
<link href="https://blog.tcpsoft.app/2020/02/2020gaokaojiayou/"/>
<id>https://blog.tcpsoft.app/2020/02/2020gaokaojiayou/</id>
<published>2020-02-28T00:00:00.000Z</published>
<updated>2020-02-28T11:26:22.790Z</updated>
<content type="html"><![CDATA[<p>2020-02-28,距离 2020高考还有100天。</p><a id="more"></a><script src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/blog-images/static/jquery/jquery.min.js"></script><link rel="stylesheet" href="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/blog-images/2020/2020gaokaojiayou/2020gaokaojiayou.css"><button id="opener">双击开启</button><script src="https://blogsrc-1301043685.cos.ap-chengdu.myqcloud.com/blog-images/2020/2020gaokaojiayou/2020gaokaojiayou.js"></script>]]></content>
<summary type="html">
<p>2020-02-28,距离 2020高考还有100天。</p>
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="none" scheme="https://blog.tcpsoft.app/tags/none/"/>
</entry>
<entry>
<title>吾爱破解入门帖子</title>
<link href="https://blog.tcpsoft.app/2020/02/getting-start-52pojie/"/>
<id>https://blog.tcpsoft.app/2020/02/getting-start-52pojie/</id>
<published>2020-02-22T16:40:00.000Z</published>
<updated>2020-02-22T16:53:57.174Z</updated>
<content type="html"><![CDATA[<p>今日探索吾爱破解论坛,整理了两篇入门指导文章,当备忘录了</p><p>内容来自:<a href="http://www.52pojie.cn/" rel="external nofollow noopener noreferrer" target="_blank">吾爱破解</a> 论坛 <a id="more"></a></p><hr><h1 id="吾爱破解论坛官方入门教学培训第一期开始啦!【已更新到第十课】"><a href="#吾爱破解论坛官方入门教学培训第一期开始啦!【已更新到第十课】" class="headerlink" title="吾爱破解论坛官方入门教学培训第一期开始啦!【已更新到第十课】"></a><strong>吾爱破解论坛官方入门教学培训第一期开始啦!【已更新到第十课】</strong></h1><h2 id="培训课表–讲师:"><a href="#培训课表–讲师:" class="headerlink" title="培训课表–讲师:"></a><strong>培训课表–讲师:</strong></h2><p>《吾爱破解培训第一课:破解基础知识之介绍常见工具和壳的特征》 </p><p>讲师:Hmily,链接:<a href="http://www.52pojie.cn/thread-378612-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-378612-1-1.html</a></p><p>《吾爱破解培训第二课:实战去广告、弹窗及主页锁定》 </p><p>讲师:Kido,链接:<a href="http://www.52pojie.cn/thread-384195-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-384195-1-1.html</a></p><p>《吾爱破解培训第三课:改头换面之修改版权和资源》 </p><p>讲师:Kido,链接:<a href="http://www.52pojie.cn/thread-389996-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-389996-1-1.html</a></p><p>《吾爱破解培训第四课:击破程序最坚固的堡垒–实战去程序自校验》 </p><p>讲师:小生我怕怕,链接:<a href="http://www.52pojie.cn/thread-392395-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-392395-1-1.html</a></p><p>《吾爱破解培训第五课:反击作者的挑衅–实战解除程序重启验证》 </p><p>讲师:我是用户,链接:<a href="http://www.52pojie.cn/thread-396068-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-396068-1-1.html</a></p><p>《吾爱破解培训第六课:潜伏在程序身边的黑影–实战给程序补丁》 </p><p>讲师:我是用户,链接:<a href="http://www.52pojie.cn/thread-405758-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-405758-1-1.html</a></p><p>《吾爱破解培训第七课:手把手教你从实例看如何攻破常见的网络验证》 </p><p>讲师:珈蓝夜雨,链接:<a href="http://www.52pojie.cn/thread-408475-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-408475-1-1.html</a></p><p>《吾爱破解培训第八课:短兵相接–深入浅出探讨<a href="https://www.52pojie.cn/forum-5-1.html" rel="external nofollow noopener noreferrer" target="_blank">脱壳</a>细节(上)》 </p><p>讲师:L4Nce,链接:<a href="http://www.52pojie.cn/thread-411104-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-411104-1-1.html</a></p><p>《吾爱破解培训第九课:短兵相接–深入浅出探讨脱壳细节(下)》 </p><p>讲师:L4Nce,链接:<a href="http://www.52pojie.cn/thread-420354-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-411104-1-1.html</a></p><p>《吾爱破解培训第十课:探寻逆向新航标—x64平台脱壳与破解实战》 </p><p>讲师:Kido,链接:<a href="http://www.52pojie.cn/thread-422192-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-422192-1-1.html</a></p><h2 id="视频下载:"><a href="#视频下载:" class="headerlink" title="视频下载:"></a><strong>视频下载:</strong></h2><blockquote><p><strong>360云盘下载:</strong><br><a href="https://yunpan.360.cn/surl_y3GCKpiI2fX" rel="external nofollow noopener noreferrer" target="_blank">https://yunpan.360.cn/surl_y3GCKpiI2fX</a> 提取码:7693</p><p><strong>百度网盘下载:</strong><br>链接: <a href="https://pan.baidu.com/s/1z9WQeYgUGxcurVD2lKfNeg" rel="external nofollow noopener noreferrer" target="_blank">https://pan.baidu.com/s/1z9WQeYgUGxcurVD2lKfNeg</a> 提取码: e2su</p><p><strong>爱盘下载:</strong><br><a href="http://down.52pojie.cn/吾爱破解视频教程/吾爱破解论坛官方入门教学培训第一期/" rel="external nofollow noopener noreferrer" target="_blank">http://down.52pojie.cn/吾爱破解视频教程/吾爱破解论坛官方入门教学培训第一期/</a></p></blockquote><blockquote><p><strong>解压密码(请使用新版7z解压缩):</strong><br><a href="http://www.52pojie.cn" rel="external nofollow noopener noreferrer" target="_blank">www.52pojie.cn</a></p></blockquote><br><br><br><br><br><br><br><br><h1 id="零基础新手破解学习指导教程"><a href="#零基础新手破解学习指导教程" class="headerlink" title="零基础新手破解学习指导教程"></a><strong>零基础新手破解学习指导教程</strong></h1><p>吾爱<a href="https://www.52pojie.cn/" rel="external nofollow noopener noreferrer" target="_blank">破解</a>论坛官方入门培训:<a href="http://www.52pojie.cn/thread-349073-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-349073-1-1.html</a><br>整理一些论坛<a href="https://www.52pojie.cn/forum-5-1.html" rel="external nofollow noopener noreferrer" target="_blank">脱壳</a>破解相关入门教程及需要用到的相关工具,方便新手同学查看学习</p><h2 id="工欲善其事必先利其器,下面是破解需要用到的工具"><a href="#工欲善其事必先利其器,下面是破解需要用到的工具" class="headerlink" title="工欲善其事必先利其器,下面是破解需要用到的工具"></a><strong>工欲善其事必先利其器,下面是破解需要用到的工具</strong></h2><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td><strong><a href="https://www.52pojie.cn/thread-350397-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">OllyDbg</a>(OD):</strong></td><td><a href="http://www.52pojie.cn/thread-350397-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-350397-1-1.html</a></td></tr><tr><td><strong><a href="https://www.52pojie.cn/thread-12865-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">PEID</a>:</strong></td><td><a href="http://www.52pojie.cn/thread-170387-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-170387-1-1.html</a></td></tr><tr><td><strong><a href="https://www.52pojie.cn/thread-437586-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">Exeinfo PE</a>:</strong></td><td><a href="http://www.52pojie.cn/thread-169779-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-169779-1-1.html</a></td></tr><tr><td><strong>樱花补丁制作工具:</strong></td><td><a href="http://www.52pojie.cn/thread-62307-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-62307-1-1.html</a></td></tr><tr><td><strong>内存补丁生成器:</strong></td><td><a href="http://www.52pojie.cn/thread-162411-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-162411-1-1.html</a></td></tr><tr><td><strong>注册机生成器:</strong></td><td><a href="http://www.52pojie.cn/thread-159470-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-159470-1-1.html</a></td></tr><tr><td><strong><a href="https://www.52pojie.cn/thread-675251-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">IDA</a> Pro v6.5:</strong></td><td><a href="http://www.52pojie.cn/thread-284145-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-284145-1-1.html</a></td></tr><tr><td><strong>破解<a href="https://down.52pojie.cn/Tools/" rel="external nofollow noopener noreferrer" target="_blank">工具包</a>:</strong></td><td><a href="http://www.52pojie.cn/thread-190698-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-190698-1-1.html</a></td></tr><tr><td><strong>吾爱云盘【最牛逼的在线工具包】:</strong></td><td><a href="http://down.52pojie.cn/Tools/" rel="external nofollow noopener noreferrer" target="_blank">http://down.52pojie.cn/Tools/</a></td></tr></tbody></table><p><strong>也可以点击下面的连接进去逆向资源区寻找工具哦</strong></p><table><thead><tr><th></th><th></th></tr></thead><tbody><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=230" rel="external nofollow noopener noreferrer" target="_blank">Android | Tools</a>】</td><td>安卓程序逆向所用到的相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=122" rel="external nofollow noopener noreferrer" target="_blank">Debuggers</a>】</td><td>动态调试工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=123" rel="external nofollow noopener noreferrer" target="_blank">Disassemblers</a>】</td><td>反编译工具(静态分析为主)</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=124" rel="external nofollow noopener noreferrer" target="_blank">PEtools</a>】</td><td>PE文件分析相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=125" rel="external nofollow noopener noreferrer" target="_blank">Packers</a>】</td><td>给程序加壳相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=126" rel="external nofollow noopener noreferrer" target="_blank">Patchers</a>】</td><td>给程序做补丁相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=129" rel="external nofollow noopener noreferrer" target="_blank">Editors</a>】</td><td>程序资源编辑、文本操作相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=136" rel="external nofollow noopener noreferrer" target="_blank">Crptography</a>】</td><td>算法相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=131" rel="external nofollow noopener noreferrer" target="_blank">Unpackers</a>】</td><td>脱壳机相关</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=133" rel="external nofollow noopener noreferrer" target="_blank">Dongle</a>】</td><td>加密狗相关</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=128" rel="external nofollow noopener noreferrer" target="_blank">.NET</a>】</td><td>微软.Net程序逆向相关工具</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=132" rel="external nofollow noopener noreferrer" target="_blank">OllyDbg | 1.x | Plugin</a>】</td><td>动态调试工具OllyDbg | 1.x的插件程序</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=207" rel="external nofollow noopener noreferrer" target="_blank">OllyDbg | 2.x | Plugin</a>】</td><td>动态调试工具OllyDbg | 2.x的插件程序</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=134" rel="external nofollow noopener noreferrer" target="_blank">IDA | Plugin</a>】</td><td>反编译工具IDA的插件程序</td></tr><tr><td>【<a href="http://www.52pojie.cn/forum.php?mod=forumdisplay&fid=4&filter=typeid&typeid=130" rel="external nofollow noopener noreferrer" target="_blank">Other</a>】</td><td>其他相关程序</td></tr></tbody></table><h2 id="NO-1"><a href="#NO-1" class="headerlink" title="NO.1"></a>NO.1</h2><p>Hmily 【初学者教程】破解基础知识之认识壳与程序的特征。<br><strong>新手一看教程就在说程序破解应该先脱壳,那到底程序有没有加壳?加了什么壳?看看大H的文章你就懂了!</strong><br><a href="http://www.52pojie.cn/thread-234739-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-234739-1-1.html</a></p><h2 id="NO-2"><a href="#NO-2" class="headerlink" title="NO.2"></a>NO.2</h2><p>ximo <a href="http://www.52pojie.cn/forum-5-1.html" rel="external nofollow noopener noreferrer" target="_blank">脱壳</a>教程(24集全)<br><a href="http://pan.baidu.com/s/1cebVOU" rel="external nofollow noopener noreferrer" target="_blank">http://pan.baidu.com/s/1cebVOU</a> 密码: fxia<br><a href="http://down.52pojie.cn/吾爱破解视频教程/ximo脱壳基础.7z" rel="external nofollow noopener noreferrer" target="_blank">http://down.52pojie.cn/吾爱破解视频教程/ximo脱壳基础.7z</a><br>来自<a href="https://www.52pojie.cn/" rel="external nofollow noopener noreferrer" target="_blank">吾爱破解</a>论坛LCG组织成员也是VMP脱壳插件作者ximo做的脱壳教程,堪称经典,入门脱壳必学!<br>压缩包为7Z格式,<a href="http://sparanoid.com/lab/7z/" rel="external nofollow noopener noreferrer" target="_blank">7Z官方网站</a></p><h2 id="NO-3"><a href="#NO-3" class="headerlink" title="NO.3"></a>NO.3</h2><p>小生我怕怕 脱壳练习系列附带对应文章的动画视频教程,方便学习交流脱壳知识。<br>教程对应动画视频:<a href="http://www.52pojie.cn/thread-11642-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11642-1-1.html</a></p><p><strong>[编者注]</strong>:视频爱盘下载地址:<a href="https://down.52pojie.cn/吾爱破解视频教程/吾爱破解脱壳练习系列动画/" rel="external nofollow noopener noreferrer" target="_blank">https://down.52pojie.cn/吾爱破解视频教程/吾爱破解脱壳练习系列动画/</a></p><p>吾爱专题脱壳练习一—-压缩壳练习之一:<a href="http://www.52pojie.cn/thread-10496-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-10496-1-1.html</a><br>吾爱专题脱壳练习二—-压缩壳练习之二:<a href="http://www.52pojie.cn/thread-10607-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-10607-1-1.html</a><br>吾爱专题脱壳练习三—-压缩壳练习之三:<a href="http://www.52pojie.cn/thread-10688-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-10688-1-1.html</a><br>吾爱破解脱壳练习四——简单加密壳:<a href="http://www.52pojie.cn/thread-10850-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-10850-1-1.html</a><br>吾爱专题脱壳练习五—-upx壳:<a href="http://www.52pojie.cn/thread-10990-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-10990-1-1.html</a><br>吾爱专题脱壳练习六—-TElock V0.99 :<a href="http://www.52pojie.cn/thread-11112-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11112-1-1.html</a><br>吾爱专题脱壳练习七—-ORiEN:<a href="http://www.52pojie.cn/thread-11244-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11244-1-1.html</a><br>吾爱专题脱壳练习八—-MoleBox V2.6.5:<a href="http://www.52pojie.cn/thread-11306-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11306-1-1.html</a><br>吾爱专题脱壳练习九—-CRYPToCRACk’s PE Protector:<a href="http://www.52pojie.cn/thread-11446-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11446-1-1.html</a><br>吾爱专题脱壳练习十—-PESpin 1.32:<a href="http://www.52pojie.cn/thread-11585-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11585-1-1.html</a><br>吾爱专题脱壳练习十一—-VB自效验的处理:<a href="http://www.52pojie.cn/thread-11747-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11747-1-1.html</a><br>吾爱专题脱壳练习十二—-delphi自效验的处理:<a href="http://www.52pojie.cn/thread-11883-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-11883-1-1.html</a><br>吾爱专题脱壳练习十三—-GHF Protector V1.0:<a href="http://www.52pojie.cn/thread-12011-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12011-1-1.html</a><br>吾爱专题脱壳练习十四—-Armadillo 6.04:<a href="http://www.52pojie.cn/thread-12135-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12135-1-1.html</a><br>吾爱专题脱壳练习十五—-ACProtector系列保护:<a href="http://www.52pojie.cn/thread-12279-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12279-1-1.html</a><br>吾爱专题脱壳练习十六—-ACProtector系列保护:<a href="http://www.52pojie.cn/thread-12362-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12362-1-1.html</a><br>吾爱专题脱壳练习十七—-PEBundle 2.0b5 - 3.0x:<a href="http://www.52pojie.cn/thread-12498-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12498-1-1.html</a><br>吾爱专题脱壳练习十八—-Armadillo 4.40:<a href="http://www.52pojie.cn/thread-12620-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12620-1-1.html</a><br>吾爱专题脱壳练习十九—-PUNiSHER 1.5:<a href="http://www.52pojie.cn/thread-12822-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12822-1-1.html</a><br>吾爱专题脱壳练习二十—-未知壳一:<a href="http://www.52pojie.cn/thread-12936-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-12936-1-1.html</a><br>吾爱专题脱壳练习二十一—-未知壳二:<a href="http://www.52pojie.cn/thread-13494-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-13494-1-1.html</a><br>吾爱专题脱壳练习二十二—-未知壳三:<a href="http://www.52pojie.cn/thread-13770-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-13770-1-1.html</a></p><h2 id="NO-4"><a href="#NO-4" class="headerlink" title="NO.4"></a>NO.4</h2><p>我是用户 破解实战(10集全)<br>破解实战演练教程<br>第一战:<a href="http://www.52pojie.cn/thread-197281-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-197281-1-1.html</a><br>第二战:<a href="http://www.52pojie.cn/thread-197598-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-197598-1-1.html</a><br>第三战:<a href="http://www.52pojie.cn/thread-197957-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-197957-1-1.html</a><br>第四战:<a href="http://www.52pojie.cn/thread-198203-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-198203-1-1.html</a><br>第五战:<a href="http://www.52pojie.cn/thread-198365-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-198365-1-1.html</a><br>第六战:<a href="http://www.52pojie.cn/thread-198930-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-198930-1-1.html</a><br>第七战:<a href="http://www.52pojie.cn/thread-199459-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-199459-1-1.html</a><br>第八战:<a href="http://www.52pojie.cn/thread-199834-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-199834-1-1.html</a><br>第九战:<a href="http://www.52pojie.cn/thread-200655-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-200655-1-1.html</a><br>第十战:<a href="http://www.52pojie.cn/thread-200798-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-200798-1-1.html</a></p><h2 id="NO-5"><a href="#NO-5" class="headerlink" title="NO.5"></a>NO.5</h2><p>Blue .NET系列教程(4集全)<br>图文教程分析.net程序!<br>第一课 <a href="http://www.52pojie.cn/thread-248348-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-248348-1-1.html</a><br>第二课 <a href="http://www.52pojie.cn/thread-249034-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-249034-1-1.html</a><br>第三课 <a href="http://www.52pojie.cn/thread-250626-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-250626-1-1.html</a><br>第四课 <a href="http://www.52pojie.cn/thread-250633-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-250633-1-1.html</a></p><h2 id="NO-6"><a href="#NO-6" class="headerlink" title="NO.6"></a>NO.6</h2><p>去软件弹窗系列教程(共两集)<br>第一课 <a href="http://www.52pojie.cn/thread-316180-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-316180-1-1.html</a><br>第二课 <a href="http://www.52pojie.cn/thread-323346-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-323346-1-1.html</a></p><h2 id="NO-7"><a href="#NO-7" class="headerlink" title="NO.7"></a>NO.7</h2><p>R4ndom破解教程全文翻译(共七集)<br>第一课 <a href="http://www.52pojie.cn/thread-344925-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-344925-1-1.html</a><br>第二课 <a href="http://www.52pojie.cn/thread-345839-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-345839-1-1.html</a><br>第三课 <a href="http://www.52pojie.cn/thread-346455-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-346455-1-1.html</a><br>第四课 <a href="http://www.52pojie.cn/thread-350727-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-350727-1-1.html</a><br>第五课 <a href="http://www.52pojie.cn/thread-352818-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-352818-1-1.html</a><br>第六课 <a href="http://www.52pojie.cn/thread-354029-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-354029-1-1.html</a><br>第七课 <a href="http://www.52pojie.cn/thread-355207-1-1.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.52pojie.cn/thread-355207-1-1.html</a></p><p>希望大家在本论坛发现新手容易理解的系列教程通知我,我会陆续加进来。(转载的朋友请标注:<a href="http://www.52pojie.cn/" rel="external nofollow noopener noreferrer" target="_blank">吾爱破解</a>原创作品)</p>]]></content>
<summary type="html">
<p>今日探索吾爱破解论坛,整理了两篇入门指导文章,当备忘录了</p>
<p>内容来自:<a href="http://www.52pojie.cn/" rel="external nofollow noopener noreferrer" target="_blank">吾爱破解</a> 论坛
</summary>
<category term="逆向" scheme="https://blog.tcpsoft.app/categories/%E9%80%86%E5%90%91/"/>
<category term="52pojie" scheme="https://blog.tcpsoft.app/tags/52pojie/"/>
</entry>
<entry>
<title>科学地让 Git 飞,git clone 速度 5Mb/s</title>
<link href="https://blog.tcpsoft.app/2020/02/let-git-fly-scientifically/"/>
<id>https://blog.tcpsoft.app/2020/02/let-git-fly-scientifically/</id>
<published>2020-02-13T17:46:15.000Z</published>
<updated>2020-03-21T08:40:38.967Z</updated>
<content type="html"><![CDATA[<p>写本文原因:Git 太慢。看最后,14 KiB/s</p><p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214101358632.png" alt="image-20200214101358632"></p><a id="more"></a><h1 id="首先拥有一个代理服务器"><a href="#首先拥有一个代理服务器" class="headerlink" title="首先拥有一个代理服务器"></a>首先拥有一个代理服务器</h1><p>代理分为正向代理和反向代理,</p><p>正向代理就是代理用户端,改变用户端的身份(IP)。</p><p>反向代理就是代理服务端,改变服务器的身份(IP)。</p><p>目前的代理大多数用的都是正向代理。</p><p>获得服务器方法很多,不讲了,然后你就可以通过软件转发流量来进行“代理”</p><p>这里使用 ShadowsocksR 配置一个本地 HTTP 代理。</p><h1 id="然后,设置代理"><a href="#然后,设置代理" class="headerlink" title="然后,设置代理"></a>然后,设置代理</h1><p>运行SSR,在软件中添加已获得的服务器,然后进行一些常见的设置如 PAC 。</p><p><strong>Tips</strong>:PAC:Proxy Auto Config</p><p>然后 <code>Win + R</code> ,输入 <code>inetcpl.cpl</code> 或是找到系统设置里面的代理设置,可以看到类似这样子的界面:</p><p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214104604088.png" alt="image-20200214104604088"></p><p>这样子就是说明本地 1080 端口正在被代理软件使用。</p><h1 id="然后,修改-Git-配置"><a href="#然后,修改-Git-配置" class="headerlink" title="然后,修改 Git 配置"></a>然后,修改 Git 配置</h1><p>git 客户端可以使用代理来改善连接速度,Git 的所有配置都是存储在一个文件中的,可以通过修改配置文件或者通过 Git 命令行来修改配置。</p><p>Git 命令行主要有几种存在形式:</p><ul><li>Windows命令行调用,主要是Windows安装版 Git 或在有 Git 的文件夹中运行 Git</li><li>软件自带的 Git,这种多是在开发工具或 IDE 中,提供一个 Git 的命令行,如 Visual Studio、Git desktop 等,可能是自带了一份 Git 副本,可能是调用系统的 Git。</li><li>Linux 系统中的 Git ,Linux 系统大多自带 Git 命令</li></ul><p>Git 的配置文件是一个名字叫 <code>.gitconfig</code> 的文件,上述的第1、3种的配置文件比较好找,第二种就存在不确定性。</p><p>在Windows中,<code>.gitconfig</code> 在 <code>%userprofile%</code> 文件夹,即用户文件夹。用notepad++ 打开,看起来像这样子:</p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214111535140.png" alt="image-20200214111535140" style="zoom: 67%;"><p>在Linux中,<code>.gitconfig</code> 在 <code>~</code> 文件夹,即用户文件夹,看起来像这样子:(截图为 WSL Ubuntu16.04 + Windows Terminal )</p><p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214113002933.png" alt="image-20200214113002933"></p><p>已知本地端口的情况下,(比如我的是1080),可以配置文件手动添加如下内容:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">[http]</span><br><span class="line">proxy = http://127.0.0.1:1080</span><br><span class="line">[https]</span><br><span class="line">proxy = http://127.0.0.1:1080</span><br></pre></td></tr></table></figure><p>注意修改后格式像图中即可</p><p>另一种方式是在 Git 命令行设置,上面的三种情况都可以使用。</p><p>打开命令行,输入:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global https.proxy http://127.0.0.1:1080</span><br><span class="line">git config --global https.proxy http://127.0.0.1:1080</span><br></pre></td></tr></table></figure><p>如果要取消代理设置,输入:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">git config --global --unset http.proxy</span><br><span class="line">git config --global --unset https.proxy</span><br></pre></td></tr></table></figure><p>(打开配置文件会发现对应的也自动修改好了)</p><p>然后就可以打开命令行开始 git clone 辣。</p><p>请注意 Github 的两种 clone 方式的区别:</p><p>https 方式,是通过本地的 http 链接,是会通过代理软件的</p><p>ssh 方式,是通过 ssh.exe 收发流量,不会通过代理软件,所以依然很慢</p><p>(截图为我开始 ssh 方式 clone 的时候,网络防火墙提示 ssh.exe 联网)</p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214125336775.png" alt="image-20200214125336775" style="zoom:67%;"><p>用 https 方式速度就会达到接近带宽的峰值。比如我们来 clone 一个 ctf-wiki</p><p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214133923497.png" alt="image-20200214133923497"></p>]]></content>
<summary type="html">
<p>写本文原因:Git 太慢。看最后,14 KiB/s</p>
<p><img src="../../blog-images/2020/let-git-fly-scientifically/image-20200214101358632.png" alt="image-20200214101358632"></p>
</summary>
<category term="科学上网" scheme="https://blog.tcpsoft.app/categories/%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/"/>
<category term="代理" scheme="https://blog.tcpsoft.app/tags/%E4%BB%A3%E7%90%86/"/>
<category term="git" scheme="https://blog.tcpsoft.app/tags/git/"/>
</entry>
<entry>
<title>无中生有访问 Google</title>
<link href="https://blog.tcpsoft.app/2020/02/access-google-from-nothing/"/>
<id>https://blog.tcpsoft.app/2020/02/access-google-from-nothing/</id>
<published>2020-02-13T08:33:07.000Z</published>
<updated>2020-03-06T17:09:31.335Z</updated>
<content type="html"><![CDATA[<p>由于众所周知的原因,[数据删除] 。并且在搜索引擎方面,Google 也是搜索知识的一个优秀工具。</p><p>关于搜索引擎之间的瓜葛,Baidu、Bing、Google 究竟谁优谁劣,以后我有空的话再来谈这个话题,欢迎和我 issue 交流。</p><p>今天就来介绍一下如何“无中生有访问 Google”。<a id="more"></a></p><h2 id="一个“不存在的”-chrome-插件"><a href="#一个“不存在的”-chrome-插件" class="headerlink" title="一个“不存在的” chrome 插件"></a>一个“不存在的” chrome 插件</h2><p>能访问 Google,当然是多亏了一个插件,名字叫做“谷歌上网助手”,它大概长这个样子:</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191113170312.png" alt="image-20191113170312"></p><p>可以在 Google 网上应用点搜索到,然后点击“添加至Chrome”按钮就可以添加插件了</p><p><a href="https://chrome.google.com/webstore/detail/谷歌上网助手/nonmafimegllfoonjgplbabhmgfanaka" rel="external nofollow noopener noreferrer" target="_blank">https://chrome.google.com/webstore/detail/谷歌上网助手/nonmafimegllfoonjgplbabhmgfanaka</a></p><p>它的介绍文字是:</p><blockquote><p>专门为科研、外贸、跨境电商、海淘人员、开发人员服务的上网加速工具,chrome内核浏览器专用!可以解决chrome扩展无法自动更新的问题,同时可>以访问谷歌google搜索,gmail邮箱,google+等谷歌产品</p><p>简单易用的《谷歌上网助手》,可以解决chrome扩展无法自动更新的问题,同时可以访问谷歌google搜索,gmail邮箱,google+等谷歌服务。</p><p>《谷歌上网助手》一键安装,无需其他配置,即可访问谷歌。</p><p>使用本插件可以免费上:</p><ul><li>google.com 谷歌搜索</li><li>mail.google.com gmail邮箱</li><li>chrome商店访问</li></ul></blockquote><p>当然,以上链接是不存在的。</p><h2 id="无中生有?"><a href="#无中生有?" class="headerlink" title="无中生有?"></a>无中生有?</h2><p>chrome 的插件是一个后缀名为 .crx 的文件,文件结构与 zip 相同,这意味着,你可以用压缩软件打开 .crx 文件。</p><p>我们有了 crx 文件,就可以添加到 chrome 浏览器了。</p><p>从哪儿去得到 crx 文件?从 Google 应用商店。当然,Google 应用商店是不存在的。</p><p><strong>更新</strong>:插件官网也可以下载,快速下载方式请直接翻到文尾“<a href="#写在后面">#写在后面</a>”部分,再从此处继续阅读。</p><p>这里介绍一个网站,可以看作 Google应用商店翻版,也就是镜像站。<a href="https://www.gugeapps.net/" rel="external nofollow noopener noreferrer" target="_blank">https://www.gugeapps.net/</a></p><p><del>我的网站也提供了一个副本(划掉)</del>, <a href="../../blog-images/2020/access-google-from-nothing/src/谷歌上网助手.zip">谷歌上网助手.zip</a> ,如果添加 chrome 失败请转至下面方法下载,</p><p>bing 搜索 gugeapps.net,第一个链接是 <code>www.gugeapps.net</code> 就是了</p><p>打开是长这个样子的:</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114102230.png" alt="image-20191114102230"></p><p>我们可以在这里的搜索框搜索<code>谷歌上网助手</code>,回车搜索,或者在 bing 搜索 <code>谷歌上网助手 site:gugeapps.net</code> 第一个就是对应的页面了。</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114102822.png" alt="image-20191114102822"></p><p>这里不能直接安装到 chrome ,点击下载按钮,转到页面底端开始下载。</p><p>下载完成后会出现红色提示,保留就可以了<br><img src="../../blog-images/2020/access-google-from-nothing/image-20191114102910.png" alt="image-20191114102910"></p><p><strong>Ps</strong>:最新的下载下来好像后缀名是 zip ,不过不影响后续操作。</p><p>然后在文件夹中打开,可以看到文件夹里面有个 .crx 文件了</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114103010.PNG" alt="image-20191114103010"></p><h2 id="导入"><a href="#导入" class="headerlink" title="导入"></a>导入</h2><p>一般来说,crx 可以直接拖入 chrome 的扩展程序页面,会提示是否添加插件,确定添加就可以添加,不过,对于自己下载的插件,大多数是不行的,会提示“程序包无效”,</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114103110.png" alt="image-20191114103110"></p><h2 id="不能导入?"><a href="#不能导入?" class="headerlink" title="不能导入?"></a>不能导入?</h2><p>这里需要通过 chrome 的开发者模式,添加插件。</p><p>首先打开 chrome 的扩展程序页面:<a href="chrome://extensions" rel="external nofollow noopener noreferrer" target="_blank">chrome://extensions</a> ,开启页面右上方的“开发者模式”开关。</p><p>然后点左边的“加载已解压的扩展程序”</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114103117.png" alt="image-20191114103117"></p><p>切换到刚才的下载文件夹,复制一份 crx 文件,后缀名改为 zip ,随后解压到压缩文件同名文件夹。</p><p>如果看不到后缀名,在<code>查看</code>这里把<code>文件扩展名</code>选项勾选。</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114103616.png" alt="image-20191114103616"></p><p>切换到 chrome 的选择文件夹窗口,打开刚才的文件夹,可以看到文件夹里面的结构是</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">_locales</span><br><span class="line">_metadata</span><br><span class="line">assets</span><br></pre></td></tr></table></figure><p>然后添加文件夹。</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114103357.png" alt="image-20191114103357"></p><p>回到 chrome ,就可以看到新插件添加成功,</p><p>可以看到有提示错误,但是可以用,</p><p>可以看到, chrome 右上方增加了一个插件的图标了</p><p>同时可以看到图标下面有一个标志,鼠标悬浮提示:“未封装的扩展程序”。</p><p>另外,如果关闭 chrome 再打开,会提示移除插件,所以正常使用起来的话,还是有一些麻烦的</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114104215.png" alt="image-20191114104215"></p><p>点击右上角图标,会弹出插件菜单,首次需要注册登录,在登录页面找到新用户注册,填入邮箱和新账户密码注册</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114104439.png" alt="image-20191114104439"></p><p>然后进入插件 控制面板 ,有红色提示“邮箱未激活”,此时前往邮箱,点击新收到的邮件激活账户即可</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114104528.png" alt="image-20191114104528"></p><p>再点开插件菜单,把开关打开即可</p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114104755.png" alt="image-20191114104755" style="zoom:50%;"><p>然后 <code>www.google.com</code> 可以访问了。</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20191114104855.png" alt="image-20191114104855"></p><h2 id="后续操作"><a href="#后续操作" class="headerlink" title="后续操作"></a>后续操作</h2><p>关闭浏览器再打开就会提示“请停用以开发者模式添加的插件”,影响使用,所以需要再“操作”一下</p><p><strong>Ps</strong>:如果没有注册登录插件,现在的新版浏览器是直接移除插件,影响使用,所以需要再“操作”一下</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213214020573.png" alt="image-20200213214020573"></p><p>这个提示框每次打开 chrome 都会弹出,极其 讨厌。</p><p>我们可以通过:从 Google 应用商店安装正规插件,的方式,替换这个插件,就不会再提示辣</p><p>打开 Google网上应用店 <a href="https://chrome.google.com/webstore/category/extensions" rel="external nofollow noopener noreferrer" target="_blank">https://chrome.google.com/webstore/category/extensions</a></p><p>搜索 <code>谷歌上网助手</code> ,找到第一个就是正规插件(开发版也可以用),点“<code>添加至 chrome</code>”按钮就可以添加,点<code>添加扩展程序</code> 按钮</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213214703542.png" alt="image-20200213214703542"></p><p>接着我们可以看到 chrome 左下方出现了一个 crx 下载进度条,但是这个下载完之后并不会提示下载完成,会自动消失(在下载记录也不会留下记录),而是自动安装</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213214909741.png" alt="image-20200213214909741"></p><p>然后会看到页面里面“谷歌上网助手”变成了“已添加”,“添加至chrome”变成了“评分”,就是安装完成了</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213215254798.png" alt="image-20200213215254798"></p><p>然后需要删除旧插件,打开插件管理页面,<a href="chrome://extensions/" rel="external nofollow noopener noreferrer" target="_blank">chrome://extensions/</a></p><p>也可以在右上角插件图标处鼠标右键,<code>管理扩展程序</code>,然后返回按钮</p><p>找到刚才提示“未封装的扩展程序”的插件,删除,</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213215852988.png" alt="image-20200213215852988"></p><p>点击右上角新安装的插件的图标,弹出登陆页面,进去再用刚注册的账号登陆一次就可以了</p><p>至此,全部安装完成!</p><h2 id="写在后面"><a href="#写在后面" class="headerlink" title="写在后面"></a>写在后面</h2><p>插件官网:<a href="http://googlehelper.net/" rel="external nofollow noopener noreferrer" target="_blank">http://googlehelper.net/</a> ,也可以在这里下载 zip 然后按上述方法导入</p><p><img src="../../blog-images/2020/access-google-from-nothing/image-20200213221452052.png" alt="image-20200213221452052"></p><p>点击 download ,下载此网站最新插件压缩包,也可以下载我保存的副本, <a href="../../blog-images/2020/access-google-from-nothing/src/Ghelper2.0.4.all.zip">Ghelper2.0.4.all.zip</a> ,</p><p>压缩包解压之后可以看到:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">ghelper_source</span><br><span class="line">Ghelper2.0.5.crx</span><br><span class="line">中国大陆安装方法.txt</span><br></pre></td></tr></table></figure><p>其中 ghelper_source 和上文提到的解压后文件夹是一样的,</p><p>其中的 crx 文件可以用于直接拖拽导入插件(2020/02/13测试这个crx可以直接导入没有问题)</p><p><a href="#无中生有?">点击此处回到 “无中生有?” 部分继续阅读</a></p>]]></content>
<summary type="html">
<p>由于众所周知的原因,[数据删除] 。并且在搜索引擎方面,Google 也是搜索知识的一个优秀工具。</p>
<p>关于搜索引擎之间的瓜葛,Baidu、Bing、Google 究竟谁优谁劣,以后我有空的话再来谈这个话题,欢迎和我 issue 交流。</p>
<p>今天就来介绍一下如何“无中生有访问 Google”。
</summary>
<category term="科学上网" scheme="https://blog.tcpsoft.app/categories/%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/"/>
<category term="chrome" scheme="https://blog.tcpsoft.app/tags/chrome/"/>
<category term="Google" scheme="https://blog.tcpsoft.app/tags/Google/"/>
<category term="搜索引擎" scheme="https://blog.tcpsoft.app/tags/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/"/>
<category term="代理" scheme="https://blog.tcpsoft.app/tags/%E4%BB%A3%E7%90%86/"/>
</entry>
<entry>
<title>Wooyun.org lives on Github</title>
<link href="https://blog.tcpsoft.app/2020/02/wooyun-on-github/"/>
<id>https://blog.tcpsoft.app/2020/02/wooyun-on-github/</id>
<published>2020-02-11T12:11:21.000Z</published>
<updated>2020-02-13T15:52:27.920Z</updated>
<content type="html"><![CDATA[<p>翻阅 Wooyun ,然后找到了Github上。。。不得不说,Github 上确实有大量镜像资源</p><p>在这里做一个总结吧。按 Star 排序,把每个库的 Readme.md 剪辑到了这里。</p><p>文尾有彩蛋!</p><a id="more"></a><br><br><h1 id="No-1-https-github-com-hanc00l-wooyun-public"><a href="#No-1-https-github-com-hanc00l-wooyun-public" class="headerlink" title="No.1 https://github.com/hanc00l/wooyun_public"></a>No.1 <a href="https://github.com/hanc00l/wooyun_public">https://github.com/hanc00l/wooyun_public</a></h1><blockquote><h2 id="Watch:224-Star:3586-Fork:1-8k"><a href="#Watch:224-Star:3586-Fork:1-8k" class="headerlink" title="Watch:224___Star:3586___Fork:1.8k"></a>Watch:224___Star:3586___Fork:1.8k</h2></blockquote><h2 id="wooyun-public"><a href="#wooyun-public" class="headerlink" title="wooyun_public"></a>wooyun_public</h2><p><strong>乌云公开漏洞、知识库爬虫和搜索</strong><br><strong>crawl and search for wooyun.org public bug(vulnerability) and drops</strong></p><h3 id="1-wooyun公开漏洞爬虫版"><a href="#1-wooyun公开漏洞爬虫版" class="headerlink" title="1.wooyun公开漏洞爬虫版"></a>1.wooyun公开漏洞爬虫版</h3><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_public/index.png" alt="index"></p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_public/search.png" alt="search"></p><p>源自2016年6月底使用scrapy爬虫爬取的4W公开漏洞和知识库,虚拟机为ubuntu14.04,采用python2+mongodb+flask(tornado)和Elasticsearch搜索引擎。</p><p>虚拟机下载地址:</p><p><a href="https://pan.baidu.com/s/1HkR4ggvAwTikshsjcKYBuA" rel="external nofollow noopener noreferrer" target="_blank">https://pan.baidu.com/s/1HkR4ggvAwTikshsjcKYBuA</a> ,提取密码:8wnb(2018.4.23更新)</p><p><a href="https://github.com/hanc00l/wooyun_public/blob/master/README_PUBLIC.md">安装、使用指南(点我)</a></p><h3 id="2-wooyun公开漏洞纪念版"><a href="#2-wooyun公开漏洞纪念版" class="headerlink" title="2.wooyun公开漏洞纪念版"></a>2.wooyun公开漏洞纪念版</h3><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_public/index_final.png" alt="index_final"></p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_public/search_final.png" alt="search_final"></p><p>漏洞信息和代码来自于<a href="https://github.com/m0l1ce/wooyunallbugs">m0l1ce的wooyun_all_bugs_8.8W</a>,包含8.8W漏洞信息(不含知识库);搜索和漏洞信息代码位于wooyun_final,对代码进行了部份修改:</p><ul><li>修改了搜索功能,支持多关键字搜索和在漏洞详情中搜索</li><li>修改了离线图片文件的位置,搜索结果直接使用虚拟机中的离线图片</li><li>修改了代码以适应PHP5.6及更新版本</li></ul><p>虚拟机为ubuntu16.04,PHP5.6+MySQL5.7+Apache2。虚拟机下载地址:<br><a href="https://pan.baidu.com/s/1qYRqa3U" rel="external nofollow noopener noreferrer" target="_blank">https://pan.baidu.com/s/1qYRqa3U</a> 密码: w8vb (2017.7.4)</p><p>虚拟机用户名、密码为hancool/qwe123</p><h3 id="3-其它"><a href="#3-其它" class="headerlink" title="3.其它"></a>3.其它</h3><ul><li>本程序只用于技术研究和个人使用,程序组件均为开源程序,漏洞和知识库来源于乌云公开漏洞,版权归wooyun.org。</li></ul><br><br><h1 id="No-2-https-github-com-Xyntax-1000php"><a href="#No-2-https-github-com-Xyntax-1000php" class="headerlink" title="No.2 https://github.com/Xyntax/1000php"></a>No.2 <a href="https://github.com/Xyntax/1000php">https://github.com/Xyntax/1000php</a></h1><blockquote><h2 id="Watch:31-Star:759-Fork:481"><a href="#Watch:31-Star:759-Fork:481" class="headerlink" title="Watch:31___Star:759___Fork:481"></a>Watch:31___Star:759___Fork:481</h2></blockquote><h2 id="1000php"><a href="#1000php" class="headerlink" title="1000php"></a>1000php</h2><p>1000个PHP代码审计案例 (2016.7以前乌云公开漏洞)</p><h3 id="说明"><a href="#说明" class="headerlink" title="说明"></a>说明</h3><ul><li>数据取自3.8W乌云已公开漏洞(截至2016.7)</li><li>漏洞在<code>./bugs</code>,<code>./upload</code>保存了相关漏洞的图片资源</li><li>使用特征匹配提取,杂质在5%以内,如遇其他非php漏洞自行删除即可</li><li>愿乌云早日回归</li></ul><br><br><h1 id="No-3-https-github-com-starnightcyber-1000php"><a href="#No-3-https-github-com-starnightcyber-1000php" class="headerlink" title="No.3 https://github.com/starnightcyber/1000php"></a>No.3 <a href="https://github.com/starnightcyber/1000php">https://github.com/starnightcyber/1000php</a></h1><blockquote><h2 id="Watch:1-Star:759-Fork:481"><a href="#Watch:1-Star:759-Fork:481" class="headerlink" title="Watch:1___Star:759___Fork:481"></a>Watch:1___Star:759___Fork:481</h2></blockquote><h2 id="1000php-1"><a href="#1000php-1" class="headerlink" title="1000php"></a>1000php</h2><p>1000个PHP代码审计案例 (2016.7以前乌云公开漏洞)</p><p>在原来的基础上<a href="https://github.com/Xyntax/1000php">Xyntax/1000php</a>添加了简单的漏洞索引,并且加入了原css文件,方便查看</p><h3 id="Sample"><a href="#Sample" class="headerlink" title="Sample"></a>Sample</h3><p><img src="../../blog-images/2020/wooyun-on-github/1000php-starnightcyber/wooyun-index.png" alt="wooyun-index"></p><p>点击其中某个漏洞,查看</p><p><img src="../../blog-images/2020/wooyun-on-github/1000php-starnightcyber/bug.png" alt="bug"></p><p>刚才试过了,直接打开index.html好像并不会简单按照我们的意愿显示,可以重新再执行一下代码:</p><p>python script.py</p><p>这样会重新生成index.html,在本地打开应该就没有问题,另外可能会出现乱码,可以用谷歌浏览器打开。</p><h3 id="说明-1"><a href="#说明-1" class="headerlink" title="说明"></a>说明</h3><ul><li>数据取自3.8W乌云已公开漏洞(截至2016.7)</li><li>漏洞在<code>./bugs</code>,<code>./upload</code>保存了相关漏洞的图片资源</li><li>使用特征匹配提取,杂质在5%以内,如遇其他非php漏洞自行删除即可</li><li>愿乌云早日回归</li></ul><br><br><h1 id="No-4-https-github-com-jiji262-wooyun-articles"><a href="#No-4-https-github-com-jiji262-wooyun-articles" class="headerlink" title="No.4 https://github.com/jiji262/wooyun_articles"></a>No.4 <a href="https://github.com/jiji262/wooyun_articles">https://github.com/jiji262/wooyun_articles</a></h1><blockquote><h2 id="Watch:27-Star:640-Fork:506"><a href="#Watch:27-Star:640-Fork:506" class="headerlink" title="Watch:27___Star:640___Fork:506"></a>Watch:27___Star:640___Fork:506</h2></blockquote><h2 id="wooyun-articles"><a href="#wooyun-articles" class="headerlink" title="wooyun_articles"></a>wooyun_articles</h2><p><strong>drops.wooyun.org</strong> 乌云Drops文章备份</p><p>(乌云网站已经离我们而去,可能再也不会回来了!谨以此纪念乌云!)</p><h3 id="线上版本"><a href="#线上版本" class="headerlink" title="线上版本"></a>线上版本</h3><p><strong>(已更新图片)</strong></p><p><a href="https://wooyun.js.org/" rel="external nofollow noopener noreferrer" target="_blank">https://wooyun.js.org/</a></p><h3 id="线上版本源码"><a href="#线上版本源码" class="headerlink" title="线上版本源码"></a>线上版本源码</h3><p><a href="https://github.com/jiji262/wooyun_articles/tree/gh-pages">https://github.com/jiji262/wooyun_articles/tree/gh-pages</a></p><h3 id="关于branches"><a href="#关于branches" class="headerlink" title="关于branches"></a>关于branches</h3><h4 id="gh-pages"><a href="#gh-pages" class="headerlink" title="gh-pages"></a>gh-pages</h4><p><a href="https://wooyun.js.org/" rel="external nofollow noopener noreferrer" target="_blank">https://wooyun.js.org/</a> 源码。</p><p>由于wooyun服务器已经无法访问,所以文章中图片已经无法显示。所幸,之前已经将图片抓取下来,可以在<a href="https://github.com/jiji262/wooyun_articles/tree/gh-pages/images_result/images">这里</a>查看所有图片。</p><h4 id="master"><a href="#master" class="headerlink" title="master"></a>master</h4><p>目录如下:</p><p><strong>wooyun.js</strong>:用于抓取 drops.wooyun.org 上文章的脚本;</p><p><strong>drops</strong>:抓取下来的文章原文;</p><p><strong>image_download</strong>:单独下载文章中图片的方法, <code>bagpipe_version</code>和<code>async_version</code>为多并发下载图片的解决方案。</p><h3 id="Todo"><a href="#Todo" class="headerlink" title="Todo"></a>Todo</h3><p>[x]更新本地图片链接到文章中</p><br><br><h1 id="No-5-https-github-com-boy-hack-wooyun-payload"><a href="#No-5-https-github-com-boy-hack-wooyun-payload" class="headerlink" title="No.5 https://github.com/boy-hack/wooyun-payload"></a>No.5 <a href="https://github.com/boy-hack/wooyun-payload">https://github.com/boy-hack/wooyun-payload</a></h1><blockquote><h2 id="Watch:12-Star:465-Fork:90"><a href="#Watch:12-Star:465-Fork:90" class="headerlink" title="Watch:12___Star:465___Fork:90"></a>Watch:12___Star:465___Fork:90</h2></blockquote><h2 id="WooYun-Payload"><a href="#WooYun-Payload" class="headerlink" title="WooYun-Payload"></a>WooYun-Payload</h2><p>从乌云漏洞库中提取的扫描规则,内容介绍: <a href="https://mp.weixin.qq.com/s/9RHVsw-HtAfo1UuPAqXZEw" rel="external nofollow noopener noreferrer" target="_blank">https://mp.weixin.qq.com/s/9RHVsw-HtAfo1UuPAqXZEw</a></p><h3 id="Burpsuite-辅助插件"><a href="#Burpsuite-辅助插件" class="headerlink" title="Burpsuite 辅助插件"></a>Burpsuite 辅助插件</h3><p>通过http请求包中域名,路径,参数等获取乌云历史漏洞中类似的数据。</p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun-payload/wooyunpayload.gif" alt="wooyunpayload"></p><h3 id="数据说明"><a href="#数据说明" class="headerlink" title="数据说明"></a>数据说明</h3><ul><li>data 从乌云镜像中提取的各类字典</li><li>WooyunSearch burp插件源码</li><li>编译好的burp插件下载地址 <a href="https://github.com/boy-hack/wooyun-payload/releases">https://github.com/boy-hack/wooyun-payload/releases</a></li></ul><br><br><h1 id="No-6-https-github-com-m0l1ce-wooyunallbugs"><a href="#No-6-https-github-com-m0l1ce-wooyunallbugs" class="headerlink" title="No.6 https://github.com/m0l1ce/wooyunallbugs"></a>No.6 <a href="https://github.com/m0l1ce/wooyunallbugs">https://github.com/m0l1ce/wooyunallbugs</a></h1><blockquote><h2 id="Watch:21-Star:398-Fork:154"><a href="#Watch:21-Star:398-Fork:154" class="headerlink" title="Watch:21___Star:398___Fork:154"></a>Watch:21___Star:398___Fork:154</h2></blockquote><h2 id="wooyunallbugs"><a href="#wooyunallbugs" class="headerlink" title="wooyunallbugs"></a>wooyunallbugs</h2><p>wooyun_all_bugs_8.8W</p><hr><p>链接:<a href="https://pan.baidu.com/s/1htwVF3Q" rel="external nofollow noopener noreferrer" target="_blank">https://pan.baidu.com/s/1htwVF3Q</a> 密码:oskw</p><p>代码在bugs文件里<br>ps:php version 5.3<br>库解压到wooyun库里即可<br>ps:注意修改数据库连接密码 conn.php</p><hr><p>ps:图片资源解压到根目录/upload/下 本地绑定下host 你的图片服务器 static.loner.fm<br> static.loner.fm 不会关掉的 大家可以放心使用</p><p> 漏洞查询链接 <a href="http://www.loner.fm/bugs/" rel="external nofollow noopener noreferrer" target="_blank">www.loner.fm/bugs/</a></p><br><br><h1 id="No-7-https-github-com-SuperKieran-WooyunDrops"><a href="#No-7-https-github-com-SuperKieran-WooyunDrops" class="headerlink" title="No.7 https://github.com/SuperKieran/WooyunDrops"></a>No.7 <a href="https://github.com/SuperKieran/WooyunDrops">https://github.com/SuperKieran/WooyunDrops</a></h1><blockquote><h2 id="Watch:13-Star:346-Fork:243"><a href="#Watch:13-Star:346-Fork:243" class="headerlink" title="Watch:13___Star:346___Fork:243"></a>Watch:13___Star:346___Fork:243</h2></blockquote><h2 id="Wooyun-Drops"><a href="#Wooyun-Drops" class="headerlink" title="Wooyun Drops"></a>Wooyun Drops</h2><p>DEMO: <a href="https://wooyun.kieran.top" rel="external nofollow noopener noreferrer" target="_blank">https://wooyun.kieran.top</a></p><h3 id="静态版乌云-Drops"><a href="#静态版乌云-Drops" class="headerlink" title="静态版乌云 Drops"></a>静态版乌云 Drops</h3><p>OPTIONS:<br>1.默认开启 https,如果不需要可以在 index.html 删掉<br>2.图片依赖于 <a href="https://github.com/SuperKieran/wooyun-img">https://github.com/SuperKieran/wooyun-img</a> </p><p>全文搜索有想法还但没想好怎么做<br>最先想到的自然是写个后台,搜搜搜就完工了,但这不太方便<br>静态页面的搜索 我暂时没有好的方案,如果有好的想法的话可以在 issue 里提 </p><br><br><h1 id="No-8-https-github-com-SuperKieran-wooyun-img"><a href="#No-8-https-github-com-SuperKieran-wooyun-img" class="headerlink" title="No.8 https://github.com/SuperKieran/wooyun-img"></a>No.8 <a href="https://github.com/SuperKieran/wooyun-img">https://github.com/SuperKieran/wooyun-img</a></h1><blockquote><h2 id="Watch:0-Star:20-Fork:33"><a href="#Watch:0-Star:20-Fork:33" class="headerlink" title="Watch:0___Star:20___Fork:33"></a>Watch:0___Star:20___Fork:33</h2></blockquote><h2 id="WooYun-Drops-图片库"><a href="#WooYun-Drops-图片库" class="headerlink" title="WooYun Drops 图片库"></a>WooYun Drops 图片库</h2><p>DEMO: <a href="https://superkieran.github.io/WooyunDrops" rel="external nofollow noopener noreferrer" target="_blank">https://superkieran.github.io/WooyunDrops</a><br>Github: <a href="https://github.com/SuperKieran/WooyunDrops">https://github.com/SuperKieran/WooyunDrops</a><br>(编者注:图片在gh-pages分支)</p><br><br><h1 id="No-9-https-github-com-grt1st-wooyun-search"><a href="#No-9-https-github-com-grt1st-wooyun-search" class="headerlink" title="No.9 https://github.com/grt1st/wooyun_search"></a>No.9 <a href="https://github.com/grt1st/wooyun_search">https://github.com/grt1st/wooyun_search</a></h1><blockquote><h2 id="Watch:22-Star:327-Fork:157"><a href="#Watch:22-Star:327-Fork:157" class="headerlink" title="Watch:22___Star:327___Fork:157"></a>Watch:22___Star:327___Fork:157</h2></blockquote><h2 id="wooyun-search"><a href="#wooyun-search" class="headerlink" title="wooyun_search"></a>wooyun_search</h2><p><strong>乌云公开漏洞、知识库搜索</strong></p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_search/index.jpg" alt="index"></p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_search/search.jpg" alt="search"></p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_search/author.jpg" alt="author"></p><h2 id="0x00-介绍"><a href="#0x00-介绍" class="headerlink" title="0x00.介绍"></a>0x00.介绍</h2><ul><li><p>灵感来源于hanc00l的github项目<a href="https://github.com/hanc00l/wooyun_public">wooyun_public</a></p></li><li><p>wooyun_public基于flask或者tornado,而本项目可以布置在apache、nginx等web服务器上。</p></li><li><p>如果你有wooyun的静态网页数据,那么我们可以开始了!</p></li><li><p>整个项目包括两个部分,第一部分是索引,将网页信息存储进数据库;第二部分是搜索,从数据库中查找信息。轻量级,支持进行二次开发。</p></li><li><p>静态网页网盘链接:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">bugs 链接: https://pan.baidu.com/s/1n_kkUaZZxcTEa4-v6sGa9Q 密码: sg98 (20180707)</span><br><span class="line">drops 链接: https://pan.baidu.com/s/1r2Y7rfntwnjglX6HtzDk6w 密码: 738f (20180707)</span><br></pre></td></tr></table></figure></li></ul><h2 id="0x01-依赖组件及说明"><a href="#0x01-依赖组件及说明" class="headerlink" title="0x01.依赖组件及说明"></a>0x01.依赖组件及说明</h2><ul><li><p>python 2.7和pip</p></li><li><p>python依赖:MySQLdb,lxml(推荐)</p></li><li><p>mysql,php及任意web服务器(php需开启pdo-mysql模块</p></li><li><p>将本项目放进web服务器目录下,bugs目录下为漏洞库文件,drops目录下为知识库文件。</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">文件说明:</span><br><span class="line">app_bugs.py bugs的索引,依赖lxml</span><br><span class="line">app_drops.py drops的索引,依赖lxml</span><br><span class="line">index.html 搜索的主页</span><br><span class="line">search.php 执行搜索的页面</span><br><span class="line">config.php php配置文件</span><br><span class="line">./bugs bugs静态文件的目录</span><br><span class="line">./drops drops静态文件的目录</span><br></pre></td></tr></table></figure></li></ul><h2 id="0x02-索引配置"><a href="#0x02-索引配置" class="headerlink" title="0x02.索引配置 "></a>0x02.索引配置 </h2><ul><li><p>app_bugs.py为建立bugs索引的脚本,app_drops为建立drops索引的脚本。</p></li><li><p>因为python脚本中open()函数打开的文件名不能为中文,建议将drops目录下的中文文件名改为英文(例如,安全运维-xxxx.html=>safe-xxxx.html)</p></li><li><p>python脚本运行前需要修改如下语句,更改参数如主机、端口号、用户名、密码。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">conn=MySQLdb.connect(host=<span class="string">'localhost'</span>,port=3306,user=<span class="string">'root'</span>,passwd=<span class="string">''</span>,db=<span class="string">'wooyun'</span>,charset=<span class="string">'utf8'</span>)</span><br></pre></td></tr></table></figure></li><li><p>在mysql中建立数据库wooyun,数据表bugs、drops,分别建立字段title,dates,author,type,corp,doc与title,dates,author,type,doc。</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">CREATE DATABASE `wooyun` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;</span><br><span class="line">create table bugs(title VARCHAR(500),dates DATETIME, author CHAR(255),<span class="built_in">type</span> CHAR(255),corp CHAR(255),doc VARCHAR(200) PRIMARY KEY);</span><br><span class="line">create table drops(title VARCHAR(500),dates DATETIME, author CHAR(255),<span class="built_in">type</span> CHAR(255),doc VARCHAR(200) PRIMARY KEY);</span><br></pre></td></tr></table></figure></li><li><p>注意mysql编码如下,需要为utf-8(character_set_server不为utf-8要修改mysql配置文件</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><span class="line">use wooyun;</span><br><span class="line">show variables like <span class="string">'character%'</span>; <span class="comment">#查看编码</span></span><br><span class="line">+--------------------------+----------------------------+</span><br><span class="line">| Variable_name | Value |</span><br><span class="line">+--------------------------+----------------------------+</span><br><span class="line">| character_set_client | utf8 |</span><br><span class="line">| character_set_connection | utf8 |</span><br><span class="line">| character_set_database | utf8 |</span><br><span class="line">| character_set_filesystem | binary |</span><br><span class="line">| character_set_results | utf8 |</span><br><span class="line">| character_set_server | utf8 |</span><br><span class="line">| character_set_system | utf8 |</span><br><span class="line">| character_sets_dir | /usr/share/mysql/charsets/ |</span><br><span class="line">+--------------------------+----------------------------+</span><br></pre></td></tr></table></figure><p>如果编码错误会报错,比如:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Warning: Incorrect string value: '\xE5\xBB\xB6\xE9\x95\xBF...' for column 'title' at row 1</span><br><span class="line">cur.execute("INSERT INTO `drops`(`title`,`dates`,`author`,`type`,`doc`) VALUES(%s,%s,%s,%s,%s)", tmp)</span><br></pre></td></tr></table></figure><p>在mysql里查看会发现有一堆???</p></li><li><p>之后就可以建立索引了</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">sudo python ./app_bugs.py</span><br><span class="line">sudo python ./app_drops.py</span><br></pre></td></tr></table></figure></li><li><p>bugs数目为40280,drops数目为1264</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">use wooyun;</span><br><span class="line">select count(*) from bugs;</span><br><span class="line">select count(*) from drops;</span><br></pre></td></tr></table></figure></li></ul><h2 id="0x03-搜索配置"><a href="#0x03-搜索配置" class="headerlink" title="0x03.搜索配置 "></a>0x03.搜索配置 </h2><ul><li><p>修改config.php中修改如下语句中参数,分别是主机、端口、用户名、密码与数据库。</p><figure class="highlight php"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">$config[<span class="string">'host'</span>] = <span class="string">'127.0.0.1'</span>;</span><br><span class="line">$config[<span class="string">'port'</span>] = <span class="string">'3306'</span>;</span><br><span class="line">$config[<span class="string">'user'</span>] = <span class="string">'root'</span>;</span><br><span class="line">$config[<span class="string">'passwd'</span>] = <span class="string">''</span>;</span><br><span class="line">$config[<span class="string">'database'</span>] = <span class="string">'wooyun'</span>;</span><br></pre></td></tr></table></figure></li><li><p>index.html与search.php样式来自于前端静态资源托管库。f12进入开发者模式,如果样式文件访问不到可以使用本地或cdn的样式(bootstrap3.3.7、jquery3.1.0)。只需要更改两个网页里面的如下内容。</p></li></ul><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line"><link href="//lib.baomitu.com/twitter-bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" type="text/css"></span><br><span class="line"><script type="text/javascript" src="//lib.baomitu.com/jquery/3.1.0/jquery.min.js"></script></span><br><span class="line"><script type="text/javascript" src="//lib.baomitu.com/twitter-bootstrap/3.3.7/js/bootstrap.min.js"></script></span><br></pre></td></tr></table></figure><ul><li><p>为了防止因为web服务器配置不正确,导致访问http(s)://example.link/bugs/或者http(s)://example.link/drops/而进入index of页面泄露所有文件,在目录下放置内容为空的index.html即可。</p></li><li><p>linux下由于selinux可能会导致无法连接数据库,可以使用如下命令:</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">getenforce //查看selinux状态</span><br><span class="line">setenforce 0 //暂时关闭selinux</span><br></pre></td></tr></table></figure></li></ul><h2 id="0x04-问题"><a href="#0x04-问题" class="headerlink" title="0x04.问题"></a>0x04.问题</h2><ul><li>drops很奇怪的会都需web目录下的js而不是本身目录里的js,所以drops的页面会有些乱。开发者模式看一下,缺少的js为web目录/static/drops/css与web目录/static/drops/js。新建目录再把drops下的css、js文件夹复制过去即可</li></ul><h2 id="0x05-更新日志"><a href="#0x05-更新日志" class="headerlink" title="0x05.更新日志"></a>0x05.更新日志</h2><ul><li><p>2016.10.08更新:上传了bugs.py。由于bugs部分页面(约143条)的author带有js,正则匹配出的信息出错,所以上传了bugs.py用于修正,在app.py后执行,python bugs.py。(2016.11.09已修正,无需执行bugs.py)</p></li><li><p>2016.10.10更新:重写了search.php和search.css,基本适配了各种浏览器和移动端。</p></li><li><p>2016.11.09更新:匹配索引将BeautifulSoup换成了lxml,运行速度更快。优化了匹配(感谢@tuola)。</p></li><li><p>2017.01.01更新:增加了作者搜索,优化了分页逻辑。</p></li><li><p>2017.3.7更新:重写了前端,优化了php代码。</p></li><li><p>欢迎反馈问题。可以提问issue也可以通过<a href="mailto:grt1stnull@gmail.com" rel="external nofollow noopener noreferrer" target="_blank">grt1stnull@gmail.com</a>联系我。后续也会进行其他细节优化。</p></li></ul><h2 id="0x06-后记"><a href="#0x06-后记" class="headerlink" title="0x06.后记"></a>0x06.后记</h2><ul><li><p>本来打算把wooyun_public布置在我的树莓派上,因为一些原因失败,所以萌生了自己搭建的念头</p></li><li><p>总共搭建了十天,接触了js、bootstarap、beautifulsoup、mysqldb、mysqli和pdo。虽然以前也会css与php,但这是第一次真正写一个动态网页,感觉很棒。</p></li></ul><h2 id="0x07-其他"><a href="#0x07-其他" class="headerlink" title="0x07.其他"></a>0x07.其他</h2><ul><li><p>本程序只用于技术研究和个人使用,程序组件均为开源程序,漏洞和知识库来源于乌云公开漏洞,版权归wooyun.org。</p></li><li><p>新浪微博:<a href="http://weibo.com/grt1st" rel="external nofollow noopener noreferrer" target="_blank">http://weibo.com/grt1st</a></p></li><li><p>个人邮箱:<a href="mailto:grt1stnull@gmail.com" rel="external nofollow noopener noreferrer" target="_blank">grt1stnull@gmail.com</a></p></li></ul><br><br><h1 id="No-10-https-github-com-LubyRuffy-wyquery"><a href="#No-10-https-github-com-LubyRuffy-wyquery" class="headerlink" title="No.10 https://github.com/LubyRuffy/wyquery"></a>No.10 <a href="https://github.com/LubyRuffy/wyquery">https://github.com/LubyRuffy/wyquery</a></h1><blockquote><h2 id="Watch:12-Star:109-Fork:92"><a href="#Watch:12-Star:109-Fork:92" class="headerlink" title="Watch:12___Star:109___Fork:92"></a>Watch:12___Star:109___Fork:92</h2></blockquote><h2 id="wyquery"><a href="#wyquery" class="headerlink" title="wyquery"></a>wyquery</h2><p>Wooyun公开的漏洞详情是一个很好的资源,但是没有提供很好的搜索引擎和排序功能来进行数据分析,所以,这个项目用户镜像wooyun上已经对外公开的漏洞详情,并提供更多搜索和排序的功能。</p><p>你有没有想完成如下功能?</p><ul><li>我想只看给钱的漏洞</li><li>我想只看带乌云标志的漏洞</li><li>我想按照rank排序漏洞</li></ul><p>如果有,那你跟我遇到的问题一样,不妨试试这个项目!线上已经搭建好的DEMO环境如下:<a href="http://120.27.41.90/" rel="external nofollow noopener noreferrer" target="_blank">http://120.27.41.90/</a></p><h3 id="搭建环境"><a href="#搭建环境" class="headerlink" title="搭建环境"></a>搭建环境</h3><p>建议在Linux下运行,当然Windows下也可以。Ruby 2.0+</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">git clone https://github.com/LubyRuffy/wyquery.git</span><br><span class="line">cd wyquery</span><br><span class="line">bundle install</span><br><span class="line">rake db:migrate</span><br><span class="line">rails s</span><br></pre></td></tr></table></figure><p>然后访问<a href="http://0.0.0.0:3000" rel="external nofollow noopener noreferrer" target="_blank">http://0.0.0.0:3000</a></p><h3 id="初次抓取数据"><a href="#初次抓取数据" class="headerlink" title="初次抓取数据"></a>初次抓取数据</h3><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">cd wyquery</span><br><span class="line">ruby ./tools/import_bugs.rb</span><br></pre></td></tr></table></figure><h3 id="同步数据"><a href="#同步数据" class="headerlink" title="同步数据"></a>同步数据</h3><p>这时可以建立定时任务</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">crontab -e</span><br><span class="line">*/10 * * * * <wyquery路径>/tools/import_bugs.rb</span><br></pre></td></tr></table></figure><br><br><h1 id="No-11-https-github-com-jas502n-fuzz-wooyun-org"><a href="#No-11-https-github-com-jas502n-fuzz-wooyun-org" class="headerlink" title="No.11 https://github.com/jas502n/fuzz-wooyun-org"></a>No.11 <a href="https://github.com/jas502n/fuzz-wooyun-org">https://github.com/jas502n/fuzz-wooyun-org</a></h1><blockquote><h2 id="Watch:3-Star:96-Fork:49"><a href="#Watch:3-Star:96-Fork:49" class="headerlink" title="Watch:3___Star:96___Fork:49"></a>Watch:3___Star:96___Fork:49</h2></blockquote><h2 id="fuzz-wooyun-org"><a href="#fuzz-wooyun-org" class="headerlink" title="fuzz-wooyun-org"></a>fuzz-wooyun-org</h2><p>WooYun Fuzz 库</p><br><br><h1 id="No-12-https-github-com-xinali-wooyun"><a href="#No-12-https-github-com-xinali-wooyun" class="headerlink" title="No.12 https://github.com/xinali/wooyun"></a>No.12 <a href="https://github.com/xinali/wooyun">https://github.com/xinali/wooyun</a></h1><blockquote><h2 id="Watch:6-Star:95-Fork:42"><a href="#Watch:6-Star:95-Fork:42" class="headerlink" title="Watch:6___Star:95___Fork:42"></a>Watch:6___Star:95___Fork:42</h2></blockquote><h2 id="wooyun"><a href="#wooyun" class="headerlink" title="wooyun"></a>wooyun</h2><h3 id="wooyun-datasets"><a href="#wooyun-datasets" class="headerlink" title="wooyun datasets"></a>wooyun datasets</h3><ul><li>usernames</li><li>passwords</li><li>URLs</li><li>sensitive data patterns</li><li>fuzzing payloads</li><li>web shells</li></ul><br><br><h1 id="No-13-https-github-com-l3m0n-wooyun-wiki"><a href="#No-13-https-github-com-l3m0n-wooyun-wiki" class="headerlink" title="No.13 https://github.com/l3m0n/wooyun-wiki"></a>No.13 <a href="https://github.com/l3m0n/wooyun-wiki">https://github.com/l3m0n/wooyun-wiki</a></h1><blockquote><h2 id="Watch:5-Star:75-Fork:55"><a href="#Watch:5-Star:75-Fork:55" class="headerlink" title="Watch:5___Star:75___Fork:55"></a>Watch:5___Star:75___Fork:55</h2></blockquote><h2 id="wooyun-wiki"><a href="#wooyun-wiki" class="headerlink" title="wooyun-wiki"></a>wooyun-wiki</h2><p>wiki.wooyun.org的部分快照网页</p><br><br><h1 id="No-14-https-github-com-fxfactorial-wooyun-github-io"><a href="#No-14-https-github-com-fxfactorial-wooyun-github-io" class="headerlink" title="No.14 https://github.com/fxfactorial/wooyun.github.io"></a>No.14 <a href="https://github.com/fxfactorial/wooyun.github.io">https://github.com/fxfactorial/wooyun.github.io</a></h1><blockquote><h2 id="Watch:6-Star:44-Fork:33"><a href="#Watch:6-Star:44-Fork:33" class="headerlink" title="Watch:6___Star:44___Fork:33"></a>Watch:6___Star:44___Fork:33</h2></blockquote><h3 id="【没有-Readme-md-介绍】"><a href="#【没有-Readme-md-介绍】" class="headerlink" title="【没有 Readme.md 介绍】"></a>【没有 Readme.md 介绍】</h3><br><br><h1 id="No-15-https-github-com-CaledoniaProject-wooyun-offline-ui"><a href="#No-15-https-github-com-CaledoniaProject-wooyun-offline-ui" class="headerlink" title="No.15 https://github.com/CaledoniaProject/wooyun_offline_ui"></a>No.15 <a href="https://github.com/CaledoniaProject/wooyun_offline_ui">https://github.com/CaledoniaProject/wooyun_offline_ui</a></h1><blockquote><h2 id="Watch:4-Star:40-Fork:19"><a href="#Watch:4-Star:40-Fork:19" class="headerlink" title="Watch:4___Star:40___Fork:19"></a>Watch:4___Star:40___Fork:19</h2></blockquote><h2 id="说明-2"><a href="#说明-2" class="headerlink" title="说明"></a>说明</h2><p>花了10分钟重做了一套乌云离线Web UI,重做总共有两个目的,</p><ol><li>没必要使用14GB的虚拟机,经过处理,40K漏洞只占用500MB mongodb 硬盘空间</li><li>上述作者没有提取 关注数、是否为有奖励或者漏洞预警的漏洞 等几个关键字段</li></ol><h2 id="特性"><a href="#特性" class="headerlink" title="特性"></a>特性</h2><p>支持漏洞标题搜索、漏洞wooyun id搜索</p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_offline_ui/screen.jpg" alt="screen"></p><p>支持漏洞查看(删除了评论),原始 wooyun UI</p><p><img src="../../blog-images/2020/wooyun-on-github/wooyun_offline_ui/screen2.jpg" alt="screen2"></p><h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><p>复制 src 到 web 目录,e.g</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cp -R src ~/web/wooyun_offline</span><br></pre></td></tr></table></figure><p>安装 php-mongo 扩展</p><p>mongo 默认为 <code>127.0.0.1:27017</code>,如有不同,修改 <code>src/config.php</code> 即可</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><?php</span><br><span class="line">$config = array(</span><br><span class="line">'mongodb' => 'mongodb://127.0.0.1:27017'</span><br><span class="line">);</span><br><span class="line">?></span><br></pre></td></tr></table></figure><h2 id="导入数据"><a href="#导入数据" class="headerlink" title="导入数据"></a>导入数据</h2><p>导入到 <code>wooyun</code> 数据库,<code>bugs</code> 表即可</p><p>由于政策风险,我不能提供数据,可以用网上的14GB虚拟机导出</p><p>然后使用 <code>src/scripts/minify.pl</code> 精简 mongo 数据库</p><h2 id="已知问题"><a href="#已知问题" class="headerlink" title="已知问题"></a>已知问题</h2><ol><li>缺少 <code>images/blood.png</code></li><li>漏洞库不全,可惜没用高权限账号爬</li></ol><br><br><h1 id="No-16-https-github-com-lxj616-DVWA-WooYun"><a href="#No-16-https-github-com-lxj616-DVWA-WooYun" class="headerlink" title="No.16 https://github.com/lxj616/DVWA-WooYun"></a>No.16 <a href="https://github.com/lxj616/DVWA-WooYun">https://github.com/lxj616/DVWA-WooYun</a></h1><blockquote><h2 id="Watch:1-Star:23-Fork:16"><a href="#Watch:1-Star:23-Fork:16" class="headerlink" title="Watch:1___Star:23___Fork:16"></a>Watch:1___Star:23___Fork:16</h2></blockquote><h2 id="DVWA-WooYun"><a href="#DVWA-WooYun" class="headerlink" title="DVWA-WooYun"></a>DVWA-WooYun</h2><p>DVWA-WooYun is a plugin-set for DVWA , with plugins based on wooyun.org real bug reports</p><p>It should have been a fork of the RandomStorm/DVWA , But while I was coding it , I didn’t know a thing about github :( </p><p>And now I do , so scavenged old codes to github</p><p>And I modified lot of things , can’t remember why , just messed around , It seems to be not able to merge with the original DVWA now</p><h2 id="DAMN-VULNERABLE-WEB-APP"><a href="#DAMN-VULNERABLE-WEB-APP" class="headerlink" title="DAMN VULNERABLE WEB APP"></a>DAMN VULNERABLE WEB APP</h2><p>Damn Vulnerable Web App (DVWA) is a PHP/MySQL web application that is damn vulnerable. Its main goals are to be an aid for security professionals to test their skills and tools in a legal environment, help web developers better understand the processes of securing web applications and aid teachers/students to teach/learn web application security in a class room environment.</p><h2 id="WARNING"><a href="#WARNING" class="headerlink" title="WARNING!"></a>WARNING!</h2><p>Damn Vulnerable Web App is damn vulnerable! Do not upload it to your hosting provider’s public html folder or any working web<br>server as it will be hacked. I recommend downloading and installing XAMPP onto a local machine inside your LAN which is used solely for testing. </p><p>We do not take responsibility for the way in which any one uses Damn Vulnerable Web App (DVWA). We have made the purposes of the application clear and it should not be used maliciously. We have given warnings and taken measures to prevent users from installing DVWA on to live web servers. If your web server is compromised via an installation of DVWA it is not our responsibility it is the responsibility of the person/s who uploaded and installed it.</p><h2 id="License"><a href="#License" class="headerlink" title="License"></a>License</h2><p>This file is part of Damn Vulnerable Web App (DVWA).</p><p>Damn Vulnerable Web App (DVWA) is free software: you can redistribute it and/or modify<br>it under the terms of the GNU General Public License as published by<br>the Free Software Foundation, either version 3 of the License, or<br>(at your option) any later version.</p><p>Damn Vulnerable Web App (DVWA) is distributed in the hope that it will be useful,<br>but WITHOUT ANY WARRANTY; without even the implied warranty of<br>MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the<br>GNU General Public License for more details.</p><p>You should have received a copy of the GNU General Public License<br>along with Damn Vulnerable Web App (DVWA). If not, see <a href="http://www.gnu.org/licenses/" rel="external nofollow noopener noreferrer" target="_blank">http://www.gnu.org/licenses/</a>.</p><h2 id="Download"><a href="#Download" class="headerlink" title="Download"></a>Download</h2><p>DVWA is available either as a package that will run on your own web server or as a Live CD</p><ul><li>DVWA v1.0.8 (latest) - (1.3MB) <a href="https://github.com/RandomStorm/DVWA/archive/v1.0.8.zip">Download</a></li><li>DVWA v1.0.7 LiveCD - (480MB) <a href="http://www.dvwa.co.uk/DVWA-1.0.7.iso" rel="external nofollow noopener noreferrer" target="_blank">Download</a></li></ul><h2 id="Installation"><a href="#Installation" class="headerlink" title="Installation"></a>Installation</h2><p><em>Default username = admin</em></p><p><em>Default password = password</em></p><p>Installation video:<br><a href="http://www.youtube.com/watch?v=GzIj07jt8rM" rel="external nofollow noopener noreferrer" target="_blank">http://www.youtube.com/watch?v=GzIj07jt8rM</a></p><p>The easiest way to install DVWA is to download and install ‘XAMPP’ if you do not already have a web server setup. </p><p>XAMPP is a very easy to install Apache Distribution for Linux, Solaris, Windows and Mac OS X. The package includes the Apache web server, MySQL, PHP, Perl, a FTP server and phpMyAdmin.</p><p>XAMPP can be downloaded from:<br><a href="http://www.apachefriends.org/en/xampp.html" rel="external nofollow noopener noreferrer" target="_blank">http://www.apachefriends.org/en/xampp.html</a></p><p>Simply unzip dvwa.zip, place the unzipped files in your public html folder, then point your browser to <a href="http://127.0.0.1/dvwa/index.php" rel="external nofollow noopener noreferrer" target="_blank">http://127.0.0.1/dvwa/index.php</a></p><h2 id="Database-Setup"><a href="#Database-Setup" class="headerlink" title="Database Setup"></a>Database Setup</h2><p>To set up the database, simply click on the Setup button in the main menu, then click on the ‘Create / Reset Database’ button. This will create / reset the database for you with some data in.</p><p>If you receive an error while trying to create your database, make sure your database credentials are correct within /config/config.inc.php</p><p>The variables are set to the following by default: </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">$_DVWA[ 'db_user' ] = 'root';</span><br><span class="line">$_DVWA[ 'db_password' ] = '';</span><br><span class="line">$_DVWA[ 'db_database' ] = 'dvwa';</span><br></pre></td></tr></table></figure><h2 id="Troubleshooting"><a href="#Troubleshooting" class="headerlink" title="Troubleshooting"></a>Troubleshooting</h2><p>For the latest troubleshooting information please visit:<br><a href="http://code.google.com/p/dvwa/issues/list" rel="external nofollow noopener noreferrer" target="_blank">http://code.google.com/p/dvwa/issues/list</a></p><p>+Q. SQL Injection wont work on PHP version 5.2.6.</p><p>-A.If you are using PHP version 5.2.6 you will need to do the following in order for SQL injection and other vulnerabilities to work.</p><p>In .htaccess:</p><p> Replace:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><IfModule mod_php5.c></span><br><span class="line"> php_flag magic_quotes_gpc off</span><br><span class="line"> #php_flag allow_url_fopen on</span><br><span class="line"> #php_flag allow_url_include on</span><br><span class="line"></IfModule></span><br></pre></td></tr></table></figure><p> With:</p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><IfModule mod_php5.c></span><br><span class="line"> magic_quotes_gpc = Off</span><br><span class="line"> allow_url_fopen = On</span><br><span class="line"> allow_url_include = On</span><br><span class="line"></IfModule></span><br></pre></td></tr></table></figure><p>+Q. Command execution won’t work.</p><p>-A. Apache may not have high enough priviledges to run commands on the web server. If you are running DVWA under linux make sure you are logged in as root. Under Windows log in as Administrator.</p><p>+Q. My XSS payload won’t run in IE.</p><p>-A. If your running IE8 or above IE actively filters any XSS. To disable the filter you can do so by setting the HTTP header ‘X-XSS-Protection: 0’ or disable it from internet options. There may also be ways to bypass the filter.</p><h2 id="Links"><a href="#Links" class="headerlink" title="Links"></a>Links</h2><p>Homepage: <a href="http://www.dvwa.co.uk" rel="external nofollow noopener noreferrer" target="_blank">http://www.dvwa.co.uk</a></p><p>Project Home: <a href="https://github.com/RandomStorm/DVWA">https://github.com/RandomStorm/DVWA</a></p><p><em>Created by the DVWA team</em></p><br><br><h1 id="No-17-https-github-com-neargle-SecNewsBak"><a href="#No-17-https-github-com-neargle-SecNewsBak" class="headerlink" title="No.17 https://github.com/neargle/SecNewsBak"></a>No.17 <a href="https://github.com/neargle/SecNewsBak">https://github.com/neargle/SecNewsBak</a></h1><blockquote><h2 id="Watch:2-Star:20-Fork:17"><a href="#Watch:2-Star:20-Fork:17" class="headerlink" title="Watch:2___Star:20___Fork:17"></a>Watch:2___Star:20___Fork:17</h2></blockquote><h2 id="README"><a href="#README" class="headerlink" title="README"></a>README</h2><p>该项目只用于备份Sec-News上Drops乌云知识库的失效文章,并非Drops整站文章。</p><p>文章列表如下:</p><figure class="highlight python"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br></pre></td><td class="code"><pre><span class="line">drops_arti_list = [</span><br><span class="line"><span class="string">"SQL注入速查表(上)"</span>,</span><br><span class="line"><span class="string">"WMI Attacks"</span>,</span><br><span class="line"><span class="string">"攻击洋葱路由(Tor)匿名服务的一些综述"</span>,</span><br><span class="line"><span class="string">"SQL注入速查表(下)与Oracle注入速查表"</span>,</span><br><span class="line"><span class="string">"Hacking ipcam like Harold in POI"</span>,</span><br><span class="line"><span class="string">"海豚浏览器与水星浏览器远程代码执行漏洞详解"</span>,</span><br><span class="line"><span class="string">"WMI Backdoor"</span>,</span><br><span class="line"><span class="string">"手把手教你当微信运动第一名 – 利用Android Hook进行微信运动作弊"</span>,</span><br><span class="line"><span class="string">"WMI Defense"</span>,</span><br><span class="line"><span class="string">"Tomcat安全配置"</span>,</span><br><span class="line"><span class="string">"利用Weblogic进行入侵的一些总结"</span>,</span><br><span class="line"><span class="string">"工控安全入门分析"</span>,</span><br><span class="line"><span class="string">"利用被入侵的路由器获取网络流量"</span>,</span><br><span class="line"><span class="string">"利用白名单绕过360实例"</span>,</span><br><span class="line"><span class="string">"浅析大规模DDOS防御架构-应对T级攻防"</span>,</span><br><span class="line"><span class="string">"XCode编译器里有鬼 – XCodeGhost样本分析"</span>,</span><br><span class="line"><span class="string">"借用UAC完成的提权思路分享"</span>,</span><br><span class="line"><span class="string">"TcpDump使用手册"</span>,</span><br><span class="line"><span class="string">"被人遗忘的Memcached内存注射"</span>,</span><br><span class="line"><span class="string">"利用被入侵的路由器迈入内网"</span>,</span><br><span class="line"><span class="string">"Android sqlite load_extension漏洞解析"</span>,</span><br><span class="line"><span class="string">"CTF主办方指南之对抗搅屎棍"</span>,</span><br><span class="line"><span class="string">"域渗透的金之钥匙"</span>,</span><br><span class="line"><span class="string">"比葫芦娃还可怕的百度全系APP SDK漏洞 - WormHole虫洞漏洞分析报告"</span>,</span><br><span class="line"><span class="string">"那些年做过的ctf之加密篇"</span>,</span><br><span class="line"><span class="string">"从一个锁主页木马里挖出的惊天“暗杀黑名单”"</span>,</span><br><span class="line"><span class="string">"C&C控制服务的设计和侦测方法综述"</span>,</span><br><span class="line"><span class="string">"Python安全编码指南"</span>,</span><br><span class="line"><span class="string">"翻墙路由器的原理与实现"</span>,</span><br><span class="line"><span class="string">"几期『三个白帽』小竞赛的writeup"</span>,</span><br><span class="line"><span class="string">"拆分密码"</span>,</span><br><span class="line"><span class="string">"变种XSS:持久控制"</span>,</span><br><span class="line"><span class="string">"使用32位64位交叉编码混淆来打败静态和动态分析工具"</span>,</span><br><span class="line"><span class="string">"給初學者的DLL Side Loading的UAC繞過"</span>,</span><br><span class="line"><span class="string">"Joomla远程代码执行漏洞分析"</span>,</span><br><span class="line"><span class="string">"网络小黑揭秘系列之黑色SEO初探"</span>,</span><br><span class="line"><span class="string">"一步一步学ROP之Android ARM 32位篇"</span>,</span><br><span class="line"><span class="string">"Linux入侵检测基础"</span>,</span><br><span class="line"><span class="string">"Android WebView File域攻击杂谈"</span>,</span><br><span class="line"><span class="string">"小议Linux安全防护(一)"</span>,</span><br><span class="line"><span class="string">"Powershell 提权框架-Powerup"</span>,</span><br><span class="line"><span class="string">"Android Linker学习笔记"</span>,</span><br><span class="line"><span class="string">"MD5碰撞的演化之路"</span>,</span><br><span class="line"><span class="string">"Android应用安全开发之源码安全"</span>,</span><br><span class="line"><span class="string">"Ruby on Rails 动态渲染远程代码执行漏洞 (CVE-2016-0752)(翻译)"</span>,</span><br><span class="line"><span class="string">"中间人攻击 -- Cookie喷发"</span>,</span><br><span class="line"><span class="string">"域渗透——Security Support Provider"</span>,</span><br><span class="line"><span class="string">"LUA脚本虚拟机逃逸技术分析"</span>,</span><br><span class="line"><span class="string">"我的通行你的证"</span>,</span><br><span class="line"><span class="string">"在不需要知道密码的情况下 Hacking MSSQL"</span>,</span><br><span class="line"><span class="string">"代码审计入门总结"</span>,</span><br><span class="line"><span class="string">"Linux服务器应急事件溯源报告"</span>,</span><br><span class="line"><span class="string">"Head First FILE Stream Pointer Overflow"</span>,</span><br><span class="line"><span class="string">"从 WTForm 的 URLXSS 谈开源组件的安全性"</span>,</span><br><span class="line"><span class="string">"网络小黑揭秘系列之黑产江湖黑吃黑—中国菜刀的隐形把手"</span>,</span><br><span class="line"><span class="string">"简单验证码识别及工具编写思路"</span>,</span><br><span class="line"><span class="string">"中国菜刀仿冒官网三百万箱子爆菊记"</span>,</span><br><span class="line"><span class="string">"Rails Security (上) "</span>,</span><br><span class="line"><span class="string">"富文本存储型XSS的模糊测试之道"</span>,</span><br><span class="line"><span class="string">"主机被入侵分析过程报告"</span>,</span><br><span class="line"><span class="string">"Exploring SSTI in Flask/Jinja2 | WooYun知识库"</span>,</span><br><span class="line"><span class="string">"0ctf writeup"</span>,</span><br><span class="line"><span class="string">"一个支付宝木马的分析溯源之旅"</span>,</span><br><span class="line"><span class="string">"QQ模拟登录实现后篇"</span>,</span><br><span class="line"><span class="string">"渗透技巧——通过cmd上传文件的N种方法"</span>,</span><br><span class="line"><span class="string">"通过ELF动态装载构造ROP链 ( Return-to-dl-resolve)"</span>,</span><br><span class="line"><span class="string">"Mysql报错注入原理分析(count()、rand()、group by)"</span>,</span><br><span class="line"><span class="string">"利用反射型XSS二次注入绕过CSP form-action限制"</span>,</span><br><span class="line"><span class="string">"渗透Hacking Team过程"</span>,</span><br><span class="line"><span class="string">"“信任“之殇――安全软件的“白名单”将放大恶意威胁"</span>,</span><br><span class="line"><span class="string">"百脑虫之hook技术"</span>,</span><br><span class="line"><span class="string">"内网渗透中转发工具总结"</span>,</span><br><span class="line"><span class="string">"TCP安全测试指南-魔兽3找联机0day"</span>,</span><br><span class="line"><span class="string">"CVE-2016-3714 - ImageMagick 命令执行分析"</span>,</span><br><span class="line"><span class="string">"CVE-2016-1897/8 - FFMpeg漏洞分析"</span>,</span><br><span class="line"><span class="string">"漫谈流量劫持"</span>,</span><br><span class="line"><span class="string">"新姿势之Docker Remote API未授权访问漏洞分析和利用"</span>,</span><br><span class="line"><span class="string">"利用CouchDB未授权访问漏洞执行任意系统命令"</span>,</span><br><span class="line"><span class="string">"利用环境变量LD_PRELOAD来绕过php disable_function执行系统命令"</span>,</span><br><span class="line"><span class="string">"CTF中比较好玩的stego"</span>,</span><br><span class="line"><span class="string">"linux下tomcat安全配置"</span>,</span><br><span class="line"><span class="string">"MySQL和PostgreSQL数据库安全配置"</span>,</span><br><span class="line"><span class="string">"内网渗透思路探索之新思路的探索与验证"</span>,</span><br><span class="line"><span class="string">"小窥TeslaCrypt密钥设计"</span>,</span><br><span class="line"><span class="string">"Do Evil Things with gopher://"</span>,</span><br><span class="line"><span class="string">"三个白帽条条大路通罗马系列2之二进制题分析"</span>,</span><br><span class="line"><span class="string">"Android安全开发之Provider组件安全"</span>,</span><br><span class="line"><span class="string">"漏洞检测的那些事儿 "</span>,</span><br><span class="line"><span class="string">"QQ浏览器隐私泄露报告"</span>,</span><br><span class="line"><span class="string">"三个白帽之从pwn me调试到Linux攻防学习"</span>,</span><br><span class="line"><span class="string">"渗透中寻找突破口的那些事"</span>,</span><br><span class="line"><span class="string">"Struts2 S033与最新S037详细分析"</span>,</span><br><span class="line"><span class="string">"DB2在渗透中的应用"</span>,</span><br><span class="line"><span class="string">"Python urllib HTTP头注入漏洞 (中文翻译)"</span>,</span><br><span class="line"><span class="string">"SQL注入关联分析"</span>,</span><br><span class="line"><span class="string">"Anti-debugging Skills in APK"</span>,</span><br><span class="line"><span class="string">"玩转Metasploit之Automated Persistent Backdoor"</span>,</span><br><span class="line"><span class="string">"Uber渗透案例:我们是如何发现你是谁,你在哪,你要打车去哪!"</span>,</span><br><span class="line"><span class="string">"玩转Metasploit之Automated Persistent Backdoor"</span>,</span><br><span class="line"><span class="string">"Docker安全那些事 "</span>,</span><br><span class="line"><span class="string">"Use bitsadmin to maintain persistence and bypass Autoruns "</span>,</span><br><span class="line"><span class="string">"CTF中那些脑洞大开的编码和加密 "</span>,</span><br><span class="line"><span class="string">"Jenkins RCE 2(CVE-2016-0788)分析及利用"</span>,</span><br><span class="line"><span class="string">"小议安卓定位伪造-实战足不出户畅玩pokemon go"</span>,</span><br><span class="line"><span class="string">"三个白帽挑战赛之[续集]火币网2W大挑战Writeup"</span></span><br><span class="line">]</span><br></pre></td></tr></table></figure><br><br><h1 id="No-18-https-github-com-acgpiano-wooyun-node"><a href="#No-18-https-github-com-acgpiano-wooyun-node" class="headerlink" title="No.18 https://github.com/acgpiano/wooyun-node"></a>No.18 <a href="https://github.com/acgpiano/wooyun-node">https://github.com/acgpiano/wooyun-node</a></h1><blockquote><h2 id="Watch:2-Star:9-Fork:8"><a href="#Watch:2-Star:9-Fork:8" class="headerlink" title="Watch:2___Star:9___Fork:8"></a>Watch:2___Star:9___Fork:8</h2></blockquote><h2 id="wooyun-node"><a href="#wooyun-node" class="headerlink" title="wooyun-node"></a>wooyun-node</h2><p>这是wooyun.org镜像的node.js版本,用的mysql,支持标题,作者,类型,厂商检索。<br>方便新手小白使用,搭建方法非常简单。<br>首先需要安装mysql,要把数据库语言设置成utf8(非常重要,不然会出错)。由于各个系统设置方法不同,需自行百度。检测是否成功可以登进数据库,执行 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">status;</span><br></pre></td></tr></table></figure><p>如果是以下状态,就代表可以下一步了。<br>把该项目克隆到本地 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">git clone https://github.com/acgpiano/wooyun-node.git</span><br></pre></td></tr></table></figure><p>修改config.js里面的用户名和密码,改为你的mysql的用户名和密码,port是服务的端口,可以自行修改。<br>下载wooyun的静态资源:<br>链接: <a href="https://pan.baidu.com/share/init?shareid=3613354206&uk=4113422303" rel="external nofollow noopener noreferrer" target="_blank">百度网盘</a> 密码: mqnp<br>需要解压到wooyun-node/static/bugs/<br>文件夹下面(自行新建bugs文件夹)<br>接下来安装node.js,去官网下载就好了。<br>接下来安装cnpm(如果可以连Internet这一步可以忽略,以下命令的cnpm全都可以用npm代替) </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm install -g cnpm --registry=https://registry.npm.taobao.org</span><br></pre></td></tr></table></figure><p>然后在wooyun-node里执行 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">cnpm install</span><br></pre></td></tr></table></figure><p>等所有的依赖装完再执行 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm run db</span><br></pre></td></tr></table></figure><p>等数据库建表完后,共40293条,再执行 </p><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npm start</span><br></pre></td></tr></table></figure><p>默认port端口是9999,可以在config.js里面修改<br>打开浏览器 <a href="http://127.0.0.1:9999就可以使用了。" rel="external nofollow noopener noreferrer" target="_blank">http://127.0.0.1:9999就可以使用了。</a></p><p>仅供自学使用,如果要部署到公网可以自己改用orm,修改表结构加速查询,防注入。</p><br><br><h1 id="当然是彩蛋辣"><a href="#当然是彩蛋辣" class="headerlink" title="当然是彩蛋辣~"></a>当然是彩蛋辣~</h1><h2 id="上面提到的-Baidu网盘-链接整理:"><a href="#上面提到的-Baidu网盘-链接整理:" class="headerlink" title="上面提到的 Baidu网盘 链接整理:"></a>上面提到的 Baidu网盘 链接整理:</h2><blockquote><p><a href="https://github.com/hanc00l/wooyun_public">https://github.com/hanc00l/wooyun_public</a><br>Watch:224___Star:3586___Fork:1.8k</p></blockquote><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">虚拟机下载地址:</span><br><span class="line">https://pan.baidu.com/s/1HkR4ggvAwTikshsjcKYBuA ,提取密码:8wnb(2018.4.23更新)</span><br><span class="line">【文件名:ooyun_vmware_201606_es】</span><br><span class="line"></span><br><span class="line">虚拟机下载地址: https://pan.baidu.com/s/1qYRqa3U 密码: w8vb (2017.7.4)</span><br><span class="line">【文件名:wooyun_final】</span><br><span class="line">虚拟机用户名、密码为hancool/qwe123</span><br></pre></td></tr></table></figure><blockquote><p><a href="https://github.com/m0l1ce/wooyunallbugs">https://github.com/m0l1ce/wooyunallbugs</a><br>Watch:21___Star:398___Fork:154</p></blockquote><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">链接:https://pan.baidu.com/s/1htwVF3Q 密码:oskw</span><br><span class="line">【文件名:wooyun-15-a.zip等】</span><br></pre></td></tr></table></figure><blockquote><p><a href="https://github.com/grt1st/wooyun_search">https://github.com/grt1st/wooyun_search</a><br>Watch:22___Star:327___Fork:157</p></blockquote><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">静态网页网盘链接:</span><br><span class="line">bugs 链接: https://pan.baidu.com/s/1n_kkUaZZxcTEa4-v6sGa9Q 密码: sg98 (20180707)</span><br><span class="line">【文件名:WooYun_Bugs(漏洞库)】</span><br><span class="line">drops 链接: https://pan.baidu.com/s/1r2Y7rfntwnjglX6HtzDk6w 密码: 738f (20180707)</span><br><span class="line">【文件名:WooYun_Drops(知识库)】</span><br></pre></td></tr></table></figure><blockquote><p><a href="https://github.com/acgpiano/wooyun-node">https://github.com/acgpiano/wooyun-node</a><br>Watch:2___Star:9___Fork:8</p></blockquote><figure class="highlight plain"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">链接: https://pan.baidu.com/share/init?shareid=3613354206&uk=4113422303 密码: mqnp</span><br><span class="line">【文件名:WooYun_Bugs(漏洞库)】</span><br></pre></td></tr></table></figure><br><br><h1 id="当然还有彩蛋辣"><a href="#当然还有彩蛋辣" class="headerlink" title="当然还有彩蛋辣~"></a>当然还有彩蛋辣~</h1><p>新建一个文件夹,在里面打开终端,复制粘贴下面代码,或者保存为 .sh (linux)、 .bat (Windows),命令行调用辣</p><p><strong>注意</strong>:最后三个库特别大,如果网络不好,可能出现 git 连接超时,可以连接更优网络,或参考我的文章</p><ul><li><a href="https://blog.tcpsoft.app/2020/02/let-git-fly-scientifically/">科学地让 Git 飞,git clone 速度 5Mb/s</a></li></ul><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/hanc00l/wooyun_public</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/boy-hack/wooyun-payload</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/m0l1ce/wooyunallbugs</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/SuperKieran/WooyunDrops</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/SuperKieran/wooyun-img</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/grt1st/wooyun_search</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/LubyRuffy/wyquery</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/jas502n/fuzz-wooyun-org</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/xinali/wooyun</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/l3m0n/wooyun-wiki</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/fxfactorial/wooyun.github.io</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/CaledoniaProject/wooyun_offline_ui</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/lxj616/DVWA-WooYun</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/neargle/SecNewsBak</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/acgpiano/wooyun-node</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/Xyntax/1000php 1000php-Xyntax</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/starnightcyber/1000php 1000php-starnightcyber</span><br><span class="line"><span class="built_in">echo</span> .</span><br><span class="line">git <span class="built_in">clone</span> https://github.com/jiji262/wooyun_articles</span><br><span class="line"><span class="built_in">echo</span> .</span><br></pre></td></tr></table></figure>]]></content>
<summary type="html">
<p>翻阅 Wooyun ,然后找到了Github上。。。不得不说,Github 上确实有大量镜像资源</p>
<p>在这里做一个总结吧。按 Star 排序,把每个库的 Readme.md 剪辑到了这里。</p>
<p>文尾有彩蛋!</p>
</summary>
<category term="none" scheme="https://blog.tcpsoft.app/categories/none/"/>
<category term="wooyun" scheme="https://blog.tcpsoft.app/tags/wooyun/"/>
<category term="github" scheme="https://blog.tcpsoft.app/tags/github/"/>
</entry>
</feed>