本帖最后由 66431898 于 2020-5-14 08:52 编辑
想请问下大神思路,昨天刚刚脱壳,拽入dnspy查看后,发现了验证密钥的地方,可我右键编辑方法后 ,会出现错误,即使什么也没有改,点编译也会出现错误。现在处于迷茫的阶段,求大神指导。
[C#] 纯文本查看 复制代码 // Buddy.Auth.Auth
// Token: 0x0600FFF6 RID: 65526 RVA: 0x00202044 File Offset: 0x00200244
internal static async Task<Tuple<bool, string>> Login(string key)
{
Tuple<bool, string> result;
try
{
string text;
using (HttpClient client = new HttpClient())
{
byte[] content = Auth.RSAEncrypt(key);
using (ByteArrayContent postStream = new ByteArrayContent(content))
{
HttpResponseMessage httpResponseMessage = await client.PostAsync("https://xxx.com/login.php", postStream);
using (HttpResponseMessage response = httpResponseMessage)
{
text = await response.Content.ReadAsStringAsync();
}
HttpResponseMessage response = null;
}
ByteArrayContent postStream = null;
}
HttpClient client = null;
if (!string.IsNullOrEmpty(text))
{
string[] array = text.Split(new char[]
{
'\n'
});
int num;
if (int.TryParse(array[0], out num))
{
if (num == 1)
{
GlobalSettings.Instance.Key = key;
GlobalSettings.Instance.Expire = array[1];
string uriString = array[2];
Auth.websocket = new ClientWebSocket();
try
{
await Auth.websocket.ConnectAsync(new Uri(uriString), CancellationToken.None);
}
catch (Exception ex)
{
return new Tuple<bool, string>(false, ex.Message);
}
Auth.StartHeartBeat();
return new Tuple<bool, string>(true, null);
}
if (num == 2)
{
return new Tuple<bool, string>(false, "此卡已在其它地方登陆");
}
if (num == 0)
{
return new Tuple<bool, string>(false, "此卡无效或已过期");
}
}
}
result = new Tuple<bool, string>(false, "服务器通信失败");
}
catch (Exception ex2)
{
result = new Tuple<bool, string>(false, ex2.Message);
}
return result;
我有两个思路,一个是自己搭建一个网站,然后模拟他的返回数据,始终保持返回数据为1
还有一个思路是,更改所验证的数据。想问问各位大神,这样的思路对吗?
文件如下: https://datas.lanzouj.com/icl15ji 密码:gb8r |