Сейчас на форуме: asfa (+6 невидимых) |
![]() |
eXeL@B —› Вопросы новичков —› пакер: GetModuleFileName не возвращает путь |
Посл.ответ | Сообщение |
|
Создано: 23 мая 2010 02:22 · Личное сообщение · #1 Здравствуйте! Пишу пакер. Запускаю из него MFC приложение. Оно вываливается из-за того, что GetModuleFileName не возвращает путь к файлу. Т.е. возвращает 0 (это количество символов в пути). Думал, что это как-то связано с TLS директорией, но её в MFC приложении нет... Подскажите, с чем это может быть связано. ![]() |
|
Создано: 23 мая 2010 02:27 · Личное сообщение · #2 |
|
Создано: 23 мая 2010 02:33 · Личное сообщение · #3 |
|
Создано: 23 мая 2010 02:37 · Личное сообщение · #4 |
|
Создано: 23 мая 2010 11:38 · Личное сообщение · #5 |
|
Создано: 23 мая 2010 11:54 · Личное сообщение · #6 |
|
Создано: 23 мая 2010 17:53 · Личное сообщение · #7 После передачи управления пакуемому приложению идут следующие вызовы: AfxWinMain AfxWinInit CWinApp::SetCurrentHandles() так в последней есть вызов DWORD dwRet = ::GetModuleFileName(m_hInstance, szBuff, _MAX_PATH); так он возвращает 0 (длину строки, записанной в szBuff. Соответственно и в буфер ничего не пишется. вызовы выше приведённых ф-ций происходят с корректными аргументами. сложность для меня в том, что я ASM не знаю ![]() |
|
Создано: 25 мая 2010 14:53 · Поправил: e53 · Личное сообщение · #8 пакер загружается по адресу 0x3c0000 выстраивает программу по 0x400000 Нашёл исходники GetModuleFileName В ней вызывается LdrFindEntryForAddress так мне нужно, что бы он для адреса, по которому я выстроил образ возвращал путь, по которому находится пакер я пофиксил PEB.ImageBaseAddress это поправило работу GetModuleHandle() а что мне нужно сделать, что бы LdrFindEntryForAddress отрабатывал корректно? Ещё раз: GetModuleFileName корректно работает, если ему передать адрес 0x3c0000 а мне нужно, что бы он корректно работал, если ему передать адрес 0x400000 ![]() |
|
Создано: 25 мая 2010 16:20 · Личное сообщение · #9 |
|
Создано: 25 мая 2010 16:26 · Личное сообщение · #10 |
|
Создано: 25 мая 2010 17:09 · Личное сообщение · #11 |
![]() |
eXeL@B —› Вопросы новичков —› пакер: GetModuleFileName не возвращает путь |