简单打造自己的UCE

嗨,各位。我决定做一个教程,因为当我想去破解但是没有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
我想大家都会测试吧…不翻译了。
夜深了,困死了
 
CE大家都知道,驱动部分可以过所有的游戏保护,驱动文件时dbk32 .sys,这个是官网SVN最新的一份 包含一下文件爱你 2012/04/04 10:17 <DIR> . 2012/04/04 10:17 <DIR> .. 2011/11/10 13:12 19,113 cetc.c 2011/11/10 13:12 54 cetc.h 2011/12/08 17:03 14,667 DBKDrvr.c 2011/11/10 13:12 84 DBKDrvr.h 2011/11/10 13:12 7,145 DBKFunc.c 2011/11/10 13:12 5,278 DBKFunc.h 2012/04/04 10:17 111,509 DBKKernel.rar 2011/11/10 13:13 43,173 debugger.c 2011/11/10 13:13 1,828 debugger.h 2011/11/10 13:13 3,750 deepkernel.c 2011/11/10 13:13 443 deepkernel.h 2011/11/10 13:13 607 extradefines. 2011/11/10 13:13 177 extraimports. 2011/11/10 13:13 5,061 interruptHook 2011/11/10 13:13 2,073 interruptHook 2011/11/10 13:12 37,528 IOPLDispatche 2011/11/10 13:12 9,548 IOPLDispatche 2011/11/10 13:13 1,016 kfiles.c 2011/11/10 13:13 217 kfiles.h 2011/11/10 13:12 267 MAKEFILE 2011/11/10 13:14 39,047 memscan.c 2011/11/10 13:14 2,589 memscan.h 2011/11/10 13:14 234,278 ntifs.h 2011/11/10 13:14 5,829 processlist.c 2011/11/10 13:14 1,239 processlist.h 2011/12/10 21:46 290 SOURCES 2011/11/10 13:14 16,454 tdiwrapper.c 2011/11/10 13:14 0 tdiwrapper.cp 2011/11/10 13:14 6,855 tdiwrapper.h 2011/11/10 13:14 5,367 threads.c 2011/11/10 13:14 398 threads.h 2011/11/10 13:15 13,201 ultimap.c 2011/11/10 13:15 3,131 ultimap.h 2011/11/10 13:15 8,464 vmxhelper.c 2011/11/10 13:15 2,299 vmxhelper.h 2011/11/10 13:15 22,069 vmxoffload.c 2011/11/10 13:15 5,669 vmxoffload.h 37 个文件 630,717 字节 2 个目录 116,522,889,216 可用字节
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值