UCE Tools
- Used To Compile, Files For UCE
- Compiling, And Editing UCE Files
- To Crack Delphi so it's free
- Used To Search And Replace *Characters* To You Choice
- Cracking ASR, For It Being Free
- How to Use ASR By Polansky
- The Main Thing needed to make a UCE
- So you don't have to edit the DBK Kernel Folder

- For making a ICON for your UCE
- Like the CE 5.3 but won't be needed unless you know what your doingCredits - Xterminator and Polansky
FAQ
General faq
Is it easy?
Yes and No,it depends
Is a programming background compulsory?
No,you need common sense,good memory,creativy and patiance.Although a programming background will speed up the process.
whats the average time for editing ce?
40-50hours if you understand nothing,1 hour if you done it b4/know what
are you doing.Note:some did it under 20mins
Where to get the latest ce source?

People say that delphi and ddk are needed,is that true?
Yes,DDK and delphi is needed ,ce can be broken into 2 parts,the driver and ce itself.DDk is used to compile the driver while delphi is to modify and compile ce.Modify the driver with a notepad because ce is written in C.
Is there a tutorial for editing ce?
There are lots of it(use the best place to start sticky)
What hell is DBK32.dll and DBK32.sys?
DBK stands for DarkByteKernel.Both of them play a important role in changing values.
Here's why,Newkernelhandler(part of ce) controls dbk32.dll,dbk32.dll controls dbk32.sys,dbk32.sys hacks/changes the game.
What is to "comment out"?
OK,heres an example.Nprotect detects the string fox
and heres the code
"The quick brown fox climbed over the fence"
but we do not know nprotects detects what but we do know is in that line In ce the "code" will be a few hundred lines long.
The way to comment
comment out everything NOT everything in the real code or you will get errors
{The quick brown fox climbed over the fence}
result - undetected but useless because there is no instuctions if you pressed a button
slowly
the quick brown {fox climbed over the fence}
form this you decrease the search area(fox climbed over the fence)
result - same as above
The quick brown fox climbed {over the fence}
result - detected but we cross out "over the fence"
The quick brown {fox} climbed over the fence
result - undetected BINGO.
Change fox to wolf = undetected
instead of 8 words ce has thoudsands.So alot of work must be done.
That commenting out thing looks time consuming,any shortcuts?
Yes,
Ok, get a process viewer/pauser. I like Process Explorer by Sysinternals (freeware, and Sysinternals makes very good programs),or you can search for detected strings in the forum.
While Maple is loading, expand it's process tree, and wait for GameMon.des to pop-up. As soon as it does, pause it (right click and select suspend).
Now we need to dump it. Find a process dumper, and BAM, detected strings.
Dumping:
While GameMon is paused, load your dumper, and dump. d0ne! You have a file of detected strings.
credits to DB and ubernoob
Why is memory view displays ??
There are a few known possiblities
Expecting that your driver load sucessfully(no errors)
a.You target the wrong game.exe(there are a few)
b.You din't tick "read/write memory" in settings MOST LIKELY
c.your driver malfuction
Why does DB put ancronyms instead for the full name?
For example:OP=openprocess,but windows kernel also has a function called openprocess.If 2 were the same windows will crash.
So in the end,be carefull when modifiying newkernelhandler.
In some parts of the forum people says use the divide the string and rejoin when needed tatic(pchar),is it the way to go?
Depends on the user.
Divide method(not noob friendly)
pros :will not get confuse while correcting
looked better,don't have stupid names
cons:need to add allot of code.
programming background maybe required
more things to get wrong
Change string method
pros :will get confuse if no notes or system are made.
cons oppsite of the above.And some are not compatible.
eg:7ffffff 080000 and 0400000
tip:there is 2 main systems involed.
the numbering system qwe1,qwe2
the transalation method,openprocess -> bukaproses(malay)
How do I compile the driver?
Run 2000 FREE build enviroment
type in your pathfile(cd C:\cheat engine delphi\dbkkenel)
If you can't do the above step,you better off leeching.
type "ce"The bat fille will auto compile it.
You ask where did the file go?
2 places in the ce folder and in dbkkernel folder
How do I compile Delphi source?
Read the help file!!!
Shortcut:
Press ctrl+F9 if ur a Borland user
Not sure about Delphi 7 users
Do I need to copy anything after I compile CE,the driver and dlls?
No.expect cehook
I bypassed but I can't see game.exe.
Nprotect hides game processes,use the process watch.It tracks any threads use by programs used after process watch has begun
Why its it lots of files in the ce folder.
DB is a well organized person every form(window)has its own code.
Then what I am suppose to open?
Easy,XXX.dpr
Note:Its not recomended in slower comps and DB doesn't like using it so do I,I only recomend it if your comp is PentiumD 3.0 or higher,2gigs of ram.
As explained in the above answer,How do you exactly comment out?
In "var"(variables)
type
No quotes of course
"a:string;"
"b:string;"
then after "begin"(there are sevaral so choose the right one)
type this
Note the capital letters must be exact
"a:=Open"
"b:=Process"
then the normal code begins
Example
var
a:string;
b:string:
begin
a:=Open;
b:=Process;
Getprocaddress(WindowsKernel,pchar(a+
); Getprocaddress(WindowsKernel,pchar(a+'Current'+
<-----note the function is fiction,as in-not real. There is a pic for it in the best place to start fourm.
I got errors while compiling ce hook..
According to DB delphi 7 user wont get this error only borland's version does.
Solution = comment out " system ; " or delete it.
Certain buttons arn't showing up in UCE?
Go back to the HEX Value changing steps then. You changed something related to the buttons XD. I forgot the name now lol >.<. Bytes in the graphic to the button? I unno. Anyways. Or you can just hit on the icon. Hit the glyph button and select the icon again to replace it.
I get a message saying 'Hacking Thread Detected'?
This means your GUI is being detected. Worry not, for you are not far from a working UCE! Please refer to
for more information (credits go to Toadwaker). "Undeclared identifier: '******'"?
This means you have changed the wrong/too many strings.
You have 2 options:
1. Look at the identifier and see what it's real name was and then use Actual Search and Replace to change them all back
For example: Let's say I changed 'IMPORTANTSTRING' into 'WhoCares10', the compiler - not being able to find 'WhoCares10' being declared anywhere - will give you an error. So what do we do? We change 'WhoCares10' back into 'IMPORTANTSTRING'. This should solve the compiling errors. You do have to change the string but next time take a more careful look before changing anything.
2. Start over.
This error is given inside your Delphi Build logs. This is given because you haven’t changed your export functions in your dbk32.dpr files. Remember to change the exports, functions AND DarkByteKernel strings in the Newkernelhandler.pas.
It is also caused by you changing some instances of a string from blah to blah2 but not all. Then the blah variable which has NOT been changed is underclared and is giving you errors. Make sure you change every instance of a string / variable.
I can't find Driver.dat?
Unless you have an older source it should be in the main directory of your source (default: ..\Cheat Engine Delphi\).
I get BSoD's*/Autoassembler does not work?
This is most likely caused by the 'hideme' function in your driver (dbk32.sys or whatever you renamed it to). Unless you can figure out how to get rid of the hideme function you will have to live with the BSoD's.
Tips on removing 'hideme' can be found in
. *Blue Screen of Death
I want to change the Image in my UCE's GUI?
1. Open cheatengine.dpr (or whatever you might've renamed it to).
2. On the GUI that shows up* click on the image.
3. The object inspector will now show a property called 'Picture' click on it and then click the '...' button.
4. The picture editor will now pop up, click load and select whatever picture you want to replace it with.
*If you do not see the GUI press CTRL+ALT+F11 (Project Manager) and expand Cheatengine.exe (or whatever you might've renamed it to), then double click on mainunit and it should pop up.
I get an error when compiling saying "Unit not found:'*****.pas'"?
You most likely changed a string that leads to a certain file. For example if you renamed all CeFuncProc strings but not the CeFuncProc.pas file itself you will get errors such as these. You can fix this by manually renaming the appropriate .pas file into whatever the compiler needs.
Access Violation 00000000
The most common errors received and the easiest to solve. This errors is given because of the following reasons:
Your exports in DBK32.dpr don’t match up with the strings in Newkernelhandler.pas
You have changed the WindowsKernel Strings like: â€Å"OpenProcessâ€?, which in the DarkByteKernel read as â€Å"OPâ€?. Remember you should only edit the DarkByteKernel strings and NOT the WindowsKernel ones.
Access violation at address 00000000 means the instruction pointer jumped to that address.
The only way that can happen is when getprocaddress (in newkernelhandler)returns NULL for a function in a dll.
getprocaddress returns NULL when the functionname couldn't be found in the dll-dbk32.dll(not exported or spelled wrong), or when the dll is invalid.
Reason for the dll to be invalid: The dll couldn't be found/opened
by darkbyte modified abit.
Known ways to overcome
a.Reboot
b.Spell check your source,your import and export maybe wrong,reboot(worst and the most likely)
c.Disable all antivirus and antispyware sofware,reboot
Trainer.res not found
Error occurs when compiling your UCE.
All you have to do is download trainerwithassembler.rar from this forum (use search button) and put it in your compiled UCE’s folder. Next double click on the error in the bottom â€Å"Buildâ€? log and it should show you where this has occurred. Delete the line â€Å"{$R trainer.res, trainer.rc}â€? (or something like that) completely and you will get no errors and a fully functional UCE.
Changing Scanvalue in UCE’s source
Some problems which occur when doing this:
You didn’t rename all of the strings thus giving you a pop-up error on compile saying â€Å"Field.FindWindow.scanval (or whatever yours is called) does not have a corresponding component. Remove the declaration?. This error is given when you didn’t rename all of the strings to the same thing, and I mean procedures, strings, and the names in Forms (There are 2 instances of Scanvalue in forms. One is in FindWindow and one is in MainUnit. Change both of those to the same thing.
FAILED TO LOAD DBK32.DLL
This error is given when you run Systemcallretriever. This is given because you haven’t properly edited your Systemcallretriever, systemcallsignal and Kernelmoduleunloader files to change the CEDriver52, DBKProcList51 and DBKThreadList51 text to the same string you named them in your DBK32.sys file. SO open up your DRP’s and look for those values, just to be safe also look for dbk32.dll and dbk32.sys in there and rename those too.
DBK32.dll Error on opening of UCE
The error reads â€Å"The driver couldn’t be open! It’s not loaded or not responding. I recommend to reboot your system and try again.â€?
Solution: â€Å"Make sure your Newkernelhandler.pas, DBK32.dpr and Systemcallretriever / systemcallsignal all have the correct driver names. DBK32.sys and DBK32.dll.
XXX.res not found
Why does my computer restart after I open MapleStory?
A) Your GUI/Driver is detected.
Why does it show "P>????????" in your pointers?
A) Check your UCE settings or something else I forgot.
Why doesn't any of the memory view codes work like god and fast attack?
A) You have to change the IOCTL or fix the KeStackAttachProcess
What's the tutorial for changning the IOCTL's?
A)
DarkByte shows you how What are some good tutorials?
A) Ani's Tutorial:
And Suburban's Tut
Which files do I change the IOCTL for?
A) "DBKDrvr.c" and "dbk32functions.pas"
Why does MapleStory closes when you try to login?
A) That emulation rev is detected
When compiling something, I keep getting errors not shown in the tutorial?
A) Do everything again but slowly this time. Or check everything and see if they're right.
Why does it keep saying "the driver that is currently loaded belongs to a previous version of cheat engine. please unload this old driver or reboot"?
A) REBOOT your whole computer then if that keeps coming up, make sure your IOCTL codes are the same in both of your files. This is how I did it, I'm not sure but it works.
Like if $0805 = $080C
Then 0x0805 must = 0x080C
I can't find any of the files in the tutorial...
A) Push |START Menu KEY| + |F|, and then find it.
Credits to vener and Rot1 and Calvinbui






