![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Записать в exe файл слово
Answer_i3 © (2008-02-20 18:50:00)Добрый день! Вообщем стоит задача вписать в свой exe файл ключевое слово для дальнейшего сравнения... если кто знает как это сделать помогите!
Дмитрий Патрушев (2008-02-22 01:09:00) [1]Предлагаю использов ть политику ответного кода. Легко и доступно! Привязка к чему хочешь.
Thrasher (2008-02-21 15:46:00) [2]Amoeba, спасибо за ссылку
Amoeba (2008-02-21 14:24:00) [3]
> Серийник тома можна менять а мне нужен серийный номер изделия:
> )
>
Смотри здесь: http://home.earthlink.net/~akonshin/delphi_ru.htm
Thrasher (2008-02-21 11:17:00) [4]Короче делаешь такую конструкцию:
asm
jmp @1
db 'HDDNUMBER_IS_123213123123123'
@1:
end;
Все.. Такое компилируется без оптимизации и никуда не выкидывается.
А насчет привязки к номеру винчестера... Тебе придется разбираться какой винт IDE или SCSI. А потом вычислять этот серийник...
Гораздо проще прочитать значение параметра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSLicensing\HardwareID\ClientHWID.
А потом сделать его хеширование, и только потом сравнивать.
Riply (2008-02-21 10:52:00) [5]> [14] Answer_i3 (21.02.08 10:45)
> Серийник тома можна менять а мне нужен серийный номер изделия:)
Здесь тоже "бабушка надвое сказала".
Не буду утверждать, что он есть отнюдь не у всех,
но я встречала такие, что мне не удавалось получить их "серийник"
Answer_i3 (2008-02-21 10:45:00) [6]
> iply © (21.02.08 10:36) [12]
> > [8] Answer_i3 (21.02.08 10:15)> Нужно считать серийник
> hdd и впистаь его в exe файл для последующей сверки. Собсвенно
> вот..А ты (или те кто "попросиди") в курсе, что "серийник"
> как "ветер в мае" ? :)Может меняться и без форматирования.
>
Серийник тома можна менять а мне нужен серийный номер изделия:)
oxffff (2008-02-21 10:41:00) [7]
> Answer_i3 (21.02.08 10:26) [10]
Изучаешь формат PE Файла. Смотришь Align по диску и размер секции.
Берешь записываешь в это свободное место.
Если его нет (что редкость) добавляешь секцию. и записываешь туда.
Riply (2008-02-21 10:36:00) [8]> [8] Answer_i3 (21.02.08 10:15)
> Нужно считать серийник hdd и впистаь его в exe файл для последующей сверки. Собсвенно вот..
А ты (или те кто "попросиди") в курсе, что "серийник" как "ветер в мае" ? :)
Может меняться и без форматирования.
Сергей М. (2008-02-21 10:28:00) [9]Ну раз попросили, то см. BeginUpdateResource + UpdateResource + EndUpdateResource (запись) и TResourceStream (чтение)
Answer_i3 (2008-02-21 10:26:00) [10]Ну меня попросиди именно так сделать.... я хотел записать всё это хотябы в реестр, но сказали сделать именно так:(
Сергей М. (2008-02-21 10:18:00) [11]
> Answer_i3 (21.02.08 10:15) [8]
Вряд ли юзеру понравится такое узурпаторство со стороны тебя как разработчика программы)
Answer_i3 (2008-02-21 10:15:00) [12]Нужно считать серийник hdd и впистаь его в exe файл для последующей сверки. Собсвенно вот..
Германн (2008-02-21 00:23:00) [13]
> Riply © (20.02.08 22:15) [6]
>
> > [4] Германн © (20.02.08 21:36)
>
> > И никак его не можешь потом в exe-шнике найти :(
> > Оптимизатор, блин. :)
>
> Странно. Вроде не только находила, но и меняла без ущерба
> для exe-шника.
> Ибо, если мне не изменяет память, содержание строковой константы
> не участвует
> в подсчете "контрольных сумм", размер главное не трогать.
> :)
> Только не говори, что я ошибаюсь - ведь проверять полезу
> :)
>
Не скажу. Потому что и мне проверять лень.
Но вроде, когда-то давно, сам хотел "вставить суперслово в exe-шник" и столкнулся с тем, что оптимизатор его не вставляет в исполняемый модуль. Ну и правильно. Если что-то нигде не используется, то нафига оно нужно? Пришлось делать "псевдоиспользование" :)
Riply (2008-02-20 22:15:00) [14]> [4] Германн © (20.02.08 21:36)
> И никак его не можешь потом в exe-шнике найти :(
> Оптимизатор, блин. :)
Странно. Вроде не только находила, но и меняла без ущерба для exe-шника.
Ибо, если мне не изменяет память, содержание строковой константы не участвует
в подсчете "контрольных сумм", размер главное не трогать. :)
Только не говори, что я ошибаюсь - ведь проверять полезу :)
Leonid Troyanovsky (2008-02-20 22:09:00) [15]
> Германн © (20.02.08 21:36) [4]
> > MY_SUPER_SLOVO "вписано в твой exe"
> И никак его не можешь потом в exe-шнике найти :(
Суперслово найти несложно.
Хотя, это уже другой вопрос.
--
Regards, LVT.
Германн (2008-02-20 21:36:00) [16]
> Riply © (20.02.08 19:12) [2]
>
> > [0] Answer_i3 (20.02.08 18:50)
> > Добрый день! Вообщем стоит задача вписать в свой exe файл
> ключевое слово для дальнейшего сравнения...
> > если кто знает как это сделать помогите!
>
> Объявляешь:
> const
> MY_SUPER_SLOVO = 'SUPER_PUPER_SLOVO';
>
> Компилируешь.
>
> MY_SUPER_SLOVO "вписано в твой exe"
>
И никак его не можешь потом в exe-шнике найти :(
Оптимизатор, блин. :)
tesseract (2008-02-20 21:35:00) [17]можно и resourcestring можно и в *.ini. Зависит от целей.
Riply (2008-02-20 19:12:00) [18]> [0] Answer_i3 (20.02.08 18:50)
> Добрый день! Вообщем стоит задача вписать в свой exe файл ключевое слово для дальнейшего сравнения...
> если кто знает как это сделать помогите!
Объявляешь:
const
MY_SUPER_SLOVO = 'SUPER_PUPER_SLOVO';
Компилируешь.
MY_SUPER_SLOVO "вписано в твой exe"
{RASkov} (2008-02-20 19:08:00) [19]> [0] Answer_i3 (20.02.08 18:50)
Сам наверное не знаешь, о чем речь :(