Size: a a a

2019 December 20

M

Max in pro.asm
В нативе я попробую получать этот хеш. Может, и проверять там буду.
источник

А

Андрей in pro.asm
Max
В нативе я попробую получать этот хеш. Может, и проверять там буду.
Проверять надо обязательно в нативе, иначе проверку очень легко снять
источник

M

Max in pro.asm
Вообще основа защиты в проверке сертификата. Если он будет совпадать с оригиналом, то защита просто не сработает. Поэтому нужно, чтобы оригинальное приложение было перепаковано.
источник

А

Андрей in pro.asm
Жаба реверсится прям совсем хорошо
источник

А

Андрей in pro.asm
Max
Вообще основа защиты в проверке сертификата. Если он будет совпадать с оригиналом, то защита просто не сработает. Поэтому нужно, чтобы оригинальное приложение было перепаковано.
Информацию о подписи приложении тоже норм проверять, да
источник

M

Max in pro.asm
Андрей
Жаба реверсится прям совсем хорошо
А либы скомпилированные разве нет? Выше написали, что легко подменить строку. Они могут подсунуть строку с сертификатом (ну хешем его верным) и всё.
источник

M

Max in pro.asm
Другое дело, что изменить код java и собрать apk можно за несколько минут.
источник

КП

Король Плутин in pro.asm
Max
Другое дело, что изменить код java и собрать apk можно за несколько минут.
А вот это уже не относится к чату.
источник

K

Kitsu in pro.asm
Андрей
Ну так то никто не мешает в дату дозаписать, вырезать вызов функции, и вместо него ссылку на твою строку на стек класть
вызов может заинлайнится с оптимизациями, так что придется еще искать что и куда вставлять
источник

M

Max in pro.asm
Король Плутин
А вот это уже не относится к чату.
ок. Спасибо за ответы.
источник

А

Андрей in pro.asm
Max
А либы скомпилированные разве нет? Выше написали, что легко подменить строку. Они могут подсунуть строку с сертификатом (ну хешем его верным) и всё.
Яву прям в кучу раз проще реверсить. Они практически до исходного состояния декомпилится, и smali ну очень высокий
источник

А

Андрей in pro.asm
Все, все, никакого оффтопа
источник

M

Max in pro.asm
Я вот ещё читал где-то, что для защиты (там было про защиту программ на ПК) вставляют ассемблерные вставки в код на C/C++. Интересно, что можно такого написать, чтобы это вызвало сложности при изучении дизассемблированного кода?
источник

А

Андрей in pro.asm
Max
Я вот ещё читал где-то, что для защиты (там было про защиту программ на ПК) вставляют ассемблерные вставки в код на C/C++. Интересно, что можно такого написать, чтобы это вызвало сложности при изучении дизассемблированного кода?
Например, логика может храниться в зашифрованном виде, и только в раму распаковаться. Типа upx
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Max
Я вот ещё читал где-то, что для защиты (там было про защиту программ на ПК) вставляют ассемблерные вставки в код на C/C++. Интересно, что можно такого написать, чтобы это вызвало сложности при изучении дизассемблированного кода?
Есть разные приёмы защиты (и взлома). Чем они сложнее, тем меньше будет людей умеющих/желающих их сломать. Тем не менее, нужно понимать, что неломаемых защит нет, сломать можно всё, это надо понять (и простить). Вопрос в целесообразности. Если цена проги $1, а защита очень сложая, проще купить. Если ориентироваться на зарубежный рынок, там куда чаще покупают, чем ломают, нежели у нас.

Что касается ассемблерных вставок на C/C++, то можно и без них много чего сделать (а асм заменить интринсиками, когда очень надо, например).

Взлом/защита — это не такая тема, которую можно рассказать за 15 минут.
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Пофантазируем. Я не очень шарю в мобайле, но подозреваю, что там всё примерно так же, как в x86/Windows.

Вот ты будешь шифровать весь файл, но опять же, каким алгоритмом и где ты будешь хранить ключ? Да и потом, крякер может расшифровать файл (например, отладчиком) и дальше пошёл стандартный крякинг.

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

Но в любом случае, лучше зашифроваться, т.к. это по крайней мере, усложнит крякинг и отпугнёт приличное кол-во кулхацкеров :)
источник

ЕК

Евгений Красников (Jin X) in pro.asm
«Что можно такого написать, чтобы вызывать сложности?»

Обычно это антиотладочные приёмы, которые приводят либо в крэшу/зависанию/выходу, либо к неправильному поведению (например, файл неправильно расшифровался). Но современные крякерские средства умеют обнаруживать и правильно работать со многими такими приёмами. Антиантиотладка, так сказать :). Но опять же, это умеют не все. Какой-то % отвалится.
источник

А

Андрей in pro.asm
Это какие средства? Ида, и гидра по-моему не могли такие штуки детектить автоматически
источник

ЕК

Евгений Красников (Jin X) in pro.asm
Какие «такие»? Скажем, IsDebuggerPresent легко перехватывается и выдаёт нужный результат (есть какие-то плагины под Олю, к примеру).
источник
2019 December 21

Y

YuraFoxy in pro.asm
привет
источник