客户端破译者客户端移除了每次发动强制更新以及账号登录功能,目前客户端有778个游戏不过每次客户端发动贼慢要去服务器端获取数据经过抓包发现了获取游戏的api(http: //yx.haisenyouxi8.com/hsgame/game/query/(POST恳求没有参数))获取到所有游戏json格局回来的数据有用的为:: downloadUrl:游戏下载地址,giftUrl:赠品下载地址(修改器存档)之类的东西),encodeKey:解密游戏的密钥官方客户端下载地址:https ://pan.baidu.com/s/1Ed7I-Vj-CZw2sXlXfgMjVA下载完成后运用以以及修改了的hsgame_query1.exe进入查询游戏修改的hsgame_query.exe:链接:https ://pan.baidu.com/s/12Fx4u2plrkj3Vad870K5DQ提取码:m64n完整版破坏客户端:链接:https ://pan.baidu.com/s/17dRgCcAqpO2YahqWH-mFsA编码码:k78b游戏破解方法一发现游戏下载完安装后还需求再次激活抓包发现联网获取游戏的 encodeKey来解压游戏发动文件,而每次把 客户端游戏发动程序一封闭又会删除原本的游戏发动文件(解压完的游戏文件替换是隐藏的需求电脑设置检查隐藏文件才看得见)获取游戏的encodeKeyapi为:http://yx.haisenyouxi8.com/hsgame/game/getById(post恳求id = hsgame.ini文件里边的id)经过hsgame_client.dll里边来判断是否登录或激活破解文件:链接:https:// pan。 baidu.com/s/1X9xfmga03Wcp321nzI-LVA提取码:vkzu直接掩盖文件就可以(其实收取完赠品获取到游戏发动文件就可以直接删除去不必每次都用这个假游戏发动查询)游戏破解方法二根据游戏的解密思路直接自己写了一个解压工具解压程序:链接:https ://pan.baidu.com/s/1j4jKqlZsi1f9iMGxId316A提取码:nipc拷贝到安装游戏快捷方法文件地点的目录运转直接解压就可以了
运用体系;
运用System.Collections.Generic;
运用System.ComponentModel;
运用System.Data;
运用System.Drawing;
运用System.IO;
运用System.Linq;
运用System.Net;
运用System.Runtime.InteropServices;
运用System.Text;
运用System.Web.Script.Serialization;
运用System.Windows.Forms;
命名空间GameDLL
{
公共局部类Form1:表单
{
公共Form1()
{
InitializeComponent();
}
private void button1_Click(目标发送者,EventArgs e)
{
字符串ID = ReadConfig <字符串>(“。\\\\ hsgame.ini”,“ config”,“ id”);
字符串成果= null;
测验
{
成果= getGameData(id);
剖析(成果);
}
捕获(反常)
{
MessageBox.Show(“需求联网下载encodeKey和赠品地址”);
}
}
私家void getExe(string key){
字符串exename = ReadConfig(“。\\\\ hsgame.ini”,“ config”,“ exeName”);
FileStream fileStream = new FileStream(“。\\\\ hsgame.dll”,FileMode.Open,FileAccess.Read);
BinaryReader binaryReader =新的BinaryReader(fileStream);
FileStream fileStream2 = new FileStream(“。\\” + exename,FileMode.CreateNew);
布尔标志= binaryReader.PeekChar()!= -1;
假如(标志)
{
byte []数组;
while((array = binaryReader.ReadBytes(1024))。Length!= 0)
{
fileStream2.Write(decodeByte(array,key),0,array.Length);
}
}
fileStream2.Close();
binaryReader.Close();
fileStream.Close();
}
私有静态字节[]解码字节(字节[]字节,字符串键)
{
byte [] bytes2 = Encoding.UTF8.GetBytes(key);
关于(int i = 0; i
{
foreach(字节2中的字节b)
{
bytes ^ = b;
}
}
回来字节;
}
公共静态T ReadConfig(字符串FileName,字符串部分,字符串键)
{
布尔标志= File.Exists(FileName);
成果
假如(标志)
{
字符串文本= ReadContentValue(section,key);
bool flag2 =文本== null || string.IsNullOrEmpty(text.Trim());
假如(flag2)
{
成果= default(T);
}
其他
{
bool isEnum = typeof(T).IsEnum;
假如(isEnum)
{
成果=(T)((object)Enum.Parse(typeof(T),text,true));
}
其他
{
成果=(T)((object)Convert.ChangeType(text,typeof(T)));
}
}
}
其他
{
成果= default(T);
}
回来成果;
}
[DllImport(“ kernel32”)]
私有静态外部int GetPrivateProfileString(字符串部分,字符串键,字符串def,StringBuilder retval,int大小,字符串filePath);
公共静态字符串ReadContentValue(字符串部分,字符串键)
{
StringBuilder stringBuilder =新的StringBuilder(1024);
GetPrivateProfileString(部分,键,“”,stringBuilder,1024,“。\\\\ hsgame.ini”);
回来stringBuilder.ToString();
}
私家字串getGameData(字串编号){
字符串url =“ http://yx.haisenyouxi8.com/hsgame/game/getById”;
HttpWebRequest req =(HttpWebRequest)WebRequest.Create(url);
req.Method =“ POST”;
req.ContentType =“ application / x-www-form-urlencoded”;
byte [] data = Encoding.UTF8.GetBytes(“ id =” + id);
req.ContentLength = data.Length;
运用(Stream reqStream = req.GetRequestStream())
{
reqStream.Write(data,0,data.Length);
reqStream.Close();
}
HttpWebResponse resp =(HttpWebResponse)req.GetResponse();
流stream = resp.GetResponseStream();
字符串成果= null;
//获取内容
运用(StreamReader reader = new StreamReader(stream,Encoding.UTF8))
{
成果= reader.ReadToEnd();
}
Console.WriteLine(result);
回来成果;
}
私有无效剖析(字符串json){
JavaScriptSerializer序列化器=新的JavaScriptSerializer();
字典
o =(Dictionary )serializer.DeserializeObject(json);
Dictionary
o2 =(Dictionary )o [“ json”];
目标encodeKey = o2 [“ encodeKey”];
目标giftUrl = o2 [“ giftUrl”];
getExe(encodeKey.ToString());
openBrowser(giftUrl.ToString());
}
私家void openBrowser(string url){
if(url == null || url.Trim()。Length <= 0)
{
MessageBox.Show(“没有赠品”);
}
其他{
System.Diagnostics.Process.Start(URL);
MessageBox.Show(“赠品地址已经打开记住保存哦”);
}
}
}
}
仿制代码
评论0