分析-去除天狼星视频加密系统的各种限制 下载本文

大家好,最近看到去除天狼星加密系统的各种限制炒得比较火爆,那个混蛋论坛居然还要公开对外出售。觉得好奇,于是就拿来分析了一下,还算收获不少,把分析过程贴出来,希望高手别见笑。^言归正传,限制主要有智能防翻录(抓屏)、防止屏幕录像软件翻录,用户名(水印)、3389检测、断网限制。那就下面就逐一来分析一下吧。

加密视频破解天狼星讨论群:88649216 加密视频破解天狼星讨论群:88649216 一、智能防翻录(抓屏)

这个就是用一些冷门的翻录软件、或者截屏时,虽然不被发现,但是录出来却是黑屏的。原理是:软件调用了Direct3D加速,普通的录像软件自然黑屏了。解决方法:自然是不让他启用Direct3D加速了。用OD载入我们的录像文件,在字符串里找到DirectDrawCreate,然后双击,跳转到相应的汇编代码处。如下:

00413B358B85FCFEFFFFmoveax,dwordptr[ebp-0x104] 00413B3BF6802706000002testbyteptr[eax+0x627],0x2 00413B427410jeshort00413B54

00413B448B15E8844B00movedx,dwordptr[0x4B84E8]

00413B4AC7826C0200000200>movdwordptr[edx+0x26C],0x2 00413B548B0DE8844B00movecx,dwordptr[0x4B84E8] 00413B5A83B96C02000000cmpdwordptr[ecx+0x26C],0x0 00413B610F8ECC040000jle00414033

00413B676843964B00push004B9643;ddraw.dll

00413B6CE89D2E0A00call//加载ddraw.dll 00413B718B15E8844B00movedx,dwordptr[0x4B84E8] 00413B778982EC010000movdwordptr[edx+0x1EC],eax 00413B7DA1E8844B00moveax,dwordptr[0x4B84E8] 00413B8283B8EC01000000cmpdwordptr[eax+0x1EC],0x0 00413B897505jnzshort00413B90 00413B8B83C9FForecx,-0x1 00413B8EEB78jmpshort00413C08

00413B90684D964B00push004B964D;directdrawcreate 00413B95A1E8844B00moveax,dwordptr[0x4B84E8] 00413B9A8B90EC010000movedx,dwordptr[eax+0x1EC] 00413BA052pushedx

00413BA1E8A22D0A00call//初始化directdraw 00413BA68985B4FEFFFFmovdwordptr[ebp-0x14C],eax 00413BAC83BDB4FEFFFF00cmpdwordptr[ebp-0x14C],0x0 00413BB37507jnzshort00413BBC 00413BB5B9FEFFFFFFmovecx,-0x2

我们的目的是直接不让程序加载Direct,那么可以看出 00413B610F8ECC040000jle00414033

可以完全跳过direct加载,那就改成jmp了。这样改了之后,就不黑屏了。但是会弹出一个错误框,提示)directx错误2,请关闭后重新运行试试。错误代码找到相应的代码: 0041C490/7567jnzshort0041C4F9

0041C492|66:C78558FFFFFFE>movwordptr[ebp-0xA8],0xE0 0041C49B|8D45B0leaeax,dwordptr[ebp-0x50]

0041C49E|8B950CFFFFFFmovedx,dwordptr[ebp-0xF4] 0041C4A4|E8DF5A0800call004A1F88

0041C4A9|FF8564FFFFFFincdwordptr[ebp-0x9C] 0041C4AF|8BD0movedx,eax 0041C4B1|33C0xoreax,eax

0041C4B3|8D4DACleaecx,dwordptr[ebp-0x54] 0041C4B6|8945ACmovdwordptr[ebp-0x54],eax

0041C4B9|B8489A4B00moveax,004B9A48;directx错误2,请关闭后重新运行试试。错误代码: 0041C4BE|FF8564FFFFFFincdwordptr[ebp-0x9C] 0041C4C4|E8AB5F0800call004A2474 这句

0041C490/7567jnzshort0041C4F9//改为jmp就行了

这样经过测试,就完美解决智能防翻录问题了。此时用不知名的录像软件录就不黑屏了,抓屏自然也没问题。

二、防止屏幕录像软件翻录

防止屏幕录像软件翻录,这里主要就是指的屏幕录像专家。这里下断GetWindowTextA,载入教程,运行断下后,取消断点,alt+F9返回,

00411482|.68549B4B00push004B9B54;/pmlxzj 00411487|.6A00push0x0;|Inheritable=FALSE

00411489|.6801001F00push0x1F0001;|Access=1F0001

0041148E|.E8B1550A00call;\\OpenMutexA 00411493|.85C0testeax,eax 00411495|.742Cjeshort004114C3 00411497|.50pusheax;/hObject

00411498|.E8BB530A00call;\\CloseHandle 0041149D|.B801000000moveax,0x1 004114A2|.BA02000000movedx,0x2

00411482|.68549B4B00push004B9B54;/pmlxzj 00411487|.6A00push0x0;|Inheritable=FALSE

00411489|.6801001F00push0x1F0001;|Access=1F0001

0041148E|.E8B1550A00call;\\OpenMutexA 00411493|.85C0testeax,eax 00411495|.742Cjeshort004114C3 00411497|.50pusheax;/hObject

00411498|.E8BB530A00call;\\CloseHandle 0041149D|.B801000000moveax,0x1 004114A2|.BA02000000movedx,0x2 004114A7|.50pusheax

004114A8|.8D45FCleaeax,dwordptr[ebp-0x4] 004114AB|.FF4DECdecdwordptr[ebp-0x14] 004114AE|.E85D0B0900call004A2010 004114B3|.58popeax

004114B4|.8B55D0movedx,dwordptr[ebp-0x30] 004114B7|.64:891500000>movdwordptrfs:[0],edx 004114BE|.E9B1010000jmp00411674 004114C3|>33F6xoresi,esi 004114C5|.85DBtestebx,ebx

004114C7|.0F844E010000je0041161B

004114CD|>6800040000/push0x400;/Arg3=00000400 004114D2|.6A00|push0x0;|Arg2=00000000

004114D4|.8D85C8F7FFFF|leaeax,dwordptr[ebp-0x838];| 004114DA|.50|pusheax;|Arg1

004114DB|.E8A4290800|call00493E84;\\第十八讲.00493E84 004114E0|.83C40C|addesp,0xC

004114E3|.8D95C8F7FFFF|leaedx,dwordptr[ebp-0x838] 004114E9|.6800040000|push0x400;/Count=400(1024.) 004114EE|.52|pushedx;|Buffer 004114EF|.53|pushebx;|hWnd

004114F0|.E8E55A0A00|call;\\GetWindowTextA 004114F5|.66:C745E020>|movwordptr[ebp-0x20],0x20//返回到这里 ;004114FB|.8D95C8F7FFFF|leaedx,dwordptr[ebp-0x838] 向上看还发现

00411482|.68549B4B00push004B9B54;/pmlxzj 00411487|.6A00push0x0;|Inheritable=FALSE

00411489|.6801001F00push0x1F0001;|Access=1F0001

0041148E|.E8B1550A00call;\\OpenMutexA

这个地方OpenMutexA一般用来进程互斥,看到pmlxzj,很明显是屏幕录像专家的缩写吧。哈哈F8F8F8\那就修改这里, 00411493|.85C0testeax,eax 00411495|.742Cjeshort004114C3 改为

0041149333C0xoreax,eax

00411495EB2Cjmpshort004114C3 还有这里

004114C3|>\\33F6xoresi,esi

004114C5|.85DBtestebx,ebx

004114C7|.0F844E010000je0041161B 改为

004114C3|>\\33F6xoresi,esi 004114C5|.85DBtestebx,ebx 004114C790nop

004114C8E94E010000jmp0041161B

这样就修改好了。顺便在这个程序的断尾下段,看看这个call的上一层是什么。 00411677|.8BE5movesp,ebp 00411679|.5Dpopebp

0041167A\\.C3retn//在这里F2,断下后F8来到下面 00414A3F.50pusheax;/Arg1

00414A40.E8DBC9FFFFcall00411420;\\第十八讲.00411420//刚才的那个call 00414A45.59popecx//来到这里。;00B12724 00414A46.48deceax

00414A47.0F8598000000jnz00414AE5//有个跳转,不跳就检测到非法软件 00414A4D.66:C78510FFF>movwordptr[ebp-0xF0],0x1DC 00414A56.8B95FCFEFFFFmovedx,dwordptr[ebp-0x104] 00414A5C.33C0xoreax,eax

00414A5E.8B8A401B0000movecx,dwordptr[edx+0x1B40] 00414A64.8D9540FFFFFFleaedx,dwordptr[ebp-0xC0] 00414A6A.51pushecx

00414A6B.898540FFFFFFmovdwordptr[ebp-0xC0],eax 00414A71.52pushedx

00414A72.FF851CFFFFFFincdwordptr[ebp-0xE4] 00414A78.E8E34D0200call00439860 00414A7D.33C0xoreax,eax 00414A7F.83C408addesp,0x8

00414A82.89853CFFFFFFmovdwordptr[ebp-0xC4],eax

00414A88.B845994B00moveax,004B9945;播放时请关闭其它不相关软件: 00414A8D.FF851CFFFFFFincdwordptr[ebp-0xE4]

从上面的代码,可以看出下GetWindowTextA还是比较准确的。至于 00414A47.0F8598000000jnz00414AE5

这里就没有必要修改了,因为我们已经在关键call里面改动了相关的代码了,这样防止屏幕录像软件翻录的限制就去除了,现在可以使用屏幕录像专家或者其他知名录像软件来翻录了。

用户名(水印)