Вверх ↑
Этот топик читают: Гость
Ответов: 952
Рейтинг: 4
#1: 2011-11-26 00:42:50 ЛС | профиль | цитата
Вопрос такого рода.
Есть ехе-шник, не запакованный.
Задача - при запуске ехе-шника запускать возможно консольку, возможно длл, которая подсчитывает CRC запускаемого файла и сравнивает с эталонным CRC из файла (допустим ини-файла) расположенного в интернете.
Причем необходимо что бы на стороне клиента не оставалось никаких следов работы сравнения, в виде темповских файлов.
Вот как-то так.
Т.е. в готовый ехе-шник я могу подсунуть запуск dll-ки, тут труда нет, но что дальше ... пока теряюсь в мыслях ...
карма: 0

0
Ответов: 1058
Рейтинг: 76
#2: 2011-11-26 01:16:27 ЛС | профиль | цитата
Также прога запускается на клиенте, лезет в инет, качает ини и сверяет контрольную сумму?
Если правильно понял, то не вижу особых затруднений Все необходимое есть в палитре.

Если прога Вашего производства, можно предложить вариант на подобие инсталятора с дописыванием основной программы в конце дополнительной.
После запуска прога сама из себя извлекает основную прогу, подсчитывает контрольную сумму, лезет в нет и качает ини, сравнивает результаты и при совпадении создает exe-шник и запускает.
Как то так в двух словах


карма: 0

0
Ответов: 952
Рейтинг: 4
#3: 2011-11-26 01:51:30 ЛС | профиль | цитата
Не могу понять как реализовать проверку CRC локального файла.
Основной ЕХЕ не моего производства. Обычная виндовая программа.
карма: 0

0
Ответов: 1058
Рейтинг: 76
#4: 2011-11-26 02:29:14 ЛС | профиль | цитата
user_asm писал(а):
Основной ЕХЕ не моего производства.

Ничего страшного
Попробую описать действия, привести пример сейчас не имею возможности.
Итак
В конец дополнительной проги записывается основная, после дописываются несколько информационных байт(4 хватит)
Дополнительная прога должна:
После запуска прога считывает ети 4 байта, в которых записаны номер байта с которого начинать считывать дописанную прогу и количество считываемых данных.
Далее, из считанных данных создается ехе-шник основной проги, вычисляется контрольная сумма, скачивается файл ини и сравнивается сумма, после сравнения происходит либо запуск, либо уничтожение созданного ехе-шника.
Проверить сейчас не могу, но предположительно можно попробовать вычислять контрольную сумму из потока не создавая ехе основной проги. Точно сказать не могу, нет среды под руками.
------------ Дoбавленo в 02.29:
Кстати, если не ошибаюсь, Assasin приводил пример инсталятора в котором можно подсмотреть как организовать запись в конец и считывание основной программы. Поищите по форуму "инсталятор"
карма: 0

0
Ответов: 952
Рейтинг: 4
#5: 2013-06-15 11:17:27 ЛС | профиль | цитата
Есть схема.
code_31254.txt

Есть файл license.jpg в аттаче.
Прога дает его црц 0000, а надо 10495E8F
В чём моя ошибка?
карма: 0

0
файлы: 2license.jpg [29B] [343], code_31254.txt [583B] [525]
Ответов: 196
Рейтинг: 43
#6: 2013-06-15 12:08:25 ЛС | профиль | цитата
А так?
code_31255.txt
------------ Дoбавленo в 12.08:
Точнее так, с правильным полиномом.
Add(MainForm,355637,112,98)
{
Height=74
}
Add(Button,15052470,168,98)
{
Left=10
Top=15
Caption="Open"
link(onClick,3501286:doExecute,[])
}
Add(Edit,3549258,518,98)
{
Left=85
Top=15
Width=295
Text=""
DataType=3
}
Add(FileStream,14580625,287,98)
{
link(onLoad,8947795:doEvent1,[])
}
Add(ODialog,3501286,224,98)
{
FileName=""
link(onExecute,14580625:doOpen,[])
}
Add(Hub,8947795,336,98)
{
link(onEvent1,16705857:doConvert,[])
link(onEvent2,14580625:doClose,[(364,111)(364,138)(275,138)(275,111)])
}
Add(CRC16_32,2392675,469,98)
{
Type=1
Metod=4
Polynom="$EDB88320"
Init="$FFFFFFFF"
link(onResult,3549258:doText,[])
}
Add(StreamConvertor,16705857,420,98)
{
link(onResult,2392675:doCalcCRC,[])
}

карма: 2

1
файлы: 1code_31255.txt [659B] [413]
Голосовали:user_asm
Ответов: 952
Рейтинг: 4
#7: 2013-06-15 12:36:48 ЛС | профиль | цитата
Как разобраться какой полином надо использовать?
карма: 0

0
Ответов: 196
Рейтинг: 43
#8: 2013-06-15 12:53:28 ЛС | профиль | цитата
Собственно на этом полиноме 0xEDB88320 и основано вычисление crc32.
http://ru.wikipedia.org/wiki/CRC32#CRC-32
карма: 2

0
Ответов: 16884
Рейтинг: 1239
#9: 2013-06-15 14:09:17 ЛС | профиль | цитата
user_asm, обязательно CRC или хватит проверки даты последнего изменения ?
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 8926
Рейтинг: 823
#10: 2013-06-15 15:11:20 ЛС | профиль | цитата
Tad, какая дата, о чём Вы, полагаю надо на CRC-256 переходить, в крайнем случае на CRC-128
карма: 19

0
Ответов: 16884
Рейтинг: 1239
#11: 2013-06-15 17:07:16 ЛС | профиль | цитата
Леонид, это точно.
А сама тема из серии: Как найти приключение на свою задницу.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Гость
Ответов: 17029
Рейтинг: 0
#12: 2013-06-15 23:58:21 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-24 08:04:48
карма: 0

0
Ответов: 16884
Рейтинг: 1239
#13: 2013-06-16 09:05:43 ЛС | профиль | цитата
37.213.42.74,
code_31259.txt
Хотел бы я видеть, как легко подменить что-то в этом случае, не зная алгоритма.
Хочешь спрятать - положи на видном месте. (с)
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
файлы: 1code_31259.txt [668B] [447]
Ответов: 9906
Рейтинг: 351
#14: 2013-06-16 09:58:26 ЛС | профиль | цитата
<вопрос снят>
[flood]Tad, извини, это такая зараза, что пишешь такое почти на автопилоте
Сначала, мою жену ее подруга в студенчесве пару лет отучала.
Потом она меня - примерно столько же...
Ну и т.д..[/flood]
карма: 9

1
Голосовали:Tad
Ответов: 16884
Рейтинг: 1239
#15: 2013-06-16 10:00:59 ЛС | профиль | цитата
Исправил.
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
15
Сообщение
...
Прикрепленные файлы
(файлы не залиты)