Как Chr$(*) представляется в готовом exe?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Как Chr$(*) представляется в готовом exe?

Сообщение Rody66 » 24.11.2011 (Чт) 21:01

Собственно, возник интерес к тому, как Chr$(CharCode) представляется в скомпилированном exe, если просматривать екзешник хекc-редактором. Например, обычная строка s = "iAny" в блокноте будет выглядеть, как i A n y, где пробел на самом деле ZC. Сперва возникла мысль сравнить как будет выглядеть s = "iAny" & Chr$(255) и s = "iAny" & Chr$(254) в exe. Но, на мое удивление, никакой разницы в именно в записи i A n y не оказалось (i<00>A<00>n<00>y<00><00><00><00><00>, где <00> - ZC). Что ж, раз такое дело, сделаю как бинарное сравнение файлов, при помощи UltraCompare, подумал я. Но не тут было. Как оказалось, при каждой компиляции, вб создает уникальный екзешник, не зависимо от того, был ли изменен исходник или нет. Причем меняется не просто пару байтов, а весьма немалое количество мест, что делает процесс сравнения крайне затруднительным. В общем, как Chr$(*) представляется в готовом exe? И как поменять текстовое значение у готового екзешника, если часть этого значения было записано используя Chr$(*) ?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 24.11.2011 (Чт) 22:43

Подозреваю, что он может компилироваться как вызов функции... Хотя, стоило бы оптимизировать такие вещи...

Rody66
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 183
Зарегистрирован: 16.01.2011 (Вс) 17:03

Re: Как Chr$(*) представляется в готовом exe?

Сообщение Rody66 » 24.11.2011 (Чт) 23:18

Подозреваю, что он может компилироваться как вызов функции...

Логично. Ведь Chr$ - это функция. И тем не менее, принцип формирования этой ф-ции в exe, не ясен.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Как Chr$(*) представляется в готовом exe?

Сообщение Хакер » 25.11.2011 (Пт) 5:27

Как вызов рантаймовой функции rtcBstrFromAnsi
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 25.11.2011 (Пт) 12:04

Qwertiy писал(а):Хотя, стоило бы оптимизировать такие вещи...

Кодовая страница... Не подумал.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 23

    TopList