Сейчас на форуме: bartolomeo, vasilevradislav, rmn, Magister Yoda (+6 невидимых) |
![]() |
eXeL@B —› Программирование —› TLS-Callback у DLL не вызывается |
Посл.ответ | Сообщение |
|
Создано: 30 июня 2008 17:06 · Личное сообщение · #1 Здравствуйте! Столкнулся со следующей проблемой: на masm'е пишу минимальную dll, в ней в начале секции данных ручками создаю структуру - директорию TLS, потом PE Tools'ом указываю адрес (RVA секции данных) и размер TLS директории (18h). При статической линковке этой DLL с тестирующим екзешником TLS-Callback вызывается, а при динамической - ни в какую. Да, на MSDN есть статья, в которой говорится, что DLL с TLS нужно линковать только статически и никаких LoadLibrary/GetProcAddress. Однако, при натравливании ExECryptor'а на DLL-ку, насколько мне известно, используются именно TLS-Callback и все работает даже при динамической загрузке обработанной DLL. Может есть еще какие-то условия, чтобы TLS-Callback моей DLL вызывались? (Импорт user32.dll присутствует и в DLL и в тестирующем екзешнике) ![]() |
|
Создано: 30 июня 2008 18:01 · Личное сообщение · #2 |
|
Создано: 30 июня 2008 18:13 · Личное сообщение · #3 Wolfgang пишет: при натравливании ExECryptor'а на DLL-ку, насколько мне известно, используются именно TLS-Callback и все работает даже при динамической загрузке обработанной DLL Ты не прав TLS Callback не срабатывает при LoadLibrary и EXECryptor это знает, только поэтому у криптора одинаковый код и на Callback и на EP и без разницы откуда он начнет выполняться. С exe такой финт не пройдет там на Callback и на EP разные загрузчики. ----- Yann Tiersen best and do not fuck ![]() |
![]() |
eXeL@B —› Программирование —› TLS-Callback у DLL не вызывается |