绕过 BitComet 地区限制的方法
目录
警告
仅供学习和研究使用,请遵守当地法律法规。
众所周知,BitComet 在中国大陆地区部分功能被封锁,例如种子市场等等。我们可以通过简单的方式绕过这个限制。
1 步骤
-
用 x64dbg 载入
注意:此处可能需关闭 ScyllaHide,否则会导致持续出现异常;可能需要隐藏调试器:调试 -> 高级 -> 隐藏调试器。
-
Ctrl + G 或在符号界面断下
GetUserDefaultUILanguage。 -
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 | -
修改下面的
mov eax,ebx为mov eax,0x409。注意切记加上0x前缀,否则会被当作十进制数处理。 -
Ctrl + P 保存。
-
打开 BitComet,即可看到语言变成英文,种子市场等功能已经解锁。当然,如果你把语言修改为简体中文,这些功能又隐藏了。 我们可以通过修改
C:\Program Files\BitComet\lang目录下的.mo文件的名字来解决这个问题:bitcomet-en_US.mo->bitcomet-en_US.mo.bakbitcomet-zh_CN.mo->bitcomet-en_US.mo
-
最终效果如图:
可以看到有小部分仍是英文,可能因为对应字段未存储在 .mo文件中,或初始化时机与其他字段不同。