-
> Невнимательное чтение чужого кода-текста - болезнь многих программистов (личное наблюдение).
- поиск в ознакомительной статье законченного полнофункционального ноу-хау - болезнь ...
-
> han_malign © (02.03.16 11:54) [60] > > > Невнимательное чтение чужого кода-текста - болезнь многих > программистов (личное наблюдение). > > - поиск в ознакомительной статье законченного полнофункционального > ноу-хау - болезнь ...
Не, ты не прав. Нет поиска ноу-хау. Есть попытка разобраться в философии защиты. Я в свое время у Саши многому научился. Чему и благодарен безмерно. Будь я реверсером, я бы люто ненавидел этого Розыча! Любая защита строится на соотношении времени на взлом и ценности. Вот и интересно, насколько указанный прием увеличивает знаменатель указанного отношения.
Собсно сложность взлома - отделить защитный код, от полезного. Если пораскинуть мозгами, то можно, видимо, в этот коллбек засунуть код, который и секрет инициализирует и делает реально что-то полезное, без чего программа работать не будет. Т.е. нельзя будет просто пропустить этот TLS-callback. Видимо, на это расчет идет.
-
> han_malign © (02.03.16 11:54) [60] > > > Невнимательное чтение чужого кода-текста - болезнь многих > программистов (личное наблюдение). > > - поиск в ознакомительной статье законченного полнофункционального > ноу-хау - болезнь ...
Не, ты не прав. Нет поиска ноу-хау. Есть попытка разобраться в философии защиты. Я в свое время у Саши многому научился. Чему и благодарен безмерно. Будь я реверсером, я бы люто ненавидел этого Розыча! Любая защита строится на соотношении времени на взлом и ценности. Вот и интересно, насколько указанный прием увеличивает знаменатель указанного отношения.
Собсно сложность взлома - отделить защитный код, от полезного. Если пораскинуть мозгами, то можно, видимо, в этот коллбек засунуть код, который и секрет инициализирует и делает реально что-то полезное, без чего программа работать не будет. Т.е. нельзя будет просто пропустить этот TLS-callback. Видимо, на это расчет идет.
-
> Ну как-то так))) > > И где я не прав?
В том что в боевом коде естественно должно быть по другому, я же просто идею показал, а на практике все делается в разы сложнее :)
-
Скажите, я верно понял, что всё написанное можно применить на практике лишь для защиты ПО? Или есть другие полезные применения?
-
Ну по мимо того что в TLS Callback-е ты можешь отслеживать старт новых потоков + подгрузку библиотек (через CreateRemoteThread или хуком - там тоже отдельная нить стартует зачем-то) других применений в принципе нет.
-
> Rouse_ © (02.03.16 13:24) [63] > > > Ну как-то так))) > > > > И где я не прав? > > В том что в боевом коде естественно должно быть по другому, > я же просто идею показал, а на практике все делается в > разы сложнее :)
Спасибо, Саша! Полезная, безусловно, статья!
Имхо, самое полезная идея - подход с "правильным" числом. А как это будет сделано (через TLS-колбек или через либу) - не важно. Опять же имхо. В любом случае сложность взлома будет обусловлена разбором кода, выполняющегося при старте - а тут все средства хороши для защиты: и виртуализация кода, и прочее запутывание кода.
-
> Rouse_ © (02.03.16 13:24) [63] > > > Ну как-то так))) > > > > И где я не прав? > > В том что в боевом коде естественно должно быть по другому, > я же просто идею показал, а на практике все делается в > разы сложнее :)
Спасибо, Саша! Полезная, безусловно, статья!
Имхо, самое полезная идея - подход с "правильным" числом. А как это будет сделано (через TLS-колбек или через либу) - не важно. Опять же имхо. В любом случае сложность взлома будет обусловлена разбором кода, выполняющегося при старте - а тут все средства хороши для защиты: и виртуализация кода, и прочее запутывание кода.
|