Для начала нам понадобятся такие инструменты:
Delphi 7+ найдете в google (http://www.google.ru)
Microsoft Windows Driver Kit (http://www.microsoft.com/whdc/driver/wdf/KMDF.mspx)
Notepad++
Advanced Find and Replace 6
Исходники Cheat Engine 5.6+ (http://cheatengine.org/download/CheatEngine56src.rar)
Приступим. Распаковываем исходники СЕ к примеру в «C:\CheatEngine\source\» (рекомендуется именно на диск С, тк могут возникнуть проблемы с Microsoft Windows Driver Kit)
заходим в «C:\CheatEngine\source\»
1.открываем через Notepad++ файл «driver.dat» и видим такие строчки:
Code
DBKDRVR55
DBKDRVRPROCLIST55
DBKDRVRTHREADLIST55
dbk32.sys
76543210
fedcba98
2.даем имя нашей дллке (к примеру фрост)
•«->» - означает переименование
Code
DBKDRVR55 -> frost64
DBKDRVRPROCLIST55 -> frostProcList
DBKDRVRTHREADLIST55 -> frostThreadList
dbk32.sys -> frost64db.sys
76543210
fedcba98
(76543210 и fedcba98 - не трогаем, хотя можете переименовать и их)
3.Сохраняем наш переделанный «driver.dat» (ctrl+s)
4.В папке «DBKKernel» открываем «DBKDrvr.c» Notepad’ом++
5.Жмем «CTRL+F» и в окне поика пишем «hideme», жмем поиск)
6.Видим примерно такое:
Code
//hideme(DriverObject); //многа букаф
Удаляем комментарий «//»
Получается такое:
Code
hideme(DriverObject); //многа букаф
7.Сохраняем. «DBKDrvr.c»
8.Открываем «Sources», «Sources.ce» (sources.cetc – не трогаем)
9.Изменяем
Code
TARGETNAME=DBK32 -> TARGETNAME=наша дллка
Пример:
Code
TARGETNAME= frost64db
10.Сохраняем наш переделанный «Sources» и «Sources.ce»
По сути дллка готова, осталось только ее создать=) (откомпилировать). Для этого нам понадобиться Microsoft Windows Driver Kit
11.«Пуск - Windows Driver Kits- WDK **** - Build Environments – версия виндовс (в моем случае Windows 7) - x86 Free Build Environment»
И тут внезапно появляется «черное окно»(не нужно его закрывать=))
12.Пишем туда «cd C:\CheatEngine\source\DBKKernel\» (путь к папке с исходниками дллки), жмем Ентер.
Ждем
Наблюдаем как мы правильно указали путь к исходникам)
Пишем «ce» (английскими)
Жмем ентер
Ну вот и все!, дллка готова), можете себя поздравить)) (в DBKKernel – появились 2 новые папки в моем случаем это «objfre_win7_x86»-i386 и там среди множества файлов есть наша дллка )
Dll"ка
14.Отрываем с помощью Delphi -dbk32.dpr с папки dbk32
15.В Delphi заходим - "VIEW" - "Project Manager"
Скрин
Пкм- add – выбираем файл newkernelhandler.pas(в основной папке с исходниками)
Скрин
жмем 2 раза по «dbk32.dll»(в Project Manager’e)
Скрин
6.жмем 2 раза по «DBK32functions» в (dbk32.dll)
жмем CTRL+R
и заменяем (replace all)
Code
CEDRIVER55 -> frost64
DBKProcList55 -> frostProcList
DBKThreadList55 -> frostThreadList
Скрин
17. раскоментируем (уберем «//»), (если возникнуть проблемы при компилировании – закоментируйте обратно =))
Code
exports ProtectMe;
exports UnprotectMe;
18. заменяем в «dbk32.dpr», «DBK32Functions.pas» и «newkernelhandler.pas»
Такие строчки на ваши)
Code
VQE; -> vvqqee
OP; -> oopp
OT; -> oott
NOP; -> nnoopp
RPM; -> rrppmm
RPM64; -> rrppmm64
WPM; -> wwppmm
WPM64; -> wwppmm64
VAE; -> vvaaee
Скрин
Сохраняем…
19. Переименуем названия
Code
dbk32.res -> frost64db.res
dbk32.dpr -> frost64db.dpr
dbk32.dof -> frost64db.dof
dbk32.cfg -> frost64db.cfg
dbk32functions.pas -> frost64dbfunctions.pas
ищем все упоминания о dbk32 в нашем dbk32.dpr\frost64db.dpr и заменяем их
Скрин
(если будут ошибки связные с dbk32*** меняйте название на frost64db)
20. теперь нам нужно скомпилить(создать) наш frost64db.dll
Открываем frost64db.dpr через делфи
Заходим в «project manager» и жмем «compile»
Если у не было допущено никаких ошибок то в папке появиться «frost64db.dll»
21. Теперь нам нужно заменить все воспоминания о dbk32.sys и dbk32.dll
чтобы не заменять все в ручную можно воспользоваться специально предназначенной для этого программой «Advanced Find and Replace»
Code
dbk32.sys -> frost64db.sys
dbk32.dll -> frost64db.dll
Скрин
собственно и все!
запускаем «compile.bat» (в папке с исходниками)
в папке «bin» появиться наш .ехешник, скидуем туда все дллки которые переделали.
Берем какойнить пакер (использовал upx), пакуем им все дллки (кроме .сус) и запускаем се
Packer upx
Packer uce
Можно было-бы и + поставить 