Сейчас на форуме: tyns777, localhost1, vsv1, asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› Защиты без явных проверок
Посл.ответ Сообщение

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

Создано: 23 февраля 2020 00:50
· Личное сообщение · #1

Доброго времени суток!

Практически все защиты так или иначе используют явные проверки (if else/cmp), которые достаточно просто обойти. А есть ли примеры простых защит, где нет таких проверок? Может, какие-то крякми. Например, в Android приложение может проверять какие-то данные сертификата, сверяя хеш, но в теории этот хеш может быть использован для расшифровки каких-то данных, необходимых для правильной работы приложения. Сложнее ли такое ломать?




Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 23 февраля 2020 01:04 · Поправил: Boostyq
· Личное сообщение · #2

Самый простой вариант наверное все таки хэш, если он криптографический и достаточно стойкий, то позволяет сравнивать данные не раскрывая с чем сравниваешь.
Насчет крякми не знаю, но применений множество.
Например в базах данных зачастую хранят пароли в виде хэша, чтобы в случае взлома пароли не были раскрыты (в хэш еще так же включают соль чтобы нельзя было сравнить хэши при одинаковых паролях)
Еще применяется в архиваторах, они не хранят верные пароли от архивов, и естественно не проверяют их, вместо этого данные шифруются производным от пароля ключом и хранится лишь контрольная сумма оригинальных данных чтобы сравнить подошел пароль или нет.
Ломать такое конечно же сложнее, зачастую можно только перебором.

-----
В облачке многоточия




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

Создано: 23 февраля 2020 01:32
· Личное сообщение · #3

Boostyq пишет:
Например в базах данных зачастую хранят пароли в виде хэша, чтобы в случае взлома пароли не были раскрыты (в хэш еще так же включают соль чтобы нельзя было сравнить хэши при одинаковых паролях)

Да, но сравнения-то всё равно происходят. Считается хеш от пароля и сравнивается со значением из базы данных. Если говорить о программах для ПК, то всё сведётся к поиску cmp и переходов. И нет разницы, что сравнивать.
А вот пример с архивами больше подходит.
Boostyq пишет:
Ломать такое конечно же сложнее, зачастую можно только перебором.

Это если говорить об архивах.




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 23 февраля 2020 01:35
· Личное сообщение · #4

Derox пишет:
Если говорить о программах для ПК, то всё сведётся к поиску cmp и переходов.

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

-----
Array[Login..Logout] of Life




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

Создано: 23 февраля 2020 02:41
· Личное сообщение · #5

Kindly пишет:
чую что UPX умеет защищать без явных проверок

Это же упаковщик. А модифицированный UPX по лицензии, кажется, нельзя использовать.




Ранг: 271.2 (наставник), 331thx
Активность: 0.321.49
Статус: Участник

Создано: 23 февраля 2020 07:10
· Личное сообщение · #6

Derox пишет:
тот хеш может быть использован для расшифровки каких-то данных, необходимых для правильной работы приложения

Главная идея в том, чтобы у валидного ключа не было формальных признаков того, что он валидный, этого по-моему трудно достичь просто расшифровывая используемые данные. Используй комбинации бит функции от ключа и хеша аппаратных идентификаторов для организации внутренней логики программы: в такой-то ситуации в зависимости от функции такой-то из таких-то бит делать так-то или так-то. То есть программа как бы работает с любым ключем, но работает неправильно. Конечно при этом будет можно подсунуть валидную пару key+hwid, но от этого в любом случае ни одну программную защиту ничего не спасет.

ЗЫ: а про upx это такой локальный мем, когда советуют этот ночной кошмар любого крякера для защиты ПО.

-----
2 оттенка серого




Ранг: 28.5 (посетитель), 8thx
Активность: 0.070.15
Статус: Участник

Создано: 23 февраля 2020 10:02
· Личное сообщение · #7

https://github.com/lurumdare/anti-reverser-snippets вот посмотрите как с помощью хеш функции вызвать сравнение на reg/unreg проги.

метод хорош в сочетании с dynamic allocate memory




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 23 февраля 2020 11:32
· Личное сообщение · #8

Вроде этого ?

7758_23.02.2020_EXELAB.rU.tgz - C.7z

-----
vx





Ранг: 90.1 (постоянный), 91thx
Активность: 0.290.56
Статус: Участник

Создано: 23 февраля 2020 12:01
· Личное сообщение · #9

galenkane пишет:
https://github.com/lurumdare/anti-reverser-snippets

Шляпа которую нельзя даже надеть

-----
В облачке многоточия




Ранг: -7.5 (нарушитель), 1thx
Активность: 0.22=0.22
Статус: Участник

Создано: 23 февраля 2020 13:19
· Личное сообщение · #10

Derox пишет:
Практически все защиты так или иначе используют явные проверки

Я бы даже сказал Практически все защиты так или иначе обойдут или сломают
Задача программиста получение дохода.
Например вы придумали очень узкий инструмент,шнур и ПО отладчик для чпу станка чулочно-носочного к примеру.
И в стране таких фирм 453 вы их всех обзваниваете говорите какой у вас есть нужный для них софт и шнур для подключения.
и продаёте его за 1тр договариваетесь с 394 фирмами и в один день им отсылаете заработав разом 394 тысячи.вот и всё больше продажа не пойдёт даже компания новый диск со своими
старфорсами кодеками контейнерами видео продавали свои диски по 38рублей еще на этом и зарабатывали.
То есть на момент продажи по низкой цене никто не будет даже пытаться ковырять диск ценой в 38 рублей.
проще будет купить и перепродать по 100.
Вот такие вот бывают курьёзы.



Ранг: 28.5 (посетитель), 8thx
Активность: 0.070.15
Статус: Участник

Создано: 23 февраля 2020 13:56
· Личное сообщение · #11

Boostyq предлОгайте лучше

Добавлено спустя 5 минут
difexacaw RtlComputeCrc32 == 123989350 ?




Ранг: 337.5 (мудрец), 348thx
Активность: 2.112.42
Статус: Участник

Создано: 23 февраля 2020 14:13
· Личное сообщение · #12

galenkane

Нет, выдаст сообщение если правильный код. У меня на одном юзер потоке на варе расчётное время на весь брут 26 часов.

-----
vx




Ранг: 63.5 (постоянный), 35thx
Активность: 0.290.96
Статус: Участник

Создано: 23 февраля 2020 14:27
· Личное сообщение · #13

SDK-3 пишет:
То есть на момент продажи по низкой цене никто не будет даже пытаться ковырять диск ценой в 38 рублей.

Практика показывает, что могут просто от нефиг делать отвязать вмпрот от никому не нужной программы
По теме: вовсе необязательно ничего проверять. Достаточно закриптовать код - при неправильной расшифровке через десяток инструкций программа гарантированно свалится в эксепшн



Ранг: 28.5 (посетитель), 8thx
Активность: 0.070.15
Статус: Участник

Создано: 23 февраля 2020 16:35
· Личное сообщение · #14

_MBK_ вы о какой криптовке говорите?



Ранг: -7.5 (нарушитель), 1thx
Активность: 0.22=0.22
Статус: Участник

Создано: 23 февраля 2020 18:05
· Личное сообщение · #15

galenkane пишет:
вы о какой криптовке говорите?

аспротект ske умеет такое , у вас какая задача что за софт по подробнее ?



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

Создано: 23 февраля 2020 21:33
· Личное сообщение · #16

galenkane пишет:
https://github.com/lurumdare/anti-reverser-snippets вот посмотрите как с помощью хеш функции вызвать сравнение на reg/unreg проги.

А что мешает изменить условный переход после cmp? Там ведь везде if/else.
SDK-3 пишет:
Задача программиста получение дохода.

Тогда какая задача защиты? Защитить или потянуть время до взлома?
Узкопрофильные инструменты можно и не защищать. Если компания купила у вас продукт, вряд ли они будут им делиться или ломать.




Ранг: 275.9 (наставник), 340thx
Активность: 0.22=0.22
Статус: Участник
RBC

Создано: 23 февраля 2020 21:46
· Личное сообщение · #17

Derox
ты не понял, тут не помогают сделать защиту и подсказать различные техники. лучше, чем существующие коммерческие протекторы, ты все равно не сделаешь. единственный неплохой способ, это переместить определенный функционал на сервер, например, сохранение/загрузка проектов, обработка алгоритмов. понятно, что если твой сервак ломанут или задудосят, у тебя будут проблемы с клиентами, но некоторым авторам похер на это и такой способ защиты имеет место быть. расковыривают все, вопрос времени, так что ставь upx и не прогадаешь

-----
Array[Login..Logout] of Life




Ранг: -7.5 (нарушитель), 1thx
Активность: 0.22=0.22
Статус: Участник

Создано: 23 февраля 2020 22:32
· Личное сообщение · #18

KindlyDerox пишет:
потянуть время до взлома?

Да потянуть время. никакие шифрования никакие протекторы никакие хитрые демоверсии не помогут.
если за вашим проектом будут следить то как только выйдет новая версия она будет скачана и отломана.
чем терять время на постройку защиты которая будет придумана за 4 часа а сломана за 4 минуты,лучше 4 часа поработайте над программой.
высылайте программу почтой или на флешке с привязкой.пусть пользуются задача на момент продажи получить ту сумму за которую вам уже будет без различно.
например 150$ рассылаете рекламу находите 10 человек которым надо и продаёте. захотят сломать сломают даже Ильфак Гильфаков и ГЧПАШ прослезились когда у них купили и слили в сеть их мегапродукты хотя сами могли обмануть кого угодно но теперь прогорали на лучшем своем предприятии от которого ждали больших барышей и обеспеченной старости. так что как говаривал Kindly upx решает смотрите мой крекмиген 2.0.2 там всё есть рублей по 100 на копию пойдёт и никакие протекторы покупать не надо.
правда антивирусы замучают.



Ранг: 315.1 (мудрец), 631thx
Активность: 0.30.33
Статус: Модератор
CrackLab

Создано: 23 февраля 2020 23:10
· Личное сообщение · #19

Derox пишет:
Тогда какая задача защиты? Защитить или потянуть время до взлома?

используй UPX


 eXeL@B —› Вопросы новичков —› Защиты без явных проверок
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати