Вопрос Перехват http запроса

Начинающий
Статус
Оффлайн
Регистрация
27 Мар 2023
Сообщения
2
Реакции[?]
0
Поинты[?]
0
Хочу крякнуть софт просто подменив ответ от сервера, но этот post запрос проходит мимо моего приложения

Код:
using System;
using System.Text;
using System.Threading.Tasks;
using Titanium.Web.Proxy;
using Titanium.Web.Proxy.EventArguments;
using Titanium.Web.Proxy.Models;

namespace ProxyExample
{
    class Program
    {
        // TaskCompletionSource для ожидания запроса
        private static TaskCompletionSource<bool> requestReceived = new TaskCompletionSource<bool>();

        static async Task Main(string[] args)
        {
            var proxyServer = new ProxyServer();
            var explicitEndPoint = new ExplicitProxyEndPoint(System.Net.IPAddress.Any, 5000, true);

            proxyServer.AddEndPoint(explicitEndPoint);
            proxyServer.BeforeRequest += OnRequest;
            proxyServer.BeforeResponse += OnResponse;

            proxyServer.Start();
            proxyServer.SetAsSystemHttpProxy(explicitEndPoint);

            Console.WriteLine("Proxy server is running. Waiting for specific POST request...");

            // Ожидаем получения нужного запроса
            await requestReceived.Task;

            Console.WriteLine("Specific request received. Press any key to stop...");
            Console.ReadLine();

            proxyServer.Stop();
        }

        private static async Task OnRequest(object sender, SessionEventArgs e)
        {
            // Логируем POST-запросы
            if (e.HttpClient.Request.Method == "POST")
            {
                Console.WriteLine($"Request URL: {e.HttpClient.Request.Url}");
            }
        }

        private static async Task OnResponse(object sender, SessionEventArgs e)
        {
            // Проверяем, соответствует ли запрос целевому URL
            if (e.HttpClient.Request.Method == "POST" && e.HttpClient.Request.Url == "http://89.110.111.53:5000/auth")
            {
                // Подменяем ответ сервера на собственный
                string customResponse = "{\n   \"code\" : \"1\",\n   \"status\" : \"success\"\n}";
                e.Ok(Encoding.UTF8.GetBytes(customResponse));

                Console.WriteLine("Response has been replaced.");

                // Сигнализируем, что нужный запрос получен
                requestReceived.TrySetResult(true);
            }
        }
    }
}
 
Новичок
Статус
Оффлайн
Регистрация
19 Фев 2023
Сообщения
1
Реакции[?]
0
Поинты[?]
0
FiddlerCore и проксификация на твое приложение по его ехе.Ну и свой самопис сертификат под это дело.Иначе боюсь ты никак такое не сделаешь.
 
Сверху Снизу