首页
关于
Search
1
Fastadmin 美化后台样式
311,334 阅读
2
关于破解移动宽带光猫 型号: GS3101 超级管理员密码
27,127 阅读
3
Wallpaper完美壁纸修复天气bug(无需申请API)
21,005 阅读
4
给Thinkphp3用上composer
20,159 阅读
5
PECL无法安装时手动编译安装PHP扩展
19,837 阅读
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
登录
Search
标签搜索
php
git
Windows
wkhtmltopdf
短信
defense
API
Google Photos
python
wkhtmltoimage
网页快照
linux
ssr
https
mail
sms
小程序
封装
ComoBox
拼多多
Guooo
累计撰写
126
篇文章
累计收到
93
条评论
首页
栏目
Linux
Mysql
PHP
Nginx
归档
Android
Python
IOS
浴室沉思
C++
CCF CSP认证
Windows
C#
前端
页面
关于
搜索到
126
篇与
的结果
2017-12-20
Winform中一些常用方法
持续更新吧向DataSet中添加多个DataTable// 新建一个DataSet DataSet ds = new DataSet(); // 获取第一个DataTable中的数据 DataTable dt_info = GetUserInfo(); dt_info.TableName = "info"; // 给表重命名 ds.Tables.Add(dt_info.Copy()); // 获取第二个DataTable中的数据 DataTable dt_Perm = GetUserPerm(); dt_Perm.TableName = "perm"; // 给表重命名 ds.Tables.Add(dt_Perm.Copy()); // 得到的DataSet return ds;关于这个有一个链接讲的特别好,可以看一下清空DataGridViewC# DataGridView控件绑定数据后清空数据在清除DataGridview的数据时:1.DataSource为NULL(DataGridView.DataSource= null;)这样会将DataGridView的列也删掉。2.用DataGridview.Rows.Clear(); 提示“不能清除此列表”!!!!!以上都不是想要的结果。想要满足保持原有的列,就是重新绑定之前的DataTable,然后清除DataTable中的数据,如下:DataTable dt = (DataTable)dataGridView1.DataSource; dt.Rows.Clear(); dataGridView1.DataSource = dt; 问题解决。下拉框绑定数据(DataTable)可以用其属性中的Value、Index等保存数据// 下拉框绑定 DataTable dt_group = GetUserGroup(); if (dt_group.Rows.Count > 0) { ComboBox.DisplayMember = "Name"; // 要展示的字段 ComboBox.ValueMember = "id"; // 对应的值字段,一般为id ComboBox.DataSource = dt_group; // 数据源 //ComboBox.SelectedIndex = -1; // 设置所选项,-1为不选中 //ComboBox.Items.Clear(); // 清空ComboBox }查询DataTable中的字段DataTable中自带了Select方法,返回值为DataRow比如我想查询dt中name列为guo的那一行,用这种方法dt.Select("name='guo'");其中name为字段,等号后面是要查询的值,需要用单引号括起来。提取字符串中的数字int num = System.Text.RegularExpressions.Regex.Replace(str, @"[^0-9]+", "");控制台 // 控制台打印DataSet public void PrintDataSet(DataSet ds) { for(int j = 0; j < ds.Tables.Count; j++) { Console.WriteLine("第 "+ j + " 张表 " + ds.Tables[j].TableName +" :"); for (int q = 0; q < ds.Tables[j].Rows.Count; q++) { for (int i = 0; i < ds.Tables[j].Columns.Count; i++) { Console.Write(ds.Tables[j].Rows[q][i].ToString() + " "); } Console.WriteLine(); } } }设置TextBox只能输入数字要达到这个效果的方法有很多,都可以亲自试一下// 这种方法需要创建TextBox的 **KeyPress** 方法,如果不是数字会有声音提示,且不会输入到TextBox中 private void TextBox_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 0x20) e.KeyChar = (char)0; //禁止空格键 if ((e.KeyChar == 0x2D) && (((TextBox)sender).Text.Length == 0)) return; //处理负数 if (e.KeyChar > 0x20) { try { double.Parse(((TextBox)sender).Text + e.KeyChar.ToString()); } catch { e.KeyChar = (char)0; //处理非法字符 } } }或者也可以禁止输入空格private void TextBox_KeyPress(object sender, KeyPressEventArgs e) { if (" ".IndexOf(e.KeyChar) != -1) { e.Handled = true; } }
2017年12月20日
1,603 阅读
0 评论
0 点赞
2017-12-15
Git版本回退
1.使用git log命令查看所有的历史版本,获取某个历史版本的id,假设查到历史版本的id是2f0adbd7500eb80b992701647c4be3dfc0277eda。$ git log commit 2f0adbd7500eb80b992701647c4be3dfc0277eda Author: tianyu211 <gty0211@foxmail.com> Date: Fri Dec 15 17:35:10 2017 +0800 开启双缓冲 commit 2d91409d4091e0df0981934ebf0bcb1e895392c8 Author: tianyu211 <gty0211@foxmail.com> Date: Fri Dec 15 17:13:28 2017 +0800 调整主页布局 2.回退版本git reset --hard 2f0adbd7500eb80b992701647c4be3dfc0277eda3.把修改推到远程服务器,如果本地没提交可以不推送git push -f -u origin master
2017年12月15日
1,590 阅读
0 评论
0 点赞
2017-12-14
C#的一个Mysql助手类
一个在C#中使用Mysql的通用DBHelper,以后可能还会用到不过首先需要下载Mysql.Data.dll这个官方库找不到的话可以直接在这里下载下载地址备用下载地址注意需要改一下命名空间(namespace)代码:using System; using System.Collections.Generic; using System.Data; using System.Windows.Forms; using MySql.Data.MySqlClient; namespace DataBase { class DBHelper { // 数据库配置 // 编码设置utf8,防止中文乱码 private static string _constr = "server=localhost;uid=root;pwd=password;database=database;Charset=utf8"; // 数据库连接 private MySqlConnection conn; // 返回数据库连接 private MySqlConnection GetConnection() { conn = new MySqlConnection(_constr); return conn; } // 初始化连接并打开 public bool Init() { try { conn = GetConnection(); conn.Open(); return true; } catch (Exception e) { //记录日志,退出 MessageBox.Show(e.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return false; } } // 返回一个适配器 public MySqlDataAdapter DataAdp(string strSQL) { MySqlDataAdapter dap = new MySqlDataAdapter(strSQL, conn); return dap; } // 执行查询语句 // 返回DataSet public DataSet Query(string strSQL,string TableName = null) { DataSet ds = new DataSet(); try { MySqlDataAdapter dap = new MySqlDataAdapter(strSQL, conn); if(TableName != null) dap.Fill(ds,TableName); else dap.Fill(ds); //MySqlCommandBuilder sqlCommandBuilder = new MySqlCommandBuilder(dap); } catch (Exception e) { //记录日志,并返回空 MessageBox.Show(strSQL + "\n" + e.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return null; } return ds; } // 执行单条增删改语句 // 返回受影响的行数 public int Execute(string strSQL) { MySqlCommand cmd = new MySqlCommand(strSQL, conn); try { int rows = cmd.ExecuteNonQuery(); return rows; } catch (Exception e) { MessageBox.Show(e.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); return 0; } } // 通过事务执行增删改语句 // 返回受影响的行数 // 发生回滚返回-1 public int ExecuteTransaction(List<string> strSQLs) { MySqlCommand cmd = new MySqlCommand("", conn); int rows = 0; MySqlTransaction tran = conn.BeginTransaction(); cmd.Transaction = tran; try { foreach (var n in strSQLs) { cmd.CommandText = n; rows += cmd.ExecuteNonQuery(); } tran.Commit(); return rows; } catch (Exception e) { MessageBox.Show(e.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error); tran.Rollback(); return -1; } } // 关闭连接 public void close() { conn.Close(); } } }
2017年12月14日
1,918 阅读
0 评论
0 点赞
2017-12-14
C#的一个常用加密方式类
注意需要改一下命名空间(namespace)using System; using System.IO; using System.Text; using System.Globalization; using System.Collections.Generic; using System.Security.Cryptography; namespace WebForm { /// <summary> /// 密码加密解密操作相关类 /// </summary> internal static class PassWordHelper { #region MD5 加密 /// <summary> /// MD5加密 /// </summary> public static string Md532(this string source) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; MD5 md5 = MD5.Create(); return HashAlgorithmBase(md5, source, encoding); } /// <summary> /// 加盐MD5加密 /// </summary> public static string Md532Salt(this string source, string salt) { return string.IsNullOrEmpty(salt) ? source.Md532() : (source + "『" + salt + "』").Md532(); } #endregion #region SHA 加密 /// <summary> /// SHA1 加密 /// </summary> public static string Sha1(this string source) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; SHA1 sha1 = new SHA1CryptoServiceProvider(); return HashAlgorithmBase(sha1, source, encoding); } /// <summary> /// SHA256 加密 /// </summary> public static string Sha256(this string source) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; SHA256 sha256 = new SHA256Managed(); return HashAlgorithmBase(sha256, source, encoding); } /// <summary> /// SHA512 加密 /// </summary> public static string Sha512(this string source) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; SHA512 sha512 = new SHA512Managed(); return HashAlgorithmBase(sha512, source, encoding); } #endregion #region HMAC 加密 /// <summary> /// HmacSha1 加密 /// </summary> public static string HmacSha1(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACSHA1 hmacSha1 = new HMACSHA1(keyStr); return HashAlgorithmBase(hmacSha1, source, encoding); } /// <summary> /// HmacSha256 加密 /// </summary> public static string HmacSha256(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACSHA256 hmacSha256 = new HMACSHA256(keyStr); return HashAlgorithmBase(hmacSha256, source, encoding); } /// <summary> /// HmacSha384 加密 /// </summary> public static string HmacSha384(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACSHA384 hmacSha384 = new HMACSHA384(keyStr); return HashAlgorithmBase(hmacSha384, source, encoding); } /// <summary> /// HmacSha512 加密 /// </summary> public static string HmacSha512(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACSHA512 hmacSha512 = new HMACSHA512(keyStr); return HashAlgorithmBase(hmacSha512, source, encoding); } /// <summary> /// HmacMd5 加密 /// </summary> public static string HmacMd5(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACMD5 hmacMd5 = new HMACMD5(keyStr); return HashAlgorithmBase(hmacMd5, source, encoding); } /// <summary> /// HmacRipeMd160 加密 /// </summary> public static string HmacRipeMd160(this string source, string keyVal) { if (string.IsNullOrEmpty(source)) return null; var encoding = Encoding.UTF8; byte[] keyStr = encoding.GetBytes(keyVal); HMACRIPEMD160 hmacRipeMd160 = new HMACRIPEMD160(keyStr); return HashAlgorithmBase(hmacRipeMd160, source, encoding); } #endregion #region AES 加密解密 /// <summary> /// AES加密 /// </summary> /// <param name="source">待加密字段</param> /// <param name="keyVal">密钥值</param> /// <param name="ivVal">加密辅助向量</param> /// <returns></returns> public static string AesStr(this string source, string keyVal, string ivVal) { var encoding = Encoding.UTF8; byte[] btKey = keyVal.FormatByte(encoding); byte[] btIv = ivVal.FormatByte(encoding); byte[] byteArray = encoding.GetBytes(source); string encrypt; Rijndael aes = Rijndael.Create(); using (MemoryStream mStream = new MemoryStream()) { using (CryptoStream cStream = new CryptoStream(mStream, aes.CreateEncryptor(btKey, btIv), CryptoStreamMode.Write)) { cStream.Write(byteArray, 0, byteArray.Length); cStream.FlushFinalBlock(); encrypt = Convert.ToBase64String(mStream.ToArray()); } } aes.Clear(); return encrypt; } /// <summary> /// AES解密 /// </summary> /// <param name="source">待加密字段</param> /// <param name="keyVal">密钥值</param> /// <param name="ivVal">加密辅助向量</param> /// <returns></returns> public static string UnAesStr(this string source, string keyVal, string ivVal) { var encoding = Encoding.UTF8; byte[] btKey = keyVal.FormatByte(encoding); byte[] btIv = ivVal.FormatByte(encoding); byte[] byteArray = Convert.FromBase64String(source); string decrypt; Rijndael aes = Rijndael.Create(); using (MemoryStream mStream = new MemoryStream()) { using (CryptoStream cStream = new CryptoStream(mStream, aes.CreateDecryptor(btKey, btIv), CryptoStreamMode.Write)) { cStream.Write(byteArray, 0, byteArray.Length); cStream.FlushFinalBlock(); decrypt = encoding.GetString(mStream.ToArray()); } } aes.Clear(); return decrypt; } /// <summary> /// AES Byte类型 加密 /// </summary> /// <param name="data">待加密明文</param> /// <param name="keyVal">密钥值</param> /// <param name="ivVal">加密辅助向量</param> /// <returns></returns> public static byte[] AesByte(this byte[] data, string keyVal, string ivVal) { byte[] bKey = new byte[32]; Array.Copy(Encoding.UTF8.GetBytes(keyVal.PadRight(bKey.Length)), bKey, bKey.Length); byte[] bVector = new byte[16]; Array.Copy(Encoding.UTF8.GetBytes(ivVal.PadRight(bVector.Length)), bVector, bVector.Length); byte[] cryptograph; Rijndael aes = Rijndael.Create(); try { using (MemoryStream mStream = new MemoryStream()) { using (CryptoStream cStream = new CryptoStream(mStream, aes.CreateEncryptor(bKey, bVector), CryptoStreamMode.Write)) { cStream.Write(data, 0, data.Length); cStream.FlushFinalBlock(); cryptograph = mStream.ToArray(); } } } catch { cryptograph = null; } return cryptograph; } /// <summary> /// AES Byte类型 解密 /// </summary> /// <param name="data">待解密明文</param> /// <param name="keyVal">密钥值</param> /// <param name="ivVal">加密辅助向量</param> /// <returns></returns> public static byte[] UnAesByte(this byte[] data, string keyVal, string ivVal) { byte[] bKey = new byte[32]; Array.Copy(Encoding.UTF8.GetBytes(keyVal.PadRight(bKey.Length)), bKey, bKey.Length); byte[] bVector = new byte[16]; Array.Copy(Encoding.UTF8.GetBytes(ivVal.PadRight(bVector.Length)), bVector, bVector.Length); byte[] original; Rijndael aes = Rijndael.Create(); try { using (MemoryStream mStream = new MemoryStream(data)) { using (CryptoStream cStream = new CryptoStream(mStream, aes.CreateDecryptor(bKey, bVector), CryptoStreamMode.Read)) { using (MemoryStream originalMemory = new MemoryStream()) { byte[] buffer = new byte[1024]; int readBytes; while ((readBytes = cStream.Read(buffer, 0, buffer.Length)) > 0) { originalMemory.Write(buffer, 0, readBytes); } original = originalMemory.ToArray(); } } } } catch { original = null; } return original; } #endregion #region RSA 加密解密 //密钥对,请配合密钥生成工具使用『 [url]http://download.csdn.net/detail/downiis6/9464639[/url] 』 private const string PublicRsaKey = @"pubKey"; private const string PrivateRsaKey = @"priKey"; /// <summary> /// RSA 加密 /// </summary> public static string Rsa(this string source) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(PublicRsaKey); var cipherbytes = rsa.Encrypt(Encoding.UTF8.GetBytes(source), true); return Convert.ToBase64String(cipherbytes); } /// <summary> /// RSA解密 /// </summary> public static string UnRsa(this string source) { RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); rsa.FromXmlString(PrivateRsaKey); var cipherbytes = rsa.Decrypt(Convert.FromBase64String(source), true); return Encoding.UTF8.GetString(cipherbytes); } #endregion #region DES 加密解密 /// <summary> /// DES 加密 /// </summary> public static string Des(this string source, string keyVal, string ivVal) { try { byte[] data = Encoding.UTF8.GetBytes(source); var des = new DESCryptoServiceProvider { Key = Encoding.ASCII.GetBytes(keyVal.Length > 8 ? keyVal.Substring(0, 8) : keyVal), IV = Encoding.ASCII.GetBytes(ivVal.Length > 8 ? ivVal.Substring(0, 8) : ivVal) }; var desencrypt = des.CreateEncryptor(); byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length); return BitConverter.ToString(result); } catch { return "转换出错!"; } } /// <summary> /// DES 解密 /// </summary> public static string UnDes(this string source, string keyVal, string ivVal) { try { string[] sInput = source.Split("-".ToCharArray()); byte[] data = new byte[sInput.Length]; for (int i = 0; i < sInput.Length; i++) { data[i] = byte.Parse(sInput[i], NumberStyles.HexNumber); } var des = new DESCryptoServiceProvider { Key = Encoding.ASCII.GetBytes(keyVal.Length > 8 ? keyVal.Substring(0, 8) : keyVal), IV = Encoding.ASCII.GetBytes(ivVal.Length > 8 ? ivVal.Substring(0, 8) : ivVal) }; var desencrypt = des.CreateDecryptor(); byte[] result = desencrypt.TransformFinalBlock(data, 0, data.Length); return Encoding.UTF8.GetString(result); } catch { return "解密出错!"; } } #endregion #region TripleDES 加密解密 /// <summary> /// DES3 加密 /// </summary> public static string Des3(this string source, string keyVal) { try { TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider { Key = keyVal.FormatByte(Encoding.UTF8), Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7 }; using (MemoryStream ms = new MemoryStream()) { byte[] btArray = Encoding.UTF8.GetBytes(source); try { using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write)) { cs.Write(btArray, 0, btArray.Length); cs.FlushFinalBlock(); } return ms.ToArray().Bytes2Str(); } catch { return source; } } } catch { return "TripleDES加密出现错误"; } } /// <summary> /// DES3 解密 /// </summary> public static string UnDes3(this string source, string keyVal) { try { byte[] byArray = source.Str2Bytes(); TripleDESCryptoServiceProvider des = new TripleDESCryptoServiceProvider { Key = keyVal.FormatByte(Encoding.UTF8), Mode = CipherMode.ECB, Padding = PaddingMode.PKCS7 }; using (MemoryStream ms = new MemoryStream()) { using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write)) { cs.Write(byArray, 0, byArray.Length); cs.FlushFinalBlock(); cs.Close(); ms.Close(); return Encoding.UTF8.GetString(ms.ToArray()); } } } catch { return "TripleDES解密出现错误"; } } #endregion #region BASE64 加密解密 /// <summary> /// BASE64 加密 /// </summary> /// <param name="source">待加密字段</param> /// <returns></returns> public static string Base64(this string source) { var btArray = Encoding.UTF8.GetBytes(source); return Convert.ToBase64String(btArray, 0, btArray.Length); } /// <summary> /// BASE64 解密 /// </summary> /// <param name="source">待解密字段</param> /// <returns></returns> public static string UnBase64(this string source) { var btArray = Convert.FromBase64String(source); return Encoding.UTF8.GetString(btArray); } #endregion #region 内部方法 /// <summary> /// 转成数组 /// </summary> private static byte[] Str2Bytes(this string source) { source = source.Replace(" ", ""); byte[] buffer = new byte[source.Length / 2]; for (int i = 0; i < source.Length; i += 2) buffer[i / 2] = Convert.ToByte(source.Substring(i, 2), 16); return buffer; } /// <summary> /// 转换成字符串 /// </summary> private static string Bytes2Str(this IEnumerable<byte> source, string formatStr = "{0:X2}") { StringBuilder pwd = new StringBuilder(); foreach (byte btStr in source) { pwd.AppendFormat(formatStr, btStr); } return pwd.ToString(); } private static byte[] FormatByte(this string strVal, Encoding encoding) { return encoding.GetBytes(strVal.Base64().Substring(0, 16).ToUpper()); } /// <summary> /// HashAlgorithm 加密统一方法 /// </summary> public static string HashAlgorithmBase(HashAlgorithm hashAlgorithmObj, string source, Encoding encoding) { byte[] btStr = encoding.GetBytes(source); byte[] hashStr = hashAlgorithmObj.ComputeHash(btStr); return hashStr.Bytes2Str(); } #endregion } }
2017年12月14日
1,631 阅读
0 评论
0 点赞
2017-12-11
使用Tampermonkey提取百度网盘直链接
我没有配合使用IDM,因为那需要打好多字。但是我推荐使用IDM更详细的教程你还是看这里吧你需要使用Chrome浏览器,其他的我没试过,你可以自己试试。首先下载油猴插件,这是一个脚本管理器。(如果打不开可以点这里试一下)然后下载油猴的脚本,名为百度网盘直接下载助手也可以顺便安装解决百度云大文件下载限制这个脚本就好了
2017年12月11日
2,477 阅读
0 评论
0 点赞
2017-12-10
Git不用SSH Push 避免输入用户名和密码
我看到网上已经有一堆教程说,要配置全局变量git config --global user.name [username]git config --global user.email [email]然后就不用输入用户名了。屁呀!食屎啦每次不管是 Push 还是 Pull 都要我在输入账号密码我又不想用 SSH 方式体验极差后来发现还是有办法解决的创建一个文件存储GIT用户名和密码一般这个东西是存放到你当前用户的目录下(我是指Windows)比如一般默认用户文件夹是C:\users\Administrator,如果你有其他用户或者其他名称,就是C:\users\[你的用户名]。然后在这里创建一个名为 .git-credentials 的文件,存储你的账号密码就好了。可是Windows又不准你创建以 . 开头的文件或者文件夹所以只好使用git bash执行,打开git bash客户端,进入你的用户文件夹下,然后vim .git-credentials创建并且编辑这个 .git-credentials 文件,在里面输入这种格式:其中{username}对应你的账号,{password}对应你的密码,后面的{site.com}对应你Git仓库的域名。https://{username}:{password}@{site.com}呐,比如我用户名是ad@min.com,密码是Passwd,Git仓库在github上,就是https://ad@min.com:Passwd@github.com然后保存,再执行git push或者git pull操作的时候就不会需要你输入帐号和密码了。
2017年12月10日
2,265 阅读
0 评论
0 点赞
2017-12-08
Unix修改终端欢迎界面
每次连接服务器/打开终端之后都是给我提示Last login: Thu Dec 7 00:37:08 2017 from xx.xxx.xxx.xxx就像这种毫无观赏性可言。直接导致了我每天没有再看那一条条长长的命令行的动力。但是我后来发现这些古板的终端其实也是有欢迎界面的像Linux的,一般就放在/etc/motd这个文件里Mac的,emmm,也在/etc/motd这个文件里在这里,你写什么,登陆/打开终端之后就会展示什么甚至画画也可以比如我vim /etc/motd然后在里面放了点东西之后在登录服务器,打开就是这样了每天换一个样式不过也没什么意思也就玩了200多次吧
2017年12月08日
2,384 阅读
0 评论
0 点赞
2017-12-03
游戏蜂窝安卓破解
最近事真是多到吐血,临近毕业各种大事小事都过来了。前段时间服务器数据库各种崩溃,发现是Apache进程太多内存不够用了。后来又有XMLRPC导致的各种垃圾评论,现在关闭了XMLRPC并且开启了评论过滤。已经过去了的,都算小事。我这里记录下破解方法,所有用到的软件都在底部的压缩包里软件安装要按照顺序来1. 首先确保手机或者安卓模拟器已经root,安装幸运破解器,授予root权限,点最下面的工具箱,找到核心破解的选项。2. 点开勾选前两项,成功之前应该是红色的,然后点应用,手机可能会卡一会然后重启,也可能不会,重启后再进去变成绿的就说明成功了。3. 然后安装--游戏蜂窝高级版免VIP 需要先使用幸运破解器破解核心后才能安装成功4.随便注册个号登陆,然后选择自己需要的脚本,已经可以开心地使用了。下载地址链接(推荐): OneDrive Business下载
2017年12月03日
1,849 阅读
0 评论
0 点赞
1
...
6
7
8
...
16