VS終結者原理及思路簡要說明

來源:互聯網
上載者:User





終於三個工具都出了正式版而來,興奮!不過也好累,有程式啃得時候一點都不覺得累,兩餐不吃飯都不覺得餓,今天下午跟同學去打桌球放鬆了一下,頓然感到體力透支,瞄著球就想睡覺(不過還是連虐他五局,嘻嘻),真累呀~


 

真沒時間了,必須潛水去,只要VS不進行大規模更新,此工具能一直有效...


 

==================================================================================

 

 

原理簡要說明:



 

 

VS檢測作弊肯定不會放在主線程,既然是另開線程,那就好辦的多,用procexp等工具查看一下VS的線程資訊(用HideToolz隱藏,不然會被關閉),通過觀察找到入手點,找到線程啟動地址以後,分析就好辦的多了...

 

Sleep掉VS反作弊模組的線程,線上程中間函數(VS 3.12 地址:0x0045f640  VS3.0
地址:0x0045f782)處HOOK,判斷傳入地址,如果為檢測反作弊的函數地址則 while(1)
Sleep(10000);,作用一看就明白了,線程不能retn ,不然VS會退出...

 

至於哪些函數是檢測作弊的,這個也容易找到,搜尋字串“作弊”,搜尋ReadProcessMemory,還有因為通過線程中間函數啟動的只有12個線程,先HOOK一下,得到這12個函數入口地址,縮小範圍在這12個函數裡面找...

 

還有說明一下:有一個線程不能簡單Sleep,不然啟動魔獸1分鐘左右就會掉線,所以只能在這個函數中nop掉調用檢測函數的代碼...

 

VS 3.12

0040139D

004016DB

004030F8

00401807

004031A2

004047C3

004039C2

上面7個函數Sleep掉

入口地址為0404B3D的函數,在0045B4D6處NOP五個位元組

 

VS3.0

004016CC

004017F3

00401389

00403125

004047DC

004031CF

004039E5

上面7個函數Sleep掉

入口地址為00404B5B的函數,在0045B618出NOP五個位元組

 

=======================================潛水分割線================================

把原理交待了我就可以安心潛水了,上面雖然是簡要說明,但是只要是研究過VS反作弊的朋友一眼就能看懂,只要VS小規模更新,稍微改下代碼就行了...

只是希望繼續破解之路的朋友能免費下去,也不多說了,每個人的出發點不一樣畢竟...

 

順便說一下,我喜歡用OD直接在記憶體上寫彙編代碼(OD的彙編功能非常強大),寫好後再拷貝出16進位數值,用程式WriteProcessMemory寫進去,這樣方便感覺很舒服...  順便貼一下我寫的彙編代碼,很簡單的幾行...

 

以VS3.12為例:

0045F640  /.  55            push    ebp
0045F641  |.  8BEC          mov     ebp, esp
0045F643  |.  51            push    ecx
0045F644  |.  51            push    ecx
0045F645  |.  6A 08         push    8                                ; /n = 8
0045F647  |.  8D45 F8       lea     eax, dword ptr [ebp-8]           ; |

 

入口處JMP走  改為:

0045F640  ^/E9 B3FCFFFF     jmp     0045F2F8
0045F645    6A 08           push    8

 

0045F2F6    CC              int3
0045F2F7    CC              int3
0045F2F8    8B5C24 04       mov     ebx, dword ptr [esp+4]
0045F2FC    8B03            mov     eax, dword ptr [ebx]
0045F2FE    3D 9D134000     cmp     eax, 0040139D                                  ;比較函數地址  是 就 JMP到Sleep處             

0045F303    74 34           je      short 0045F339                   

0045F305    3D DB164000     cmp     eax, 004016DB
0045F30A    74 2D           je      short 0045F339
0045F30C    3D F8304000     cmp     eax, 004030F8
0045F311    74 26           je      short 0045F339
0045F313    3D 07184000     cmp     eax, 00401807
0045F318    74 1F           je      short 0045F339
0045F31A    3D C3474000     cmp     eax, 004047C3
0045F31F    74 18           je      short 0045F339
0045F321    3D C2394000     cmp     eax, 004039C2
0045F326    74 11           je      short 0045F339
0045F328    3D A2314000     cmp     eax, 004031A2
0045F32D    74 0A           je      short 0045F339
0045F32F    55              push    ebp
0045F330    8BEC            mov     ebp, esp
0045F332    51              push    ecx
0045F333    51              push    ecx
0045F334    E9 0C030000     jmp     0045F645                              ;JMP 回  push 8 處

0045F339    68 10270000     push    2710                                     ;Sleep

0045F33E    FF15 606E5600   call    dword ptr [566E60]               ; kernel32.Sleep

0045F344  ^ EB F3           jmp     short 0045F339                          ;JMP 到Sleep

 

本來想簡要說明的,卻說了這麼多,希望能給新手一點啟示...

 

此去經年,應是良辰美景...

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.