日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

VS终结者原理及思路简要说明

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VS终结者原理及思路简要说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


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

?

真沒時間了,必須潛水去,只要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

?

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

?

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

轉載于:https://www.cnblogs.com/javabluesky/archive/2010/08/10/2211419.html

總結

以上是生活随笔為你收集整理的VS终结者原理及思路简要说明的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。