Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 322
от 20.07.2002, 08:10

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 783
Отправлено ответов: 2218
Активность: 283.2 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе]


 Список экспертов, ответы которых опубликованы в данном выпуске

masquer
Статус: Профессиональный
Общий рейтинг: 160.92
[Подробней >>]
Gibbel
Статус: Опытный
Общий рейтинг: 109.56
URL: Страничка обо мне и моих друзьях
[Подробней >>]
Александр
Статус: Профессиональный
Общий рейтинг: 116.83
[Подробней >>]
 
Spike
Статус: Доверительный
Общий рейтинг: 116.29
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 120.34
URL: Beeblebrox / TMA HomePage
[Подробней >>]
GL
Статус: Опытный
Общий рейтинг: 107.57
[Подробней >>]
 
Топор
Статус: Профессиональный
Общий рейтинг: 118.72
URL: Хорошая Русская Металлическая команда
Телефон: (8462)500298
[Подробней >>]
Ayl
Статус: Профессиональный
Общий рейтинг: 125.85
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 136.83
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
 
kvINT
Статус: Опытный
Общий рейтинг: 112.55
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 115.02
[Подробней >>]
Igoryk
Статус: Доверительный
Общий рейтинг: 108.79
[Подробней >>]
 
Zloy
Статус: Опытный
Общий рейтинг: 105.99
URL: The полный отстой
[Подробней >>]
Shal
Статус: Доверительный
Общий рейтинг: 107.05
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 737. Уважаемые эксперты ! Помогите пожалуйста скомпилить прогу. Прошу меня понять и не ругать, как некото... (ответов: 5)
Вопрос № 739. Помогите пожалуйста найти документацию по SoftIce. Конкретные примеры взлома каких нибудь программ, ... (ответов: 3)
Вопрос № 740. Здравствуйте уважаемые эксперты! Недавно начал изучать АСС_Р. Приобрёл Юрова, несколько раз читал на... (ответов: 8)
Вопрос № 742. Господа эксперты, вот пришла к вам форма для отправки ответа, после того как вы нажали кнопку оправи... (ответов: 12)

Вопросов: 4, ответов: 28


 Вопрос № 737

Уважаемые эксперты !
Помогите пожалуйста скомпилить прогу.
Прошу меня понять и не ругать, как некоторые "... сколько раз орать, что скачай то-то и то-то..."
Просто мне показали, что для работы хватает всего четырех-пять файлов и bat'ник содержит две строки.
Я уже делал программки для себя ( арифметические действия с выводом результата ). Одна проблема:
нет взаимодействия: диалоги, меню. А так хочется. Делать res файлы из rc могу ( тоже нужно
всего-то три файла ). Вот и разбираю один пример из скаченного учебника. Только у меня TASM 5.0 Мне этот пример пришлось переделать с Masm так как я ну никак не могу понять процесс сборки на masm.
В данном примере мне нужно сделать диалог. В таком виде не могу, точка входа после компиляции лежит на DlgProc. Почему ?
С нетерпением жду Вашей помощи.
Илья, mis421@chat.ru


Приложение:


Вопрос отправлен: 15.07.2002, 09:07
Отправитель: Илья

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Здравствуйте, Илья!
Я тоже могу тебе доказать, что для масм нужно 2-3 файла. Поверь мне, уже года 4 так делаю, скачай МАСМ32 с сайта movsd.com, там справка и куча нормальных работающих примеров, плюс развитый макроязык.
С чего ты решил, что точка входа там, по моему она на push 0.

Ответ отправлен: 15.07.2002, 10:09
Отправитель: masquer


Отвечает Gibbel

Здравствуйте, Илья!
а end DlgProc нафига??? Убери и все заработает.

Ответ отправлен: 15.07.2002, 10:43
Отправитель: Gibbel


Отвечает Александр

Добрый день, Илья!
А оформить DlgProc как процедуру нельзя было? Если нет, то зачем тебе end DlgProc. Убери эту строчку в баню. Если ты переоформишь DlgProc как процедуру( напишешь DlgProc proc вместо DlgProc: ), даже тогда надо заменить end DlgProc на endp DlgProc. Вот вроде бы и всё.


Ответ отправлен: 17.07.2002, 16:37
Отправитель: Александр


Отвечает --- Нет данных ---

Доброе время суток, Илья!
По моему, ошибка вот в чем:
...
DlgProc:
arg @@hDlg:dword, @@iMsg:dword, @@wPar:dword, @@lPar:dword
...
end DlgProc
...
Нужно исправить на:
...
DlgProc proc @@hDlg:dword, @@iMsg:dword, @@wPar:dword, @@lPar:dword
...
DlgProc endp
...

Ответ отправлен: 16.07.2002, 02:40
Отправитель: --- Нет данных ---


Отвечает Spike

Добрый день, Илья!
У тебя ошибка в указании точки входа, а точнее, ты указал две точки входа:
end DlgProc
end Start
но так как первая стоит DlgProc то на нее TASM и ссылается, поэтому просто убери строку:
end DlgProc
Я не знаю зачем ты ее поставил, ты же оформил DlgProc как метку, а не как процедуру. Делай так:
DlgProc:
... ;Текст программы
ret ;Выход без указания окончания действия метки, т.е. не нужно ставить end DlgProc
или так:
DlgProc proc ;Начало процедуры
... ;Текст программы
ret ;Выход
DlgProc endp ;Конец процедуры
Надеюсь я все понятно объяснил.


Ответ отправлен: 16.07.2002, 00:10
Отправитель: Spike


 Вопрос № 739

Помогите пожалуйста найти документацию по SoftIce.
Конкретные примеры взлома каких нибудь программ, или литературу с сылками на сайты.
Заранее благодарен!



Вопрос отправлен: 15.07.2002, 13:20
Отправитель: Shurik (forseidi@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Здравствуйте, Shurik!
начни с www.reversing.net

Ответ отправлен: 15.07.2002, 14:47
Отправитель: masquer


Отвечает Beeblebrox

Приветствую Вас, Shurik!
ставишь брейкпоинт:
bpx GetDlgItemTextA
или
bpx MessageBoxA
в 95% случаев больше ничего знать не надо, кроме ассемблера и устройства виндовс :)
F4=UserScreen
F5=Go
F7=Here
F8=Trace
F10=Step
F12=UntilReturn

Ответ отправлен: 15.07.2002, 13:53
Отправитель: Beeblebrox


Отвечает Александр

Доброе время суток, Shurik!
Я сегодня фокусник... Лови документацию по SoftICE 2.6-2.8 Ещё советую поискать статьи по SoftICE на www.xakep.ru/ У них там было парочка ничего статей.


Ответ отправлен: 18.07.2002, 18:49
Отправитель: Александр


 Вопрос № 740

Здравствуйте уважаемые эксперты!
Недавно начал изучать АСС_Р. Приобрёл Юрова, несколько раз читал начало, трудно и непонятно. Потом приобрёл Финогенова - само_ль по сист_м ф_ям MS-DOS немного стало доходить. Но всё равно сложновато.
А вопрос такой:
- почему нельзя(или не рекомендуется) напрямую закидывать число в регистр, только через аккумулятор?



Вопрос отправлен: 15.07.2002, 13:21
Отправитель: Рифат (abriofh@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Добрый день, Рифат!
Под аккумулятором обычно понимается eax или ax (который тоже является регистром). А запихивать число ты можешь напрямую во все общедоступные регистры - ebx, edx, esi, edi, ebp, esp, MMX

Ответ отправлен: 15.07.2002, 14:51
Отправитель: masquer


Отвечает GL

Здравствуйте, Рифат!
Наверное, речь идёт о сегментных регистрах - cs, ds, es, ss - в которые действительно нельзя напрямую записывать числа. В другие - можно.

Ответ отправлен: 16.07.2002, 13:01
Отправитель: GL


Отвечает Топор

Приветствую Вас, Рифат!
Смотря в какой регистр. В сегментные - нельзя, потому что проц не поддерживает, а в регистры общего назначения (AX...DX), к которым относится и аккумулятор - завсегда пожалуйста.


Ответ отправлен: 15.07.2002, 14:47
Отправитель: Топор


Отвечает Beeblebrox

Добрый день, Рифат!
Не думаю, что ты правильно понял, на самом деле можно и нужно. Может там имелся в виду сегментный регистр? тогда действительно, нельзя записать в него число непосредственно, просто нет такой команды.

Ответ отправлен: 15.07.2002, 14:49
Отправитель: Beeblebrox


Отвечает Александр

Доброе время суток, Рифат!
Это ты где такое прочёл? Этот совет практически усатрел, поскольку ты на нём сейчас больше 1 такта не сэкономишь. Просто все операции с аккумулятором в более ранних процессорах были гораздо быстрее, чем с остальными регистрами.


Ответ отправлен: 17.07.2002, 16:38
Отправитель: Александр


Отвечает Ayl

Здравствуйте, Рифат!
Что-то я первый раз о таком слышу. В какой регистр? Если в нормальный РОН (типа ax, bx и т.п. до si) - то записывай, сколько тебе угодно.
А если речь о сегментном регистре - то просто не такой команды - записать значение в сегментный регистр. Тут вариантов несколько:
1. Через РОН:
mov r16, imm
mov sreg, r16
2. Через стек:
push imm
pop rseg
3. С помощью команд lds, les и т.п.


Ответ отправлен: 15.07.2002, 14:17
Отправитель: Ayl


Отвечает Spike

Здравствуйте, Рифат!
Если это не касается сегментных регистров, то можно и даже нужно запихивать числа в регистры:
mov ax, 1234h
mov bx, 5678h
...
mov si, 9012h
и т.д.
С сегментными регистрами дело обстоит немного по другому, т.к. у них нет команд для непосредственной работы, например нельзя занести число в сегментный регистр командой:
mov ds, 0B800h,
или скажем сложить сегментный регистр с числом:
add ds, 1000h
для этого применяются смешанные команды:
mov ax, 0B800h
mov ds,ax
---------
mov ax,ds
add ax,1000h
mov ds,ax
Вместо AX можно использовать BX, CX, DX, SI, DI, BP и SP. Последние два регистра используются в основном для работы со стеком, так что будь осторожен.


Ответ отправлен: 16.07.2002, 00:10
Отправитель: Spike


Отвечает Sensey

Здравствуйте, Рифат!
Это где так написано? Чеппуха... Нельзя только в регистры xS- DS SS ES GS FS, и то только потому, что таких опкодов (команд) нету...
В них записывается через регистр общего доступа (AX BX CX DX SI DI)


Ответ отправлен: 17.07.2002, 12:51
Отправитель: Sensey


 Вопрос № 742

Господа эксперты, вот пришла к вам форма для отправки ответа, после того как вы нажали кнопку оправить в браузере или в почтивике, что у вас происходит?!



Вопрос отправлен: 15.07.2002, 19:49
Отправитель: Pablo

[Следующий вопрос >>] [Список вопросов]

Отвечает GL

Приветствую Вас, Pablo!
Открывается окошко русфака, где сообщается, что ответ будет принят через несколько минут.

Ответ отправлен: 16.07.2002, 13:00
Отправитель: GL


Отвечает Александр

Здравствуйте, Pablo!
Ну браузер показывает страничку http://www.rusfaq.ru/Message.cgi?Answer или что-то в этом роде. Т.е. показывает подтверждение получения ответа или отказ из-за сроков или повторного ответа. Да, браузер у меня IE 5.5 Если у тебя Opera 6 попробуй отключить блокировку всплывающих окон(Pop-up windows enabled). А в почтовике(The Bat!) ничего не происходит, ему на всякие скрипты - плевать.


Ответ отправлен: 17.07.2002, 16:38
Отправитель: Александр


Отвечает kvINT

Доброе время суток, Pablo!
Если в почтовике, не помню уже, наверно, всякая фигня.
В браузере - открывается http://rusfaq.ru/cgi-bin/Message.cgi?answer, затем появляется надпись "Ваш ответ принят и будет отправлен через Х минут".
Что, никак не ответишь?

Ответ отправлен: 16.07.2002, 22:45
Отправитель: kvINT


Отвечает vitya

Здравствуйте, Pablo!
открывается новое окошко и в нем написанно
"Ваш ответ принят и будет отправленв рассылку через 342 минуты"

Ответ отправлен: 16.07.2002, 08:21
Отправитель: vitya


Отвечает Igoryk

Доброе время суток, Pablo!
Затем открывается окно, где должно быть написано Ваш ответ успешно принят и будет отправлен через n минут.

Ответ отправлен: 16.07.2002, 09:53
Отправитель: Igoryk


Отвечает Beeblebrox

Доброе время суток, Pablo!
Должна появиться страничка с надписью "Ваш ответ принят и будет отправлен через ..."

Ответ отправлен: 16.07.2002, 10:16
Отправитель: Beeblebrox


Отвечает masquer

Здравствуйте, Pablo!
Что-то типа "Ваш ответ принят"

Ответ отправлен: 15.07.2002, 21:55
Отправитель: masquer


Отвечает --- Нет данных ---

Добрый день, Pablo!
Повторяю - для танкистов... :) Появляется страничка с уведомлением об отсылке ответа.
P.S. Твои вопросы начинают походить на спам.

Ответ отправлен: 16.07.2002, 02:40
Отправитель: --- Нет данных ---


Отвечает Zloy

Здравствуйте, Pablo!
У нас появляется окно с сообщением типа: ваш ответ принят и будет отправлен через 5 минут


Ответ отправлен: 15.07.2002, 20:20
Отправитель: Zloy


Отвечает Spike

Приветствую Вас, Pablo!
При нажатии на кнопку "Отправить" из почтовика, открывается окно браузера (у меня IE 5.0) и выводится сообщение "Ваш ответ принят и будет отправлен через N минут".


Ответ отправлен: 16.07.2002, 00:10
Отправитель: Spike


Отвечает Топор

Доброе время суток, Pablo!
Почтовиком не пользуюсь принципиально, а в браузере - открывается окошко, в котором от имени RusFAQ мне сообщают, что мой ответ принят и будет отправлен через столько-то минут. Насколько я знаю, из почтовиков эта форма работает только в аутглюке.


Ответ отправлен: 16.07.2002, 17:23
Отправитель: Топор


Отвечает Shal

Приветствую Вас, Pablo!
Если у тебя The Bat!, то надо сохранять прицепленные файлы. И запускать их. (он собственно один-*.htm). В Outlook можно не сохранять.


Ответ отправлен: 18.07.2002, 19:10
Отправитель: Shal



Форма отправки вопроса

Внимание!
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

© 2002 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (43)
C / C++ (32)
Perl (9)
Delphi (17)
Pascal (29)
Basic / VBA (12)
Java / JavaScript (7)
PHP (7)
MySQL / MSSQL (10)
Пользователю
Windows 95/98/Me (42)
Windows NT/2000/XP (33)
"Железо" (34)
Поиск информации (16)
Администратору
Windows NT/2000/XP (19)
Linux / Unix (16)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (7)
КоАП (2)

Отправить вопрос всем экспертам выбранной рассылки.




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное