绕过 BitComet 地区限制
仅供学习和研究使用,请遵守当地法律法规。
众所周知,BitComet 在中国大陆地区部分功能被封锁,例如种子市场等等。我们可以通过简单的方式绕过这个限制。
- 用 x64dbg 载入
注意:此处可能需关闭 ScyllaHide,否则会导致持续出现异常;可能需要隐藏调试器:调试 -> 高级 -> 隐藏调试器。 - Ctrl + G 或在符号界面断下
GetUserDefaultUILanguage
。 - F9 运行到断点,然后 Alt + F9 执行到用户代码。
位置大致如下:1
2
3
4
5
6
7
8
9
10
11
1200007FF7AA71E082 | FF15 28ECB500 | call qword ptr ds:[<GetProcAddress>] |
00007FF7AA71E088 | 48:85C0 | test rax,rax |
00007FF7AA71E08B | 74 05 | je bitcomet11.7FF7AA71E092 |
00007FF7AA71E08D | FFD0 | call rax |
00007FF7AA71E08F | 0FB7D8 | movzx ebx,ax | 到达这里
00007FF7AA71E092 | 48:8BCF | mov rcx,rdi | rcx:"1\t"
00007FF7AA71E095 | FF15 75EBB500 | call qword ptr ds:[<FreeLibrary>] |
00007FF7AA71E09B | 8BC3 | mov eax,ebx |
00007FF7AA71E09D | 48:8B5C24 30 | mov rbx,qword ptr ss:[rsp+30] | [rsp+30]:&L"C:\\Program Files\\BitComet\\BitComet.exe"
00007FF7AA71E0A2 | 48:83C4 20 | add rsp,20 |
00007FF7AA71E0A6 | 5F | pop rdi |
00007FF7AA71E0A7 | C3 | ret | - 修改下面的
mov eax,ebx
为mov eax,0x409
。
注意:切记加上0x
前缀,否则会被当作十进制数处理。 - Ctrl + P 保存。
- 打开 BitComet,即可看到语言变成英文,种子市场等功能已经解锁。当然,如果你把语言修改为简体中文,这些功能又隐藏了。
我们可以通过修改C:\Program Files\BitComet\lang
目录下的.mo
文件的名字来解决这个问题:bitcomet-en_US.mo
->bitcomet-en_US.mo.bak
bitcomet-zh_CN.mo
->bitcomet-en_US.mo
- 最终效果如图:
可以看到有小部分仍是英文,可能因为对应字段未存储在.mo
文件中,或初始化时机与其他字段不同。
参考
绕过 BitComet 地区限制
https://refrain69.pages.dev/bypass-bitcomet-region-check/