Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.09.2010, 22:29   #1
Yagamy Liet
Пользователь
 
Регистрация: 15.08.2010
Сообщений: 16
По умолчанию Не могу разобраться с кодом в дизассемблере.

Всем привет.
Дано:
Код:
.text:0050B130 aAZ094AZ098AZ09 db '^[A-Z0-9]{4}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\' 
.text:0050B130                                         ; DATA XREF: .text:0050AF83o 
.text:0050B130                 db '-[A-Z0-9]{8}$',0 
.text:0050B17F                 db    0 
.text:0050B180                 db 0FFh 
.text:0050B181                 db 0FFh 
.text:0050B182                 db 0FFh 
.text:0050B183                 db 0FFh 
.text:0050B184                 db  1Eh 
.text:0050B185                 db    0 
.text:0050B186                 db    0 
.text:0050B187                 db    0 
.text:0050B188 aBadFormatOfReg db 'Bad format of registration key',0 
.text:0050B188                                         ; DATA XREF: .text:0050AFB5o 
.text:0050B1A7                 db    0 
.text:0050B1A8                 db 0FFh 
.text:0050B1A9                 db 0FFh 
.text:0050B1AA                 db 0FFh 
.text:0050B1AB                 db 0FFh 
.text:0050B1AC                 db    2 
.text:0050B1AD                 db    0 
.text:0050B1AE                 db    0 
.text:0050B1AF                 db    0
Объясните мне, что здесь происходит?
Прежде всего строка
Цитата:
aAZ094AZ098AZ09 db '^[A-Z0-9]{4}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\'
(я думаю - разберусь с этим - пойму и остальное) - что в этой записи происходит? Я около часа медитировал над клавой, чего только не предполагал: здесь задаеться переменная "aAZ094AZ098AZ09" (но ведь не задают обычно в ассемблере переменных - на то он и ассемблер), и запись по этому адресу (вообще бред: запись куда - в ...Z...Z... ? Нет таких чисел (если только в тридцатишестиричной системе ) И чего - чет не похожа следующая фраза на Double Byte). В общем кто разбираеться - подскажите, плииз: я вообще без понятия.

P.S.
Дизассемблер IDA Pro.

Последний раз редактировалось Yagamy Liet; 25.09.2010 в 22:31.
Yagamy Liet вне форума Ответить с цитированием
Старый 25.09.2010, 22:35   #2
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Вы смотрите секцию .TEXT файла. Это не исполнимый код, а как правило какие-либо константы (обычно текстовые, но не обязательно). Строка '^[A-Z0-9]{4}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\-[A-Z0-9]{8}\' это и есть обычная текстовая строка. Точно такая же скажем, как и Hello world, например. Строковая переменная (константа).
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 22:57   #3
Yagamy Liet
Пользователь
 
Регистрация: 15.08.2010
Сообщений: 16
По умолчанию

Ага... Сравнил адреса на оллидбг и Айда - и правда, исполняемый код начинается с .itext... Значит это данные? Интересно - из чего же их собрала прога. Хотя это риторический вопрос - не видя файл трудно что-то понять. Так а почему там написано db? Это разве двойной байт? А то, что в апострофах - это текстовое значение. Так?
Yagamy Liet вне форума Ответить с цитированием
Старый 25.09.2010, 23:00   #4
Tronix
Форумчанин
 
Аватар для Tronix
 
Регистрация: 15.06.2010
Сообщений: 740
По умолчанию

Цитата:
Сообщение от Yagamy Liet Посмотреть сообщение
Ага... Сравнил адреса на оллидбг и Айда - и правда, исполняемый код начинается с .itext... Значит это данные? Интересно - из чего же их собрала прога. Хотя это риторический вопрос - не видя файл трудно что-то понять. Так а почему там написано db? Это разве двойной байт? А то, что в апострофах - это текстовое значение? Так?
Так, в ассемблере вообще DB означает один байт, например:
Код:
mysuperbyte         db 127
А строки пишутся тоже через DB и затем кавычки:
Код:
mysuperstr         db 'Hello, programmersforum!'
Чтобы понять рекурсию, сперва нужно понять рекурсию.
Tronix вне форума Ответить с цитированием
Старый 25.09.2010, 23:15   #5
Yagamy Liet
Пользователь
 
Регистрация: 15.08.2010
Сообщений: 16
По умолчанию

Оkей... Спасибо, пока все. *Полез на рабочий стол: пролистать Калашникова )*

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

Последний раз редактировалось Stilet; 26.09.2010 в 12:34.
Yagamy Liet вне форума Ответить с цитированием
Старый 26.09.2010, 11:04   #6
alexcoder
Форумчанин
 
Регистрация: 31.05.2009
Сообщений: 786
По умолчанию

Это строка - регулярное выражение (RegExp), По ней в тексте ищется следующая последовательность символов:
с начала строки (^) ищется группа из 4-х символов, цифр или больших англ букв ([A-Z0-9]{4})
знак - и четыре группы из 8 символов, разделенные знаком -
По этой строке ищется какой-то ID, либо серийный номер, либо что-то из этой оперы...
Помощь с программами:
vk.com/alexcoder1
e-mail: informatik101@mail.ru
alexcoder вне форума Ответить с цитированием
Старый 26.09.2010, 16:51   #7
BVOG
Python,C++,ASM,Php
Пользователь
 
Аватар для BVOG
 
Регистрация: 29.08.2010
Сообщений: 58
По умолчанию

Какой у вас дебаггер?
Хакер - это не ламер с завышенным самомнением, а программист с заниженной зарплатой.
Нелегка и неказиста жизнь простого программиста.
BVOG вне форума Ответить с цитированием
Старый 27.09.2010, 06:41   #8
Mikl___
Участник клуба
 
Регистрация: 11.01.2010
Сообщений: 1,162
По умолчанию

Yagamy Liet
db это define byte, а не double byte
Mikl___ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с кодом jey7 JavaScript, Ajax 1 17.06.2010 09:38
Помогите разобраться с кодом! sid Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 13.04.2010 17:53
не могу разобраться с кодом morocko HTML и CSS 1 10.02.2010 21:23
Просьба разобраться с кодом на С++ deazer Помощь студентам 1 08.11.2007 07:55