和菜鸟们一起攻克金盾2018SS加密视频
今天刚拿到金盾2018SS加密的视频,界面如下:<ignore_js_op>
机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了;
<ignore_js_op>
OD打开我们发现其实18SS的播放器仍然是有类似的机器码,只不过是三组数据构成,类似"0000-0000-0000"这样的格式;<ignore_js_op>
运行-->暂停-->返回到用户代码-->查找字符串
我们可以发现和之前的版本有类似的地方,大概的机器码生成的地方,就可能在这里;
|
001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
036
037
038
039
040
041
042
043
044
045
046
047
048
049
050
051
052
053
054
055
056
057
058
059
060
061
062
063
064
065
066
067
068
069
070
071
072
073
074
075
076
077
078
079
080
081
082
083
084
085
086
087
088
089
090
091
092
093
094
095
096
097
098
099
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
|
0089B808 . 55 push ebp0089B809 . 8BEC mov ebp,esp0089B80B . 83C4 F0 add esp,-0x100089B80E . 53 push ebx0089B80F . 56 push esi0089B810 . 57 push edi0089B811 . 33C9 xor ecx,ecx0089B813 . 894D FC mov dword ptr ss:[ebp-0x4],ecx0089B816 . 8945 F8 mov dword ptr ss:[ebp-0x8],eax0089B819 . 33C0 xor eax,eax0089B81B . 55 push ebp0089B81C . 68 59BA8900 push 金盾18SS.0089BA590089B821 . 64:FF30 push dword ptr fs:[eax]0089B824 . 64:8920 mov dword ptr fs:[eax],esp0089B827 . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089B82C . 8B80 64020000 mov eax,dword ptr ds:[eax+0x264]0089B832 . B2 01 mov dl,0x10089B834 . 8B08 mov ecx,dword ptr ds:[eax]0089B836 . FF91 E8000000 call dword ptr ds:[ecx+0xE8]0089B83C . 33C0 xor eax,eax0089B83E . 55 push ebp0089B83F . 68 5EB88900 push 金盾18SS.0089B85E0089B844 . 64:FF30 push dword ptr fs:[eax]0089B847 . 64:8920 mov dword ptr fs:[eax],esp0089B84A . E8 39E0F7FF call 金盾18SS.008198880089B84F . 8B10 mov edx,dword ptr ds:[eax]0089B851 . FF52 14 call dword ptr ds:[edx+0x14]0089B854 . 33C0 xor eax,eax0089B856 . 5A pop edx0089B857 . 59 pop ecx0089B858 . 59 pop ecx0089B859 . 64:8910 mov dword ptr fs:[eax],edx0089B85C . EB 0A jmp short 金盾18SS.0089B8680089B85E .^ E9 FDDDB6FF jmp 金盾18SS.004096600089B863 . E8 50E2B6FF call 金盾18SS.00409AB80089B868 > A1 EC5D8D00 mov eax,dword ptr ds:[0x8D5DEC]0089B86D . 8338 00 cmp dword ptr ds:[eax],0x00089B870 . 0F84 01010000 je 金盾18SS.0089B9770089B876 . 8B0D EC5D8D00 mov ecx,dword ptr ds:[0x8D5DEC] ; 金盾18SS.008F1C4C0089B87C . 8B09 mov ecx,dword ptr ds:[ecx]0089B87E . 8D45 FC lea eax,dword ptr ss:[ebp-0x4]0089B881 . BA 74BA8900 mov edx,金盾18SS.0089BA74 ; c:\drmsoft\face0089B886 . E8 71FBB6FF call 金盾18SS.0040B3FC0089B88B . B2 01 mov dl,0x10089B88D . 8B45 FC mov eax,dword ptr ss:[ebp-0x4]0089B890 . E8 B3AEB8FF call 金盾18SS.004267480089B895 . 84C0 test al,al0089B897 . 74 08 je short 金盾18SS.0089B8A10089B899 . 8B45 FC mov eax,dword ptr ss:[ebp-0x4]0089B89C . E8 33B3B8FF call 金盾18SS.00426BD40089B8A1 > 33D2 xor edx,edx0089B8A3 . 55 push ebp0089B8A4 . 68 70B98900 push 金盾18SS.0089B9700089B8A9 . 64:FF32 push dword ptr fs:[edx]0089B8AC . 64:8922 mov dword ptr fs:[edx],esp0089B8AF . 8B45 FC mov eax,dword ptr ss:[ebp-0x4]0089B8B2 . E8 FDAAB8FF call 金盾18SS.004263B40089B8B7 . 50 push eax0089B8B8 . E8 3B8EB7FF call 金盾18SS.004146F80089B8BD . 6A 01 push 0x10089B8BF . 8B4D FC mov ecx,dword ptr ss:[ebp-0x4]0089B8C2 . B2 01 mov dl,0x10089B8C4 . A1 AC444400 mov eax,dword ptr ds:[0x4444AC] ; 8FF0089B8C9 . E8 A696BCFF call 金盾18SS.00464F740089B8CE . 8BD8 mov ebx,eax0089B8D0 . 6A 40 push 0x400089B8D2 . 8B0D A8608D00 mov ecx,dword ptr ds:[0x8D60A8] ; 金盾18SS.008F1AB00089B8D8 . 8B09 mov ecx,dword ptr ds:[ecx]0089B8DA . B2 01 mov dl,0x10089B8DC . A1 AC444400 mov eax,dword ptr ds:[0x4444AC] ; 8FF0089B8E1 . E8 8E96BCFF call 金盾18SS.00464F740089B8E6 . 8945 F4 mov dword ptr ss:[ebp-0xC],eax0089B8E9 . 8B15 7C558D00 mov edx,dword ptr ds:[0x8D557C] ; 金盾18SS.008F1C580089B8EF . 8B12 mov edx,dword ptr ds:[edx]0089B8F1 . F7DA neg edx0089B8F3 . 66:B9 0200 mov cx,0x20089B8F7 . 8B45 F4 mov eax,dword ptr ss:[ebp-0xC]0089B8FA . 8B30 mov esi,dword ptr ds:[eax]0089B8FC . FF56 1C call dword ptr ds:[esi+0x1C]0089B8FF . 8D55 F0 lea edx,dword ptr ss:[ebp-0x10]0089B902 . B9 04000000 mov ecx,0x40089B907 . 8B45 F4 mov eax,dword ptr ss:[ebp-0xC]0089B90A . E8 7590BCFF call 金盾18SS.004649840089B90F . 8B15 7C558D00 mov edx,dword ptr ds:[0x8D557C] ; 金盾18SS.008F1C580089B915 . 8B12 mov edx,dword ptr ds:[edx]0089B917 . 0355 F0 add edx,dword ptr ss:[ebp-0x10]0089B91A . F7DA neg edx0089B91C . 66:B9 0200 mov cx,0x20089B920 . 8B45 F4 mov eax,dword ptr ss:[ebp-0xC]0089B923 . 8B30 mov esi,dword ptr ds:[eax]0089B925 . FF56 1C call dword ptr ds:[esi+0x1C]0089B928 . 8B45 F0 mov eax,dword ptr ss:[ebp-0x10]0089B92B . 99 cdq0089B92C . 52 push edx0089B92D . 50 push eax0089B92E . 8B55 F4 mov edx,dword ptr ss:[ebp-0xC]0089B931 . 8BC3 mov eax,ebx0089B933 . E8 EC92BCFF call 金盾18SS.00464C240089B938 . 8BC3 mov eax,ebx0089B93A . E8 B5CDB6FF call 金盾18SS.004086F40089B93F . 6A 00 push 0x00089B941 . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089B946 . 8B80 6C020000 mov eax,dword ptr ds:[eax+0x26C]0089B94C . 8B80 60030000 mov eax,dword ptr ds:[eax+0x360]0089B952 . 8B55 FC mov edx,dword ptr ss:[ebp-0x4]0089B955 . E8 967AE2FF call 金盾18SS.006C33F00089B95A . 33C0 xor eax,eax0089B95C . 5A pop edx0089B95D . 59 pop ecx0089B95E . 59 pop ecx0089B95F . 64:8910 mov dword ptr fs:[eax],edx0089B962 . 68 77B98900 push 金盾18SS.0089B9770089B967 > 8B45 F4 mov eax,dword ptr ss:[ebp-0xC]0089B96A . E8 85CDB6FF call 金盾18SS.004086F40089B96F . C3 retn0089B970 .^ E9 9FDFB6FF jmp 金盾18SS.004099140089B975 .^ EB F0 jmp short 金盾18SS.0089B9670089B977 > 8B15 1C5D8D00 mov edx,dword ptr ds:[0x8D5D1C] ; 金盾18SS.008F1B480089B97D . 8B12 mov edx,dword ptr ds:[edx]0089B97F . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089B984 . E8 5BC1E5FF call 金盾18SS.006F7AE40089B989 . 8B15 685A8D00 mov edx,dword ptr ds:[0x8D5A68] ; 金盾18SS.008F1AD80089B98F . 8B12 mov edx,dword ptr ds:[edx]0089B991 . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089B996 . 8B80 54020000 mov eax,dword ptr ds:[eax+0x254]0089B99C . 8B08 mov ecx,dword ptr ds:[eax]0089B99E . FF91 C0020000 call dword ptr ds:[ecx+0x2C0]0089B9A4 . 8B15 A44E8D00 mov edx,dword ptr ds:[0x8D4EA4] ; 金盾18SS.008F1B600089B9AA . 8B12 mov edx,dword ptr ds:[edx]0089B9AC . 8B45 F8 mov eax,dword ptr ss:[ebp-0x8]0089B9AF . 8B80 64020000 mov eax,dword ptr ds:[eax+0x264]0089B9B5 . 8B08 mov ecx,dword ptr ds:[eax]0089B9B7 . FF91 70020000 call dword ptr ds:[ecx+0x270]0089B9BD . 8B15 445C8D00 mov edx,dword ptr ds:[0x8D5C44] ; 金盾18SS.008F1B5C0089B9C3 . 8B12 mov edx,dword ptr ds:[edx]0089B9C5 . 8B45 F8 mov eax,dword ptr ss:[ebp-0x8]0089B9C8 . 8B80 5C020000 mov eax,dword ptr ds:[eax+0x25C]0089B9CE . 8B08 mov ecx,dword ptr ds:[eax]0089B9D0 . FF91 70020000 call dword ptr ds:[ecx+0x270]0089B9D6 . 8B45 F8 mov eax,dword ptr ss:[ebp-0x8]0089B9D9 . 8B80 60020000 mov eax,dword ptr ds:[eax+0x260]0089B9DF . 33D2 xor edx,edx0089B9E1 . 8B08 mov ecx,dword ptr ds:[eax]0089B9E3 . FF91 7C020000 call dword ptr ds:[ecx+0x27C]0089B9E9 . 8B15 CC5D8D00 mov edx,dword ptr ds:[0x8D5DCC] ; 金盾18SS.008F1B500089B9EF . 8B12 mov edx,dword ptr ds:[edx]0089B9F1 . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089B9F6 . 8B80 70020000 mov eax,dword ptr ds:[eax+0x270]0089B9FC . 8B08 mov ecx,dword ptr ds:[eax]0089B9FE . FF91 70020000 call dword ptr ds:[ecx+0x270]0089BA04 . A1 744F8D00 mov eax,dword ptr ds:[0x8D4F74]0089BA09 . 8B00 mov eax,dword ptr ds:[eax]0089BA0B . BA A0BA8900 mov edx,金盾18SS.0089BAA0 ; 10089BA10 . E8 1FFBB6FF call 金盾18SS.0040B5340089BA15 . 75 17 jnz short 金盾18SS.0089BA2E0089BA17 . A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089BA1C . 8B80 70020000 mov eax,dword ptr ds:[eax+0x270]0089BA22 . B2 01 mov dl,0x10089BA24 . 8B08 mov ecx,dword ptr ds:[eax]0089BA26 . FF91 EC000000 call dword ptr ds:[ecx+0xEC]0089BA2C . EB 15 jmp short 金盾18SS.0089BA430089BA2E > A1 B0128F00 mov eax,dword ptr ds:[0x8F12B0]0089BA33 . 8B80 70020000 mov eax,dword ptr ds:[eax+0x270]0089BA39 . 33D2 xor edx,edx0089BA3B . 8B08 mov ecx,dword ptr ds:[eax]0089BA3D . FF91 EC000000 call dword ptr ds:[ecx+0xEC]0089BA43 > 33C0 xor eax,eax0089BA45 . 5A pop edx0089BA46 . 59 pop ecx0089BA47 . 59 pop ecx0089BA48 . 64:8910 mov dword ptr fs:[eax],edx0089BA4B . 68 60BA8900 push 金盾18SS.0089BA600089BA50 > 8D45 FC lea eax,dword ptr ss:[ebp-0x4]0089BA53 . E8 D0E8B6FF call 金盾18SS.0040A3280089BA58 . C3 retn0089BA59 .^ E9 B6DEB6FF jmp 金盾18SS.004099140089BA5E .^ EB F0 jmp short 金盾18SS.0089BA500089BA60 . 5F pop edi0089BA61 . 5E pop esi0089BA62 . 5B pop ebx0089BA63 . 8BE5 mov esp,ebp0089BA65 . 5D pop ebp0089BA66 . C3 retn |
从这里我们F8单步分析<ignore_js_op>
从上面分析跟踪后发现,在0089CD17下断然后F8跟下来,可以发现机器码生成了并可以替换
<ignore_js_op>
替换两次运行后程序的机器码改变了,这说明加密视频打开后的机器码成功替换,接下来就是输入正确的播放密码并且再次验证机器码
所以我们必须还要找到播放后验证机器码的地方。
这么久才更新,在此表示抱歉,一来临近春节,各方面的工作比较紧张;二来,也希望吾爱的朋友们一起分析,发表自己的成果,可是这么久
都没有人分享一点,那还是由来我继续写下去吧。
更新时间:2015-02-04
上次我们分析到加密视频打开后替换机器码,接下来就是输入正确的播放密码后,程序再次验证机器码的问题。
经过分析得到了一个关键的地方,在这里就直接放出来吧,这个CALL只是个启示,中间会出现一个问题,将在
下次的分析中给出答案。
断点:0089C940
和之前的方式一样,程序运行后就可以下这个断点,就可以正常地替换机器码吧,大概有十几次吧!
先分享到此,亲们去偿试试,希望多把你遇到的问题或者发现的解决地方法分享出来哦~
在下周我再来解答大家的问题
(保存一下)
和菜鸟们一起攻克金盾2018SS加密视频的更多相关文章
- 利用WinHEX,重构狂牛加密视频1.0.0.1【只适合RIFF(AVI)】
幸亏是视频部分没有进行加密 1.用 WinHEX 打开狂牛加密视频, 查找 [RIFF] 字符串 2.光标放在 RIFF的 [R]上面, 按 CTRL+SHIFT+END 3.把选择的块写入新文件 H ...
- .NET MVC对接POLYV——HTML5播放器播放加密视频
官方参考文档:http://dev.polyv.net/2017/videoproduct/v-playerapi/html5player/html5-docs/ 1.上传视频之前根据自己需要对所上传 ...
- 传智 Python基础班+就业班+课件 【最新完整无加密视频课程】
点击了解更多Python课程>>> 传智 Python基础班+就业班+课件 [最新完整无加密视频课程] 直接课程目录 python基础 linux操作系统基础) 1-Linux以及命 ...
- .net aes加密视频等文件
公司学习平台在app端下载下来的视频需要加密 随查找资料参考一些写法 写了aes的加密方法 记录防止忘记 using System; using System.Collections.Generic; ...
- flask 密码加密 视频资料
https://www.bilibili.com/video/av53870541/?p=33 通过在数据模型中定义函数来实现加密 from werkzeug.security import gene ...
- 【问题解决方案】之 关于某江加密视频swf专用播放器仍无法播放的问题
前言: 从pt上下载了一些语言学习的视频之后一直打不开,百度谷歌了若干种方法仍然无解.无奈放弃. 某日从百度知道里又看到一个方法,试了一下,居然灵了.呜呼哀哉.赶紧记下来. 原方法链接:https:/ ...
- javascript实现blob加密视频源地址
一.HTML代码: <video id="my-video" class="video-js" playsinline controls preload= ...
- 前后端分离djangorestframework—— 在线视频平台接入第三方加密防盗录视频
加密视频 在以后的开发项目中,很可能有做在线视频的,而在线视频就有个问题,因为在线播放,就很有可能视频数据被抓包,如果这个在线视频平台有付费视频的话,这样就会有人做点倒卖视频的生意了,针对这个问题,目 ...
- tlplayer for ios V1.1.2加密测试版本(修复1.1.1版本 for ios7播放闪退问题)
此版本主要修复了ios7播放列表导致的程序闪退问题,方便大家测试加密与非加密视频. 此为tlplayer for ios版本,可以播放加密视频与非加密视频. 加密视频下载地址:http://blog. ...
随机推荐
- 一个JS判断客户端是否已安装某个字体(Only IE)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- C++ 指针的小知识
看个小例子: char* fun1(){ char * p = (char*)malloc(100); p = "helloww"; return p;} void fun2(ch ...
- python中用exit退出程序
在python中运行一段代码,如果在某处已经完成整次任务,可以用exit退出整个运行.并且还可以在exit()的括号里加入自己退出程序打印说明.不过注意在py3中要加单引号或双引号哦!
- hadoop FileSystem类和SequenceFile类实例
Hadoop的FileSystem类是与Hadoop的某一文件系统进行交互的API,虽然我们主要聚焦于HDFS实例,但还是应该集成FileSystem抽象类,并编写代码,使其在不同的文件系统中可移植, ...
- 漫谈登录桩(MockStub)的实现
2014年6月4日,6月的第一个星期三,我正式入职百度,开始baiduer的工作.这不到2个月的时间,因为人力资源这边原因,我从INF部门离开,拉到了百度Hi-Server团队中来.2个完全不着调的岗 ...
- 【bzoj2430】[Poi2003]Chocolate 贪心
题目描述 有一块n*m的矩形巧克力,准备将它切成n*m块.巧克力上共有n-1条横线和m-1条竖线,你每次可以沿着其中的一条横线或竖线将巧克力切开,无论切割的长短,沿着每条横线切一次的代价依次为y1,y ...
- HDU——1286找新朋友(欧拉函数+质数打表)
找新朋友 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submi ...
- BZOJ3992 [SDOI2015]序列统计 【生成函数 + 多项式快速幂】
题目 小C有一个集合S,里面的元素都是小于M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数 列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问题 ...
- Java数据库连接JDBC用到哪种设计模式?
还没看桥接模式,占tag 桥接模式: 定义 :将抽象部分与它的实现部分分离,使它们都可以独立地变化. 意图 :将抽象与实现解耦. 桥接模式所涉及的角色 1. Abstraction :定义抽象接口, ...
- jenkins使用xvfb插件构建虚拟化显示屏自动化测试
1.linux服务器安装xvfb,并启动 参考我的博客:http://www.cnblogs.com/lincj/p/5468505.html 或者网上搜索一下进行安装 2.jenkins安装xvfb ...