|
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 55
|
|
Шифровка числа и борьба с IDA28.11.2017, 16:35. Показов 4118. Ответов 13
Метки нет (Все метки)
У меня уже есть алгоритм для шифровки строк/чисел.
Чтобы этот алгоритм работал, ему нужно число x, это число x я и хочу зашифровать. Подскажите как это можно сделать? Я пока придумал лишь это: создать МНОГО функций с перенаправлениями и математическими операциями, которые в итоге дают это число x, с надежой что IDA парень устанет от этих перенаправлений и бросит, но зная парня, он не бросит =) А читерская F5 кнопка в IDA показывает верный псевдокод, который я не знаю как можно обмануть. Т.е. у меня 2 вопроса. 1. Как зашифровать одно число 2. Как обмануть IDA, чтобы он выдавал псевдокод (F5) с логическими ошибками, т.е. выдавал неверные данные Добавлено через 7 минут 3. Можно ли как-то хитро вызвать функцию, чтобы IDA неверно определила адрес и перекинула в какой-то левый участок кода?
0
|
|
| 28.11.2017, 16:35 | |
|
Ответы с готовыми решениями:
13
Ida pro Декомпиляция в IDA |
| 28.11.2017, 16:44 | |
|
Не по теме: Это тема для начинающих?
0
|
|
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|
| 28.11.2017, 16:53 | |
|
Могу точно сказать, что Hex-Rays Иды плохо работает с volatile переменными.
Т.е. Если у вас такая объявлена и если у вас подряд идут несколько записей или обращений к одной переменной, то Псевдокод покажет только последнее. Это вам 1 наводка. Второе - Ида заточена под стандартные сишные вызовы. Если вы напишите и скомпилируете код каким-нибудь Делфи, я думаю, это доставит проблем разбирающему. Лучшая защита - это хранение ключа на отдельном сервере, на который посылаются данные для расшифровки, а в ответ принимаются уже расшифрованный результат Либо пишите на чистом ассемблере. ) Потом есть еще такая тема, как перекрытие секторов. Т.е. в PE-секции задаете адреса секторов данных и кода так, чтобы они наползали друг на друга. Тогда в секции данных можно разместить самомодифицирующийся код. ) Такой код уж Идовский парень точно не осилит. Добавлено через 8 минут Еще можно попробовать зациклить какой-либо вызов таблицы релокации на самого себя. Если в Иде нет защиты от этого - она просто повиснет на этапе анализа кода.
2
|
|
|
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 55
|
||
| 28.11.2017, 16:55 [ТС] | ||
|
Спасибо за советы, попробую [ то, что я смог понять =) ]
0
|
||
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|
| 28.11.2017, 16:59 | |
|
Так вы их по vpn-у передавайте. )
Добавлено через 1 минуту Вообще в кибербезопасности нет понятия абсолютной защиты. Есть понятие такой защиты, на взлом которой требовалось бы безмерное количество времени, что делало бы взлом неэффективным. Типа взломали, а данные неактуальны уже лет как 5
1
|
|
|
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 55
|
|||||||||||
| 28.11.2017, 17:04 [ТС] | |||||||||||
|
Что-то с volatile не получается =\
0
|
|||||||||||
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|||||||||||
| 28.11.2017, 17:11 | |||||||||||
|
Ну, она объединяет.
Попробуйте использовать какой-то системный регистр, который бы при обращении как-то модифицировал значение. Добавлено через 1 минуту Известным образом модифицировал. ) Добавлено через 2 минуты Т.е. если у вас идет чтение volatile переменной
Поменять ее сами незаметно для Иды вы не сможете. Программно. А вот заюзать какой-то системный регистр... Да хоть использовать регистры сопроцессора
0
|
|||||||||||
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 28.11.2017, 17:15 | ||
|
Добавлено через 3 минуты Можно придумать какую-нибудь простенькую модель вычислительной машины и реализовать ее, а внутри уже в виде своего байт-кода (под эту "машину") сам алгоритм шифрования. Понять все это дела помощью дизассемблера будет не просто.
0
|
||
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|
| 28.11.2017, 17:17 | |
|
Ида ничего не занет о том, волатальные они или нет. И нигде в ее настройках для переменной нельзя этого указать.
Как раз таки Ида всегда оптимизирует
0
|
|
|
1378 / 522 / 72
Регистрация: 21.07.2015
Сообщений: 1,308
|
||
| 28.11.2017, 17:21 | ||
|
Добавлено через 2 минуты В любом случае все эти попытки забагать алгоритм генерации псевдокода спасут только от пионеров.
0
|
||
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|||
| 28.11.2017, 17:25 | |||
|
Шифровка числа и борьба с IDA но вот предложенный вами вариант промежуточного байт-кода или мой вариант с самомодифицирующимся кодом может доставить немало хлопот. К тому же в задаче от ТС стоит обмануть Hex-Rays, а не матерого cool-хацкера
0
|
|||
|
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 55
|
||
| 07.12.2017, 23:36 [ТС] | ||
|
try catch можно использовать.
Если писать код в catch, то в f5 он не виден, нужно вручную ковырять код. Есть еще варианты?
0
|
||
|
73 / 86 / 40
Регистрация: 02.11.2017
Сообщений: 379
|
|
| 08.12.2017, 11:00 | |
|
Первое, что приходит на ум - использование напрямую команд MMX, SSE.
Вообще можно поискать аппаратное обеспечение, доступное рядовой программе и попытаться заюзать его. Потом можно еще распараллелить код каким-нибудь хитрым образом. Использовать в нем какую-нибудь не стандартную синхронизацию. Да даже просто распарралеленый код анализировать уже намного сложнее. Можно через какой-нибудь сокет отправлять данные самому себе и активно юзать их. Вряд ли IDA догадается сверять адреса клиента и сервера. + еще можно считывать в другом порядке, либо в другую структуру memset-ом. Так, чтобы размеры переменных были другими. Но общий размер сохранялся.
0
|
|
|
0 / 0 / 0
Регистрация: 28.11.2017
Сообщений: 55
|
|
| 10.12.2017, 00:06 [ТС] | |
|
500 rub тому, кто первым даст c++ код, который позволит скрыть F5 псевдокод в IDA, чтобы парень был вынужден ковырять код в окнах IDA View-A и прочих, а не копировал всё из псевдокода. Я нашел лишь try и catch, если писать код внутри catch, то его псевдокод не выдает, но к сожалению он мне не подходит, т.к. на линуксе на одной версии игрового сервера с try catch происходит магия и они не работают как надо. Можно в ЛС.
Добавлено через 16 часов 56 минут Никто? Жаль.
0
|
|
| 10.12.2017, 00:06 | |
|
Помогаю со студенческими работами здесь
14
Поиск в Ida Pro Поиск операнд в IDA Поиск вызовов в IDA IDA PRO and atmega2561 IDA 6.1 Ошибки с псевдокодом Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|