吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 672|回复: 9
收起左侧

[求助] Net程序,如何hook或重定向服务器?

[复制链接]
万神fake 发表于 2024-8-16 09:42
  • 使用NETReactorSlayer反编译出来了程序源码,分析出来程序判断Vip是通过HttpWebRequest从网络获取的信息,使用Reqable拦截修改请求,设置Vip信息成功。
[C#] 纯文本查看 复制代码
    private const string DefaultServerIp = "x.x.x.x";
    private const string AlternateServerIp = "x.x.x.x";
    private const string UserAgent = "Mozilla/5.2 (KHTML-XVA)";
    private const int TimeoutMilliseconds = 5000;
    private string _authToken;

    public async Task<string> FetchDataAsync(string endpoint, string id = "")
    {
        string serverIp = DefaultServerIp;
        string result = string.Empty;

        try
        {
            string url = $"http://{serverIp}:6096/api/{endpoint}{(string.IsNullOrEmpty(id) ? "" : $"/{id}")}";
            
            using (var request = (HttpWebRequest)WebRequest.Create(url))
            {
                request.UserAgent = UserAgent;
                request.Headers.Add("CL", Convert.ToBase64String(Encoding.UTF8.GetBytes(_authToken)));
                request.Timeout = TimeoutMilliseconds;

                using (var response = await request.GetResponseAsync() as HttpWebResponse)
                using (var stream = response.GetResponseStream())
                using (var reader = new StreamReader(stream, Encoding.UTF8))
                {
                    result = await reader.ReadToEndAsync();
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
            serverIp = serverIp == DefaultServerIp ? AlternateServerIp : DefaultServerIp;
            result = "X";
        }

        return result;
    }

现在问题是用Reqable不够优雅,会影响到游戏加速器的使用,因为是反编译出来的程序,研究了DotNetDetour,函数名称是会变动的,也不能修改il指令,再加上程序经常更新,所以想用网络拦截的方法,有什么实现思路吗?网络拦截最好只影响目标程序

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

bester 发表于 2024-8-16 10:03
hosts 直接域名转向即可
aiohttp建立一个服务器,返回你要的东西

https://www.52pojie.cn/thread-1915517-1-1.html
kingdjh 发表于 2024-8-16 10:54
本帖最后由 kingdjh 于 2024-8-16 10:57 编辑

用DotNetDetour或者Harmony直接hook底层的http请求函数呢?
wtujoxk 发表于 2024-8-16 10:55
本帖最后由 wtujoxk 于 2024-8-16 10:58 编辑
bester 发表于 2024-8-16 10:03
hosts 直接域名转向即可
aiohttp建立一个服务器,返回你要的东西

DotNetDetour比那个更好,hook FetchDataAsync GetResponseStream ReadToEndAsync哪一个都行
gksj 发表于 2024-8-16 11:37
直接HOOK系统自带的net程序集的GetResponseStream()方法返回数据,在HOOK里面判断一下是不是请求许可的,如果是就返回对应数据,如果不是就调用原始的方法代码.
 楼主| 万神fake 发表于 2024-8-16 12:46
都好复杂啊,还是用Reqable吧
艾莉希雅 发表于 2024-8-16 15:41
上鸿蒙X试试
3yu3 发表于 2024-8-16 18:55
盯一下此帖子,看下大佬们有何高招,一起学学。
msmvc 发表于 2024-8-17 18:39
能看到源码就好办了
5楼6楼的方法不错
自己用vs写个webapi也行,返回啥都能控制,serverIp用修改hosts文件解决
msmvc 发表于 2024-8-17 18:42
楼主,这是什么程序,发出来,有大佬直接就给你搞定吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-21 19:59

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表