Форум программистов, компьютерный форум CyberForum.ru

декомпиляция exe - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 76, средняя оценка - 4.63
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 14:46     декомпиляция exe #1
вот погуглил немного... вижу, что декомпиляция относительно небольшой программы вполне возможна.
Если в самой программе в переменных инициализированные например значения с данными к БД, можно их извлечь при декомпиляции? Интересуют все варианты, включая снова сишный вариант и также ассемблерный.
З.Ы. Вопрос интересует с точки зрения отладки и защиты своего приложения, а не взлома чужего.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 14:46     декомпиляция exe
Посмотрите здесь:

Декомпиляция программы C++
C++ EXE. файл
C++ Запуск exe
EXE файл C++
Error spawnin 'mt.exe', 'rc.exe' C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
22.11.2011, 15:00     декомпиляция exe #2
SlesherY,
Цитата Сообщение от SlesherY Посмотреть сообщение
Если в самой программе в переменных инициализированные например значения с данными к БД, можно их извлечь при декомпиляции?
- вполне, особенно если это строковые литералы. OllyDbg - неплохой дисасемблер (есть пошаговое выполнение и многое другое)
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 15:16  [ТС]     декомпиляция exe #3
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
вполне, особенно если это строковые литералы
ну вот так в принципе оно и есть, и єто не может не волновать. И что же делать?
Программа планируется распространятся ссвободно, и подключение будет осуществлятся к централизованной единой БД. Что можете посоветовать? Может, какие материалы?
Если сделать литералы изначально зашифрованными, а походу программы расшифровывать? Но алгоритм шифрования ведь тоже можно проследить...

Добавлено через 7 минут
да, скачал OllyDbg, хотя первый раз работаю с ассемблером, и с этой программой, за 3 минуты в первых 200 строчках нашел данные к своей БД... печально.. как уберечь?
-=ЮрА=-
Заблокирован
Автор FAQ
22.11.2011, 15:19     декомпиляция exe #4
Цитата Сообщение от SlesherY Посмотреть сообщение
И что же делать?
- кто захочет тот всегда взломает, однако можно немножко замутить воду. Скажем вы вбили литерал не буквами а собрали массив с кодами символов, в программе(это уже не так на поверхности лежать будет). 2-е основную функцию подключения и работы с БД делайте с ключом значение которого 0 если все символы литерала совпали, иначе он будет ненулевым, ну и в вычислениях делайте что то типа этого
a = 2 + 2 + key; //Отработает правильно только если key == 0
Поверьте даже если вам сломают условие
if(Введенный пароль != эталон)
выход из программы
else
работа
А ведь так и поступают при крэке, ломатель споткнётся о неверно работающий алгоритм...
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 15:36  [ТС]     декомпиляция exe #5
-=ЮрА=-, спасибо...ну хоть какое-то направление...
а то смотрю что эти всякие обфускаторы в принципе штука ненадежная...
-=ЮрА=-
Заблокирован
Автор FAQ
22.11.2011, 15:42     декомпиляция exe #6
SlesherY, помните для опытного ломателя всё наши ухищрения лишь оттягивают неизбежный взлом! Однако "ломают всё" лишь люди с очень высоким уровнем знаний, который должен быть на порядок выше уровня устанавливаемой защиты. Таким образом поставив средний уровень защиты, ломать наши приложения смогут лишь "гуру", а таких людей не очень то и много
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 15:49  [ТС]     декомпиляция exe #7
-=ЮрА=-, ну сейчас у многих хакер-тимах появилась очень нехорошая привычка выкладывать свои работы в сеть, и даже делать свои программы с теми же данными, выпуская их в инет...
Но вобщем вы правы.
easybudda
Модератор
Эксперт С++
 Аватар для easybudda
9373 / 5423 / 914
Регистрация: 25.07.2009
Сообщений: 10,423
22.11.2011, 15:59     декомпиляция exe #8
Цитата Сообщение от SlesherY Посмотреть сообщение
Программа планируется распространятся ссвободно, и подключение будет осуществлятся к централизованной единой БД. Что можете посоветовать?
Вообще как-то идеологически неправильно в свободно распространяемой программе держать пароль от какой-то глобальной базы данных. По-моему правильнее разбить программу на клиентскую и серверную части. С самой БД общается серверная, клиентская часть подключается к ней, при чём, если клиентская часть раздаётся направо/налево, то в ней и пароли по сути никакие не нужны. Из минусов усложнение всего замута, из плюсов - просто так базу будет не порушить, прийдётся удалённо ломать серверную часть, а это совсем не то же самое, что расковырять клиента на своём компе...

Добавлено через 5 минут
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
основную функцию подключения и работы с БД делайте с ключом значение которого 0 если все символы литерала совпали, иначе он будет ненулевым, ну и в вычислениях делайте что то типа этого
a = 2 + 2 + key; //Отработает правильно только если key == 0
Грубо говоря весь взлом будет сводиться к замене JZ на JMP. Классическое "как два байта обнулить"...
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 16:07  [ТС]     декомпиляция exe #9
короче я походу просто не с той стороны зашел. Проанализировав все ответы, сделал для себя выводы и все учел. Спасибо, скорее всего, это еще не последние мои обращения...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 16:17     декомпиляция exe
Еще ссылки по теме:

Code::Bloks C++, В чем разница "codeblocks-12.11-setup.exe" и "codeblocks-12.11mingw-setup.exe" C++
Возможна ли декомпиляция исходника? C++
Почему экзешник make.exe (вернее, его разновидность mingw32-make.exe) принимает неизвестные параметры? C++

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
22.11.2011, 16:17     декомпиляция exe
  #10

Не по теме:

Цитата Сообщение от easybudda Посмотреть сообщение
JZ на JMP
я писал об єтом
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
if(Введенный пароль != эталон)
выход из программы
else
работа
if(Введенный пароль == эталон)
выход из программы
else
работа

Ну а что будете делать если єкзешник заработает но неправильно???

Yandex
Объявления
22.11.2011, 16:17     декомпиляция exe
Ответ Создать тему
Опции темы

Текущее время: 23:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru