Мануал крекеру
Немало людей начинали познавать хакинг с крякинга.
Но это сложно делать, не зная с чего начать...
Поехали! Для работы требуется
1. Клоподав aka Debuger, я бы посоветовал - SoftIce + FrogIce (tула для скрытия SoftIce'a).
2. Сама программа.
3. Терпение.
4. Знать: что требуется отключать (счетчик запусков, проверку даты, e.t.c.)
Высказывание "хакерство требует индивидуального подхода и общих методов нет" - от части - ложь.
А вот и WinAPI функции, перехват которых, может пригодится при креке:
Чтение и Запись Файлов
-----------------------
универсальные обращения чтения - записи файл.
ReadFile
WriteFile
Позиционирование указателя в файле:
SetFilePointer
GetSystemDirectory
GetSystemDirectoryA
Наиболее общие обращения чтения - записи из / в *. ini файл
Или файл подобного формата.
Для 16-разрядных приложений:
GetPrivateProfileString
GetPrivateProfileInt
WritePrivateProfileString
WritePrivateProfileInt
Для 32-разрядных приложений:
GetPrivateProfileStringA
GetPrivateProfileIntA
WritePrivateProfileStringA
WritePrivateProfileIntA
Системный реестр
------------
Создайть или удалить новый ключ в системном реестре:
RegCreateKey
RegDeleteKey
RegCreateKeyA
RegDeleteKeyA
Читайте значение текущего ключa из
системного реестра:
RegQueryValue
RegQueryValueA
Открыть или закрыть ключ системного реестра:
RegCloseKey
RegOpenKey
RegCloseKeyA
RegOpenKeyA
Диалоговые окна
------------
Получить текстовое или целочисленное значение из редактирования диалогового окна:
GetWindowText
GetDlgItemText
GetWindowTextA
GetDlgItemTextA
GetDlgItemInt
Oкна, которые oбычно говорят "недопустимая регистрация":
MessageBox
MessageBoxA
MessageBoxExA
MessageBeep
И другие способы отображать текст ...
SENDMESSAGE
WSPRINTF
Время и Дата
-----------
Получение времени и даты:
GetSystemTime
GetLocalTime
SystemTimeToFileTime
Создание окна
---------------------
Createwindow
Createwindowexa
Showwindow
Обращения к CD-ROM:
----------------
GetDriveType (если eax = 5 это - проверка cdrom)
GetDriveTypeA
GetDriveType коды Функции Возврата:
Значение Значения
0 Диск не может быть определенн
1 Корневой директории не существует
2 Диск Removeable
3 Жесткий диск (HardDrive)
4 Удаленных Диск (Сеть)
5 Диск Cd-Rom
6 RamDisk
GetLogicalDrives
GetLogicalDrivesA
GetLogicalDriveStrings
GetLogicalDriveStringsA
Окно Числовые вводы
----------------------------
GETWINDOWWORD
GETWINDOWLONG
Некоторые другие хорошие контрольные точки из ORC
--------------------------------------- --------
BOZOSLIVEHERE
HMEMCPY
GLOBALGETATOMNAME
GetDriveTypeA - с компакта идём или нет
GetFileAttributes - read only или нет
GetVolumeInformation - для проверки типа файловой системы и метки диска
GetDiskFreeSpace - ноль или нет
Более экзотическими являются:
GetCurrentDirectoryA - откуда
GetFullPathName - мы запускаемся ?
IsDriveNetwork
IsDriveRemovable
IsDriveLocalHard
GetFileSize - если вам вздумалось сделать интро покороче
А брякпоинт можно поставить так:
--------------------------------------- --------------------
BMSG xxxx WM_GETTEXT (получение паролей)
BMSG xxxx WM_COMMAND ( кнопка OK)
Xxxx - конечно же - значение hwnd.
Важная информация:
Если вы хотите поставить бряк на wm_command, вы должны знать, что
hwnd кнопки - 0324
Hwnd окна - 0129
Чтобы найти нужную кнопку, используйте значение hwnd окна!
Так для примера, чтобы найти нашу кнопку , мы сделаем так:
BMSG 0129 WM_COMMAND
Для просмотра хендлов форточек используйте функцию SoftIce'a - hwnd
Эта статья предназначена только для ознакомительных целей. Ни в коем случае не реализовывайте на практике то, что Вы прочитаете, так как Вы несете полную ответственность за свои поступки в соответствии с действующим законодательством. Я не отвечаю за достоверность информации и не несу ответственности за Ваши поступки! Все что вы делаете, вы делаете на свой страх и риск!!!