绕过 BitComet 地区限制

仅供学习和研究使用,请遵守当地法律法规。

众所周知,BitComet 在中国大陆地区部分功能被封锁,例如种子市场等等。我们可以通过简单的方式绕过这个限制。

  1. 用 x64dbg 载入
    注意:此处可能需关闭 ScyllaHide,否则会导致持续出现异常;可能需要隐藏调试器:调试 -> 高级 -> 隐藏调试器。
  2. Ctrl + G 或在符号界面断下 GetUserDefaultUILanguage
  3. F9 运行到断点,然后 Alt + F9 执行到用户代码。
    位置大致如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    00007FF7AA71E082 | 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 |
  4. 修改下面的 mov eax,ebxmov eax,0x409
    注意:切记加上 0x 前缀,否则会被当作十进制数处理。
  5. Ctrl + P 保存。
  6. 打开 BitComet,即可看到语言变成英文,种子市场等功能已经解锁。当然,如果你把语言修改为简体中文,这些功能又隐藏了。
    我们可以通过修改 C:\Program Files\BitComet\lang 目录下的 .mo 文件的名字来解决这个问题:
    • bitcomet-en_US.mo -> bitcomet-en_US.mo.bak
    • bitcomet-zh_CN.mo -> bitcomet-en_US.mo
  7. 最终效果如图:

    可以看到有小部分仍是英文,可能因为对应字段未存储在 .mo 文件中,或初始化时机与其他字段不同。

参考


绕过 BitComet 地区限制
https://refrain69.pages.dev/bypass-bitcomet-region-check/
发布于
2025年3月2日
许可协议