Сейчас на форуме: padad42664, kris_sexy, site-pro, vasilevradislav (+6 невидимых) |
eXeL@B —› Крэки, обсуждения —› TLS Callback |
Посл.ответ | Сообщение |
|
Создано: 14 июня 2007 15:03 · Личное сообщение · #1 Вопрос такой - кто нибудь видел реальную прогу юзающую массив тлс каллбэков (или хотя бы один) ? Гавнопрот и иже с ним не в счёт. Если прописывать каллбэк самому - то он будет периодически вызываться во время работы проги даже если компилер не поддерживает его вызов - типа как для Visual C++, интересное явление... ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 14 июня 2007 15:19 · Личное сообщение · #2 |
|
Создано: 14 июня 2007 15:28 · Личное сообщение · #3 |
|
Создано: 14 июня 2007 15:35 · Личное сообщение · #4 |
|
Создано: 14 июня 2007 17:00 · Личное сообщение · #5 |
|
Создано: 14 июня 2007 18:35 · Личное сообщение · #6 SLV пишет: в дельфи тлс используется... даже была статья на delphimaster про использование TLS То что в дельфи можно юзать - это понятно, есть вроде даже директивы компилятора для этого, просто в реальных приложениях ни разу не встречал. И вообще - если каллбэк реально юзается, сталобыть такую прогу гавнопрот защитит криво и она наверняка упадёт, потому что существующие проты вроде как вообще не учитывают наличие самих каллбэков... SWR пишет: www.wasm.ru/article.php?article=tls хорошо расписано (кто не вкурсах) Про то в курсе, там не все аспекты раскрыты - к примеру как правильно выходить из каллбэка - по ret ли по эксепшну ли, сохранять ли регистры, допустимы ли исключения в нём, почему он вызывается во время работы программ написанных не на дельфях и т.п. Enigma пишет: Не пробовал посмотреть в какие именно моменты вызывается? Естессно до ep, затем во время открытия диалогов, ну и после exitprocess ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 14 июня 2007 19:23 · Личное сообщение · #7 Масм умеет калбеки вставлять. На васме лежали примеры, как создать. Smon пишет: к примеру как правильно выходить из каллбэка - по ret ли по эксепшну ли По рет имхо. Smon пишет: сохранять ли регистры, esi edi ebx ebp. Особенно esi, иначе стек рухнет(XP SP2) Smon пишет: допустимы ли исключения в нём Угу, даже управление на EP передастся. Smon пишет: почему он вызывается во время работы программ написанных не на дельфях Потому, что это виндовый механизм, а не делфийский фокус. Tls вызывается до ep при старте/терминации потоков, и при выходе из проги. Учесть калбеки довольно просто, но никто этого не делает, т.к. никому не надо |
|
Создано: 14 июня 2007 19:43 · Поправил: Smon · Личное сообщение · #8 Всем спасибо за участие, особенно asd, за чёткую инфу, именно это и хотел услышать ЗЫ: Про виндовый механизм а не делфийские фокусы и так понятно, просто тлс директории по дефолту пишутся Borland'овскими компилерами и эти проги (BC++;BDelphi) без тлс падают, чего не скажешь о других компилерах. ----- "Пусть видят, что мы не шутим. Стволы для понта, ножи для дела" Lock, Stock & Two Smoking Barrels |
|
Создано: 15 июня 2007 09:10 · Личное сообщение · #9 |
|
Создано: 15 июня 2007 11:28 · Личное сообщение · #10 |
|
Создано: 15 июня 2007 11:50 · Личное сообщение · #11 |
|
Создано: 15 июня 2007 12:26 · Личное сообщение · #12 |
|
Создано: 15 июня 2007 13:41 · Личное сообщение · #13 |
|
Создано: 15 июня 2007 15:59 · Личное сообщение · #14 |
|
Создано: 15 июня 2007 17:45 · Личное сообщение · #15 Если dll прописана в импорте у exe файла, то вызывается в таком порядке TlsCallBack in DLL MainProc in DLL (attach) TlsCallBack in EXE MainProc in EXE MainProc in DLL (detach) Если dll грузить через LoadLibrary, то TlsCallBack в ней не выполнится f152_15.06.2007_CRACKLAB.rU.tgz - tls.rar |
eXeL@B —› Крэки, обсуждения —› TLS Callback |