Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Уважаемые, помогите разобраться с файлами [D5, D6, D7, Win2k, WinXP]


Alibabai ©   (2004-11-02 13:29:00) 

Вот ест у меня файлик, и необходимо мне постоянно в нем менять какую нить текстовую переменную (допустим какая нить криптоконстанта), но как бы сделать так, чтобы не компилировать каждый раз, а сразу записывать значение в ЕХЕ фаил? Подскажите, плиз, как можно из одной программы поменять значение в  другой, и чторбы потом она еще и работала?


Alibabai   (2004-11-02 16:12:00) [1]

т.е.
в своей проге я объявляю
var
Str:ShortString='Ln7kH2';
потом, нахожу ее в ЕХЕ шнике
меняю первый байт перед ней на длину строки, которую я хочу прописатьв фаил, и вместо 'Ln7kH2' вписываю строку, так?
И тогда если переменная у меня инициирована как , допустим, 50 символов '*', то в таком случае, если я запишу туба значение 'w34567', и поставлю  байт=6 (перед этой строкой), то работа программы не нарушится и в программе при обращении к этой строке будет выдано что она ='w34567' а не 'w34567****...' ?
я правильно понял?


palva   (2004-11-02 15:58:00) [2]

Если говорилось о текстовой константе, то нужно использовать ShortString, а там в первом байте стоит длина. Можно поставить первыми символами какую-нибудь уникальную комбинацию типа 'Ln7kH2'. Потом ее можно поискать в Exe-файле, сразу за ней пойдут используемые символы, а перед ней длина текстовой константы (1 байт).


Alibabai   (2004-11-02 13:54:00) [3]

не ну асм, для меня скажем сильно...
А вот допустим, переменная у меня имеет размер 50  символов
я для начала забью это все "******", птом найду смещение,
ну TFileSteam поменяю значение, а вот если мне надо будет в программе использовать не 50 символов, а 35?
просто в строку загнать #13 и все, или не все так просто?


[lamer]Barmaglot   (2004-11-02 13:50:00) [4]

то TUser ©   (02.11.04 13:34) [2]

>Если размер константы не меняется, то TFileSteam - и никакого асма

Интересно, а как он узнает по какому адресу находится эта константа? А не считает ли случаем чужой ехе свое crc и т.д.

Так что хочешь становиться хакером - учи ASM...


TUser   (2004-11-02 13:34:00) [5]

Если размер константы не меняется, то TFileSteam - и никакого асма


[lamer]Barmaglot   (2004-11-02 13:31:00) [6]

Учить ASM - www.wasm.ru


Наверх

Титульная страница Поиск, карта сайта Написать письмо