-
-
[原创]新手上路,暴力破解CCProxy
-
发表于:
2016-9-28 15:50
15398
-
第一次破解,大神请飘过。
首先介绍下CCProxy这个工具吧,CCProxy主要的功能就是设置网络代理,比如在A服务器上设置了代理,B客户机上连接A服务器的代理,这样B就能通过A服务器进行Internet的访问。这样说大家可能不太明白,举个例子吧,我们公司在香港租赁了一台服务器,在这台服务器是可以访问Google的,但总不能每次mstsc到服务器,然后再在服务器上打开浏览器,访问Google吧,这时候只要在香港服务器上运行CCProxy,再在客户端的浏览器上进行代理设置就能直接访问Google,可以无限畅游国外网站。
好的,废话不多说,这次试用的版本是8.0的,如果是非注册用户,就只能设置3个用户,这3个用户可以通过它的代理访问网络(也可以设置不限制,这样你的服务器资源就造福全社会了),如果注册成功就能设置任意个数的用户。用到的破解工具就是OllyDbg2.01。
首先,我在自己电脑上装了一下CCProxy,发现不能用OD链接,结果发现OD貌似是不支持X64程序的。后来装了个虚拟机,在虚拟机上进行破解。
(1)直接运行,点击注册,可以看到提示“对不起,注册失败!”
(2)后来想了想,要是用OD搜索字符串如果是中文可能不好搜索,于是就换成了英文版,提示就变成了"Sorry. Registration Failed!"。
(3)一切准备就绪,用OD连接该程序,按F9运行,右键->搜索->所用引用的字符串,在再里面搜索Sorry,然并卵,并没有搜索到。
(4)觉得是OD自带的字符串搜索工具不行,就下了搜索字符串的插件(StrFinder.dll),结果还是一样没有搜到(最后发现是在内存的堆地址里面),看样子要换别的方法了。在系统函数里下断点,首先BP MessageBoxA,确实可以下到断点,然后还可以看到入参。可以看到调用MessageBoxA是在CCProxy.00438D8F。
01D6D564 |00438D8F ; /返回到 USER32.MessageBoxA 来自 CCProxy.00438D8F
01D6D568 |00000000 ; |hOwner = NULL
01D6D56C |016E0440 ; |Text = "Sorry. Registration Failed!"
01D6D570 |016D11F8 ; |Caption = "Sorry. Registration Failed! (10)"
01D6D574 |00000040 ;
|Type = MB_OK|MB_ICONASTERISK|MB_DEFBUTTON1|MB_APPLMODAL
01D6D5A8 |00438EA2 ; /返回到 CCProxy.00438CE0 来自 CCProxy.00438EA2
01D6D5AC |016E0440 ; |Arg1 = ASCII "Sorry. Registration Failed!"
01D6D5B0 |016E0408 ; |Arg2 = ASCII "Sorry. Registration Failed!"
01D6D5B4 |0000000A ; |Arg3 = 0A
01D6D5B8 |00000001 ; |Arg4 = 1
01D6D5BC |00000040 ; |Arg5 = 40
01D6D640 [004460E9 ; /返回到 CCProxy.00438E50 来自 CCProxy.004460E9
01D6D644 00000000 ; |Arg1 = 0
01D6D648 016E0408 ; |Arg2 = ASCII "Sorry. Registration Failed!"
01D6D64C 016E03D0 ; |Arg3 = ASCII "Sorry. Registration Failed!"
01D6D650 00000040 ; |Arg4 = 40
01D6D654 0000000A ; \Arg5 = 0A
00445B83 | push offset 0046A344; Arg2 = ASCII "Client2Server"
00445B88 | mov edx, dword ptr [ebp-18]
00445B8B |push edx; Arg1
00445B8C |mov ecx, dword ptr [ebp-188C]
00445B92 | call 0043C1F0 CCProxy.0043C1F0
00445B97 | mov eax, dword ptr [ebp-188C]
00445B9D |mov ecx, dword ptr [ebp-18]
00445BA0 |mov dword ptr [eax+118], ecx
00445BA6 |jmp short 00445BBC
00445BA8 |push offset 0046A354 Arg2 = ASCII "Server2Client"
00445BAD |mov edx, dword ptr [ebp-18]
00445BB0 |push edx Arg1
00445BB1 |mov ecx, dword ptr [ebp-188C]
00445BB7 |call 0043C1F0 CCProxy.0043C1F0
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课