Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16

Как защитить EXE от исследования?

26.08.2014, 16:26. Показов 4911. Ответов 37
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет !

Хотелось бы усложнить жизнь гипотетическому исследователю,
который не особо искушен в языке VB и отладчиках,
чтобы тяжело было отследить логику работы программы,
но в особенности чтобы нельзя было увидеть константных строк в явном виде,
напрямую декомпилировав EXE.

Какими средствами и опциями компиляции следует воспользоваться?
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.08.2014, 16:26
Ответы с готовыми решениями:

Как защитить исполняемый файл (.exe) от модификации?
Собираюсь залить в Интернет своё click-once-приложение для скачивания в виде обычного exe-файла. Как защитить исполняемый файл от...

Защитить exe от подобных программ, как DeDe ( Delphi 7 )
Вообщем суть такова.... Есть project1.exe надо какт защитить от Декомпиляции, от просмотра текста ... (Delphi 7) ----- Добавлено через...

Как защитить сторонний exe-файл от запуска, установив на него пароль
Всем привет. Дали задание. Суть его такова: есть какой-то файл.exe. На него нужно "навесить" защиту. Как я понял нужно...

37
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
13.09.2014, 08:18
Студворк — интернет-сервис помощи студентам
да мне пофиг как это по американски называется, не знаю и знать не хочу
у меня это называется шифровальщик, ...ну могу еще обозвать шифровальщик-32
зато если я его написал, то я единственный кто знает что он делает, и то главное
чтобы не я это знал, а та программа которая использует зашифрованные данные

Добавлено через 11 минут
вопрос то вообще как стоял..
Цитата Сообщение от Dragokas Посмотреть сообщение
Как защитить EXE от исследования?
можно просто не допускать запуск и работу EXE-шника, пока в системе
одновременно с ним запущенны мониторинговые программы..
держать в ресурсах например перечень процессов, при которых не следует
производить дешифровку.. а пользователя вежливо предупредить..
что программа не станет работать пока запущена
эта мониторящая программа использующая этот процесс
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
13.09.2014, 09:57
Цитата Сообщение от Антихакер32 Посмотреть сообщение
можно просто не допускать запуск и работу EXE-шника, пока в системе одновременно с ним запущенны мониторинговые программы
Умники из команды Skype также думали :-)
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
13.09.2014, 10:28
Цитата Сообщение от Антихакер32 Посмотреть сообщение
а ведь можно сделать несколько констант величеной с килобайт
и использовать только кусок из какой либо константы.. более того можно этот ребус устроить так.. что из нескольких отвлекаящих констант выборочно брать фрагменты и использовать как
источник данных из разрозненных кусков непосредственно в режиме выполнения..
и чтоб чтото достоверно пере-проверить потребуется бесконечное количество времени
Вся твоя защита накроется как твоя строка пойдет на обработку.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
..ну это только идея, которую врят-ли кто заметит, потому что тут
одни и теже, и двое из них умиляются друг-другом, спасибки ставят.. бесит аж
неспособые воспринимать новое
Здесь никому не интересно что тебя бесит. И пока я заметил что воспринимать новое не можешь только ты.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
пущщай лучше расшифровка в режиме выполнения займет
минуту!
А вот потом можно и приступать к исследованию. (зачем раньше?)
Цитата Сообщение от Антихакер32 Посмотреть сообщение
всё нужно делать ручками, своими руками, а не подсматривать
как шифруют данные другие, и тогда точно никто не смогёт ничего увидеть
Вообще-то люди для этого и обмениваются информацией чтобы почерпнуть что-то новое и применить в своих проектах.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
несколько ничем не связанных констант.. но они могут породить одно значение..
если какое-либо из слов, рассматривать как внутренний ключ для расшифровки
Когда строка будет расшифрована - ее без труда можно подсмотреть.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Причем прежде чем расшифровать арбуз ...
нужно расшифровать грушу, а прежде чем расшифровать грушу..
нужно расшифровать яблоко.. тут-уж никто не станет заниматься
внешним перебором.. чтобы *подсмотреть* так-как проще повеситься
Ага, никто.
Цитата Сообщение от hoch Посмотреть сообщение
Если бы мне требовалось усложнить жизнь любопытному
Буратино, то я бы применил оператор GOTO. Большое
их количество (не обязательно рабочие) собьют спесь
любому хакеру!! Поверьте мне!
Посмотри дизассемблерированный листинг программы на VB6, там этих jmp'ов и без того много и они не создают особых проблем. Если ты вставишь хоть с десяток лишних - это ни в коем случае не усложнит реверсинг. Зато твой исходный код многократно усложнится и будет намного сложней для восприятия.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
можно просто не допускать запуск и работу EXE-шника, пока в системе
одновременно с ним запущенны мониторинговые программы..
CREATE_SUSPENDED и перехват нужных функций, пару кликов и модификаций и твоя защита уже не защита.
1
13.09.2014, 11:45

Не по теме:

Цитата Сообщение от gazlan Посмотреть сообщение
Умники из команды Skype
До паранойи доходило у некоторых программ. Запускаешь, а она выдаёт "В Вашей системе установлена (даже не запущена!) программа SoftIce." и закрывается.

0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
13.09.2014, 11:55
Цитата Сообщение от SoftIce Посмотреть сообщение
установлена (даже не запущена!)

Не по теме:

Проверяли наличие видеодрайвера SI. Skype, к слову, делал умнее - вываливался только в момент звонка :-)

0
13.09.2014, 12:06  [ТС]

Не по теме:

Цитата Сообщение от SoftIce Посмотреть сообщение
В Вашей системе установлена (даже не запущена!) программа SoftIce
SoftIce, , :D

0
Заблокирован
13.09.2014, 13:57
Если бы мне было нужно досадить хакеру, то
я создал бы программу, которая сама бы не
выполняла заданной программы, а лишь была
исполнителем воли txt-файла, где и хранились
бы данные и команды. Это нечто десятичного
Ассемблера. Вот уж точно никто ничто не прочтет.
И хакер, смахнув рукавом скупую мужскую слезу,
проклянет тот день, когда он "сел за баранку
это пылесоса!!"
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
13.09.2014, 21:06
Цитата Сообщение от hoch Посмотреть сообщение
проклянет тот день
Или напишет декомпилятор виртуальной машины. Есть примеры и бесплатных и коммерческих решений для самых разных сред и защит.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
13.09.2014, 22:39
Цитата Сообщение от The trick Посмотреть сообщение
CREATE_SUSPENDED и перехват нужных функций, пару кликов и модификаций и твоя защита уже не защита.
запуск должен производится, строго из проводника..
с определенными аттрибутами за этим тоже нужно следить, во вторых..
а кто сказал что моя программа должна падать
нет, можно сделать чтоб она запустилась с наивысшими правами
и приоритетом реального времени, затем заморозить неугодные сторонние процессы
и уж после этого продолжить работу в обычном режиме, по окончанию выполнения
восстановить всё как было, визуально это будет почти незаметно..
разьве что у хакеров это будет выдавливать скупую слезу ...

Добавлено через 7 минут
В конце концов, можно распаралелить на 2 программы..
первая запускается и извлекает из себя, жутко обфусцированного
шустрого и агрессивного программу помошника, та замораживает неугодных
держит на крючке пару секунд пока первая прога у себя вычисляет ребус..
затем также быстро всё восстонавливает и удаляется

Добавлено через 6 минут
Даже такты можно посчитать.. если временные такты не соответствуют
значит.. тото и тото
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
13.09.2014, 22:49
Ну на счет шифрования констант думаю уже все изложили. Правда поставить breakpoint в отладчике на функции обращения к реестру думаю сможет даже обычный студент. А это сводит всю защиту на нет. Тогда хотя бы замаскируйте простейшим образом вызов Api. Вот тогда я думаю будет уже на много труднее что то найти в вашей программе.
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
13.09.2014, 23:13
Такое уж точно усложнит просмотр..
есть еще пару идей.. например запускать несколько копий
программ одновременно сообща решая общую задачу
а основное управление у какой-то одной
..поди разберись что они там делают

Добавлено через 7 минут
2 копии это уже будет ужас.. а 16 скрытых копий?..

Добавлено через 8 минут
Причем необязательно чтобы они все одновременно работали..
первая копия поработала .001 секунду, передала управление второй,
вторая закрыла первую и тоже поработала .001 секунду передала управление третей
ну и тд

Добавлено через 2 минуты
даже если хакеру несказанно повезет просмотреть первую копию..
в этот момент уже будет работать 88-я...

Добавлено через 4 минуты
Таким образом у хакера неминуемо потеряется цепочка взаимосвязи
0
286 / 192 / 56
Регистрация: 25.12.2012
Сообщений: 640
13.09.2014, 23:15
Цитата Сообщение от Антихакер32 Посмотреть сообщение
даже если хакеру несказанно повезет просмотреть первую копию..
в этот момент уже будет работать 88-я...
....
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
13.09.2014, 23:30
Ну раз -уж, коментариев особо нет.., значит дейсвительно в этом есть смысл..
хотя всегда можно сделать по другому, главное чтоб нельзя было
предугадать, подсмотреть и просчитать что делает твоя программа
0
3178 / 1937 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
14.09.2014, 00:01
Все примитивные трюки, которые пришли (или еще только придут) вам в голову уже давно опробованы, исследованы... и заброшены. Проект Armadillo, например (программа, отлаживающая саму себя).
0
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
14.09.2014, 00:13
Это рекламма, или вы хотите сказать что и эту софтину писанную на с++
удалось ломануть тоже? ..
там много иностранного текста, не стал переводить до конца..

Добавлено через 1 минуту
Примитивного трюка будет достаточно, чтоб...
Цитата Сообщение от Dragokas Посмотреть сообщение
усложнить жизнь гипотетическому исследователю,
который не особо искушен в языке VB и отладчиках
Добавлено через 1 минуту
и надо так-же незабывать что действия по защите должны-быть соразмерны ценности твоей программы
0
Модератор
10060 / 3905 / 885
Регистрация: 22.02.2013
Сообщений: 5,854
Записей в блоге: 79
14.09.2014, 00:25
Цитата Сообщение от Антихакер32 Посмотреть сообщение
запуск должен производится, строго из проводника..
с определенными аттрибутами за этим тоже нужно следить, во вторых..
Я обычно запускаю в OllyDbg.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
нет, можно сделать чтоб она запустилась с наивысшими правами
и приоритетом реального времени, затем заморозить неугодные сторонние процессы
и уж после этого продолжить работу в обычном режиме, по окончанию выполнения
восстановить всё как было, визуально это будет почти незаметно..
Ага, я так и не понял как она это сделает будучи приостановленной?
Цитата Сообщение от Антихакер32 Посмотреть сообщение
В конце концов, можно распаралелить на 2 программы..
первая запускается и извлекает из себя, жутко обфусцированного
шустрого и агрессивного программу помошника, та замораживает неугодных
держит на крючке пару секунд пока первая прога у себя вычисляет ребус..
затем также быстро всё восстонавливает и удаляется
Это только облегчит задачу хакеру, а тебе многократно усложнит.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Даже такты можно посчитать.. если временные такты не соответствуют
значит.. тото и тото
Кто их будет считать? А если я поставлю заведомо маленькое значение? Для современных отладчиков столько плагинов есть, что эти все описанные методы обходятся на ура.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Такое уж точно усложнит просмотр..
есть еще пару идей.. например запускать несколько копий
программ одновременно сообща решая общую задачу
а основное управление у какой-то одной
..поди разберись что они там делают
Давай, напиши такую. Да любая такая защита будет основана на каком-нибудь объекте синхронизации там она и спалится.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
2 копии это уже будет ужас.. а 16 скрытых копий?..
Ага, как ты их скрывать собрался? Видимо у тебя там уже проект по несколько тысяч строк. Я в этом не сомневаюсь ты же так хорошо знаешь WinAPI и тем более NativeAPI
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Причем необязательно чтобы они все одновременно работали..
первая копия поработала .001 секунду, передала управление второй,
вторая закрыла первую и тоже поработала .001 секунду передала управление третей
ну и тд
Ага, попробуй организуй алгоритм, и посмотри на производительность программы в таком случае.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
даже если хакеру несказанно повезет просмотреть первую копию..
в этот момент уже будет работать 88-я...
Хакер (точнее крекер) поставит точку останова и все что ему надо отследит.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Таким образом у хакера неминуемо потеряется цепочка взаимосвязи
А еще она потеряется у разработчика такого ПО.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Ну раз -уж, коментариев особо нет.., значит дейсвительно в этом есть смысл..
хотя всегда можно сделать по другому, главное чтоб нельзя было
предугадать, подсмотреть и просчитать что делает твоя программа
Так нельзя сделать в общем случае.
Цитата Сообщение от Антихакер32 Посмотреть сообщение
Примитивного трюка будет достаточно, чтоб...
Вот именно, ключевое слово примитивного.
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18035 / 7738 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
14.09.2014, 00:27  [ТС]
Мне бы за такие трюки и обычные неискушенные пользователи отрезали бы голову.
2
 Аватар для Антихакер32
1201 / 473 / 46
Регистрация: 06.01.2014
Сообщений: 1,797
Записей в блоге: 19
14.09.2014, 00:38
Да-да, полностью с вами согласен коллега
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
14.09.2014, 00:38
Помогаю со студенческими работами здесь

Защитить exe от вирусов
Как это сделать для своего приложения ?

Защитить exe-файл на флешке
Пользуюсь одной портабельной прогой на флешке, но уже жутко достало то, что его все время ковыряют вирусы, так как работаю с флешкой на...

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

Защитить excel файла и скомпилировать на exe файл
Имеется файл екселя нужно его защитить этот файл от сохранение копирование на другой комп. Короче к файлу должен получить доступ один...

Внедрить файл Excel в exe или защитить этот файл
Имеется файл excel. Нужно создать программку которая не даст возможность копировать этот файл на другой компьютер или носители. ...


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

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

Новые блоги и статьи
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов. import "math" func angleClock(hour int, minutes int) float64 { . . .
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html и его же старой инструкции по установке Lazarus с gtk2. . .
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер. Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром. возможно получится прикрутить интерпретатор питон для кастомизации игровой логики. что есть на текущий момент:. . .
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru