Сейчас на форуме: bartolomeo, vasilevradislav, rmn, Magister Yoda (+6 невидимых)

 eXeL@B —› Программирование —› TLS-Callback у DLL не вызывается
Посл.ответ Сообщение

Ранг: 9.3 (гость)
Активность: 0=0
Статус: Участник

Создано: 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 и в тестирующем екзешнике)




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 30 июня 2008 18:01
· Личное сообщение · #2

Вроде, ТЛС не вызывается при динамик загрузке, и это никаким шаманством не исправить.




Ранг: 793.4 (! !), 568thx
Активность: 0.740
Статус: Участник
Шаман

Создано: 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 не вызывается
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати