Skip to content

mIwaYuhang/Iridium-gidra

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Iridium-gidra

A proxy between the client and the server of a certain anime game

Usage

  1. Clone the Github Repository
git clone https://github.com/MoonlightPS/Iridium-gidra.git
cd Iridium-gidra
  1. Install Poetry and use the following command to install the required dependencies
poetry install
  1. Run the following commands to start proxy
py -m gidra
  1. Use the following fiddler script to redirect dispatch
/* Gidra proxy fiddler script */
import System;
import System.Windows.Forms;
import Fiddler;
import System.Text.RegularExpressions;

class Handlers
{
    static function OnBeforeRequest(oS: Session) {

        if(oS.host.EndsWith("dispatch.yuanshen.com")) {
            oS.oRequest.headers.UriScheme = "http";
            oS.oRequest.headers.Add('url',oS.host);
            oS.host = "localhost";
            oS.port = 8081;
        }

        if(oS.host.Contains("overseauspider.yuanshen.com")){
            oS.oRequest.FailSession(404, "Blocked", "your mom");
        }
    }
};
  1. Use patched UserAssembly.dll or the proxy won't work!! and be sure to change it back when you are not using the proxy!!

  2. Start the game and have fun!

Note

  • Packets captured are saved after you exit out of gidra in console and can be found in ./gidra/packet_dump
  • proxy auto detects dispatch url and gateserver address when using the above fiddler script, you do not have to hardcode any of these!

Format of packet capture:

[
  {
    "index": int,
    "packetId": int,
    "protoName": string,
    "source": string,
    "time": float,
    "object": protobuf object
  }
]

About

Genshin Impact Proxy + Packet Sniffer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 91.4%
  • C 8.4%
  • Shell 0.2%