2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
|
||||||
1 | ||||||
Шифрация кода программным путем19.06.2017, 04:49. Показов 1372. Ответов 11
Метки нет (Все метки)
Можно ли как то шифровать код в онлайн режиме?
Чтобы в откладках нечего не менялось. Например нашел нужное значение в откладке и не получается его сменить. Было например значение "5" крякер сменил на "0" и значение автоматически сбросилось к 5. Где то видел подобное но для консольного приложения.
На program cs пробовал ставить, приложение просто не запускается.
0
|
19.06.2017, 04:49 | |
Ответы с готовыми решениями:
11
ToolStripButton: как назначить иконку программным путем? Шифрация строки в sha256 Компоненты созданные программным путем Шифровка текста путем вычитания из кода символа |
19.06.2017, 16:02 | 2 |
Что такое "откладка"?
Не знаю что и куда там откладывают, а если речь идет об отладчиках, то тут несколько вариантов. Если имеется ввиду встроенный отладчик в студии, то чего вы шифровать собрались? Чтобы что-то отладить в студии нужен собственно говоря сам исходный код (ну или хотя бы объектный файл). На более глубокий анализ студия неспособна. Если речь об отладчиках уровня OllyDbg, x64dbg, ядерные отладчики, то никакое шифрование вам не поможет - "мощнейшая" (по мнению её авторов) DRM защита DENUVO вскрывается за 4 дня - расшифровывается образ (дамп), HWID, убираются все триггеры из кода. Объясните что конкретно вы хотите?
0
|
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
|
||||||
22.06.2017, 18:16 | 3 | |||||
Сообщение было отмечено Alexey Number как решение
Решение
Да была эта идея , я даже нашел тему в которой отвечал .
В чем идея : Есть операция побитовго ИЛИ - XOR. Число представляется как массив бит и каждый бит инвертируется ( 00101010 - 11010101 ). (Ссылка на это) Добавлено через 4 минуты Как же у меня запускалось - то ? Главное тут структура Integer - предоставляющая защиту значения целого числа. Не запускаться оно могло лишь по причине вашей модификации (Дописывания или редактирования моего класса). Что там конкретно - то ? Добавлено через 16 минут Откладка яиц в гнездах . Тут имеется ввиду изменения значений переменных в ходе выполнения либо через режим отладки в студиях , либо через любую другую программу , хоть ArtMoney. Добавлено через 22 минуты Вот я немного поправил (Теперь никаких искусственных эксепшинов , вместо этого событие взлома) :
Нет никакой разницы где юзать эту структуру Integer .
0.50
|
2 / 2 / 0
Регистрация: 23.12.2016
Сообщений: 80
|
|
22.06.2017, 19:21 [ТС] | 4 |
RaevskiAnatoly, Спасибо вам!
0
|
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
|
|
23.06.2017, 13:31 | 5 |
2
|
nicolas2008
|
26.06.2017, 21:00
#6
|
Не по теме: Защита похожа на незапертые ворота, а сбоку дырявый забор. :jokingly:
0
|
64 / 68 / 18
Регистрация: 21.10.2015
Сообщений: 228
|
||||||
26.06.2017, 22:48 | 7 | |||||
От средства "вырви значение отладчик" вышеупомянутые структуры не защитят, так как они все равно хранят готовое значение, попробуй двинутся в направлении похожем на то что ниже:
1
|
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
|
|
09.08.2017, 23:18 | 8 |
Да что-ты...Мне кажется ты невнимательно код читал , исходное значение играет роль исключительно наживки для программ отладки или CHeatEngine и пр.То есть хранится как маркер , лишь что бы узнать о попытках его изменить.
Добавлено через 2 минуты Аргументы? Или это мираж который тебе явился на фоне погодных аномалий?
0
|
1144 / 853 / 262
Регистрация: 30.04.2009
Сообщений: 3,581
|
|
10.08.2017, 01:17 | 9 |
Погодных аномалий последним временем не наблюдалось в моем местности))
По делу: 1. Можно декомпилировать сборку, и посмотреть что где когда. Дальше либо в .NET отладчике менять значения используя сеттеры свойств, либо в ArtMoney менять значения ячеек памяти используя подсмотренный алгоритм. 2. Даже без .NET отладчика в каком нибудь ArtMoney можно в diff-e двух снимков памяти до события/после события посмотреть, что несколько соседних ячеек памяти поменялись вместе и сделать логический вывод, что они вместе влияют на результат. Как минимум даже без анализа алгоритма "шифрования" во многих случаях бывает достаточно просто установить известное "хорошее" значение. 3. Если у тебя с приложением все хорошо и его никто не взломал, то я бы задумался о его пользе. Обычно бесполезные программы даже не пытаются взломать.
0
|
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
|
|
10.08.2017, 11:01 | 10 |
На счет этого согласен , но код и подразумевает изменение только "по правилам" через спец-свойство.
Допустим , это делает не нуб , а нормальный кодер C# - если это не программа @Hello World!@ или калькулятор , то разобраться в коде весом ну хотя бы от 5 мб , не так просто как кажется! Ну а во вторых нативная компиляция , а что в третьих читай дальше.
Ну теперь говорю точно и прочно - код ты читал невнимательно. Есть xor-ключ , он определяется рандомно один раз при создании структуры и является readonly полем(не меняется!)Значение xorvalue определяется лишь тем что подается в сеттер и тем что есть xor-ключ. Что бы реально изменить значение которое представляет структура нужно знать 2 вещи: Адрес ячейки с xorvalue и адрес xor-key А как ты собираешься это узнать ????Xor-key чистый рандом , отсюда и xorvalue также рандомизируется! Нужно одновременно изменить 3 значения xorvalue xor-key value - до того как вызовется геттер , иначе код узнает о попытке взлома.
0
|
1144 / 853 / 262
Регистрация: 30.04.2009
Сообщений: 3,581
|
|
10.08.2017, 11:25 | 11 |
Итак что мы имеем.
1. Предполагается, что хакер будет честно грызть кактус и не будет пользоваться .NET отладчиком)) 2. Обьем кода. Это вообще не проблема, если код не обфусцирован. 3. xorvalue, xorkey находятся в одной структуре с value, т.е. адрес узнается элементарно - по смещению. 4. О нативной компиляции не понял. Насколько я знаю она доступна только для Windows Store приложений, и непонятно усложняет она декомпиляцию или нет.
0
|
34 / 35 / 12
Регистрация: 04.03.2017
Сообщений: 444
|
|
10.08.2017, 12:19 | 12 |
А если применить нативную компиляцию...То все планы в прах.
Добавлено через 1 минуту Ну вообще да , усложняет. Добавлено через 3 минуты А хотя да дырки есть и на мой взгляд даже в логике. Если это структура , то она должна быть неизменяемой . Тогда нужно переделать код , перегрузить операторы(а их много , поэтому-то я это изначально не делал).И тогда рандомный xor-key будет изменяться чаще , будет сложнее. Добавлено через 15 минут Вот про натив. Добавлено через 8 минут Инструменты .NET Native компилируются ваши IL-библиотеки с управляемым кодом в нативные библиотеки. Собственно вот эта строчка. А Ну и вообще идея была взята из другой темы , где цель была именно защита от прог взлома. И относительно этого калитка заперта.
0
|
10.08.2017, 12:19 | |
10.08.2017, 12:19 | |
Помогаю со студенческими работами здесь
12
Приход/расход и идентификация товаров путем чтения штрих-кода (ООП) Создание .dll и присоеденение .dll к проекту путем непосредственного написания кода Шифрация и дешифрация по квадрату Полибия Добавить DataGridViewer на форму программным путем Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |