Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++: WinAPI
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.67/12: Рейтинг темы: голосов - 12, средняя оценка - 4.67
newbie666
Заблокирован
1

Самомодифицирующийся EXE файл

22.11.2013, 11:15. Просмотров 2277. Ответов 38
Метки нет (Все метки)

Привет! Озадачился тут защитой от не лицензионного использования моего софта.
Вопрос в следующем. Возможно ли при запуске EXE файла при каком то внешнем воздействии (это я беру на себя) изменить код самого ЕХЕ, например сделать так, чтоб он работал не правильно, при подаче команды из вне.
Команды могут быть разные и разными способами доставлены. Свой случай рассказывать не хочу, дабы не раскрывать тайну По этому приведу простой пример:
Ну я не знаю, например, программа что - то там по сети принимает и при поступлении определённой команды секретной так сказать - сама программа должна себя модифицировать и сохраниться на харде с новой модификацией. То есть если поступила команда на блокировку использования, программа сама должна модифицировать свой код и сохранится, чтоб при следующем её запуске, чисто например, вылетало бы окошко - мол ты не имеешь право меня запускать, так как не заплатил бабла за лицензию - пошёл на ...

Как или через что такое можно сделать. Полагаю, что при запущенной программе, её на харде я перезаписать не смогу, т.к. она используется (хотя мне кажется, что она считывается в память и ЕХЕ файл на диске закрывается).
То есть во время работы я легко могу выкинуть такое окошко, но как сделать так, чтоб программа сохранила самомодифицирующий свой код. Это её как то компильнуть на лету с новым кодом надо или что ?

Добавлено через 12 минут
Пока что почитываю статейку http://habrahabr.ru/sandbox/38307/ ....
Если у кого - то мысли появятся, буду рад услышать... Пока что полагаю, что для этого надо по мимо кода в ресурсы программы встраивать компилятор, просто пока не пойму, как его оттуда использовать ...

Добавлено через 5 минут
а ещё интересно, как антивирусы будут на это дело реагировать... Думаю, будут блокировать, но может есть вариант их обойти ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2013, 11:15
Ответы с готовыми решениями:

Не удается найти файл .exe
Поставил по учебе С++ 2010 года, ввожу типичный код #include <iostream> using...

Интегрирование картинки в *.exe файл
Здравствуйте. Я пытаюсь маленько попрограммировать в DEV C++ ver.4.9.9.2 Win...

Как запаковать картинку в exe файл
Здравствуйте! Подскажите примерно как это делается. Я так понял это надо...

Коммерческо-тайное ПО: защитить exe-файл
Разрабатываю для фирмы ПО. Недаано начальство сказало, дескать надо от...

Открыть и закрыть файл exe через определенное время
Извините за тупой вопрос. Мне нужно просто открыть экзешник и со...

38
newbie666
Заблокирован
22.11.2013, 13:23  [ТС] 21
Цитата Сообщение от ISergey Посмотреть сообщение
а если инет тебе обломят?..
если этот софт в колл центре банка, то мне достаточно будет позвонить им с телефона.

Цитата Сообщение от ISergey Посмотреть сообщение
как на меня, то можно логику работы софта где-то удаленно реализовать и не морочить себе голову со взломами.
Да... я предлагал тоже эту фишку в начале ветки. Тоесть есть сервер, на который инфу загружают пользователи, инфа распознаётся и отсылается обратно. Тоесть клиент вообще ЕХЕшника не видит. Тут некоторый геморой будет с REAL TIME, но тоже реализуемо.
Цитата Сообщение от ISergey Посмотреть сообщение
то что ломают это не проблема.. есть на ком тестировать потом.


Добавлено через 2 минуты
Цитата Сообщение от CheshireCat Посмотреть сообщение
Предлагаю с трех раз угадать, кому будет выставлен иск за убытки, как только CIO отойдет от шока :-)


По этому команду конечно же надо очень тщательно продумать

Цитата Сообщение от Dmitriy_M Посмотреть сообщение
Поэтому в случае с нейронками можно сделать шифрование весов
я их не использую, у меня совсем другая модель.
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.11.2013, 13:38 22
Полагаю, с удаленным сервером в реалтайме будет отнюдь не "некоторый геморрой". Угадай, что будет ограничивающим фактором для колл-центра, обрабатывающего миллионы звонков? Правильно, пропускная способность линии связи. Предложишь банку кинуть выделенное оптоволокно до твоего сервера? :-)

И да, команду-то можно тщательно продумать.... хоть обпродумывайся. Только вот теория вероятностей - она такая теория... и она говорит, что в колл-центре с миллионами звонков рано или поздно случайно сигнатура самого обычного звонка совпадет с твоей командой...
0
newbie666
Заблокирован
22.11.2013, 13:44  [ТС] 23
Цитата Сообщение от CheshireCat Посмотреть сообщение
олько вот теория вероятностей - она такая теория... и она говорит, что в колл-центре с миллионами звонков рано или поздно случайно сигнатура самого обычного звонка совпадет с твоей командой...
не да, рано или поздно мы все умрём - всё пропало

Цитата Сообщение от CheshireCat Посмотреть сообщение
олагаю, с удаленным сервером в реалтайме будет отнюдь не "некоторый геморрой".
Верно, но тогда какой по вашему будет оптимальное решение дли минимизации не легального использование софта?
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.11.2013, 14:12 24
Оптимальное решение - организационное. Серьезно.

Если ты позиционируешь твой софт как "для корпоративных клиентов", пойми простую вещь: распространение корпоративного софта сильно отличается от того же для хомячков (хоум-юзеров).

Стоимость софта для серьезной организации (банка, к примеру) составляет десятки и сотни тысяч долларов. А ценность обрабатываемых этим софтом данных - еще больше. Прикинь, какова ценность данных в процессинговом центре, где хранятся данные о счетах десятков, если не сотен тысяч клиентов банка? А из этого следуют два любопытных вывода:
1. банк, заплатив ого-го какие деньги за специализированный софт, отнюдь не желает, чтобы софт этот был выложен на трекерах. И даже если не в меру ретивый сотрудник банка это сделает, и это вскроется, - ему достанется таких люлей, что мало не покажется.
2. а самое главное - в связи с ценностью данных, IT-менеджмент банка задушит и сожрет любого, кто попытается использовать при их обработке что-то нелегальное с трекера. Случись "чего" - кому претензии предъявлять? Анониму, выложившему раздачу на трекер? Репутация вендора и гарантия вменяемой техподдержки стоят тех денег, которые бизнес платит за софт подобного уровня.

"Крутая защита" нужна, главным образом, в программах для никем никак не контролируемых хоум-юзеров. Но увы! Цена подавляющего большинства таких программ не превышает 20 USD......
1
агерон
314 / 280 / 57
Регистрация: 12.10.2009
Сообщений: 1,098
22.11.2013, 14:17 25
а еще в придачу вы забыли такую штуку как лицензирование средств защиты, вот мне интересно у TC есть лицензия от ФСБ на право разрабатывать системы защиты?
1
newbie666
Заблокирован
22.11.2013, 14:20  [ТС] 26
Цитата Сообщение от агерон Посмотреть сообщение
у TC есть лицензия от ФСБ на право разрабатывать системы защиты
бугага, не думаю, что мне нужно разрешение от ФСБ для защиты собственного софта.

Цитата Сообщение от CheshireCat Посмотреть сообщение
Оптимальное решение - организационное. Серьезно.
вот это правильно. Ладно, не буду больше тратить время на защиту, лучше по максимуму вложусь в доведение софта до прадакшена...
Всем спасибо
0
агерон
314 / 280 / 57
Регистрация: 12.10.2009
Сообщений: 1,098
22.11.2013, 15:40 27
Цитата Сообщение от newbie666 Посмотреть сообщение
бугага, не думаю, что мне нужно разрешение от ФСБ для защиты собственного софта.
а вот это вы зря почитайте ка вот эту статью на википедии Криптография

Добавлено через 1 минуту
особенно в части запретов, а так как вы будете предлагать свое ПО банкам то это и вас касается т. к. банковское ПО лицензируется в обязательном порядке
1
newbie666
Заблокирован
22.11.2013, 15:49  [ТС] 28
Цитата Сообщение от агерон Посмотреть сообщение
особенно в части запретов, а так как вы будете предлагать свое ПО банкам то это и вас касается т. к. банковское ПО лицензируется в обязательном порядке
а я буду виндовое CryptoAPI использовать
0
агерон
314 / 280 / 57
Регистрация: 12.10.2009
Сообщений: 1,098
22.11.2013, 15:55 29
а выдающим лицензию на криптографические системы защиты еще нужно доказать что вы WinCryptoAPI используете т. е. им нужено предоставить полные исходники вашего ПО для независимого анализа дальше мысль продолжать?

Добавлено через 3 минуты
да и при этом 100 процентов определиться ваша закладка с телефонным сигналом, а если вы ее уберете а потом добавите и это обнаружиться при крахе банковского процессингового центра то для возмещения убытков и оплаты штрафов можете смело себя на органы продавать авось хватит :-D
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.11.2013, 15:56 30
агерон, не путай ты его. Тут разница в том, что лицензия ФСБ нужна на разработку криптографических средств и систем и оказание услуг с использованием криптографических средств защиты информации. Защита собственного приложения от нелицензионного копирования к Постановлению 957 не относится никаким боком.
0
агерон
314 / 280 / 57
Регистрация: 12.10.2009
Сообщений: 1,098
22.11.2013, 16:05 31
а вы точно уверенны? что система защиты от копирования не является системой криптографии?, особенно в банковском секторе да с применением HASP?

Добавлено через 4 минуты
только в случае сторонних криптографических SDK и API (уже лицензированых) его система не должна проходить лицензирование, а так... любая самописная система защиты/криптографии милости просим на анализ, если ПО будет распостронятся в банковской сфере
0
newbie666
Заблокирован
22.11.2013, 16:19  [ТС] 32
Цитата Сообщение от агерон Посмотреть сообщение
любая самописная система защиты/криптографии милости просим на анализ, если ПО будет распостронятся в банковской сфере
согласен, я ваще решил на защиту забить ))) Я сейчас усиленно буду модель и софт до продакшена доводить, чтоб через пол года вступить в борьбу со всякими зажравшимися конторами, у которых много "учёных" бугагаг. смешно просто
0
Izual
142 / 120 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
22.11.2013, 16:36 33
Цитата Сообщение от newbie666 Посмотреть сообщение
согласен, я ваще решил на защиту забить ))) Я сейчас усиленно буду модель и софт до продакшена доводить, чтоб через пол года вступить в борьбу со всякими зажравшимися конторами, у которых много "учёных" бугагаг. смешно просто
Ну от дизассембла может и не спасёшся, но простенькую защиту в виде файла типа ключа, получаемого от сервера, с помощью которого программа может запуститься - сделать всё таки можно. Но с другой стороны, кто будет тратить время на ломание софта, который можно частично использовать(как было предложенно ранее)? - типа базовые функции использовать можно, но специализированные(которые составят основную работу в крупных компаниях) - заблокировать если нет файла ключа. Кстати ключ можно довести до ума, например, каждый месяц высылать новый ключ для оплаченных версий, при этом отталкиваясь от даты, каких то системных данных(типа номеров харда и IP адреса), данное позволит как вести учёт о пользовании программы, так и обезопасить от копипастеров, пытающихся стырить софт с места работы, но придя домой и запустив программу(при включённом интернете) - получить команду на удаление файла программы ну и вы в свою очередь получите адрес юзера пытающегося запустить программу с не зарегестрированного компьютера.
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.11.2013, 16:42 34
Цитата Сообщение от Izual Посмотреть сообщение
ну и вы в свою очередь получите адрес юзера пытающегося запустить программу с не зарегестрированного компьютера.
От этого адреса проку мало. Большинство хоум-юзеров используют динамические IP. При следующем входе в сеть адрес будет другим.

Да и сам софт - распознавание и синтез речи, идентификация дикторов - мне представляется довольно-таки специализированным для хоум-юзера.
0
Izual
142 / 120 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
22.11.2013, 16:48 35
Цитата Сообщение от CheshireCat Посмотреть сообщение
От этого адреса проку мало. Большинство хоум-юзеров используют динамические IP. При следующем входе в сеть адрес будет другим.

Да и сам софт - распознавание и синтез речи, идентификация дикторов - мне представляется довольно-таки специализированным для хоум-юзера.
Перевод игр, перевод лекций... Очень даже "Юзабилити", но для таких целей я думаю программу нужно дорабатывать до условно-бесплатной при условии например, что размер входного файла не превышает Х...
0
CheshireCat
Эксперт С++
2912 / 1261 / 114
Регистрация: 27.05.2008
Сообщений: 3,464
22.11.2013, 17:00 36
Для таких целей прежде всего программу нужно дорабатывать так, чтобы точность распознавания была 98-99% на произвольном тексте и для произвольного диктора. А то ведь и дикторы бывают с весьма невнятной дикцией, и тексты сложные, содержащие аббревиатуры, специальные термины и пр....

Здесь трудность будет в наборе базы фонограмм. Для объективных результатов испытаний нужно бы где-нибудь пару тысяч различных текстов (из разных областей знаний), которые начитают хотя бы пара сотен дикторов разного возраста и пола. Возможно, и разных национальностей. Начитывать они должны, разумеется, в разное время (разные тексты с периодом в несколько дней). Получается этак под полмиллиона фонограмм. А программа правильно распознает их чтение.

Будем надеяться, что newbie666 справится с этой задачей в указанные полгода.
0
newbie666
Заблокирован
22.11.2013, 17:23  [ТС] 37
Цитата Сообщение от CheshireCat Посмотреть сообщение
Будем надеяться, что newbie666 справится с этой задачей в указанные полгода.
не вопрос. Потом тему открою где нибуть тут по ходу рзработки Пока что я откланюсь, пора уже
0
Izual
142 / 120 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
22.11.2013, 17:33 38
Цитата Сообщение от newbie666 Посмотреть сообщение
не вопрос. Потом тему открою где нибуть тут по ходу рзработки Пока что я откланюсь, пора уже
Главное не результат, а движение. (аля фразы из к.ф. "Мирный воин")
0
oppppp
4 / 4 / 1
Регистрация: 12.02.2015
Сообщений: 46
29.05.2015, 13:57 39
Отказ от отвестенности))
0
29.05.2015, 13:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.05.2015, 13:57

Настройка компилятора Visual 2015 C++: exe-файл не запускается на других компьютерах
программа создается на виндовс 10 64бит. беру ехе из Дебаг и Релеасе,...

Получить адрес текущей директории в которой находиться текущий файл *.exe
Всем привет! Подскажите апишку для получения адреса директории в которой...

Создать exe, запускающий exe
Говорю сразу: я ничего не смыслю в програмировании; зачем подался на такой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
39
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru