Due to my oversight in code review, sensitive information was exposed, causing inconvenience and confusion for other developers. I apologize to the other developers(APOLOGY.md), refer to #3 and #4.
由于本人审查代码疏忽导致出现了敏感信息而给其他开发者造成了不便于困惑,在这里向其他开发者致歉(APOLOGY.md),请参考 #3 与 #4
I hope everyone can learn from my example and avoid making such stupid mistakes out of negligence.
希望大家以我为戒,不要因为疏忽做出这么愚蠢的事
Here’s a project simulating server requests for the Monster Hunter Wilds Beta Test version.
这是模拟 Monster Hunter Wilds Beta test 版本服务器请求的项目。
This project is intended solely for educational and learning purposes and must not be used for commercial purposes. Please delete this software within 24 hours of downloading. We do not take any responsibility for any illegal usage or distribution of this software.
免责声明:本项目内容不得用于商业用途,仅做学习交流,请在下载后24小时内删除。我们不对任何非法使用或传播此软件的行为承担责任。
The cert
directory contains certificate files generated for mhws.io, but it is recommended that you generate your own certificates.
cert
目录下为 mhws.io
生成的证书文件,但建议你自己生成。
没试过能不能从空档启动游戏,随缘吧,有需求的话后面再说
简单的教程,不详细,看不懂的可以搜,也可以问我,但希望能够自己先思考
mhws_beta_server
go run . --cert-domain hjm.rebe.capcom.com,40912.playfabapi.com --api-host hjm.rebe.capcom.com
至于更多参数的用法,请使用 --help
命令查看。
./cert/root.crt
添加为信任的根证书hosts
添加如下内容并刷新系统 DNS 缓存:
127.0.0.1 hjm.rebe.capcom.com
127.0.0.1 40912.playfabapi.com
注意:添加后可能无法联网其他 capcom 游戏,还原 hosts
后刷新缓存即可;若有必要,可尝试重启系统。
TL;DR
steamclient
, unsteam
之类的mitmproxy
+ Proxifier
, Charles
并不绝对要使用什么工具,找到自己最适合的工具就行
这里以 mitmproxy
+ Proxifier
为例介绍怎么操作,其他工具原理一致,换汤不换药
注:更推荐使用 Charles
,稳定一些
建议按照以下顺序操作,虽然有些时候顺序并不重要:
python3
,建议 3.8 以上,并将 python
添加到你的系统 PATH
里,用于运行 mitmproxy
(善用搜索工具)go
或者说 golang
,要求 1.23.1
及以上,并将 go
添加到系统 PATH
里,用于运行 mhw_beta_server
1.23.1
及以上,用低版本的可以改 go.mod
第三行Proxifier
mitmporxy
。打开一个新的终端,cmd
也好 powershell
也好,通过下面命令安装 mitmporxy
:
pip install mitmproxy
hosts
文件,在 hosts
中写入如下内存:
your_ip your_host
your_ip
为伪装服务器 mhws_beta_server
的监听地址,localhost
也好,局域网地址也好,公网 IP 也行your_host
为你的服务的域名,随便一个合法域名就行,这里默认的是 mhws.io
,你也可以使用其他域名,但需要你自行签名证书并丢到 cert
目录下127.0.0.1 mhws.io
配置 Proxifier
Address: 127.0.0.1
Port: 8080
Protocol: HTTPS
Default
Rule Name 的 Action 更改为 Direct
Enabled
,按以下配置:
Name: Python
Applications: python.exe
Action: Direct
OK
Enabled
,按以下配置:
Name: Wilds
Application: monsterhunterwildsbeta.exe
Action: Proxy HTTPS 127.0.0.1
OK
Proxifier
开启状态注意:需要保证在 Rules 中 Python
在 Wilds
之上,而 Wilds
在 Localhost
之上
配置 mitmproxy
mitmproxy
证书(搜索引擎可查)main.py
文件:
import mitmproxy.http
class CapcomPatcher: def init(self): pass
def request(self, flow: mitmproxy.http.HTTPFlow): flow.request.host = "your_host" return
addons = [ CapcomPatcher(), ]
**注意**:上端代码中 `flow.request.host = "your_host"` 请将 your_host 替换为上面 `hosts` 修改时的值,默认为 `mhws.io`
- 在该位置打开一个**新的**终端,运行以下命令并保持终端开启:
```bash
mitmweb.exe --ssl-insecure -s ./main.py
mhw_beta_server
go run . your_ip
注意:上端命令中 your_ip
请将 your_ip 替换为上面 hosts
修改时的值,可能为本地回环地址,局域网地址,或者公网 IP
Proxifier
+ mitmproxy
只是本人用的方案,方便调试而已,实际用起来挺麻烦的,平常使用推荐 Charles
最后,善用搜索!善用搜索!善用搜索!