├── .github └── FUNDING.yml ├── Application ├── TestPassword.apk └── TestPassword.exe ├── README.md ├── TestPassword PRO V1.8.0.4 ├── TestPassword.sln └── TestPassword │ ├── Hash.cs │ ├── HttpTest.cs │ ├── HttpThread.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png ├── TestPassword V1.0.0.0 APK ├── .gitignore ├── .idea │ ├── gradle.xml │ ├── misc.xml │ ├── modules.xml │ └── runConfigurations.xml ├── app │ ├── .gitignore │ ├── build.gradle │ ├── proguard-rules.pro │ └── src │ │ ├── androidTest │ │ └── java │ │ │ └── com │ │ │ └── zgcwkj │ │ │ └── baidupantest │ │ │ └── testpassword │ │ │ └── ExampleInstrumentedTest.java │ │ ├── main │ │ ├── AndroidManifest.xml │ │ ├── ic_launcher-web.png │ │ ├── java │ │ │ └── com │ │ │ │ └── zgcwkj │ │ │ │ └── baidupantest │ │ │ │ └── testpassword │ │ │ │ └── MainActivity.java │ │ └── res │ │ │ ├── drawable-v24 │ │ │ └── ic_launcher_foreground.xml │ │ │ ├── drawable │ │ │ └── ic_launcher_background.xml │ │ │ ├── layout │ │ │ └── activity_main.xml │ │ │ ├── mipmap-anydpi-v26 │ │ │ ├── ic_launcher.xml │ │ │ └── ic_launcher_round.xml │ │ │ ├── mipmap-hdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-mdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ ├── mipmap-xxxhdpi │ │ │ ├── ic_launcher.png │ │ │ ├── ic_launcher_foreground.png │ │ │ └── ic_launcher_round.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── ic_launcher_background.xml │ │ │ ├── strings.xml │ │ │ └── styles.xml │ │ └── test │ │ └── java │ │ └── com │ │ └── zgcwkj │ │ └── baidupantest │ │ └── testpassword │ │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle ├── TestPassword V1.0.0.0 ├── TestPassword.sln └── TestPassword │ ├── Access.cs │ ├── GoFind.cs │ ├── Hash.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png ├── TestPassword V1.8.0.4 ├── TestPassword.sln └── TestPassword │ ├── Hash.cs │ ├── HttpTest.cs │ ├── HttpThread.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png ├── TestPassword V1.8.0.5 ├── TestPassword.sln └── TestPassword │ ├── Hash.cs │ ├── HttpTest.cs │ ├── HttpThread.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png ├── TestPassword V1.8.0.6 ├── TestPassword.sln └── TestPassword │ ├── Hash.cs │ ├── HttpHelp.cs │ ├── HttpProxy.cs │ ├── HttpTest.cs │ ├── HttpThread.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png ├── TestPassword V1.8.1.0 ├── TestPassword.sln └── TestPassword │ ├── Hash.cs │ ├── HttpHelp.cs │ ├── HttpProxy.cs │ ├── HttpTest.cs │ ├── HttpThread.cs │ ├── Main.Designer.cs │ ├── Main.cs │ ├── Main.resx │ ├── Program.cs │ ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings │ ├── Proxy.Designer.cs │ ├── Proxy.cs │ ├── Proxy.resx │ ├── StaticClass.cs │ ├── TestPassword.csproj │ ├── ico.ico │ └── ico.png └── TestPassword V1.8.1.1 ├── TestPassword.sln └── TestPassword ├── Hash.cs ├── HttpTest.cs ├── HttpThread.cs ├── Main.Designer.cs ├── Main.cs ├── Main.resx ├── Program.cs ├── Properties ├── AssemblyInfo.cs ├── Resources.Designer.cs ├── Resources.resx ├── Settings.Designer.cs └── Settings.settings ├── Proxy.Designer.cs ├── Proxy.cs ├── Proxy.resx ├── StaticClass.cs ├── TestPassword.csproj ├── ico.ico └── ico.png /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | github: [zgcwkj, admin] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] 4 | patreon: # Replace with a single Patreon username 5 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel 6 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry 7 | liberapay: # Replace with a single Liberapay username 8 | issuehunt: # Replace with a single IssueHunt username 9 | otechie: # Replace with a single Otechie username 10 | custom: http://blog.zgcwkj.top # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] 11 | -------------------------------------------------------------------------------- /Application/TestPassword.apk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zgcwkjOpenProject/TestBaiduPassword/ff62e799b37b8b3f81c0e5cdaa1e4fd4bd51c8cf/Application/TestPassword.apk -------------------------------------------------------------------------------- /Application/TestPassword.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zgcwkjOpenProject/TestBaiduPassword/ff62e799b37b8b3f81c0e5cdaa1e4fd4bd51c8cf/Application/TestPassword.exe -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # TestBaiduPassword 2 | 百度网盘分享文件密码测试器 3 | 4 | 关联帖子:https://www.52pojie.cn/thread-680681-1-1.html 5 | 6 | ``` 7 | PS:如果是要使用旧版的程序请下载源码进行编译,谢谢 8 | ``` 9 | 10 | ## 更新历史: 11 | 12 | 1.8.1.1(2018-11-03) 13 | 14 | >调整内部机制,避免使用起来导致占用内存过多的问题 15 | 16 | >修改代理功能实现,调整代理为程序内部,也就是说不影响系统的网络 17 | 18 | >修复多线程导致 代理块 出现严重的问题 19 | 20 | >更正一个很严重的问题:多线程导致 密码精度 缺失一个的问题 21 | 22 | >优化大部分代理逻辑问题(具体实测) 23 | 24 | 1.8.1.0(2018-10-17) 25 | 26 | >修复 1806 版的代理代码判断错误问题 27 | 28 | >删除启动时判断网络代码块 29 | 30 | >优化代理文件生成的方法(具体实测) 31 | 32 | >优化代理的代码逻辑问题 33 | 34 | 1.8.0.6(2018-06-14) 35 | 36 | >增加代理服务人口(测试阶段) ==》kTWO 提供技术支持 37 | 38 | >优化逻辑代码,整理代码等 39 | 40 | 1.8.0.5(2018-05-29) 41 | 42 | >优化判断等逻辑问题,增加安卓端APP 43 | 44 | 1.8.0.4 PRO(2018-04-13) 45 | 46 | >增加调用API,尝试直接获取密码 47 | 48 | 1.8.0.4(2018-04-12) 49 | 50 | >更新了线程可停止功能 51 | 52 | >支持恢复上一次检索链接的数据 53 | 54 | >等。。。。。 55 | 56 | 1.0.0.0(0000-00-00) 57 | 58 | >基本的功能搭建 ==》Matrix 提供技术支持 59 | 60 | >其它忘记了 61 | 62 | 根据 https://www.52pojie.cn/thread-629100-1-1.html 进行优化 63 | 64 | ## 功能特色: 65 | 66 | 在原本的基础上添加对链接的兼容。格式如下面: 67 | 68 | http://pan.baidu.com/share/init?surl=xxx 69 | 70 | https://pan.baidu.com/share/init?surl=xxx 71 | 72 | http://pan.baidu.com/s/1xxx 73 | 74 | https://pan.baidu.com/s/1xxx 75 | 76 | ## 一些笔记: 77 | 78 | ``` 79 | 程序的多线程坑: 80 | 81 | 线程和任务是 N 对 1 ,存在重复调用问题导致方法块的冲突,以我的现在的技术是实现不了太难调 82 | 83 | 线程和任务是 N 对 N ,不存在重复调用问题也就不会导致方法块的冲突,这种实现相对简单 84 | ``` 85 | 86 | ## 转载声明: 87 | 88 | 本程序可以通过任何方式进行转载,但请务必保留开源的地址以便我能够及时发现 BUG 以及使用者在使用过程中出现了 BUG 也能够很好的进行反馈 89 | 90 | ## 项目贡献者: 91 | 92 | zgcwkj 博客:http://blog.zgcwkj.cn 93 | 94 | Matrix 博客:http://www.imwxz.com 95 | 96 | kTWO 博客:http://www.k2zone.cn 97 | 98 | ## 本源码仅提供参考,如因本代码导致出现的任何问题和所有开发者无关 99 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 14 4 | VisualStudioVersion = 14.0.23107.0 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TestPassword", "TestPassword\TestPassword.csproj", "{AC42684F-60E0-464C-881D-B679DA8D8A7B}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {AC42684F-60E0-464C-881D-B679DA8D8A7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {AC42684F-60E0-464C-881D-B679DA8D8A7B}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {AC42684F-60E0-464C-881D-B679DA8D8A7B}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {AC42684F-60E0-464C-881D-B679DA8D8A7B}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | EndGlobal 23 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Hash.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Linq; 3 | using System.Text; 4 | using System.Collections.Generic; 5 | 6 | namespace zgcwkj 7 | { 8 | public static class Hash 9 | { 10 | //哈希类 36进制 11 | //有效哈希[10000000,11679615] 12 | #region 只支持4位 By MXWXZ 13 | public static string HashTo4Str(int hash) 14 | { 15 | string ret = ""; 16 | hash -= 10000000; 17 | while (hash > 0) 18 | { 19 | ret += Hash2Char(hash % 36); 20 | hash /= 36; 21 | } 22 | if (ret.Length == 3) ret += "0";//前导零 23 | if (ret.Length == 2) ret += "00"; 24 | if (ret.Length == 1) ret += "000"; 25 | if (ret.Length == 0) ret += "0000"; 26 | return reverse(ret); 27 | } 28 | public static int StrTo4Hash(string str) 29 | { 30 | int ret = 0; 31 | ret += Char2Hash(str[0]) * 46656; 32 | ret += Char2Hash(str[1]) * 1296; 33 | ret += Char2Hash(str[2]) * 36; 34 | ret += Char2Hash(str[3]); 35 | ret += 10000000;//防止前导零 36 | return ret; 37 | } 38 | #endregion 39 | #region 只支持6位 By zgcwkj 40 | public static string HashTo6Str(int hash) 41 | { 42 | string ret = ""; 43 | hash -= 100000; 44 | while (hash > 0) 45 | { 46 | ret += Hash2Char(hash % 36); 47 | hash /= 36; 48 | } 49 | if (ret.Length == 5) ret += "0";//前导零 50 | if (ret.Length == 4) ret += "00"; 51 | if (ret.Length == 3) ret += "000"; 52 | if (ret.Length == 2) ret += "0000"; 53 | if (ret.Length == 1) ret += "00000"; 54 | if (ret.Length == 0) ret += "000000"; 55 | return reverse(ret); 56 | } 57 | public static int StrTo6Hash(string str) 58 | { 59 | int ret = 0; 60 | ret += Char2Hash(str[0]) * 60466176; 61 | ret += Char2Hash(str[1]) * 1679616; 62 | ret += Char2Hash(str[2]) * 46656; 63 | ret += Char2Hash(str[3]) * 1296; 64 | ret += Char2Hash(str[4]) * 36; 65 | ret += Char2Hash(str[5]); 66 | ret += 100000;//防止前导零 67 | return ret; 68 | } 69 | #endregion 70 | private static int Char2Hash(char c) 71 | { 72 | if (c >= '0' && c <= '9') return c - '0'; 73 | else return c - 'a' + 10; 74 | } 75 | private static char Hash2Char(int hash) 76 | { 77 | if (hash >= 0 && hash <= 9) return (char)('0' + hash); 78 | else return (char)('a' + hash - 10); 79 | } 80 | private static string reverse(string str) 81 | { 82 | char[] arr = str.ToCharArray(); 83 | Array.Reverse(arr); 84 | return new string(arr); 85 | } 86 | } 87 | } -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/HttpTest.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.IO; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Text; 6 | 7 | namespace zgcwkj 8 | { 9 | /// 10 | /// Http测试类(百度网盘分享连接密码测试) 11 | /// 12 | public class HttpTest 13 | { 14 | string info = "";//唯一识别文件的值 15 | /// 16 | /// 实例测试类 17 | /// 18 | /// 访问的链接 19 | public HttpTest(string url) 20 | { 21 | info = "surl=" + url.Replace("https", "").Replace("http", "").Replace("://pan.baidu.com/", "").Replace("share/init?surl=", "").Replace("s/1", ""); 22 | } 23 | /// 24 | /// 访问网页 25 | /// 26 | /// 27 | public string Get() 28 | { 29 | return HttpGet("https://pan.baidu.com/share/init?" + info); 30 | } 31 | /// 32 | /// 提交密码 33 | /// 34 | /// 密码 35 | /// 36 | public string Post(string pwd) 37 | { 38 | DateTime time = DateTime.Now; 39 | DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1, 0, 0, 0, 0)); 40 | string ts = ((time.Ticks - startTime.Ticks) / 10000).ToString(); 41 | 42 | string url = "https://pan.baidu.com/share/verify?" + info + "&t=" + ts.ToString() + "&bdstoken=null&channel=chunlei&clienttype=0&web=1&app_id=123456&logid=MTUwMTEyNDM2OTY5MzAuOTE5NTU5NjQwMTk0NDM0OA=="; 43 | string data = "pwd=" + pwd + "&vcode=&vcode_str="; 44 | 45 | return HttpPost(url, data); 46 | } 47 | #region 网络请求 48 | CookieContainer cookie = new CookieContainer(); 49 | #region Get请求 50 | /// 51 | /// 请求路径 52 | /// 53 | /// 请求的路径 54 | /// 返回请求的网页数据 55 | private string HttpGet(string Url) 56 | { 57 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 58 | request.Method = "GET"; 59 | request.ContentType = "text/html;charset=UTF-8"; 60 | request.CookieContainer = cookie; 61 | 62 | try 63 | { 64 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 65 | StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 66 | string retString = myStreamReader.ReadToEnd(); 67 | myStreamReader.Close(); 68 | return retString; 69 | } 70 | catch (Exception e) 71 | { 72 | return e.Message; 73 | } 74 | } 75 | #endregion 76 | #region Post请求 77 | /// 78 | /// 提交数据 79 | /// 80 | /// 提交的路径 81 | /// 提交的数据 82 | /// 返回结果 83 | private string HttpPost(string Url, string Data) 84 | { 85 | try 86 | { 87 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 88 | request.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; 89 | request.Referer = "https://pan.baidu.com/share/init?" + info; 90 | request.ContentLength = Encoding.UTF8.GetByteCount(Data); 91 | request.CookieContainer = cookie; 92 | request.Method = "POST"; 93 | 94 | Stream myRequestStream = request.GetRequestStream(); 95 | byte[] postBytes = Encoding.UTF8.GetBytes(Data); 96 | myRequestStream.Write(postBytes, 0, postBytes.Length); 97 | 98 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 99 | response.Cookies = cookie.GetCookies(response.ResponseUri); 100 | 101 | StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 102 | string retString = myStreamReader.ReadToEnd(); 103 | myStreamReader.Close(); 104 | 105 | return retString; 106 | } 107 | catch (Exception ex) 108 | { 109 | return ex.Message; 110 | } 111 | } 112 | #endregion 113 | #endregion 114 | } 115 | } -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/HttpThread.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Text; 5 | using System.IO; 6 | using System.Timers; 7 | 8 | namespace zgcwkj 9 | { 10 | public class HttpThread 11 | { 12 | Main myMain;//主窗体 13 | int StartValue = 0;//基值 14 | int NumberValue = 0;//剩余次数 15 | Timer timer;//线程 16 | string ThreadID;//线程ID 17 | 18 | /// 19 | /// http请求线程类 20 | /// 21 | /// 主窗体 22 | /// 线程名称 23 | /// 开始值 24 | /// 结束值 25 | /// 线程速度 26 | public HttpThread(Main main, string name, int start, int number, int interval) 27 | { 28 | myMain = main; 29 | StartValue = start; 30 | NumberValue = number; 31 | ThreadID = StaticClass.file + "/" + name; 32 | timer = new Timer(interval); 33 | } 34 | /// 35 | /// 启动线程 36 | /// 37 | /// 38 | public HttpThread Start() 39 | { 40 | #region 载入历史参数 41 | try 42 | { 43 | if (File.Exists(ThreadID + ".ini")) 44 | { 45 | string _start = File.ReadAllText(ThreadID + ".ini"); 46 | if (_start != "") StartValue = Convert.ToInt32(_start); 47 | } 48 | } 49 | catch { } 50 | #endregion 51 | timer.Elapsed += new ElapsedEventHandler(_Timer); 52 | timer.Start(); 53 | return this; 54 | } 55 | private void _Timer(object sender, ElapsedEventArgs e) 56 | { 57 | Timer timer = sender as Timer; 58 | if (NumberValue < StartValue || StaticClass.status) 59 | { 60 | #region 保存历史参数 61 | try 62 | { 63 | File.Delete(ThreadID + ".ini"); 64 | File.AppendAllText(ThreadID + ".ini", StartValue.ToString()); 65 | } 66 | catch { } 67 | #endregion 68 | timer.Stop(); 69 | } 70 | else 71 | { 72 | string password = Hash.HashTo4Str(StartValue); 73 | HttpTest httptest = new HttpTest(StaticClass.url); 74 | myMain.ModifyStr(httptest.Post(password), password); 75 | StartValue = StartValue + 1; 76 | } 77 | } 78 | } 79 | } -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | 6 | namespace zgcwkj 7 | { 8 | static class Program 9 | { 10 | /// 11 | /// 应用程序的主入口点。 12 | /// 13 | [STAThread] 14 | static void Main() 15 | { 16 | Application.EnableVisualStyles(); 17 | Application.SetCompatibleTextRenderingDefault(false); 18 | Application.Run(new Main()); 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // 有关程序集的一般信息由以下 6 | // 控制。更改这些特性值可修改 7 | // 与程序集关联的信息。 8 | [assembly: AssemblyTitle("百度网盘分享文件密码测试器")] 9 | [assembly: AssemblyDescription("百度网盘分享文件密码进行无穷测试工具")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("zgcwkj")] 12 | [assembly: AssemblyProduct("百度网盘分享文件密码测试器")] 13 | [assembly: AssemblyCopyright("Copyright © 2018")] 14 | [assembly: AssemblyTrademark("zgcwkj")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | //将 ComVisible 设置为 false 将使此程序集中的类型 18 | //对 COM 组件不可见。 如果需要从 COM 访问此程序集中的类型, 19 | //请将此类型的 ComVisible 特性设置为 true。 20 | [assembly: ComVisible(false)] 21 | 22 | // 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID 23 | [assembly: Guid("ac42684f-60e0-464c-881d-b679da8d8a7b")] 24 | 25 | // 程序集的版本信息由下列四个值组成: 26 | // 27 | // 主版本 28 | // 次版本 29 | // 生成号 30 | // 修订号 31 | // 32 | //可以指定所有这些值,也可以使用“生成号”和“修订号”的默认值, 33 | // 方法是按如下所示使用“*”: : 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.8.0.4")] 36 | [assembly: AssemblyFileVersion("1.8.0.4")] 37 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace zgcwkj.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// 一个强类型的资源类,用于查找本地化的字符串等。 17 | /// 18 | // 此类是由 StronglyTypedResourceBuilder 19 | // 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。 20 | // 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen 21 | // (以 /str 作为命令选项),或重新生成 VS 项目。 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// 返回此类使用的缓存的 ResourceManager 实例。 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("zgcwkj.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// 使用此强类型资源类,为所有资源查找 51 | /// 重写当前线程的 CurrentUICulture 属性。 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // 此代码由工具生成。 4 | // 运行时版本:4.0.30319.42000 5 | // 6 | // 对此文件的更改可能会导致不正确的行为,并且如果 7 | // 重新生成代码,这些更改将会丢失。 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace zgcwkj.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "14.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/StaticClass.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using System.Net; 6 | using System.Text; 7 | 8 | namespace zgcwkj 9 | { 10 | /// 11 | /// 静态类 12 | /// 13 | public static class StaticClass 14 | { 15 | #region 静态字符串 16 | /// 17 | /// 线程状态 18 | /// 19 | public static bool status { get; set; } 20 | /// 21 | /// 目标连接 22 | /// 23 | public static string url { get; set; } 24 | /// 25 | /// 存放的路径 26 | /// 27 | public static string file { get; set; } 28 | #endregion 29 | 30 | #region 静态方法 31 | /// 32 | /// Get请求 33 | /// 34 | public static string HttpGet(string Url) 35 | { 36 | HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); 37 | request.Method = "GET"; 38 | request.ContentType = "text/html;charset=UTF-8"; 39 | 40 | try 41 | { 42 | HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 43 | StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); 44 | string retString = myStreamReader.ReadToEnd(); 45 | myStreamReader.Close(); 46 | return retString; 47 | } 48 | catch (Exception e) 49 | { 50 | return e.Message; 51 | } 52 | } 53 | #endregion 54 | } 55 | } -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/TestPassword.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {AC42684F-60E0-464C-881D-B679DA8D8A7B} 8 | WinExe 9 | Properties 10 | zgcwkj 11 | TestPassword 12 | v4.0 13 | 512 14 | 15 | 16 | AnyCPU 17 | true 18 | full 19 | false 20 | bin\Debug\ 21 | DEBUG;TRACE 22 | prompt 23 | 4 24 | 25 | 26 | AnyCPU 27 | pdbonly 28 | true 29 | bin\Release\ 30 | TRACE 31 | prompt 32 | 4 33 | 34 | 35 | ico.ico 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | Form 55 | 56 | 57 | Main.cs 58 | 59 | 60 | 61 | 62 | 63 | Main.cs 64 | 65 | 66 | ResXFileCodeGenerator 67 | Resources.Designer.cs 68 | Designer 69 | 70 | 71 | True 72 | Resources.resx 73 | True 74 | 75 | 76 | SettingsSingleFileGenerator 77 | Settings.Designer.cs 78 | 79 | 80 | True 81 | Settings.settings 82 | True 83 | 84 | 85 | 86 | 87 | 88 | 89 | 96 | -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/ico.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zgcwkjOpenProject/TestBaiduPassword/ff62e799b37b8b3f81c0e5cdaa1e4fd4bd51c8cf/TestPassword PRO V1.8.0.4/TestPassword/ico.ico -------------------------------------------------------------------------------- /TestPassword PRO V1.8.0.4/TestPassword/ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zgcwkjOpenProject/TestBaiduPassword/ff62e799b37b8b3f81c0e5cdaa1e4fd4bd51c8cf/TestPassword PRO V1.8.0.4/TestPassword/ico.png -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | .externalNativeBuild 10 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 17 | 18 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 16 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | Android 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 49 | 50 | 51 | 52 | 53 | 54 | 59 | 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/build.gradle: -------------------------------------------------------------------------------- 1 | apply plugin: 'com.android.application' 2 | 3 | android { 4 | compileSdkVersion 26 5 | defaultConfig { 6 | applicationId "com.zgcwkj.baidupantest.testpassword" 7 | minSdkVersion 15 8 | targetSdkVersion 26 9 | versionCode 1 10 | versionName "1.0" 11 | testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" 12 | } 13 | buildTypes { 14 | release { 15 | minifyEnabled false 16 | proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 17 | } 18 | } 19 | } 20 | 21 | dependencies { 22 | implementation fileTree(dir: 'libs', include: ['*.jar']) 23 | implementation 'com.android.support:appcompat-v7:26.1.0' 24 | implementation 'com.android.support.constraint:constraint-layout:1.1.0' 25 | testImplementation 'junit:junit:4.12' 26 | androidTestImplementation 'com.android.support.test:runner:1.0.2' 27 | androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2' 28 | } 29 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # You can control the set of applied configuration files using the 3 | # proguardFiles setting in build.gradle. 4 | # 5 | # For more details, see 6 | # http://developer.android.com/guide/developing/tools/proguard.html 7 | 8 | # If your project uses WebView with JS, uncomment the following 9 | # and specify the fully qualified class name to the JavaScript interface 10 | # class: 11 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 12 | # public *; 13 | #} 14 | 15 | # Uncomment this to preserve the line number information for 16 | # debugging stack traces. 17 | #-keepattributes SourceFile,LineNumberTable 18 | 19 | # If you keep the line number information, uncomment this to 20 | # hide the original source file name. 21 | #-renamesourcefileattribute SourceFile 22 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/androidTest/java/com/zgcwkj/baidupantest/testpassword/ExampleInstrumentedTest.java: -------------------------------------------------------------------------------- 1 | package com.zgcwkj.baidupantest.testpassword; 2 | 3 | import android.content.Context; 4 | import android.support.test.InstrumentationRegistry; 5 | import android.support.test.runner.AndroidJUnit4; 6 | 7 | import org.junit.Test; 8 | import org.junit.runner.RunWith; 9 | 10 | import static org.junit.Assert.*; 11 | 12 | /** 13 | * Instrumented test, which will execute on an Android device. 14 | * 15 | * @see Testing documentation 16 | */ 17 | @RunWith(AndroidJUnit4.class) 18 | public class ExampleInstrumentedTest { 19 | @Test 20 | public void useAppContext() throws Exception { 21 | // Context of the app under test. 22 | Context appContext = InstrumentationRegistry.getTargetContext(); 23 | 24 | assertEquals("com.zgcwkj.baidupantest.testpassword", appContext.getPackageName()); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/main/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/main/ic_launcher-web.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/zgcwkjOpenProject/TestBaiduPassword/ff62e799b37b8b3f81c0e5cdaa1e4fd4bd51c8cf/TestPassword V1.0.0.0 APK/app/src/main/ic_launcher-web.png -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/main/java/com/zgcwkj/baidupantest/testpassword/MainActivity.java: -------------------------------------------------------------------------------- 1 | package com.zgcwkj.baidupantest.testpassword; 2 | 3 | import android.support.v7.app.AppCompatActivity; 4 | import android.os.Bundle; 5 | import android.view.View; 6 | import android.webkit.WebView; 7 | import android.widget.Button; 8 | import android.widget.EditText; 9 | import android.widget.Toast; 10 | 11 | public class MainActivity extends AppCompatActivity { 12 | 13 | @Override 14 | protected void onCreate(Bundle savedInstanceState) { 15 | super.onCreate(savedInstanceState); 16 | setContentView(R.layout.activity_main); 17 | 18 | Button btn = (Button) findViewById(R.id.btnGo); 19 | btn.setOnClickListener(new View.OnClickListener() { 20 | @Override 21 | public void onClick(View v) { 22 | EditText textUrl = (EditText) findViewById(R.id.textUrl); 23 | //验证长度 24 | if (textUrl.length() >= 8) { 25 | String info = textUrl.getText().toString().replace(" ", "").replace("https", "").replace("http", "").replace("://pan.baidu.com/", "").replace("share/init?surl=", "").replace("s/1", ""); 26 | String url = "https://www.ypsuperkey.com/api/items/BDY-"; 27 | String uend = "?access_key=4fxNbkKKJX2pAm3b8AEu2zT5d2MbqGbD&client_version=zg"; 28 | WebView webView = (WebView) findViewById(R.id.webview);//更改界面的WebView控件的地址 29 | webView.loadUrl(url + info + uend); 30 | } else { 31 | Toast.makeText(MainActivity.this, "请输入正确的地址", Toast.LENGTH_LONG).show(); 32 | } 33 | } 34 | }); 35 | } 36 | } -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/main/res/drawable-v24/ic_launcher_foreground.xml: -------------------------------------------------------------------------------- 1 | 7 | 12 | 13 | 19 | 22 | 25 | 26 | 27 | 28 | 34 | 35 | -------------------------------------------------------------------------------- /TestPassword V1.0.0.0 APK/app/src/main/res/layout/activity_main.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 22 | 23 |