Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||