zoukankan      html  css  js  c++  java
  • 和菜鸟们一起攻克金盾2018SS加密视频

    今天刚拿到金盾2018SS加密的视频,界面如下:<ignore_js_op>QQ截图20150122003239.jpg 

    机器码由源来的“00000-00000-00000-00000”变成了一串32位的字符串了;
    <ignore_js_op>2.jpg
    OD打开我们发现其实18SS的播放器仍然是有类似的机器码,只不过是三组数据构成,类似"0000-0000-0000"这样的格式;<ignore_js_op>QQ图片20150122060014.jpg
    运行-->暂停-->返回到用户代码-->查找字符串
    我们可以发现和之前的版本有类似的地方,大概的机器码生成的地方,就可能在这里;

    [Asm] 纯文本查看 复制代码
    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 ebp
    0089B809   .  8BEC          mov ebp,esp
    0089B80B   .  83C4 F0       add esp,-0x10
    0089B80E   .  53            push ebx
    0089B80F   .  56            push esi
    0089B810   .  57            push edi
    0089B811   .  33C9          xor ecx,ecx
    0089B813   .  894D FC       mov dword ptr ss:[ebp-0x4],ecx
    0089B816   .  8945 F8       mov dword ptr ss:[ebp-0x8],eax
    0089B819   .  33C0          xor eax,eax
    0089B81B   .  55            push ebp
    0089B81C   .  68 59BA8900   push 金盾18SS.0089BA59
    0089B821   .  64:FF30       push dword ptr fs:[eax]
    0089B824   .  64:8920       mov dword ptr fs:[eax],esp
    0089B827   .  A1 B0128F00   mov eax,dword ptr ds:[0x8F12B0]
    0089B82C   .  8B80 64020000 mov eax,dword ptr ds:[eax+0x264]
    0089B832   .  B2 01         mov dl,0x1
    0089B834   .  8B08          mov ecx,dword ptr ds:[eax]
    0089B836   .  FF91 E8000000 call dword ptr ds:[ecx+0xE8]
    0089B83C   .  33C0          xor eax,eax
    0089B83E   .  55            push ebp
    0089B83F   .  68 5EB88900   push 金盾18SS.0089B85E
    0089B844   .  64:FF30       push dword ptr fs:[eax]
    0089B847   .  64:8920       mov dword ptr fs:[eax],esp
    0089B84A   .  E8 39E0F7FF   call 金盾18SS.00819888
    0089B84F   .  8B10          mov edx,dword ptr ds:[eax]
    0089B851   .  FF52 14       call dword ptr ds:[edx+0x14]
    0089B854   .  33C0          xor eax,eax
    0089B856   .  5A            pop edx
    0089B857   .  59            pop ecx
    0089B858   .  59            pop ecx
    0089B859   .  64:8910       mov dword ptr fs:[eax],edx
    0089B85C   .  EB 0A         jmp short 金盾18SS.0089B868
    0089B85E   .^ E9 FDDDB6FF   jmp 金盾18SS.00409660
    0089B863   .  E8 50E2B6FF   call 金盾18SS.00409AB8
    0089B868   >  A1 EC5D8D00   mov eax,dword ptr ds:[0x8D5DEC]
    0089B86D   .  8338 00       cmp dword ptr ds:[eax],0x0
    0089B870   .  0F84 01010000 je 金盾18SS.0089B977
    0089B876   .  8B0D EC5D8D00 mov ecx,dword ptr ds:[0x8D5DEC]         ;  金盾18SS.008F1C4C
    0089B87C   .  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:drmsoftface
    0089B886   .  E8 71FBB6FF   call 金盾18SS.0040B3FC
    0089B88B   .  B2 01         mov dl,0x1
    0089B88D   .  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]
    0089B890   .  E8 B3AEB8FF   call 金盾18SS.00426748
    0089B895   .  84C0          test al,al
    0089B897   .  74 08         je short 金盾18SS.0089B8A1
    0089B899   .  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]
    0089B89C   .  E8 33B3B8FF   call 金盾18SS.00426BD4
    0089B8A1   >  33D2          xor edx,edx
    0089B8A3   .  55            push ebp
    0089B8A4   .  68 70B98900   push 金盾18SS.0089B970
    0089B8A9   .  64:FF32       push dword ptr fs:[edx]
    0089B8AC   .  64:8922       mov dword ptr fs:[edx],esp
    0089B8AF   .  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]
    0089B8B2   .  E8 FDAAB8FF   call 金盾18SS.004263B4
    0089B8B7   .  50            push eax
    0089B8B8   .  E8 3B8EB7FF   call 金盾18SS.004146F8
    0089B8BD   .  6A 01         push 0x1
    0089B8BF   .  8B4D FC       mov ecx,dword ptr ss:[ebp-0x4]
    0089B8C2   .  B2 01         mov dl,0x1
    0089B8C4   .  A1 AC444400   mov eax,dword ptr ds:[0x4444AC]         ;  8FF
    0089B8C9   .  E8 A696BCFF   call 金盾18SS.00464F74
    0089B8CE   .  8BD8          mov ebx,eax
    0089B8D0   .  6A 40         push 0x40
    0089B8D2   .  8B0D A8608D00 mov ecx,dword ptr ds:[0x8D60A8]         ;  金盾18SS.008F1AB0
    0089B8D8   .  8B09          mov ecx,dword ptr ds:[ecx]
    0089B8DA   .  B2 01         mov dl,0x1
    0089B8DC   .  A1 AC444400   mov eax,dword ptr ds:[0x4444AC]         ;  8FF
    0089B8E1   .  E8 8E96BCFF   call 金盾18SS.00464F74
    0089B8E6   .  8945 F4       mov dword ptr ss:[ebp-0xC],eax
    0089B8E9   .  8B15 7C558D00 mov edx,dword ptr ds:[0x8D557C]         ;  金盾18SS.008F1C58
    0089B8EF   .  8B12          mov edx,dword ptr ds:[edx]
    0089B8F1   .  F7DA          neg edx
    0089B8F3   .  66:B9 0200    mov cx,0x2
    0089B8F7   .  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,0x4
    0089B907   .  8B45 F4       mov eax,dword ptr ss:[ebp-0xC]
    0089B90A   .  E8 7590BCFF   call 金盾18SS.00464984
    0089B90F   .  8B15 7C558D00 mov edx,dword ptr ds:[0x8D557C]         ;  金盾18SS.008F1C58
    0089B915   .  8B12          mov edx,dword ptr ds:[edx]
    0089B917   .  0355 F0       add edx,dword ptr ss:[ebp-0x10]
    0089B91A   .  F7DA          neg edx
    0089B91C   .  66:B9 0200    mov cx,0x2
    0089B920   .  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            cdq
    0089B92C   .  52            push edx
    0089B92D   .  50            push eax
    0089B92E   .  8B55 F4       mov edx,dword ptr ss:[ebp-0xC]
    0089B931   .  8BC3          mov eax,ebx
    0089B933   .  E8 EC92BCFF   call 金盾18SS.00464C24
    0089B938   .  8BC3          mov eax,ebx
    0089B93A   .  E8 B5CDB6FF   call 金盾18SS.004086F4
    0089B93F   .  6A 00         push 0x0
    0089B941   .  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.006C33F0
    0089B95A   .  33C0          xor eax,eax
    0089B95C   .  5A            pop edx
    0089B95D   .  59            pop ecx
    0089B95E   .  59            pop ecx
    0089B95F   .  64:8910       mov dword ptr fs:[eax],edx
    0089B962   .  68 77B98900   push 金盾18SS.0089B977
    0089B967   >  8B45 F4       mov eax,dword ptr ss:[ebp-0xC]
    0089B96A   .  E8 85CDB6FF   call 金盾18SS.004086F4
    0089B96F   .  C3            retn
    0089B970   .^ E9 9FDFB6FF   jmp 金盾18SS.00409914
    0089B975   .^ EB F0         jmp short 金盾18SS.0089B967
    0089B977   >  8B15 1C5D8D00 mov edx,dword ptr ds:[0x8D5D1C]         ;  金盾18SS.008F1B48
    0089B97D   .  8B12          mov edx,dword ptr ds:[edx]
    0089B97F   .  A1 B0128F00   mov eax,dword ptr ds:[0x8F12B0]
    0089B984   .  E8 5BC1E5FF   call 金盾18SS.006F7AE4
    0089B989   .  8B15 685A8D00 mov edx,dword ptr ds:[0x8D5A68]         ;  金盾18SS.008F1AD8
    0089B98F   .  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.008F1B60
    0089B9AA   .  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.008F1B5C
    0089B9C3   .  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,edx
    0089B9E1   .  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.008F1B50
    0089B9EF   .  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                 ;  1
    0089BA10   .  E8 1FFBB6FF   call 金盾18SS.0040B534
    0089BA15   .  75 17         jnz short 金盾18SS.0089BA2E
    0089BA17   .  A1 B0128F00   mov eax,dword ptr ds:[0x8F12B0]
    0089BA1C   .  8B80 70020000 mov eax,dword ptr ds:[eax+0x270]
    0089BA22   .  B2 01         mov dl,0x1
    0089BA24   .  8B08          mov ecx,dword ptr ds:[eax]
    0089BA26   .  FF91 EC000000 call dword ptr ds:[ecx+0xEC]
    0089BA2C   .  EB 15         jmp short 金盾18SS.0089BA43
    0089BA2E   >  A1 B0128F00   mov eax,dword ptr ds:[0x8F12B0]
    0089BA33   .  8B80 70020000 mov eax,dword ptr ds:[eax+0x270]
    0089BA39   .  33D2          xor edx,edx
    0089BA3B   .  8B08          mov ecx,dword ptr ds:[eax]
    0089BA3D   .  FF91 EC000000 call dword ptr ds:[ecx+0xEC]
    0089BA43   >  33C0          xor eax,eax
    0089BA45   .  5A            pop edx
    0089BA46   .  59            pop ecx
    0089BA47   .  59            pop ecx
    0089BA48   .  64:8910       mov dword ptr fs:[eax],edx
    0089BA4B   .  68 60BA8900   push 金盾18SS.0089BA60
    0089BA50   >  8D45 FC       lea eax,dword ptr ss:[ebp-0x4]
    0089BA53   .  E8 D0E8B6FF   call 金盾18SS.0040A328
    0089BA58   .  C3            retn
    0089BA59   .^ E9 B6DEB6FF   jmp 金盾18SS.00409914
    0089BA5E   .^ EB F0         jmp short 金盾18SS.0089BA50
    0089BA60   .  5F            pop edi
    0089BA61   .  5E            pop esi
    0089BA62   .  5B            pop ebx
    0089BA63   .  8BE5          mov esp,ebp
    0089BA65   .  5D            pop ebp
    0089BA66   .  C3            retn


    从这里我们F8单步分析<ignore_js_op>QQ图片20150123084651.jpg
    从上面分析跟踪后发现,在0089CD17下断然后F8跟下来,可以发现机器码生成了并可以替换
    <ignore_js_op>QQ图片20150123085018.jpg 
    替换两次运行后程序的机器码改变了,这说明加密视频打开后的机器码成功替换,接下来就是输入正确的播放密码并且再次验证机器码

    所以我们必须还要找到播放后验证机器码的地方。

    这么久才更新,在此表示抱歉,一来临近春节,各方面的工作比较紧张;二来,也希望吾爱的朋友们一起分析,发表自己的成果,可是这么久

    都没有人分享一点,那还是由来我继续写下去吧。

    更新时间:2015-02-04

    上次我们分析到加密视频打开后替换机器码,接下来就是输入正确的播放密码后,程序再次验证机器码的问题。

    经过分析得到了一个关键的地方,在这里就直接放出来吧,这个CALL只是个启示,中间会出现一个问题,将在

    下次的分析中给出答案。


    断点:0089C940

    和之前的方式一样,程序运行后就可以下这个断点,就可以正常地替换机器码吧,大概有十几次吧!

    先分享到此,亲们去偿试试,希望多把你遇到的问题或者发现的解决地方法分享出来哦~

    在下周我再来解答大家的问题


    (保存一下)

  • 相关阅读:
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_10-课程管理-教学方法说明
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_09-课程管理-需求分析
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_08-页面发布-业务完善的思考
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_07-页面发布-前后端发布页面测试
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_06-页面发布-生产方cms-发送页面发布消息测试
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_05-页面发布-生产方cms-发送页面发布消息
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_04-页面发布-消费方Cms Client-消费方法-监听队列
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_03-页面发布-消费方Cms Client-消费方法-service
    阶段5 3.微服务项目【学成在线】_day06 页面发布 课程管理_02-页面发布-消费方Cms Client-搭建工程
    2019最新 Java商城秒杀系统的设计与实战视频教程(SpringBoot版)_2-2微服务项目的搭建-SpringBoot搭建多模块项目二
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/6484380.html
Copyright © 2011-2022 走看看