Страница: 1 | 2 |
Вопрос: Как подписать екзешник, чтоб отличить его потом
Добавлено: 30.11.05 12:32
Автор вопроса: student-uni
я запускаю из моеи проги екзешник
А как мне удостоверится что ето именно мой екзешник, а не чужая прога переименованная под мой екзешник.
Спасибо всем
Ответы
Всего ответов: 21
Номер ответа: 1
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #1
Добавлено: 30.11.05 13:09
а вообще, проверяй ресурсы или допиши какой-нить символ в конец файла...
Эй, студент, а как ты себе представляешь то, что ты написал??
lol, если этот EXEшник твой, и он запущен, то его нельза переименовывать или удалять! А если нет, то чем ты это будешь проверять????
Номер ответа: 2
Автор ответа:
Dushes
ICQ: 249195431
Вопросов: 8
Ответов: 110
Профиль | | #2
Добавлено: 30.11.05 13:32
Есть еще пара вариантов:
1)Делать какой нить атрибут файла при компиляции, скажем Description, определенным, потом его проверять. У меня модуль класса есть - такую инфу о EXE читать. Да вроде бы и на VBNet.ru есть...
2)CRC32 или размер файла. например я юзаю библиотеку на асме для CRC32. Туда буффер с данными, оттуда CRC32 для него...
Номер ответа: 3
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #3
Добавлено: 30.11.05 19:02
MD5
Номер ответа: 4
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #4
Добавлено: 30.11.05 21:21
2 Noviks (AgentFire)
Речь идёт о втором ехе
Его запускает первый и первому побарабану, что там внутри второго. Подмени например второй на прогу с "формат С" внутри и это сработает.
Номер ответа: 5
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #5
Добавлено: 30.11.05 21:25
Достопочтенный Sharp,
а как можно применить односторонне кодирование МД5 сюда ?
Что кодировать ? и с чем сравнивать ?
Номер ответа: 6
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #6
Добавлено: 30.11.05 21:31
Откровенно говоря я думал во втором экзешнике заменить пару символов и сделать его нерабочим, а передзапуском подменять их обратно. Но это как то через ректум.
Номер ответа: 7
Автор ответа:
AASoft
Вопросов: 86
Ответов: 920
Профиль | | #7
Добавлено: 30.11.05 21:37
shitaj CRC (ili MD5) vtorogo exeshnika, zapisyj v pervyj(v smysle kogda kodish ego eshe). potom pri zapuske vtorogo, shitaj opyat` i sravnivaj.
Номер ответа: 8
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #8
Добавлено: 30.11.05 22:17
Ну если речь пошла о хэшах, почему бы сразу SHA-256 не юзать???
Номер ответа: 9
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #9
Добавлено: 30.11.05 22:18
Я к тому, что CRC32 и MD5 спокойно расшифровываются (т.е. по значению хэша можно опр. исходное сообщение - файл), а SHA-256 еще не сломали. То бишь получается надежнее
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 30.11.05 22:48
они немогут расшифровываться, т.к. это не шифрования алгоритмы... А сбрутить исходные данные по хешу к любому алгоритму можно, вопрос сколько на это уйдёт времени.
В инете есть примеры на VB как MD5 так и SHA-256, это не проблема, вопрос в другом... лично сам не пробовал, но:
Компилим, смотрим хеш, далее берём прогу учим проверять этот хеш... Тут и трабла, как только мы для проверки вставим наш n значный хеш - тело, а соответственно и хеш программы изменится, и мы никогда не получим ожидаемого хеша...
Номер ответа: 11
Автор ответа:
AASoft
Вопросов: 86
Ответов: 920
Профиль | | #11
Добавлено: 01.12.05 04:27
ok, propisat` paru bytes v telo progi posle kompilyacii.
a voobsheto ya dumal vsyaz` hash vtoroj progi i v pervoj proveryat` pered zapuskom vtoroj.
Номер ответа: 12
Автор ответа:
Mihalыch
ICQ: 373-509-101
Вопросов: 56
Ответов: 330
Профиль | | #12
Добавлено: 01.12.05 06:29
Наверное, то что я предлагаю и есть что - то типа CRC, думаю этот вариант даст возможность убедиться в подлинности файла. После компиляции считываем несколько заранее определенных фрагментов (длина и положение их «берутся с потолка» желательно только что бы они равномерно располагались по всему файлу), производим с ними какие ни будь операции (например, складываем коды символов, можно конечно и по мудренее, скажем включить сюда размер файла, да мало ли…). Далее в основной exe’шник сохраняем данные о фрагментах (положение длина) и полученный результат. Думаю, вероятность совпадения результата при замене файла очень мала. Хотя т.к. в основной программе скорее всего где-то будет If, плохого дядю это не остановит…
Номер ответа: 13
Автор ответа:
Dushes
ICQ: 249195431
Вопросов: 8
Ответов: 110
Профиль | | #13
Добавлено: 01.12.05 12:22
А еще можно сделать EXE в EXE. То есть внутри EXE как ресурс, или просто дописан в конец файла другой EXE. В нужный момент его вытаскиваем и стартуем. А еще можно запускать этот второй EXE прям там же. Есть у меня тут один примерчик - запускать программу в программе.
Номер ответа: 14
Автор ответа:
AgentFire
ICQ: 192496851
Вопросов: 75
Ответов: 3178
Профиль | | #14
Добавлено: 01.12.05 17:07
Ну-ка, ну-ка, поподробнее про примерчик, мне интересно стало
Номер ответа: 15
Автор ответа:
student-uni
Вопросов: 122
Ответов: 257
Профиль | | #15
Добавлено: 01.12.05 17:33
2 HACKER
как только мы для проверки вставим наш n значный хеш - тело, а соответственно и хеш программы изменится, и мы никогда не получим ожидаемого хеша...
Это почему же ?
Хеш то мы берём от проги №2, а вставляем для проверки в прогу №1.
По моему должно пройти.
Если я прав, дайте ссылочку на примерчик