天狼星加密系統分析


                            天狼星加密系統分析

 

/**************************************
/* 作者:半斤八兩
/* 博客:http://cnblogs.com/bjblcracked
/* 日期:2013-11-15  12:01
/**************************************

只是感興趣,沒有其他目的。失誤之處敬請諸位大俠賜教!

 

 

 

 

 

0x1.  去除進程檢測

 

  天狼星在運行的時候, 會對一些進程做檢測.像比如 svn mstsc 之類的,他都會檢測到,並提示. 想想枚舉進程環3也就那幾種方法.一個個測試過去,發現用快照就能河蟹了.

 

// 檢測進程2

         gpa "CreateToolhelp32Snapshot", "kernel32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 8"

 

// 檢測進程3

         gpa "Process32Next", "kernel32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 8"

 

// 檢測進程4

         gpa "Process32First", "kernel32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 8"

 

為了以防萬一讀進程內存,再加個

 

// 檢測進程1

         gpa "OpenProcess", "kernelbase.dll"

         mov temp, $RESULT

         cmp temp, 0

         je next1

         asm temp, "xor eax, eax"

         asm temp+2, "retn c"

 

 

0x2.  去除窗口名檢測

 

檢測窗口,就用下面這個.

 

// 檢測窗口

         gpa "GetWindowTextA", "user32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn c"

 

大家也可以試試 findwindow, 我沒有試過.

 

0x3.  去除斷網(支持xp)

 

這個網上早已經有公布的方法了.但是這個僅是在xp下有效果的.

 

         gpa "_PfCreateInterface@24", "iphlpapi.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 18"

         bp temp

//     esto

//     bc

 

 

0x4.  去除斷網(支持Win7)

 

Win7的這個,我也是找了挺久的,才找到的. 也分享出來.

知道這個,也能寫個win7限制網絡的小程序了. J

 

// win7斷網絡

         gpa "FwpmEngineOpen0", "FWPUCLNT.DLL"

         mov temp, $RESULT

         cmp temp, 0

         je next2

         asm temp, "xor eax, eax"

         asm temp+2, "retn 14"

 

0x5.  去除水印(藍水印)

 

兩個都可以試一下, 兩個都加上的話,播放的控制器,會不顯示信息~

 

// 干掉水印1

         gpa "DrawTextA", "user32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 14"

 

// 干掉水印2

         gpa "ExtTextOutA", "gdi32.dll"

         mov temp, $RESULT

         cmp temp, 0

         je notfound

         asm temp, "xor eax, eax"

         asm temp+2, "retn 20"

 

0x6.  去除水印(灰水印)

 

  這個我覺得沒有必要更新了, 作者是把注冊用戶名 添加到每一幀的視頻中去的. 想分離的話,對於一小部分人來說(特別是做翻錄的),還是有挑戰性的 J

 

0x7.  去除進程結束暗樁

0x8.  快速提取avi(需要KEY)

0x9.  快速提取voice(需要KEY)

0xA.  繞過內存crc檢測

0xB.  河蟹內存占用過高提示(暗樁)

 

以上的也都沒有必要更新了.

 

0xC.  去除黑屏

0xD.  河蟹硬件加速

0xE.  支持gdi翻錄

0xF.  移除dx播放

0x10. 繞過虛擬機檢測

 

最后的幾個,其實最終目的就是翻錄.

只要能在虛擬機里面播放, 那上面的所有問題都解決了.

這個是必須要更新的. 真的是弱爆了.

最開始運行的時候,會以一個經典的錯誤框來結束虛擬機播放.

 

 

 

 

 

最開始分析的時候,就從這個錯誤框開始分析. 可以說一路拔山涉水, 發現了好幾種方法可以過虛擬機檢測的. 但最終還是選擇了最簡單的方法. 就是在他檢測到虛擬機時,做處理.

在分析天狼星的時候,發現天狼星用的wmi 的方法來檢測是不是虛擬機. 這也算是學到了一個新的方法. 方法是不錯, 可惜的是, 沒有一點加密處理. 而且檢測是在視頻EXE里面, 沒有在模塊里面檢測.

 

 1 /.  55            push ebp
 2 
 3 |.  8BEC          mov ebp,esp
 4 
 5 |.  83C4 D8       add esp,-28
 6 
 7 |.  B8 C4915600   mov eax,19_使用O.005691C4
 8 
 9 |.  E8 F8E91200   call 19_使用O.00535F7C
10 
11 |.  66:C745 E8 08>mov word ptr ss:[ebp-18],8
12 
13 |.  BA 31785600   mov edx,19_使用O.00567831
14 
15 |.  8D45 FC       lea eax,[local.1]
16 
17 |.  E8 B9D51300   call 19_使用O.00544B50
18 
19 |.  FF45 F4       inc [local.3]
20 
21 |.  8B10          mov edx,dword ptr ds:[eax]
22 
23 |.  52            push edx
24 
25 |.  E8 CAFDFFFF   call 19_使用O.0040736C
26 
27 |.  59            pop ecx
28 
29 |.  50            push eax
30 
31 |.  FF4D F4       dec [local.3]
32 
33 |.  8D45 FC       lea eax,[local.1]
34 
35 |.  BA 02000000   mov edx,2
36 
37 |.  E8 D4D51300   call 19_使用O.00544B88
38 
39 |.  58            pop eax
40 
41 |.  8B55 D8       mov edx,[local.10]
42 
43 |.  64:8915 00000>mov dword ptr fs:[0],edx
44 
45 |.  8BE5          mov esp,ebp
46 
47 |.  5D            pop ebp
48 
49 \.  C3            retn

 

 

在通過wmi 讀取完后 retn 時, 把 eax 清0 就過了虛擬機檢測了.

緊接着這下面一個函數也有同樣的一處檢測, 同樣 eax 清0這樣就能正常的播放了.

9代  10代 都是一樣的.  沒有一丁點兒的變化. L)

 

0x11. patch(需要KEY)

 

這個沒啥好說的了. 誰能防的住? 

但是作者你啥處理也不弄, 你至少 cpuid 那, 得保護好吧?

 

本人最近也在嘗試着寫支持intel & amd多核的hev.

不知有沒有有興趣的,一起研究下?

當然了,主要目的還是 cpuid L

 

 

文章的最后再送一個好玩的小東西.~ J

 

大概播放10秒左右,你就會發現好玩的東西了 J (詳見附件)

 

PDF和附件下載地址:<<<看雪學院>>>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM