好友
阅读权限10
听众
最后登录1970-1-1
|
ieiqp
发表于 2009-12-10 20:16
标题:去掉屏幕录像专家加密的动画断网功能
贴者:peterchen
日期:2009-7-25 20:38
加上网络校正已经不是什么大事,但是加上了本地断网络功能就是有点说不过出。
破解思路:“由于这只是一个动画教程exe,在原理上没有网络也可以播放。所以就是操作网络入手;
而在windows上常用操作网络API有两个一个是winsock.dll与winsock2.dll,这里用就是
后者。”
中断函数确定:
OD中:ctrl+n
中断以下任意一个函数:
004A395C - FF25 3CD54B00 jmp dword ptr ds:[<&WSOCK32.#116>] ; WS2_32.WSACleanup
004A3962 - FF25 40D54B00 jmp dword ptr ds:[<&WSOCK32.#115>] ; WS2_32.WSAStartup
004A3968 - FF25 44D54B00 jmp dword ptr ds:[<&WSOCK32.#52>] ; WS2_32.gethostbyname
004A396E - FF25 48D54B00 jmp dword ptr ds:[<&WSOCK32.#57>] ; WS2_32.gethostname
004A3974 - FF25 4CD54B00 jmp dword ptr ds:[<&WSOCK32.#8>] ; WS2_32.ntohl
004A397A - FF25 50D54B00 jmp dword ptr ds:[<&WSOCK32.#14>] ; WS2_32.ntohl
调试网络方法:
由于它是断网功能,所以我们可以利用ping作为校正网络是否通工具?
由于程序调用时间不定,所以让ping时间更长。就有以下命令:
ping -n 10000 163.com
注意:“我们每单步走一个call,就停顿一下看ping是否通过从而确定断网关键call”。
第一次中断返回内容:
0040155B 53 push ebx
0040155C 56 push esi
0040155D 52 push edx
0040155E 50 push eax
0040155F E8 FE230A00 call <jmp.&WSOCK32.#115>
00401564 68 00040000 push 400
00401569 8D8D FCFBFFFF lea ecx,dword ptr ss:[ebp-404]
0040156F 51 push ecx
00401570 E8 F9230A00 call <jmp.&WSOCK32.#57>
00401575 85C0 test eax,eax
00401577 75 56 jnz short test.004015CF
00401579 8D85 FCFBFFFF lea eax,dword ptr ss:[ebp-404]
0040157F 50 push eax
00401580 E8 E3230A00 call <jmp.&WSOCK32.#52>
00401585 33F6 xor esi,esi
00401587 8B55 0C mov edx,dword ptr ss:[ebp+C]
0040158A 8BCA mov ecx,edx
0040158C 894D FC mov dword ptr ss:[ebp-4],ecx
0040158F EB 28 jmp short test.004015B9
00401591 66:8378 0A 04 cmp word ptr ds:[eax+A],4
00401596 75 1C jnz short test.004015B4
00401598 33D2 xor edx,edx
0040159A 8B4D FC mov ecx,dword ptr ss:[ebp-4]
0040159D EB 0D jmp short test.004015AC
0040159F 8B58 0C mov ebx,dword ptr ds:[eax+C]
004015A2 8B1CB3 mov ebx,dword ptr ds:[ebx+esi*4]
004015A5 8A1C13 mov bl,byte ptr ds:[ebx+edx]
004015A8 42 inc edx
004015A9 8819 mov byte ptr ds:[ecx],bl
004015AB 41 inc ecx
004015AC 0FBF58 0A movsx ebx,word ptr ds:[eax+A]
004015B0 3BD3 cmp edx,ebx
004015B2 ^ 7C EB jl short test.0040159F
004015B4 46 inc esi
004015B5 8345 FC 04 add dword ptr ss:[ebp-4],4
004015B9 85C0 test eax,eax
004015BB 74 09 je short test.004015C6
004015BD 8B50 0C mov edx,dword ptr ds:[eax+C]
004015C0 833CB2 00 cmp dword ptr ds:[edx+esi*4],0
004015C4 ^ 75 CB jnz short test.00401591
004015C6 E8 91230A00 call <jmp.&WSOCK32.#116>
004015CB 8BC6 mov eax,esi
004015CD EB 07 jmp short test.004015D6
004015CF E8 88230A00 call <jmp.&WSOCK32.#116>
004015D4 33C0 xor eax,eax
004015D6 5E pop esi
004015D7 5B pop ebx
004015D8 8BE5 mov esp,ebp
004015DA 5D pop ebp
004015DB C3 retn
返回关键的内容:
0040AC69 57 push edi
0040AC6A 52 push edx
0040AC6B 56 push esi
0040AC6C E8 9F69FFFF call test.00401610 ---->中断在这里F9一次进入
0040AC71 83C4 0C add esp,0C
0040AC74 47 inc edi
0040AC75 83C3 04 add ebx,4
0040AC78 3BBE F0000000 cmp edi,dword ptr ds:[esi+F0]
0040AC7E ^ 7C CB jl short test.0040AC4B
断网络功能逻辑循环:
0040162D 6A 00 push 0
0040162F E8 44200A00 call <jmp.&IPHLPAPI.PHLPAPI._PfCreate>
00401634 85C0 test eax,eax
00401636 74 07 je short test.0040163F 为能跳 nop 9090
00401638 33C0 xor eax,eax
0040163A E9 8C000000 jmp test.004016CB
0040163F 8B15 C2544A00 mov edx,dword ptr ds:[4A54C2]
00401645 8955 FC mov dword ptr ss:[ebp-4],edx
00401648 8B4D 0C mov ecx,dword ptr ss:[ebp+C]
0040164B 51 push ecx
0040164C 6A 00 push 0
0040164E 8B44B3 50 mov eax,dword ptr ds:[ebx+esi*4+50]
00401652 50 push eax
00401653 E8 1A200A00 call <jmp.&IPHLPAPI.PHLPAPI._PfBindInterfaceTo> ----------------->断网络功能
00401658 C745 D0 0100000>mov dword ptr ss:[ebp-30],1
004A3672 - FF25 38D14B00 jmp dword ptr ds:[<&IPHLPAPI.PHLPAPI._PfBindInterfaceT>; IPHLPAPI.PfBindInterfaceToIPAddress
00401636 74 07 je short test.0040163F 为能跳 nop 9090
这个不跳本地断网络功能,就轻易去掉了!这下子可以在网吧什么地方看动画教程都可以了。
以上是屏幕录像专家,第二代加密动画教程本地断网功能限制去除。由于没有第三代key,不能通过替换法也不知道是否合适? |
|
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|