Сейчас на форуме: (+7 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› forwarding функцй |
Посл.ответ | Сообщение |
|
Создано: 09 августа 2014 14:53 · Личное сообщение · #1 В теме Armadillo Vovan666 посоветовал мне заменить функции группы "Rtl..." из ntdll.dll на соотвтствующие из kernel32.dll. Но для меня это оказалось не таким и простым делом, и чтобы не засорять тему Armadillo своими вопросами перешел в раздел новичков. Может кто подскажет как это сделать - устранить т.н. forwarding функций kernel32 ? Я подготовил адреса загрузки нужных мне функций kernel32 и ntdll, но не знаю нужны ли они вообще? Из кода вызова функций идет адресация к элементам IAT, сохранять в дампе их бесполезно - их заполняет загрузчик. Остается, вроде бы, цепочка OriginalFirstThunk -> IMAGE_THUNK_DATA -> IMAGE_IMPORT_BY_NAME . Изменять в поле Name последней структуры его текстовое значение?! Заранее благодарю за ответ! ![]() |
|
Создано: 12 августа 2014 21:58 · Личное сообщение · #2 ntdll.dll!RtlLeaveCriticalSection --> kernel32.dll!LeaveCriticalSection ntdll.dll!RtlEnterCriticalSection --> kernel32.dll!EnterCriticalSection ntdll.dll!RtlDeleteCriticalSection --> kernel32.dll!DeleteCriticalSection ntdll.dll!RtlGetLastWin32Error --> kernel32.dll!GetLastError ntdll.dll!RtlRestoreLastWin32Error --> kernel32.dll!SetLastError ntdll.dll!RtlUnwind --> kernel32.dll!RtlUnwind ntdll.dll!RtlAllocateHeap --> kernel32.dll!HeapAlloc ntdll.dll!RtlReAllocateHeap --> kernel32.dll!HeapReAlloc ntdll.dll!RtlSizeHeap --> kernel32.dll!HeapSize ntdll.dll!RtlFreeHeap --> kernel32.dll!HeapFree ![]() |
|
Создано: 12 августа 2014 22:04 · Поправил: unknownproject · Личное сообщение · #3 Phantom007 пишет: ntdll.dll!RtlLeaveCriticalSection --> kernel32.dll!LeaveCriticalSection ntdll.dll!RtlEnterCriticalSection --> kernel32.dll!EnterCriticalSection ntdll.dll!RtlDeleteCriticalSection --> kernel32.dll!DeleteCriticalSection ntdll.dll!RtlGetLastWin32Error --> kernel32.dll!GetLastError ntdll.dll!RtlRestoreLastWin32Error --> kernel32.dll!SetLastError ntdll.dll!RtlUnwind --> kernel32.dll!RtlUnwind ntdll.dll!RtlAllocateHeap --> kernel32.dll!HeapAlloc ntdll.dll!RtlReAllocateHeap --> kernel32.dll!HeapReAlloc ntdll.dll!RtlSizeHeap --> kernel32.dll!HeapSize ntdll.dll!RtlFreeHeap --> kernel32.dll!HeapFree Это не все. Address - BytePattern - Forwarded function Code:
Дэмн.Не влазит. Добавлено спустя 11 минут Code:
Добавлено спустя 12 минут Названия функций узнаем из листинга иды по соответствующему адресу. Добавлено спустя 7 часов 48 минут Забыл добавить, что сие актуально для WinXP Sp3 x86. ----- TEST YOUR MIGHT ![]() |
|
Создано: 16 августа 2014 18:26 · Личное сообщение · #4 |
|
Создано: 16 августа 2014 18:31 · Поправил: Vovan666 · Личное сообщение · #5 |
|
Создано: 17 августа 2014 17:49 · Личное сообщение · #6 Vovan666 Спасибо! Но скачать UIF из раздела Инструменты не удалось. Яндекс кричит: не делай это! Я использую обычный ImpREC . И, возможно поэтому, у меня в IAT'e например в 416140 вместо значения 7С80918А(kernel32.RestoreLastError) стоит 7C910340(ntdll.RtlRestoreLastWin32Error). Но ImpREC указывает, что здесь forwarding! Vovan666, вы не смогли бы указать ссылку на Армагеддон под Armadillo v3.7 ? ![]() |
![]() |
eXeL@B —› Вопросы новичков —› forwarding функцй |
Эта тема закрыта. Ответы больше не принимаются. |