目录

目录

绕过 BitComet 地区限制的方法

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

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

  1. 用 x64dbg 载入

    注意:此处可能需关闭 ScyllaHide,否则会导致持续出现异常;可能需要隐藏调试器:调试 -> 高级 -> 隐藏调试器。

  2. Ctrl + G 或在符号界面断下 GetUserDefaultUILanguage

  3. F9 运行到断点,然后 Alt + F9 执行到用户代码。 位置大致如下:

    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 文件中,或初始化时机与其他字段不同。