製作自己的UCE徹底解決NPorHS問題(軟件名可自己改)任意版本NP存任你修改!
製作成功!(永久吸怪就在不遠處)!把經驗分享給大家,全英文的,金山詞霸一個一個翻譯吧,弄了個通宵實在痛苦!!為了方便大家偶犧牲很多
由於過程非常長和復雜,建議非無電腦基礎的朋友不要浪費時間(其實會了也超級簡單),
我將分步為大家講解安裝! b下面說明下為什麼要修改修改函數變量是為了讓NP不認識你這個新程序修改軟件名稱LOGO什麼的標誌圖片把他變成你自己的UCE程序吧第一步:所需要的軟件 http://lwglucky.blog.51cto.com/1228348/287454
1.CE6.4原碼:http://cheatengine.org/download/CheatEngine64src.rar
2.微軟的DDK: http://www.microsoft.com/whdc/driver/wdf/KMDF_pkg.mspx
3.Delphi7地址自己在網上找,原發地址以不能下)
程序編譯: http://www.sgnova.com/ucetut/trainerwithassembler.zip (解壓到CE原碼文件夾)
第二步BK32.SYS(whatever.sys)製作\ExW e~Za
1.解壓CE原碼到本地C盤
2.修改Driver.dat 記事本打開後修改(下面的whatever表示什麼都可以改成你要的個性名稱)
CEDRIVER53 ----> Whatever1
DBKProcList53 ----> Whatever2
DBKThreadList53 ---->Whatever3
dbk32.sys ----> Whatever.sys
修改完畢保存關閉
3.進入DBKKernel目錄修改DBKDrvr.c文件記事本打開改文件搜索"//hideme(DriverObject)"
將前面的//去掉保存關閉修改sources.ce文件同樣記事本打開將"TARGETNAME=DBK32"改為"TARGETNAME=Whatever"(whatever為你剛剛的個性名稱)
關閉保存
4.下面馬上生成whatever.sys
先安裝好DDK(過程略)
啟動路徑開始> 所有程序> Development Kits> Build Environments> Windows XP> Windows XP Free Build Environme
運行後鍵入代碼:
CD C:\Cheat Engine Delphi\DBKKernel 回車獲得返回代碼(無變化)
沒事接著輸入:
c: 回車得到C:\Cheat Engine Delphi\DBKKernel反饋路徑接著輸入:
CE 回車慢慢等吧工作了接下來就自動生成了您的whatever.sys
第三步:dpr文件的函數變量修改3a. 我們現在把dbk32目錄中的文件"dbk32.dpr" 用Delphi7打開.
我們使用軟件菜單"VIEW" -"roject Manager" 會看到"dbk32.dll" 點旁邊的+號打開分目錄看到"DBK32functions"打開它按下面修改
CEDRIVER52 >>> Whatever1 (這裡的whatever不用我再解釋了吧- -)
DBKProcList51 >>> Whatever2 (" ")
DBKThreadList51 >>> Whatever3 ("")
改好保存關閉然後進入CE原碼根目錄按F3搜索包含下面變量(VQE OP OT NOP RPM WPM)的函數全部替換成您的WHATEVER4~10 詳細請看下面
VQE ---> Whatever4
OP ---> Whatever5
OT ---> Whatever6
NOP ---> Whatever7
RPM ---> Whatever8
WPM ---> Whatever9
VAE ---> Whatever10
(友情提示下我犯過的錯弄錯文件全變LJ OP OT短的不能使用查好替換因為裡面代碼有NOT 直接替換就變成"NWHATEVER6" 其實NOT不是變量是是程序代碼不需要替換沒辦法只能手動一個一個改OP變量)
好累啊!!!!!!!!!!!!!!!!大家記得回复我的帖子哦謝謝了!~全部手動寫不比複製下面接著改文件(記住所有修改不只是改文件名所有目錄下的改文件內容中的也全部要做修改)
DBK32functions.pas >>> Whateverfunctions.pas ( 不想再說whatever什麼意思除非你是...保存到dbk32目錄)
NewKernelHandler.pas >>> WhateverHandler.pas (保存到根目錄) `
保存關閉所有註意再提示下表忘了修改下面
dbk32.sys >>> Whatever.sys
dbk32.dll >>> Whatever.dll (下面一步生成)
用Delphi打開Whatever.dpr(DBK32.DPR) 按Ctrl+F9. 生成上面的WHATEVER.DLL
如果發生錯誤請檢查文件變量是否全部修改文件CEHook.dpr 和hypermode.pas 改成Whatever54.(只能改whatever54)
現在用Delphi 打開CEHook.dpr(上面改名了)
Ctrl+F9生成文件修改下面文件(修改包括文件名和所有文件內容)
newkernelhandler.pas >>> Whateverhandler
CeFuncProc .pas >>> Whatever56
CheatEngine >>> WhateverEngine (警告:cheatengine.bpg絕對不能修改不然白做)
cheat engine >>> Whatever Engine
保存關閉最後用Delphi打開cheatengine.bpg 進行總的編譯吧進入後按SHIT+F12選擇CE主程序(MAIN什麼的)進行編譯左修改參數LEFT為228(注意:這裡不改看不到CE主程序)
下面就是最爽的時候了哈哈把所有的能改的地方全改了軟件名字版權什麼的你喜歡漢化就自己查中文意思改下標籤的名字最重要的修改:
"VIEW" -"roject Manager" 選中CHEATENGIN.EXE點OPTION什麼的里面有個
Versions Options
版本修改裡面都是CE什麼什麼的全部改掉為了就是NP不認識CE!~~~~~~~~~~~~~~能改多少改多少最後就一鍵CTRL+F9生成您的自己的新軟件嘎嘎!~~~感覺一定不錯!~~~不過別忘了這裡會發生很多錯誤估計就是你函數沒改全!~~仔細看文章哪些改哪些遇到沒改的發生錯誤自動會停馬上改成我要你改的新名字就不會發生錯誤了!~最後搞定了自動生成了您的新軟件.EXE
因為原文是跟貼,而且不連續,所以現在把譯文補全,總結成貼。
不當之處,還請斧正。
沒有比這更簡單的,相信我嗨,各位。 我決定做一個教程,因為當我想去破解但是沒有UCE的時候我感覺自己多麼“菜”,這個教程很長但是非常地詳細而且非常地初級,這個教程非常值得一看。 從法律的角度說,我沒有這樣說:“我沒有鼓勵破解,我簡單地希望大家能夠學習此教程”無論如何,回到CE的討論,我們中的許多人已經讀過一篇簡單的教程,如Drkz from MPC, Vener88, or Rolling Dice(MPC論壇上的Drkz, Vener88,Rolling Dice),但是問題是…
Drkz: 它從來沒起作用,我編譯的時候總是遇到同樣的錯誤
Vener88: 它用了740的文件,但是740已經被檢測到了(740是NP的版本).
Rolling Dice: 這個教程我已經看熟,但它是好的教程卻不是那麼初級(不適合新手)。
當我學到這篇教程的時候我是幸運的,因為我有程序設計背景,不要誤解我,我的意思是:假如你知道你在做什麼,這將是一篇很好的教程。
這篇教程有點像Rolling Dice那篇,原因很簡單,我正是認真地學習了他的那篇教程。
首先,一點點的忠告,我知道這是陳詞濫調、但是“龜兔賽跑烏龜勝了兔子”
這意味著,如果你要快速並且準確地做這件事情,抓緊你的時間檢查好每一步,這總比快速地瀏覽完這篇教程然後犯錯誤好,那樣知道你地錯誤的人就只有- _____- **
那麼,我們開始
1.下載一些必要的軟件
-Actual Search and Replace 一個查找及替換軟件
-CE Source (updated 5.24.06) CE的deiphi源代碼。
-Delphi 7 Delphi 7 買光盤安裝吧,很難下載到,也太大,1G左右。
-Windows DDK (Windows DDK (包含在KMDF,核心模式驅動架構中)
KMDF下載: http://www.microsoft.com/whdc/driver/wdf/KMDF_pkg.mspx
2.創造DBK32.sys
2a.用記事本代開CE主目錄裡面的driver.dat ,做如下修改:
CEDRIVER53 >> string1
DBKProclist53 >> string2
DBKThreadList53 >> string3
dbk32.sys >> string.sys
2b. 用記事本打開DBKKernel文件夾下面的DBKDrvr.c,查找: hideme,跳過第一處,來到第二處,你會看到這樣的句子: //hideme (DriverObject). 然後將hideme前面的// 去掉。
2C. 用記事本打開打開DBKKernel 文件夾下面的sources.ce,做如下修改:
TARGETNAME=DBK32 >> TARGETNAME=string
2D. 現在編譯String.sys (也就是以前的DBK32.sys).
把你的DBKKernel文件夾所在目錄的地址複製下來(等會用)。
打開window DDK,從開始菜單>>程序裡面打開(確定你已經安裝了KMDF)
打開之後是一個CMD界面,輸入cd ××(××既你剛才複製的地址,現在粘貼到這裡)
輸入ce,確定如果一切正常,你將會看到“files compiled. 1 Executable built”的字樣,String.sys
也已經出現在你的CE主目錄裡面。
3. 替換已被檢測字符
3a.用delphi 7(中文版) 打開dbk32文件夾下的dbk32.dpr。
查看>>工程管理器,然後展開dbk32.dll,雙擊DBK32functions打開它,做如下修改:
CEDRIVER52 >> String1(跟CEDRIVER53是同一個東西)
DBKProcList51 >> String2 (跟DBKProcList53是同一個)
DBKThreadList51 >> String3 (跟DBKThreadList53是同一個)
都做完了麼? 然後保存,可以關掉delphi7了然後打開文字替換工具(也就是Actual Search and Replace)
File> Settings > Editor,找到你的delphi 7目錄的delphi運行文件,也就是delphi32.exe,
類似於"C:\Program Files\Borland\Delphi7\Bin\delphi32.exe" ,確定點到options 標籤,確定"include subfolders"(包含子文件)已經被選上。
點到Search and Replace標籤,
在"Masks" 裡面,鍵入: newkernelhandler.pas; DBK32functions.pas; DBK32.dpr
在"Path" 裡面加入:CE主目錄然後把whole words 選上。
開始進行字符替換,在"to search"裡填要替換的字符,在"to Replace or insert"填上要替換成的字符。
被替換和替換成的字符如下:
VQE >> string4
OP >> string5
OT >> string6
RPM>> string7
WPM ……(依次遞推)
VAE
CreateRemoteAPC
ReadPhysicalMemory
WritePhysicalMemory
GetPhysicalAddress
GetPEProcess
GetPEThread
ProtectMe
UnprotectMe
IsValidHandle
GetCR4
GetCR3
SetCR3
GetSDT
GetSDTShadow
setAlternateDebugMethod
getAlternateDebugMethod
DebugProcess
StopDebugging
StopRegisterChange
RetrieveDebugData
GetThreadsProcessOffset
GetThreadListEntryOffset
GetDebugportOffset
GetProcessnameOffset
StartProcessWatch
WaitForProcessListData
GetProcessNameFromID
GetProcessNameFromPEProcess
GetIDTCurrentThread
GetIDTs
MakeWritable
GetLoadedState
ChangeRegOnBP
DBKSuspendThread
DBKResumeThread
DBKSuspendProcess
DBKResumeProcess
KernelAlloc
GetKProcAddress
Protect2
test
useIOCTL
DBKGetDC
3b. 現在我們將newkernelhandler.pas, DBK32functions.pas, 和DBK32.dpr改名.
用Delphi 7打開上面3個文件. Newkernelhandler 在CE主目錄,另外兩個文件在DBK32文件夾. 打開,
然後執行“文件”> “另存為”,3個文件分別另存為:
DBK32.dpr >> String.dpr
DBK32functions.pas >> Stringfunctions.pas
New KernelHandler.pas >> Stringfunctions.pas
然後保存,退出。
現在,打開查找和替換工具,把mask 改成" *.* ". (Include Subfolders要選中)
做如下替換。
dbk32.sys >> string.sys
dbk32.dll >> string.dll
現在用delphi 7打開string.dpr . 我們將編譯string.dll. 執行Project > compile string. 如果正常你將會看到"警告"和"提示"窗口,否則你將看到"錯誤"窗口. 如果得到錯誤,那麼檢查你的步驟。
好的,如果一切正常,你就可以在CE主目錄看到string.dll了
3c. 製作CEHook
再次用到查找和替換工具,“Mask”裡鍵入CEHook.dpr;hypermode.pas
替換:myhook >> string54
用delphi7打開CEHOOK文件夾下面的CEHook.dpr ,然後將user下面的system註釋掉,也就是在system
前面加入“ // ”。
3d. 創造Stealth - 打開stealth.dpr(在Stealth目錄下) 並且編譯它,這裡什麼都不需要變(HOHO…)
3e. 重新命名NewKernelHandler 和CeFuncProc
打開cheatengine.dpr(CE 主目錄下).來到工程管理器,再次打開NewKernelHandler.pas 和
CeFuncProc.pas 執行文件> 另存為". 保存到CE主目錄,兩文件分別保存為:
NewKernelHandler.pas >> StringHandler.pas (replace? Yes!)
CeFuncProc.pas >> String55.pas
保存,退出。
然後查找替換,Mask填:*.*,(取消include subfolders)
NewKernelHandler >> Stringhandler (改變所有文件除了Newkernelhandler.pas)
CeFuncProc >> String55
3f. 改變數值字符(十六進制數值)
需要改變3個數值:00400000 , 7FFFFFFF , 80000000
可以給3個數值加上同樣的數,比如說加5他們就變成:00400005,80000004,80000005
然後查找替換,(Include subfolders),Mask:"*.*"
00400000 >> 00400005
7FFFFFFF >> 80000004
80000000 >> 80000005
3g. 改變CheatEngine 圖形界面裡面的單詞再次查找和替換, (取消include subfolders) ,Mask:"*.*"
nextscanbutton >> String56
scanvalue >> String57
scanvalue2 >> String58
ScanType >> String59
VarType >> String60
newscan >> String61
ScanText >> String62
syndic.com/ce >> myspace.com (你可以改變為任何網站)
3h. 再次查找和替換,(取消include subfolders). mask:"*.pas "
CheatEngine >> StringEngine
cheat engine >> String Engine
3i.配置Cheat Engine 圖形界面打開CE主目錄下的cheatengine.bpg. 然後工程管理器, 打開MainUnit . 雙擊Cheat Engine圖形界面就彈出來了.
查找灰色顯示的單詞: "scan type" 和"value type",單擊該下拉框來到scantype,這一步的目的就是檢查你修改的字符是否正確,然後看左邊的工程樹和工程檢測器,希望工程樹下的String59 是高亮顯示的,現在向下滾動工程檢測器,知道你看到"name",希望它的下一格也是String59
如果你這一步做正確了,那麼繼續重複做單詞的檢查。
最後,點擊紅色箭頭下面的"ProtectMe2" 和"crash me",轉到工程監測器,把它的標題上的單詞刪掉這樣,它們是存在的,可是我們卻看不到它們了。
下面,是一些有關個性化你的UCE的方法:
改變版本信息:用工程管理器打開Cheatengine.exe,右鍵>選項,點擊"版本信息"標籤,自由發揮吧改變應用程序名,幫助,和圖標,同上,然後點擊“應用程序”標籤。
改變設置和關於…部分,分別用工程管理器打開formsettingsunit" 和"aboutunit"
3j. 編譯cheatengine.exe
查看工程管理器,確定你現在選擇的是cheatengine.exe而不是cheatengine.DEU / NLD / RUS
最小化DelPhi,然後用wendows資源管理器打開CE主目錄,建立一個文本文件,然後改名為:
trainerwithassembler.exe
現在回到delphi,編譯,這將會是很長的一步(但也是令人高興的,因為你正接近成功)
當你嘗試編譯的時候,你也許會得到錯誤,類似:
[Error] autoassembler.pas(531): Undeclared identifier: 'KernelAlloc'
希望你已將你的改變如我要求的那樣記錄到一張紙上,現在去看你的記錄,你將KernelAlloc變成了什麼,
在該教程裡,我改變為String50
再次編譯,如果你再次得到錯誤,處理它,再編譯,直到沒有錯誤。
(這是很長的一步,卻是關鍵的一步)
4. 完成接觸
4a. 編譯UCE需要的文件打開Delphi.
編譯systemcallsignal.dpr (在SystemcallRetriever 文件夾下).
編譯Systemcallretriever.dpr(在SystemcallRetriever 文件夾下).
編譯Kernelmoduleunloader.dpr ( dbk32\kernelmodule unloader文件夾下)
4b. 另外的填充首先.. 在你進行打包搞遭前,製作一個源文件的拷貝.
現在打開主目錄下的cheatengine.bpg ,另存為stringengine.bpg
再次打開cheatengine.bpg,在cheatengine.exe 上右擊,選擇"查看源文件",
另存cheatengine.dpr 為stringengine.dpr 然後編譯它,你就會得到StringEngine.exe. !! (CE主文件,在這裡已經變成SE了)
4c. 希望現在你有了所有下面的文件..
創造一個新的文件夾把他們放進去。
stringengine.exe
driver.dat
string.sys
string.dll
stealth.dll
cehook.dll
systemcallsignal.exe
systemcallretriever.exe
kernelmoduleunloader.exe
所所所所…有的事情已經做好!! 現在你僅需要去測試它。
5.測試你的UCE
我想大家都會測試吧…不翻譯了。
夜深了,困死了到這裡,文章就基本翻譯完了,有的地方沒有按原文翻譯,是因為原文有圖片,發帖子似乎不能進行圖文混排,所以就只能用文字表達,我想我基本已經表達清楚作者的意思了。
因為我自己也沒有delphi7,也不會用delphi7所以沒有進行具體的操作,所有有些關於delphi程序菜單的翻譯是用類似BC的文字,我想差距也不會很大吧,大家應該都能明白。
HOHOHO,本文章只是提供改CE的控件名字,變量名等東西,沒有涉及內部模塊函數調用的改變,所以做的基本上只是表面文章,也許對了一般的反外掛程序還行,但是似乎對付不了NP、、、
翻譯這篇文章,用了偶接近4個小時的時間,555
其實,這個過程也是自己整理思路的過程,同時把它發到論壇上來,也希望能與大家共享
2017年4月18日 星期二
訂閱:
張貼留言 (Atom)
0 意見:
張貼留言