簡單分析一款名為點盾雲的視頻加密播放器,觀看視頻時會有多種檢測。防錄像和虛擬機運行。
說說自己的猜測:如何過翻錄像檢測和在虛擬機內播放。
啟動播放器,如有可疑進程,播放器會提示並結束視頻。

激活碼處輸入QQ:1462109921 激活碼無效,哈哈。。。。
載入OD運行后,查找字符串。也能發現出現的提示字符內容:

過防錄像檢測思路:
雙擊字符來到內存位置:

0038C205 83C4 30 add esp,0x30 0038C208 807E 1C 00 cmp byte ptr ds:[esi+0x1C],0x0 [color=red]0038C20C 74 7C je XDolitDrm.0038C28A[/color] 0038C20E 56 push esi 0038C20F 8D4C24 34 lea ecx,dword ptr ss:[esp+0x34] 0038C213 E8 635AFBFF call DolitDrm.00341C7B 0038C218 B3 03 mov bl,0x3 0038C21A 68 FC5D5D00 push DolitDrm.005D5DFC ; 點盾雲檢測到您的播放環境存在安全隱患,即將退出播放.. 0038C21F 8D4C24 1C lea ecx,dword ptr ss:[esp+0x1C] 0038C223 889C24 D0020000 mov byte ptr ss:[esp+0x2D0],bl 0038C22A 56 push esi 0038C22B E8 31A38600 call DolitDrm.00BF6561
如果直接把上方的JE跳過去,能否達到破解掉它的檢測?向下翻還有一個JE檢測:
0038C279 8D4C24 30 lea ecx,dword ptr ss:[esp+0x30] 0038C27D C68424 CC020000>mov byte ptr ss:[esp+0x2CC],0x1 0038C285 E8 6950FBFF call DolitDrm.003412F3 0038C28A 837C24 70 00 cmp dword ptr ss:[esp+0x70],0x0 0038C28F 0F84 FD000000 je DolitDrm.0038C392; qq:1462109921 0038C295 8B4C24 6C mov ecx,dword ptr ss:[esp+0x6C] 0038C299 8B11 mov edx,dword ptr ds:[ecx] 0038C29B 8B4424 54 mov eax,dword ptr ss:[esp+0x54] 0038C29F 8D4C24 1C lea ecx,dword ptr ss:[esp+0x1C] 0038C2A3 895424 20 mov dword ptr ss:[esp+0x20],edx 0038C2A7 894424 1C mov dword ptr ss:[esp+0x1C],eax 0038C2AB E8 C258FBFF call DolitDrm.00341B72 0038C2B0 50 push eax 0038C2B1 8D4C24 2C lea ecx,dword ptr ss:[esp+0x2C] 0038C2B5 51 push ecx 0038C2B6 E8 40FE8F00 call DolitDrm.00C8C0FB 0038C2BB C3 retn 0038C2BC 8BF8 mov edi,eax 0038C2BE 8D5424 20 lea edx,dword ptr ss:[esp+0x20] 0038C2C2 B3 05 mov bl,0x5 0038C2C4 52 push edx 0038C2C5 889C24 D8020000 mov byte ptr ss:[esp+0x2D8],bl 0038C2CC 50 push eax 0038C2CD E8 F024A800 call DolitDrm.00E0E7C2 0038C2D2 83C4 0C add esp,0xC 0038C2D5 57 push edi [color=blue]0038C2D6 68 E05D5D00 push DolitDrm.005D5DE0 ; find record process:[/color] 0038C2DB 8BC8 mov ecx,eax 0038C2DD C68424 D4020000>mov byte ptr ss:[esp+0x2D4],0x6 0038C2E5 50 push eax 0038C2E6 E8 DFFA9700 call DolitDrm.00D0BDCA 0038C2EB 8BC8 mov ecx,eax 0038C2ED E8 03268A00 call DolitDrm.00C2E8F5 0038C2F2 C3 retn 0038C2F3 8D4C24 18 lea ecx,dword ptr ss:[esp+0x18] 0038C2F7 889C24 CC020000 mov byte ptr ss:[esp+0x2CC],bl 0038C2FE E8 4FB9B600 call DolitDrm.00EF7C52 0038C303 C3 retn 0038C304 8D4C24 28 lea ecx,dword ptr ss:[esp+0x28] 0038C308 C68424 CC020000>mov byte ptr ss:[esp+0x2CC],0x1 0038C310 50 push eax 0038C311 E8 7CC1BF00 call DolitDrm.00F88492 0038C316 56 push esi 0038C317 8D4C24 34 lea ecx,dword ptr ss:[esp+0x34] 0038C31B E8 5B59FBFF call DolitDrm.00341C7B 0038C320 B3 07 mov bl,0x7 0038C322 68 A05D5D00 push DolitDrm.005D5DA0 ; 點盾雲檢測到您的播放環境存在安全隱患,即將退出播放 0038C327 8D4C24 1C lea ecx,dword ptr ss:[esp+0x1C] 0038C32B 889C24 D0020000 mov byte ptr ss:[esp+0x2D0],bl 0038C332 E8 20D0BB00 call DolitDrm.00F49357 0038C337 C3 retn 0038C338 68 88130000 push 0x1388 0038C33D 8D4424 1C lea eax,dword ptr ss:[esp+0x1C] 0038C341 50 push eax 0038C342 8D4C24 38 lea ecx,dword ptr ss:[esp+0x38] 0038C346 C68424 D4020000>mov byte ptr ss:[esp+0x2D4],0x8 0038C34E E8 CD54FBFF call DolitDrm.00341820 0038C353 8D4C24 18 lea ecx,dword ptr ss:[esp+0x18] 0038C357 889C24 CC020000 mov byte ptr ss:[esp+0x2CC],bl 0038C35E 56 push esi 0038C35F E8 C3CDC700 call DolitDrm.01009127 0038C364 8D4C24 30 lea ecx,dword ptr ss:[esp+0x30] 0038C368 FFD5 call ebp 0038C36A 8BCE mov ecx,esi
藍色部分,似乎是有個對系統進程進行遍歷的操作。遍歷后和某些特征名對比,然后給出異常的提示。
現在看下找找對比的那些特征字符。。。。。。。。。。。。。。。。。。。。。。
下斷 BP CreateFileW 雙擊dolit的加密視頻文件,斷下來,發現加密播放器在讀取一個DB文件(在播放器DATA目錄下的DB文件)。
DB文件,如果沒有加密。不用破解,我們直接用SQLiteStudio工具打開DB文件查看。

有2張表。直接查看第二張表的數據。發現很多字段,用來存放不同的內容。 有些軟件會把用到的參數用INI文件存放或放到注冊表內!

從字段上能猜到大概意思,machineCodeKey 應該是電腦硬件機器碼,里面存放了主機硬盤,CPU之類的序列號。 而localBlackListKey估計就是黑名單內容

可以看到里面有很多是錄像工具或遠程工具的名字 screen recorder.exe evcapture.exe teamviewer.exe ,從這里看到如果要破解過翻錄檢測。從上面逆向修改程序來破解,也可以避開黑名單里有的錄像工具。使用黑名單里沒有名的錄像工具是否能過掉檢測?
當然,破解播放器在虛擬機播放。有個表字段:localRegeditKey 也有對虛擬機名字的檢測;修改或破解機器碼達到多機播放里面也有存放本機機器碼。有興趣的朋友可以一試!
以上僅個人猜想,未測試僅技術學習。
最后好奇激活界面上出現的內容是從何來,經過分析數據加密后保存在加密視頻文件內。分析算法后,就可得出。里面保存了很多解密或播放時的參數。通過提供的數據就能達到直接無密碼解密破解還原為普通的視頻文件。

ps:僅做技術交流和學習,如有侵權請告知刪除。
