реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Проверка целостности exe-файла, C Builder 6
toweroff
сообщение Feb 11 2011, 16:12
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Здравствуйте!
Есть задача self-test исполняемого exe-файла
Как это лучше сделать? Выщемить имя, под которым его запустили, открыть, считать и рассчитать всякие MD5 & SHA1, сравнить с константами?
Но при модификации констант изменятся и хэши... что-то я совсем запутался sad.gif
Go to the top of the page
 
+Quote Post
Xenia
сообщение Feb 11 2011, 16:59
Сообщение #2


Гуру
******

Группа: Модератор FTP
Сообщений: 4 479
Регистрация: 20-02-08
Из: Москва
Пользователь №: 35 237



Цитата(toweroff @ Feb 11 2011, 19:12) *
Здравствуйте!
Есть задача self-test исполняемого exe-файла
Как это лучше сделать? Выщемить имя, под которым его запустили, открыть, считать и рассчитать всякие MD5 & SHA1, сравнить с константами?
Но при модификации констант изменятся и хэши... что-то я совсем запутался sad.gif

Если известно место, где находится образец контрольной суммы, то можно находить частные контрольные суммы ДО и ПОСЛЕ этого образца, т.е. за исключением самого эталона КС, хранящегося в файле.

Приведу пример, чтобы стало яснее. Например, создать в области констант строку типа "Эталон_контрольной суммы = 0x123456789", вколотив в него сначала произвольные цифры. Затем открываете файл и ищете начало надписи "Эталон_контрольной суммы = " и вычисляете знакоместо после конца этой записи (там, где цифра должна начаться). Пусть это значение будет P1-й байт от начала файла. А после этого вычисляем знакоместо после цифры 0x123456789. Пусть это будет P2=P1+11. А дальше просто - вычисляете констрольные суммы файла от 0 до P1, и от P2 до конца файла, а потом их складываете. Это число и надо будет запихнуть в программу при следующей компиляции, заменив им число 0x123456789. Понятно, что на это место можно запихать любое число, не рискуя тем, что ваша контрольная сумма от этого изменится.
Если требуется обеспечить секретность, то число можно положить в бинарном виде, а ярлычок к ней "Эталон_контрольной суммы =" тоже заменить как какую-нибудь уникальную бинарную цифирь.
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 11 2011, 17:34
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(Xenia @ Feb 11 2011, 19:59) *
Если известно место, где находится образец контрольной суммы, то можно находить частные контрольные суммы ДО и ПОСЛЕ этого образца, т.е. за исключением самого эталона КС, хранящегося в файле.

Приведу пример, чтобы стало яснее. Например, создать в области констант строку типа "Эталон_контрольной суммы = 0x123456789", вколотив в него сначала произвольные цифры. Затем открываете файл и ищете начало надписи "Эталон_контрольной суммы = " и вычисляете знакоместо после конца этой записи (там, где цифра должна начаться). Пусть это значение будет P1-й байт от начала файла. А после этого вычисляем знакоместо после цифры 0x123456789. Пусть это будет P2=P1+11. А дальше просто - вычисляете констрольные суммы файла от 0 до P1, и от P2 до конца файла, а потом их складываете. Это число и надо будет запихнуть в программу при следующей компиляции, заменив им число 0x123456789. Понятно, что на это место можно запихать любое число, не рискуя тем, что ваша контрольная сумма от этого изменится.
Если требуется обеспечить секретность, то число можно положить в бинарном виде, а ярлычок к ней "Эталон_контрольной суммы =" тоже заменить как какую-нибудь уникальную бинарную цифирь.

спасибо, я тоже в таком направлении начал думать, немного смущали два хеша

посмотрел еще в сторону сторонних скрывателей кода, типа Themida, WinLicense и иже с ними
тут можно проверкой не заморачиваться -- они сами это все встроят и, мало того, зашифруют код и запустят под своей виртуалкой. Какое мнение по поводу такого софта вообще?
Смущает такая вещь, не хочется, чтобы клиенты потом в саппорт оборвали телефон и завалили почтовый ящик кучей гневных писем sm.gif
У меня стоит Nod32, так он, по ходу, не может добраться до развернутого в памяти процесса и особо не заморачивается -- тупо говорит, что файл содержит win32/packed.themida.AAG трояна и швыряет файл в карантин
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 11 2011, 21:47
Сообщение #4


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Юзал Armadillo. В Delphi и в Builder'e. Отличная штука. С антивирусами проблем не было... уж с NOD точно.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 11 2011, 22:29
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Feb 12 2011, 00:47) *
Юзал Armadillo. В Delphi и в Builder'e. Отличная штука. С антивирусами проблем не было... уж с NOD точно.

спасибо
ссылочку дадите? гугл находит какие-то мумии, животных экзотических, грузоперевозки и еще кучу ереси sm.gif
отбой, нашел

Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 12 2011, 01:28
Сообщение #6


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



посвежее ищите....
рабочий крякнутый вариант гуглится туго, но всё-же находится.....


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 12 2011, 08:06
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Feb 12 2011, 04:28) *
посвежее ищите....
рабочий крякнутый вариант гуглится туго, но всё-же находится.....

какую версию лучше искать? 6.6 можно найти, 7 - где-то видел сообщения о ее глючности/сырости
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 12 2011, 13:06
Сообщение #8


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Честно говоря, сказал про свежесть из соображений поддержки новых осей и примочек... так то дело имел с этой заразой уже года полтора-два назад и помню, что качнул старую и она у меня глюкала..потом на форуме отправили за новой версией...сейчас даже не вспомню что за версия была... файлик сейчас попробовал отыскать, но безуспешно sad.gif
ну раз говорят, что глючная/сырая - значит 6.6 тогда, а что делать )


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 12 2011, 15:00
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



sigmaN, нашел 7.2, 8 версии не обнаружил пока
не суть
программа шифруется, добавляется к exe еще порядка 1.5Мб
прога работает-работает... и тихо закрывается без объяснения причин sad.gif
с чем может быть связано?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 12 2011, 17:38
Сообщение #10


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Ну то, что это не просто защищалка файлов, а полноценный и мощный протектор, имеющий не мало опций и режимов защиты, надеюсь, объяснять не нужно )
Поэтому надо и начинать с изучения доков и выбора режимов защиты.... dllки там ещё как-то линкуются... в общем много чего подкрутить там можно, чтобы разглючить.

плюс ещё может кряка неудачная... Я, помнится, настройки крутил-вертел, да...так что, наверное, это нормально для армадиллы.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 12 2011, 17:47
Сообщение #11


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Feb 12 2011, 20:38) *
Ну то, что это не просто защищалка файлов, а полноценный и мощный протектор, имеющий не мало опций и режимов защиты, надеюсь, объяснять не нужно )
Поэтому надо и начинать с изучения доков и выбора режимов защиты.... dllки там ещё как-то линкуются... в общем много чего подкрутить там можно, чтобы разглючить.

ну это понятно... винлицензе особо не требовала, только ключи сгенерировать, все остальное -- опционально (хотя система защиты, насколько я покопался, более интересная -- на базе своей виртуальной машины)
тут, по ходу, она еще и сертификаты встраивает... но почему ни слова не говорит? закрывается и все sad.gif

Цитата(sigmaN @ Feb 12 2011, 20:38) *
плюс ещё может кряка неудачная... Я, помнится, настройки крутил-вертел, да...так что, наверное, это нормально для армадиллы.

похоже, копаться придется
насчет кряка -- если она его "съела", -- значит хорошо?
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Feb 12 2011, 18:18
Сообщение #12


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Уж не знаю... может быть если дело просто в защите екзешника от модификации, то нужно выбрать другую программу...


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
toweroff
сообщение Feb 12 2011, 21:51
Сообщение #13


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(sigmaN @ Feb 12 2011, 21:18) *
Уж не знаю... может быть если дело просто в защите екзешника от модификации, то нужно выбрать другую программу...

возможно и так, но коли уж сторонняя софтина предоставляет сервис... сертификации не нужны, также не нужны все лицензии включая тайм... нихт
не о том ли народ говорил?
Но вроде как 7.2, а не просто 7 05.gif
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 15:07
Рейтинг@Mail.ru


Страница сгенерированна за 0.01485 секунд с 7
ELECTRONIX ©2004-2016