Крекинг - важные брэйкпоинты. |
Самые важные брэйкпоинты. Упрощенный вывод сообщений MessageBox, MessageBoxEx, MessageBoxIndirect, MessageBeep (эта функция не выводит сообщение, а только издает соответствующий звуковой сигнал) Создание и уничтожение окон CreateWindow(наиболее популярная функция создания окон), CreateWindowEx CloseWindow (функция закрытия окна), DestroyWindow Создание и уничтожение диалогов CreateDialog,
CreateDialogIndirect, CreateDialogIndirectParam, CreateDialogParam (этифункциитолькосоздаютдиалог) DialogBox, DialogBoxIndirect, DialogBoxIndirectParam, DialogBoxParam (эта группа функций позволяет создавать модальные диалоги; управление не возвращается программе, пока диалог не будет закрыт) EndDialog, DestroyWindow Чтение и изменение текстов окон GetWindowText, GetDlgItemText (чтение текста окна или элемента диалога) GetWindowTextLength (чтение длины текста окна) GetDlgItemInt (чтение текста элемента диалога как 32-битного числа) SetWindowText, SetDlgItemText, SetDlgItemInt (установка нового текста окна или элемента диалога) Изменение видимости, позиции и прочих подобных свойств окна EnableWindow (активация/деактивацияокна) ShowWindow, ShowWindowAsync (изменение видимости и состояния окна, в частности – позволяет минимизировать или наоборот развернуть окно) SetWindowPos, MoveWindow (изменение положения окна) SetWindowWord (устаревшая и практически не используемая функция), SetWindowLong – две функции, позволяющие модифицировать весьма широкий спектр параметров окна. GetWindowWord, GetWindowLong – функции чтения этих параметров. Загрузка ресурсов LoadImage (универсальная функция загрузки изображений, иконок и курсоров), LoadBitmap, LoadIcon, LoadCursor FindResource, FindResourceEx, LoadResource (функциизагрузкиресурсовлюбоготипавпамять) Отображение изображений и текстов на экране BitBlt, StretchBlt, MaskBlt (функции копирования BITMAP’ов на экран) DrawText, TextOut, TabbedTextOut (обычный вывод текста) GrayString (редко используемая функция, выводит на экран строку со стилем надписи на неактивном управляющем элементе) Работа с файлами OpenFile (устаревшая функция), CreateFile (основная функция открытия файлов; несмотря на свое название способна открывать файлы и даже директории) ReadFile, ReadFileEx (функции чтения из файлов) WriteFile, WriteFileEx (функции записи в файл) SetFilePointer (перемещениепофайлу) GetFileTime, GetFileAttributes, SetFileTime, SetFileAttributes (чтениеимодификациявременисозданияиатрибутовфайлов/директорий) SetEndOfFile (изменение размеров файла) Операциисреестром RegOpenKey, RegOpenKeyEx, RegCreateKey, RegCreateKeyEx (открытиеисозданиеключейреестра) RegQueryInfoKey (запрос информации о ключе, в частности – для проверки факта существования подключа) RegQueryValue,RegQueryValueEx (чтение значений из реестра) RegSetValue, RegSetValueEx (запись ключей в реестр) RegCloseKey (закрытие ключа реестра) Чтение и запись INI-файлов GetProfileSection, WriteProfileSection, GetProfileInt, GetProfileString, WriteProfileString, WriteProfileInt (функции для работы с файлом Win.ini, в настоящее время считаются устаревшими, но иногда используются) GetPrivateProfileSection, GetPrivateProfileSectionNames, WritePrivateProfileSection, GetPrivateProfileInt, GetPrivateProfileString, GetPrivateProfileStruct, WritePrivateProfileString, WritePrivateProfileInt, WritePrivateProfileStruct (функцииработысобластьюреестра, отведеннойдляхранениянастроекпрограмм, либоспроизвольнымINI-файлом; этагруппафункцийсчитаетсяустаревшей) Работа с датой и временем GetSystemTime, GetLocalTime, GetSystemTimeAsFileTime (чтениетекущеговремени) SetSystemTime, SetLocalTime(установка нового времени) LocalTimeToFileTime,
FileTimeToLocalTime, FileTimeToSystemTime, SystemTimeToFileTime (преобразованиеформатавремени) CompareFileTime (сравнение двух переменных, хранящих время) GetFileTime, SetFileTime (запись и чтение времени создания, последней модификации и последнего доступа к файлу) Процессы и потоки: создание и управление WinExec (устаревшая функция запуска исполняемых файлов), CreateProcess (функция, обычно используемая для запуска исполняемых файлов), ShellExecute, ShellExecuteEx (пара «альтернативных» функций для запуска приложений (применительно к исполняемым файлам) или открытия, печати и т.п. папок и документов). ExitProcess(«стандартное» завершение процесса, эта функция способна завершить только тот процесс, внутри которого она вызвана), TerminateProcess (принудительное завершение процесса; эта функция способна «убить» любой процесс (в NT – при наличии соответствующих привилегий), что иногда используется защитами для подавления крэкерского софта) CreateThread (штатная функция создания нового потока), CreateRemoteThread (эта функция «живет» только под NT-подобными и на самом деле в защитах практически не используется. Зато очень, очень (я не забыл сказать «очень»?) широко используется самими крэкерами для внедрения в чужой процесс. Так что обойти ее вниманием в этом поминальнике было бы несправедливо) ExitThread, TerminateThread(штатное завершение и аварийное уничтожение потоков соответственно) Загрузкаивыгрузка DLL LoadLibrary, LoadLibraryEx (функциизагрузкидинамическихбиблиотек) LoadModule (устаревшая функция загрузки DLL) GetProcAddress (функция, возвращающая адрес функции или переменной, объявленной в экспорте DLL, по имени этой функции/переменной (разумеется, соответствующая DLLдолжна быть подгружена текущим процессом). Эта функция широко используется как в защитах чтобы вызов какой-либо функции не «светился» в дизассемблированном листинге, а также для приемов типа push<желаемый адрес возврата>; jmp <адрес функции, полученный через GetProcAddress>, используемых для сокрытия точки, откуда была вызвана функция) FreeLibrary (функция принудительной выгрузки DLL) |