Rockphorr, (Привет! Давно тебя не было ) 20 способов создания кнопки Исходный текст взят на сайте Исходники Assembler
У всякого окна можно GetWindowLong'ом получить GWL_WNDPROC, и етот самый вндпрок будет находиться в образе модуля, который зарегистрировал класс данного окна (или варварски засабклассил его).
Это зависит от манифеста. Если кнопка со стилями то в comctl32 если без то user32. --- Сообщение объединено, 26 фев 2023 --- Такое не будет работать для SetWindowSubclass которая будет возвращать всегда адрес в пределах Comctl32. --- Сообщение объединено, 26 фев 2023 --- Оригинальную процедуру можно получить через GetClassInfoEx
Вот на скрине программа хеллоу ворлд, создается окно типа button вызывается SetWindowLongA (я меняю функцию на свою, а в своей вызываю оригинальную) и мне она возвращает значение по которому можно вызвать оригинальную функцию с помощью CallWinowProc(значение возвращенноеSetWindowLongA) Как собственно понять из какого модуля ?? скорее всего comctl32 это исключено так как не подключал его инклуд файл по f7 в вызовы dll зайти не получается
Спойлер: winapi refer Syntax C++ BOOL GetModuleHandleExA( [in] DWORD dwFlags, [in, optional] LPCSTR lpModuleName, [out] HMODULE *phModule ); Parameters [in] dwFlags This parameter can be zero or one or more of the following values. If the module's reference count is incremented, the caller must use the FreeLibrary function to decrement the reference count when the module handle is no longer needed. GET_MODULE_HANDLE_EX_FLAG_FROM_ADDRESS (0x00000004) The lpModuleName parameter is an address in the module. а если система допотопная - win95 ?
Я нашел, для Windows 95 это 16 битная библиотека user.exe --- Сообщение объединено, 15 авг 2023 --- как насчет Windows 3.11 и Norton Desktop ???
Собственно вопрос по NE формату user.exe --- сайс показывает в скобочках число когда трассируется код из user.exe --- правильно ли я понял что это номер сегмента, ибо экспериментальное подтверждение тому было запись этого номера и смещение куска кода в сайсе, а потом поиск кода из сайса в IDA перебором номеров сегментов и указания смещения ??? (номер в скобках у сайса совпал с номером в ида)