|
|
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Описанный ТС метод называется "бешеный код". Известен уже лет с 20, наверное, со времён голимого ДОСа... и, если не дёргал на каждом шагу INT 1 - проходился элементарно. Особенно на параллельных системах с общей шиной. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 14:57 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
AkinaОписанный ТС метод называется "бешеный код". Известен уже лет с 20, наверное, со времён голимого ДОСа... и, если не дёргал на каждом шагу INT 1 - проходился элементарно. Особенно на параллельных системах с общей шиной. да не проходиться это элементарно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 15:01 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaa Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым. IMHO. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 15:35 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaa, По поводу библии готов с вами сразиться ). После работы ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 15:38 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaaда не проходиться это элементарно. элементрано-элементарно :) вариант 1 берем рабочую программу, запускаем, убеждаемся что работает, снимаем дамп памяти и прикручиваем к нему свой загрузчик - вуаля все поломано... варинат 2 берем рабочую программу, запускаем, убеждаемся что работает, в отладчике просматриваем код в обратную сторону, находим интересующую нас точку, переписываем загрузчик и вуаля все поломано... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 15:46 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
ALKIRFaaaда не проходиться это элементарно. элементрано-элементарно :) вариант 1 берем рабочую программу, запускаем, убеждаемся что работает, снимаем дамп памяти и прикручиваем к нему свой загрузчик - вуаля все поломано... варинат 2 берем рабочую программу, запускаем, убеждаемся что работает, в отладчике просматриваем код в обратную сторону, находим интересующую нас точку, переписываем загрузчик и вуаля все поломано... А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда? и писать ничего не буду что не сохранилось,тогда что? Могу проверить системку через 20 нажатий на отдельной кнопочке. ещё раз 1 000 000 функций это единое целое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:19 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
TVA_11Faaa, По поводу библии готов с вами сразиться ). После работы ). Обсудим это дело на ПТ завтра вечером. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:19 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
maytonFaaa Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым. IMHO. после перехода регистры будут проверяться ещё и везде по разному. А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:23 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaa А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда? и писать ничего не буду что не сохранилось,тогда что? Могу проверить системку через 20 нажатий на отдельной кнопочке. ещё раз 1 000 000 функций это единое целое....То встанет вопрос о производительности и средствах интеграции этого чуда в продукт. А для хакера пофиг - диапазон адресов конечный, фиксированный, отлавливаемый, ветвлений (в том, что написано) нет, все обращения вылавливаются автоматически, возвращаемое значение определяется тоже автоматически. Задача: есть цепь, в которой три звена заменены на замки. Два замка хорошие, третий можно открыть зубочисткой. Станет ли вся конструкция надёжнее, если заменить четвёртое звено на замок из ближайшего магазина? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:26 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaaпосле перехода регистры будут проверяться ещё и везде по разному. А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы. Пользователь тупо забьет на такую программу, еще и по миру слух пустят - "Она (программа) сознательно трет ваши данные, ну ее подальше". Учитесь у Майкрософт, 1С и им подобных, они таким не заморачиваются. Портить данные равносильно "хреново работать". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:27 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
andr_andreyFaaaпосле перехода регистры будут проверяться ещё и везде по разному. А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы. Пользователь тупо забьет на такую программу, еще и по миру слух пустят - "Она (программа) сознательно трет ваши данные, ну ее подальше". Учитесь у Майкрософт, 1С и им подобных, они таким не заморачиваются. Портить данные равносильно "хреново работать". Взломщик нарушил программу, а с чего ради она должна правильно работать то? Тут ничего не портиться,не сохраняться корректно.Немного не верно работает. Все честно обмана нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:33 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
AbstractionFaaa А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда? и писать ничего не буду что не сохранилось,тогда что? Могу проверить системку через 20 нажатий на отдельной кнопочке. ещё раз 1 000 000 функций это единое целое....То встанет вопрос о производительности и средствах интеграции этого чуда в продукт. А для хакера пофиг - диапазон адресов конечный, фиксированный, отлавливаемый, ветвлений (в том, что написано) нет, все обращения вылавливаются автоматически, возвращаемое значение определяется тоже автоматически. Задача: есть цепь, в которой три звена заменены на замки. Два замка хорошие, третий можно открыть зубочисткой. Станет ли вся конструкция надёжнее, если заменить четвёртое звено на замок из ближайшего магазина? надо смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:37 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
На всякий случай, вдруг пригодится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:50 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
kDnZP, Угу, я тоже эту тему вспомнил уже. С другой стороны, поскольку ТС (вроде как) пишет игры, это не столь актуально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 16:59 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
AbstractionkDnZP, Угу, я тоже эту тему вспомнил уже. С другой стороны, поскольку ТС (вроде как) пишет игры, это не столь актуально. Это не наш случай. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:05 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
мне надо чтобы было все по честному. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:06 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaamaytonпропущено... Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым. IMHO. после перехода регистры будут проверяться ещё и везде по разному. А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы. Где по разному? У тебя везде один шаблон. Ты складываешь два числа. И используешь результат как адрес перехода. И при чём здесь пользователь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:12 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaa, СтоТыщМильенов строк нагенерированного кода как-то не элегантно смотрится... А нельзя было придумать что-нибудь поинтереснее? Чисто в порядке бреда.... Есть вот такая штуковина: Код: plaintext 1. 2. 3. хитрость этой матрицы в том, что в любой строке/столбце/диагонали сумма равна 15. Если переставить любые два числа, то вся закономерность порушится к едреней фене. По сути эта матрица представляет собой магию чисел, на ее основании можно такой хитропопый алгоритм завернуть, что без понимания "изначальной" логики восстанавливать нужную комбинацию можно очень долго. Например, каждому числу присваиваем свое направление(С- север, Ю - юг, СЗ - северо-запад...): Код: plaintext 1. 2. 3. движению в определенную сторону соответствует своя комбинация чисел. Например, с цента (Ц) на юго-запад (ЮЗ) движение будет выражено комбинацией значений 58, с севера на юг, а потом на северо-запад будет выражено комбинацией значений 914. Далее, если в исходной матрице поменять хотя бы два числа местами, то вся матрица рушится к ядреней фене: Код: plaintext 1. 2. 3. уже не получается 15-ти при суммировании строки/столбца/диагонали. Это дело можно "скрестить" с другой хитропопой матрицей: Код: plaintext 1. 2. 3. 4. 5. у этой логика маленько посложнее будет, но тоже есть интересная закономерность. Если алгоритм защиты будет крутиться вокруг только одной такой матрицы, то обойти его логику будет можно, но сложно, если будут скрещены две матрицы вместе, то задача усложняется на порядки, если к этому добавить еще парочку таких вот интересных числовых комбинаций, то получаем вообще неподдающуюся пониманию "непосвященного" логику. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:50 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
maytonFaaaпропущено... после перехода регистры будут проверяться ещё и везде по разному. А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы. Где по разному? У тебя везде один шаблон. Ты складываешь два числа. И используешь результат как адрес перехода. И при чём здесь пользователь? Я привел пример, можно и 100 чисел сложить, а можно и 6. миллион вариантов для генерации. xor ebx,ebx mov eax,1 abb ebx,eax abb ebx,eax abb ebx,eax abb ebx,eax abb ebx,eax abb ebx,eax так получим число 6 в ebx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:54 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Александр ПузаковFaaa, СтоТыщМильенов строк нагенерированного кода как-то не элегантно смотрится... А нельзя было придумать что-нибудь поинтереснее? Чисто в порядке бреда.... Есть вот такая штуковина: Код: plaintext 1. 2. 3. хитрость этой матрицы в том, что в любой строке/столбце/диагонали сумма равна 15. Если переставить любые два числа, то вся закономерность порушится к едреней фене. По сути эта матрица представляет собой магию чисел, на ее основании можно такой хитропопый алгоритм завернуть, что без понимания "изначальной" логики восстанавливать нужную комбинацию можно очень долго. Например, каждому числу присваиваем свое направление(С- север, Ю - юг, СЗ - северо-запад...): Код: plaintext 1. 2. 3. движению в определенную сторону соответствует своя комбинация чисел. Например, с цента (Ц) на юго-запад (ЮЗ) движение будет выражено комбинацией значений 58, с севера на юг, а потом на северо-запад будет выражено комбинацией значений 914. Далее, если в исходной матрице поменять хотя бы два числа местами, то вся матрица рушится к ядреней фене: Код: plaintext 1. 2. 3. уже не получается 15-ти при суммировании строки/столбца/диагонали. Это дело можно "скрестить" с другой хитропопой матрицей: Код: plaintext 1. 2. 3. 4. 5. у этой логика маленько посложнее будет, но тоже есть интересная закономерность. Если алгоритм защиты будет крутиться вокруг только одной такой матрицы, то обойти его логику будет можно, но сложно, если будут скрещены две матрицы вместе, то задача усложняется на порядки, если к этому добавить еще парочку таких вот интересных числовых комбинаций, то получаем вообще неподдающуюся пониманию "непосвященного" логику. Хорошая идея. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:56 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Хитёёёёёёёр. А от детерминизма в eax так и не избавился. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 17:59 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Faaa, Это все китайские матрицы. Первая называется Ло Шу, символизирует собой космический ритм (ритм бесконечности), вторая называется Хо Ту, символизирует собой время (ритм бесконечности). У китайцев свое особое восприятие чисел, для нас каждое число это просто число, а для них за каждым числом что-то стоит (число - тот же иероглиф). У китайцев много подобного добра можно найти. Они, воистину, овладели магией чисел (частично :)), а на компьютере все имеет под собой числовую основу ;) На мой взгляд грех этим не воспользоваться в благих целях :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 18:07 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Капец! Пузаков, еще через 300-400 страниц рассуждений вы плавно придёте к симметричному шифрованию. А я напомню сразу что оно есть и вроде-бы успешно работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 18:15 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
Хо Ту = ритм вечности Поторопился малехо :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 18:15 |
|
||
|
Супер защита программы от взлома.Идея
|
|||
|---|---|---|---|
|
#18+
maytonКапец! Пузаков, еще через 300-400 страниц рассуждений вы плавно придёте к симметричному шифрованию. А я напомню сразу что оно есть и вроде-бы успешно работает. Ну я вообще не специалист в этом деле. С защитой никогда не сталкивался. Придумал вот маленький велосипед :) Но, блин... Ура! Оказывается не совсем глуп, на ходу придумал то, что возможно долгое время придумывали другие :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.04.2012, 18:21 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=37771144&tid=1342266]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
179ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 499ms |

| 0 / 0 |
