powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Супер защита программы от взлома.Идея
25 сообщений из 95, страница 3 из 4
Супер защита программы от взлома.Идея
    #37770666
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Описанный ТС метод называется "бешеный код". Известен уже лет с 20, наверное, со времён голимого ДОСа... и, если не дёргал на каждом шагу INT 1 - проходился элементарно. Особенно на параллельных системах с общей шиной.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770685
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaОписанный ТС метод называется "бешеный код". Известен уже лет с 20, наверное, со времён голимого ДОСа... и, если не дёргал на каждом шагу INT 1 - проходился элементарно. Особенно на параллельных системах с общей шиной.

да не проходиться это элементарно.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770797
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaa
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void R_1()
{
_asm{
mov ebx,234
mov eax,05969599
add eax,ebx
jmp eax
}



Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот
паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым.
IMHO.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770808
TVA_11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Faaa,

По поводу библии готов с вами сразиться ).
После работы ).
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770833
ALKIR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaaда не проходиться это элементарно.


элементрано-элементарно :)

вариант 1 берем рабочую программу, запускаем, убеждаемся что работает, снимаем дамп памяти и прикручиваем к нему свой загрузчик - вуаля все поломано...

варинат 2 берем рабочую программу, запускаем, убеждаемся что работает, в отладчике просматриваем код в обратную сторону, находим интересующую нас точку, переписываем загрузчик и вуаля все поломано...
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770919
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALKIRFaaaда не проходиться это элементарно.


элементрано-элементарно :)

вариант 1 берем рабочую программу, запускаем, убеждаемся что работает, снимаем дамп памяти и прикручиваем к нему свой загрузчик - вуаля все поломано...

варинат 2 берем рабочую программу, запускаем, убеждаемся что работает, в отладчике просматриваем код в обратную сторону, находим интересующую нас точку, переписываем загрузчик и вуаля все поломано...

А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда?

и писать ничего не буду что не сохранилось,тогда что?

Могу проверить системку через 20 нажатий на отдельной кнопочке.

ещё раз 1 000 000 функций это единое целое.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770923
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TVA_11Faaa,

По поводу библии готов с вами сразиться ).
После работы ).

Обсудим это дело на ПТ завтра вечером.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770932
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonFaaa
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
void R_1()
{
_asm{
mov ebx,234
mov eax,05969599
add eax,ebx
jmp eax
}



Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот
паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым.
IMHO.

после перехода регистры будут проверяться ещё и везде по разному.
А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770944
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaa А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда?

и писать ничего не буду что не сохранилось,тогда что?

Могу проверить системку через 20 нажатий на отдельной кнопочке.

ещё раз 1 000 000 функций это единое целое....То встанет вопрос о производительности и средствах интеграции этого чуда в продукт. А для хакера пофиг - диапазон адресов конечный, фиксированный, отлавливаемый, ветвлений (в том, что написано) нет, все обращения вылавливаются автоматически, возвращаемое значение определяется тоже автоматически.

Задача: есть цепь, в которой три звена заменены на замки. Два замка хорошие, третий можно открыть зубочисткой. Станет ли вся конструкция надёжнее, если заменить четвёртое звено на замок из ближайшего магазина?
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770947
andr_andrey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaaпосле перехода регистры будут проверяться ещё и везде по разному.
А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы.

Пользователь тупо забьет на такую программу, еще и по миру слух пустят - "Она (программа) сознательно трет ваши данные, ну ее подальше". Учитесь у Майкрософт, 1С и им подобных, они таким не заморачиваются. Портить данные равносильно "хреново работать".
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770961
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andr_andreyFaaaпосле перехода регистры будут проверяться ещё и везде по разному.
А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы.

Пользователь тупо забьет на такую программу, еще и по миру слух пустят - "Она (программа) сознательно трет ваши данные, ну ее подальше". Учитесь у Майкрософт, 1С и им подобных, они таким не заморачиваются. Портить данные равносильно "хреново работать".

Взломщик нарушил программу, а с чего ради она должна правильно работать то?

Тут ничего не портиться,не сохраняться корректно.Немного не верно работает.
Все честно обмана нет.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37770971
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionFaaa А если я в процессе работы буду проверять.Чел нажал на кнопку сохранить,а оно возьмись и не сохранись что тогда?

и писать ничего не буду что не сохранилось,тогда что?

Могу проверить системку через 20 нажатий на отдельной кнопочке.

ещё раз 1 000 000 функций это единое целое....То встанет вопрос о производительности и средствах интеграции этого чуда в продукт. А для хакера пофиг - диапазон адресов конечный, фиксированный, отлавливаемый, ветвлений (в том, что написано) нет, все обращения вылавливаются автоматически, возвращаемое значение определяется тоже автоматически.

Задача: есть цепь, в которой три звена заменены на замки. Два замка хорошие, третий можно открыть зубочисткой. Станет ли вся конструкция надёжнее, если заменить четвёртое звено на замок из ближайшего магазина?

надо смотреть.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771003
kDnZP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На всякий случай, вдруг пригодится.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771022
Abstraction
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kDnZP,

Угу, я тоже эту тему вспомнил уже. С другой стороны, поскольку ТС (вроде как) пишет игры, это не столь актуально.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771042
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AbstractionkDnZP,

Угу, я тоже эту тему вспомнил уже. С другой стороны, поскольку ТС (вроде как) пишет игры, это не столь актуально.

Это не наш случай.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771045
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне надо чтобы было все по честному.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771072
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaamaytonпропущено...

Желтым цветом я подсветил паттерн. Если отревесинжинерить бинарник и заменить в нём этот
паттерн на несколько Nop-ов и jmp <address> то бинарник станет вполне себе дизассемблируемым.
IMHO.

после перехода регистры будут проверяться ещё и везде по разному.
А если прога не работает КАК НАДО пользователь об этом узнает не сразу, а потом в процессе работы.
Где по разному? У тебя везде один шаблон. Ты складываешь два числа.
И используешь результат как адрес перехода. И при чём здесь
пользователь?
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771144
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaa,

СтоТыщМильенов строк нагенерированного кода как-то не элегантно смотрится... А нельзя было придумать что-нибудь поинтереснее?

Чисто в порядке бреда....
Есть вот такая штуковина:
Код: plaintext
1.
2.
3.
4 9 2
3 5 7
8 1 6

хитрость этой матрицы в том, что в любой строке/столбце/диагонали сумма равна 15. Если переставить любые два числа, то вся закономерность порушится к едреней фене. По сути эта матрица представляет собой магию чисел, на ее основании можно такой хитропопый алгоритм завернуть, что без понимания "изначальной" логики восстанавливать нужную комбинацию можно очень долго. Например, каждому числу присваиваем свое направление(С- север, Ю - юг, СЗ - северо-запад...):
Код: plaintext
1.
2.
3.
СЗ С СВ
 З Ц В
ЮЗ Ю ЮВ

движению в определенную сторону соответствует своя комбинация чисел. Например, с цента (Ц) на юго-запад (ЮЗ) движение будет выражено комбинацией значений 58, с севера на юг, а потом на северо-запад будет выражено комбинацией значений 914. Далее, если в исходной матрице поменять хотя бы два числа местами, то вся матрица рушится к ядреней фене:
Код: plaintext
1.
2.
3.
4 9 2
5 3 7
8 1 6

уже не получается 15-ти при суммировании строки/столбца/диагонали.
Это дело можно "скрестить" с другой хитропопой матрицей:
Код: plaintext
1.
2.
3.
4.
5.
    7
    2
8 3 5 4 9
    1
    6

у этой логика маленько посложнее будет, но тоже есть интересная закономерность. Если алгоритм защиты будет крутиться вокруг только одной такой матрицы, то обойти его логику будет можно, но сложно, если будут скрещены две матрицы вместе, то задача усложняется на порядки, если к этому добавить еще парочку таких вот интересных числовых комбинаций, то получаем вообще неподдающуюся пониманию "непосвященного" логику.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771153
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771160
Фотография Faaa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Александр ПузаковFaaa,

СтоТыщМильенов строк нагенерированного кода как-то не элегантно смотрится... А нельзя было придумать что-нибудь поинтереснее?

Чисто в порядке бреда....
Есть вот такая штуковина:
Код: plaintext
1.
2.
3.
4 9 2
3 5 7
8 1 6

хитрость этой матрицы в том, что в любой строке/столбце/диагонали сумма равна 15. Если переставить любые два числа, то вся закономерность порушится к едреней фене. По сути эта матрица представляет собой магию чисел, на ее основании можно такой хитропопый алгоритм завернуть, что без понимания "изначальной" логики восстанавливать нужную комбинацию можно очень долго. Например, каждому числу присваиваем свое направление(С- север, Ю - юг, СЗ - северо-запад...):
Код: plaintext
1.
2.
3.
СЗ С СВ
 З Ц В
ЮЗ Ю ЮВ

движению в определенную сторону соответствует своя комбинация чисел. Например, с цента (Ц) на юго-запад (ЮЗ) движение будет выражено комбинацией значений 58, с севера на юг, а потом на северо-запад будет выражено комбинацией значений 914. Далее, если в исходной матрице поменять хотя бы два числа местами, то вся матрица рушится к ядреней фене:
Код: plaintext
1.
2.
3.
4 9 2
5 3 7
8 1 6

уже не получается 15-ти при суммировании строки/столбца/диагонали.
Это дело можно "скрестить" с другой хитропопой матрицей:
Код: plaintext
1.
2.
3.
4.
5.
    7
    2
8 3 5 4 9
    1
    6

у этой логика маленько посложнее будет, но тоже есть интересная закономерность. Если алгоритм защиты будет крутиться вокруг только одной такой матрицы, то обойти его логику будет можно, но сложно, если будут скрещены две матрицы вместе, то задача усложняется на порядки, если к этому добавить еще парочку таких вот интересных числовых комбинаций, то получаем вообще неподдающуюся пониманию "непосвященного" логику.

Хорошая идея.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771164
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хитёёёёёёёр. А от детерминизма в eax так и не избавился.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771177
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Faaa,

Это все китайские матрицы. Первая называется Ло Шу, символизирует собой космический ритм (ритм бесконечности), вторая называется Хо Ту, символизирует собой время (ритм бесконечности). У китайцев свое особое восприятие чисел, для нас каждое число это просто число, а для них за каждым числом что-то стоит (число - тот же иероглиф).
У китайцев много подобного добра можно найти. Они, воистину, овладели магией чисел (частично :)), а на компьютере все имеет под собой числовую основу ;) На мой взгляд грех этим не воспользоваться в благих целях :)
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771195
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Капец!

Пузаков, еще через 300-400 страниц рассуждений вы плавно придёте к симметричному
шифрованию. А я напомню сразу что оно есть и вроде-бы успешно работает.
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771196
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хо Ту = ритм вечности
Поторопился малехо :)
...
Рейтинг: 0 / 0
Супер защита программы от взлома.Идея
    #37771207
Александр Пузаков
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonКапец!

Пузаков, еще через 300-400 страниц рассуждений вы плавно придёте к симметричному
шифрованию. А я напомню сразу что оно есть и вроде-бы успешно работает.

Ну я вообще не специалист в этом деле. С защитой никогда не сталкивался. Придумал вот маленький велосипед :)
Но, блин... Ура! Оказывается не совсем глуп, на ходу придумал то, что возможно долгое время придумывали другие :)
...
Рейтинг: 0 / 0
25 сообщений из 95, страница 3 из 4
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Супер защита программы от взлома.Идея
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]