天狼星视频加密加密视频怎么看

金达|||[] []
视频翻录加密视频提取,飓风、天狼星、金盾、
------分隔线----------------------------分析-去除天狼星视频加密系统的各种限制(by&zbzb97)
大家好,最近看到去除天狼星加密系统的各种限制炒得比较火爆,那个混蛋论坛居然还要公开对外出售。觉得好奇,于是就拿来分析了一下,还算收获不少,把分析过程贴出来,希望高手别见笑。^言归正传,限制主要有智能防翻录(抓屏)、防止屏幕录像软件翻录,用户名(水印)、3389检测、断网限制。那就下面就逐一来分析一下吧。
加密视频破解天狼星讨论群:
加密视频破解天狼星讨论群:
一、智能防翻录(抓屏)
这个就是用一些冷门的翻录软件、或者截屏时,虽然不被发现,但是录出来却是黑屏的。原理是:软件调用了Direct3D加速,普通的录像软件自然黑屏了。解决方法:自然是不让他启用Direct3D加速了。用OD载入我们的录像文件,在字符串里找到DirectDrawCreate,然后双击,跳转到相应的汇编代码处。如下:
FCFEFFFFmoveax,dwordptr[ebp-0x104]
testbyteptr[eax+0x627],0x2
jeshort00413B54
E8844B00movedx,dwordptr[0x4B84E8]
26C&movdwordptr[edx+0x26C],0x2
DE8844B00movecx,dwordptr[0x4B84E8]
B96Ccmpdwordptr[ecx+0x26C],0x0
ECC040000jle00414033
964B00push004B9643;ddraw.dll
D2E0A00call&jmp.&KERNEL32.LoadLibraryA&//加载ddraw.dll
E8844B00movedx,dwordptr[0x4B84E8]
EC010000movdwordptr[edx+0x1EC],eax
E8844B00moveax,dwordptr[0x4B84E8]
B8ECcmpdwordptr[eax+0x1EC],0x0
jnzshort00413B90
C9FForecx,-0x1
00413B8EEB78jmpshort00413C08
D964B00push004B964D;directdrawcreate
E8844B00moveax,dwordptr[0x4B84E8]
B90EC010000movedx,dwordptr[eax+0x1EC]
0A22D0A00call&jmp.&KERNEL32.GetProcAddress&//初始化directdraw
0B4FEFFFFmovdwordptr[ebp-0x14C],eax
00413BAC83BDB4FEFFFF00cmpdwordptr[ebp-0x14C],0x0
0jnzshort00413BBC
0FEFFFFFFmovecx,-0x2
我们的目的是直接不让程序加载Direct,那么可以看出
ECC040000jle00414033
可以完全跳过direct加载,那就改成jmp了。这样改了之后,就不黑屏了。但是会弹出一个错误框,提示)directx错误2,请关闭后重新运行试试。错误代码找到相应的代码:
:C78558FFFFFFE&movwordptr[ebp-0xA8],0xE0
D45B0leaeax,dwordptr[ebp-0x50]
B950CFFFFFFmovedx,dwordptr[ebp-0xF4]
|E8DF5A0800call004A1F88
|FF8564FFFFFFincdwordptr[ebp-0x9C]
0041C4AF|8BD0movedx,eax
|33C0xoreax,eax
|8D4DACleaecx,dwordptr[ebp-0x54]
|8945ACmovdwordptr[ebp-0x54],eax
|Bmoveax,004B9A48;directx错误2,请关闭后重新运行试试。错误代码:
0041C4BE|FF8564FFFFFFincdwordptr[ebp-0x9C]
|E8AB5F0800call004A2474
7jnzshort//改为jmp就行了
这样经过测试,就完美解决智能防翻录问题了。此时用不知名的录像软件录就不黑屏了,抓屏自然也没问题。
二、防止屏幕录像软件翻录
防止屏幕录像软件翻录,这里主要就是指的屏幕录像专家。这里下断GetWindowTextA,载入教程,运行断下后,取消断点,alt+F9返回,
549B4B00push004B9B54;/pmlxzj
A00push0x0;|Inheritable=FALSE
01001F00push0x1F0001;|Access=1F0001
0041148E|.E8B1550A00call&jmp.&KERNEL32.OpenMutexA&;\OpenMutexA
C0testeax,eax
|.E8BB530A00call&jmp.&KERNEL32.CloseHandle&;\CloseHandle
0041149D|.Bmoveax,0x1
|.BAmovedx,0x2
549B4B00push004B9B54;/pmlxzj
A00push0x0;|Inheritable=FALSE
01001F00push0x1F0001;|Access=1F0001
0041148E|.E8B1550A00call&jmp.&KERNEL32.OpenMutexA&;\OpenMutexA
C0testeax,eax
|.E8BB530A00call&jmp.&KERNEL32.CloseHandle&;\CloseHandle
0041149D|.Bmoveax,0x1
|.BAmovedx,0x2
|.50pusheax
|.8D45FCleaeax,dwordptr[ebp-0x4]
004114AB|.FF4DECdecdwordptr[ebp-0x14]
004114AE|.E85D0B0900call004A2010
|.58popeax
|.8B55D0movedx,dwordptr[ebp-0x30]
|.64:&movdwordptrfs:[0],edx
004114BE|.E9B1010000jmp
|&33F6xoresi,esi
|.85DBtestebx,ebx
|.0F844E41161B
004114CD|&/push0x400;/Arg3=
|.6A00|push0x0;|Arg2=
|.8D85C8F7FFFF|leaeax,dwordptr[ebp-0x838];|
004114DA|.50||Arg1
004114DB|.E8A4290800|call00493E84;\第十八讲.00493E84
|.83C40C|addesp,0xC
|.8D95C8F7FFFF|leaedx,dwordptr[ebp-0x838]
|.|push0x400;/Count=400(1024.)
004114EE|.52||Buffer
004114EF|.53||hWnd
|.E8E55A0A00|call&jmp.&USER32.GetWindowTextA&;\GetWindowTextA
|.66:C745E020&|movwordptr[ebp-0x20],0x20//返回到这里
;004114FB|.8D95C8F7FFFF|leaedx,dwordptr[ebp-0x838]
向上看还发现
549B4B00push004B9B54;/pmlxzj
A00push0x0;|Inheritable=FALSE
01001F00push0x1F0001;|Access=1F0001
0041148E|.E8B1550A00call&jmp.&KERNEL32.OpenMutexA&;\OpenMutexA
这个地方OpenMutexA一般用来进程互斥,看到pmlxzj,很明显是屏幕录像专家的缩写吧。哈哈F8F8F8"&/e6\*a6y+I:w#E那就修改这里,
C0testeax,eax
C0xoreax,eax
Cjmpshort004114C3
|&\33F6xoresi,esi
|.85DBtestebx,ebx
|.0F844E41161B
|&\33F6xoresi,esi
|.85DBtestebx,ebx
E94E010000jmp0041161B
这样就修改好了。顺便在这个程序的断尾下段,看看这个call的上一层是什么。
BE5movesp,ebp
0041167A\.C3retn//在这里F2,断下后F8来到下面
DBC9FFFFcall;\第十八讲.//刚才的那个call
popecx//来到这里。;00B12724
Fjnz00414AE5//有个跳转,不跳就检测到非法软件
:C78510FFF&movwordptr[ebp-0xF0],0x1DC
B95FCFEFFFFmovedx,dwordptr[ebp-0x104]
C0xoreax,eax
B8A401B0000movecx,dwordptr[edx+0x1B40]
D9540FFFFFFleaedx,dwordptr[ebp-0xC0]
8540FFFFFFmovdwordptr[ebp-0xC0],eax
00414A72.FF851CFFFFFFincdwordptr[ebp-0xE4]
E34D0200call
C0xoreax,eax
C408addesp,0x8
53CFFFFFFmovdwordptr[ebp-0xC4],eax
5994B00moveax,004B9945;播放时请关闭其它不相关软件:
00414A8D.FF851CFFFFFFincdwordptr[ebp-0xE4]
从上面的代码,可以看出下GetWindowTextA还是比较准确的。至于
Fjnz00414AE5
这里就没有必要修改了,因为我们已经在关键call里面改动了相关的代码了,这样防止屏幕录像软件翻录的限制就去除了,现在可以使用屏幕录像专家或者其他知名录像软件来翻录了。
用户名(水印)
这个所谓的水印就是指跳动的用户名、屏幕上固定不动的字符`原理应该是:视频解码之后,然后在临时电脑屏幕上绘上去的吧。,i那就下bpGDI32.ExtTextOutA这个断点既然是视频解码之后,然后在临时电脑屏幕上绘上去的,那我们就等录像显示正在打开那个进度条时,再下段吧。一开始就下断点,可能断的次数太多。重新载入教程,bpGDI32.ExtTextOutA,断下之后,看堆栈:
44D30E/CALLtoExtTextOutAfrom第十八讲.
E6011DDD|hDC=E6011DDD
000000|X=0
000000|Y=0
000000|Options=0
000000|pRect=NULL
B4F3BC|String="用",BB,"?"
000016|StringSize=16(22.)
000000\pSpacing=NULL
很明显,"用",BB,"?/",这个就是漂浮着的那个水印。那我们可以修改成任意的名字,这也就是传说中的替换水印。注意:(不能把这个内容清空,因为程序会校验,清空了,播放一段时间,就出错)。
000016|StringSize=16(22.)指的就是水印的大小,我们改为1(注意不能改为0,因为程序会校验,改为0,播放一段时间,就出错b|!D)w.w-N2B#t0J-L结合上面的分析,我们这样修改:修改水印大小为1,把用户名变为“-”,很小的字符,占两个像素,几乎看不出来了。
四、3389检测
这个的话,也非常容易。查找字符串“请断开远程终端后再播放”
00412F5D./7421jeshort00412F80
00412F5F.|66:C78510FFF&movwordptr[ebp-0xF0],0x50
B55E0movedx,dwordptr[ebp-0x20]
00412F6B.|52/Arg1
00412F6C.|Ecall0043AED8;\第十八讲.0043AED8
:C78510FFF&movwordptr[ebp-0xF0],0x44
00412F7B.|8B5DE0movebx,dwordptr[ebp-0x20]
00412F7E.|EB03jmpshort00412F83
B5DE0movebx,dwordptr[ebp-0x20]
EF800200call;\第十八讲.
3Ejnzshort00412FCB
:C78510FFF&movwordptr[ebp-0xF0],0x5C
00412F96.BAC3954B00movedx,004B95C3;请断开远程终端后再播放
D45DCleaeax,dwordptr[ebp-0x24]
00412F9E.E871EF0800call004A1F14
00412FA3.FF851CFFFFFFincdwordptr[ebp-0xE4]
0B00moveax,dwordptr[eax]
00412FAB.E87C120500call0046422C
00412FB0.FF8D1CFFFFFFdecdwordptr[ebp-0xE4]
0D45DCleaeax,dwordptr[ebp-0x24]
00412FB9.BAmovedx,0x2
00412FBE.E84DF00800call004A2010
0A00push0x0
0C69F0800call0049CF90
00412FCA.59popecx
00412FCB&6A03push0x3;/Arg2=
00412FCD.53|Arg1
直接修改这个就行吧
3Ejnzshort00412FCB//jnz改jmp即可
不过,我更喜欢进上面的关键call里改。
EF800200call
F7进到这里面,现在本机没有开3389,那就在OD里走一遍,把发生跳转的都改jmp,没跳的都nop,就行了。这里就不演示了。这样,就去除了3389检测的限制。
五、断网限制
断网限制,下断IPHLPAPI.PfCreateInterface,断下之后alt+F9返回
BECmovebp,esp
C4D0addesp,-0x30
0040185A|.53pushebx
0040185B|.56pushesi
0040185C|.8B7510movesi,dwordptr[ebp+0x10]
0040185F|.8B5D08movebx,dwordptr[ebp+0x8]
D04B3leaeax,dwordptr[ebx+esi*4]
C050addeax,0x50
A01push0x1
0040186B|.6A00push0x0
0040186D|.6A01push0x1
0040186F|.6A01push0x1
A00push0x0
|.Ecall&jmp.&IPHLPAPI.PHLPAPI._PfCreate&
C0testeax,eax
0040187A|.7407jeshort
0040187C|.33C0xoreax,eax
0040187E|.E98C000000jmp0040190F
B15EC844B00movedx,dwordptr[0x4B84EC]
55FCmovdwordptr[ebp-0x4],edx
0040187A|.7407jeshort
即可这样,就去掉了断网限制。;总结一下,以上分析,就完美去掉了天狼系加密系统的所有限制,经测试,对于不同的录像文件,这个限制部分的程序的代码结构是一模一样的。感兴趣的朋友可以做一个通用的去限制补丁。附上我刚才分析的那个录像文件,供大家分析。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 天狼星视频加密软件 的文章

 

随机推荐