Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 313
от 10.07.2002, 02:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 696 Отправлено ответов: 1944 Активность: 279.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Igoryk Статус: Начальный Общий рейтинг: 110.52 [Подробней >>] |
Gibbel Статус: Опытный Общий рейтинг: 108.31 URL: Страничка обо мне и моих друзьях [Подробней >>] |
Alex Статус: Опытный Общий рейтинг: 112.85 URL: За здравие замолвите словечко и БУДЬТЕ ЗДОРОВЫ! Телефон: (0332) 77-08-56 [Подробней >>] |
Monkey_Logic Статус: Доверительный Общий рейтинг: 152.23 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 161.23 [Подробней >>] |
Shal Статус: Доверительный Общий рейтинг: 106.79 [Подробней >>] |
VicSimon Статус: Опытный Общий рейтинг: 108.92 [Подробней >>] |
AnSim Статус: Опытный Общий рейтинг: 110.88 [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 115.5 [Подробней >>] |
igorash Статус: Опытный Общий рейтинг: 121.97 [Подробней >>] |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 123.48 URL: Пристанище неодинокого программиста [Подробней >>] |
Spike Статус: Доверительный Общий рейтинг: 120.94 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 142.86 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 115.61 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 634. Нужен редактор типа hiew, только для Windows, чтобы можно было также быстро посмотреть ассемблерный ... (ответов: 6)
Вопрос № 635. Доброе время суток, ЭКСПЕРТЫ! Учу асм и паскаль. Помогите мне... Вышлите, пожалуйста, на мыло лабы..... (ответов: 2)
Вопрос № 636. Может ли кто-нибудь расписать мне по шагам действия SoftIce при трассировке программ ( в частности W... (ответов: 3)
Вопрос № 637. Господа!Недавно выловил в интернете статью в которой упоминается о возможность проигрывания музыкаль... (ответов: 2)
Вопрос № 638. Здравствуйте, уважаемые эксперты! При попытке применить "прямой короткий внутрисегментный пере... (ответов: 5)
Вопрос № 639. Господа Эксперты, простите что немного не в тему - очень нужен декомпилер для VB5. Если кто может по... (ответов: 1)
Вопрос № 641. Как получить все каталоги? Если использовать функцию 4Eh и в CX пихаешь 01000b то не фига не работае... (ответов: 2)
Вопрос № 642. Привет всем экспертам!!! Зараннее прошу извинить за возможно глупый и не корректный вопрос, но чем ... (ответов: 6)
Вопрос № 643. Доброе время суток, господа эксперты. Имхо немного не топично, но всетаки... Хочу программку написат... (ответов: 2)
Вопрос № 646. Здравствуйте, эксперты. Подскажите, что быстрее lodsb или mov al,byte [esi] inc esi Я где то слыш... (ответов: 4)
Вопрос № 647. Уважаемые эксперты,пытаюсь сделать электронные часы на Desktop’е,есть три проблемы: 1. Как сделать,ч... (ответов: 2)
Вопрос № 649. Уважаемые эксперты,понятно,как можно вставить свой элемент меню в меню другой проги,handle окна –> h... (ответов: 1)
Вопрос № 650. Уважаемые эксперты,хочу переделать exe в scr,но по MSDN разобраться не получается.Вопрос: как должен... (ответов: 2)
Вопрос № 651. Уважаемые эксперты,если API-шная ф-ия не описана ни в MSDN ни в заголовочных файлах,как можно посмот... (ответов: 2)
Вопрос № 652. Уважаемые эксперты,нигде не могу найти,все пересмотрел,как сделать так,чтобы в строке динамически со... (ответов: 3)
Вопрос № 653. Уважаемые эксперты,подскажите,плз,как сделать,чтобы при выводе моего ДО пользователь не мог переключ... (ответов: 1)
Вопрос № 654. Уважаемые эксперты,пытаюсь разобраться с чтением/записью в файл (Win32),в одной статье прочитал <...... (ответов: 3)
Вопрос № 655. Ищу человека,у которого можно было бы получить фундаментальные знания по работе с email’ом,делать уп... (ответов: 1)
Вопрос № 656. Уважаемые эксперты,подскажите,плз,как установить/изменить переменную среды ОС для связи проги с bat-... (ответов: 2)
Вопрос № 658. Hi,Broken Sword, Sorry,the previous message was for beeblebrox. I got only the first three words of ... (ответов: 1)
Вопрос № 659. Возможно вопрос и не в ту рассылку... Но наиболее часто выходит (если я не ошибаюсь). Да и побольше ... (ответов: 4)
Вопрос № 660. Никто не знает примерный алгоритм того, как стандартаная утилита прошивки BIOS на "мамах"... (ответов: 2)
Вопросов: 22, ответов: 57
Вопрос № 634 |
Нужен редактор типа hiew, только для Windows, чтобы
можно было также быстро посмотреть ассемблерный код программы. В таких монстрах типа Multi Edit и Ultra edit
этого непредусмотрено.
Вопрос отправлен: 05.07.2002, 02:14
Отправитель: Speedy Gonsalez
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Добрый день, Speedy Gonsalez!
На сайте www.smtn.stavropol.ru есть "Файловы архив" зайди в него (http://gts.smtn.stavropol.ru/filelib) И окошке поиска набери Win32Asm - это то, что тебе нужно.
Ответ отправлен: 05.07.2002, 12:32
Отправитель: Igoryk
Отвечает Gibbel
Доброе время суток, Speedy Gonsalez!
Есть QView... Да много чего есть...
Ответ отправлен: 05.07.2002, 14:59
Отправитель: Gibbel
Отвечает Alex
Добрый день, Speedy Gonsalez!
А чем тебе hiew не подошёл? Я им до сих пор пользуюсь и не жалуюсь на судьбу...
Ответ отправлен: 08.07.2002, 08:16
Отправитель: Alex
Отвечает Monkey_Logic
Добрый день, Speedy Gonsalez!
WinDASM последней версии тут лежит:
http://www.wasm.nm.ru/w32ds893.zip
А так вообще весь интсрументарий тяни
с http://www.wasm.zite.ru/tools.shtml
Ответ отправлен: 05.07.2002, 03:11
Отправитель: Monkey_Logic
Отвечает masquer
Здравствуйте, Speedy Gonsalez!
Хе-хе, WinDASM-мом бысто точно не просмотришь, он пока все прыжки и ссылки не проверит, не успокоится. ИДА первую информацию достаточно быстро показывает, а дальше в фоновом режиме работает
Ответ отправлен: 05.07.2002, 06:52
Отправитель: masquer
Отвечает Shal
Здравствуйте, Speedy Gonsalez!
Ой старик, они много занимают:-(
Ответ отправлен: 06.07.2002, 19:14
Отправитель: Shal
Вопрос № 635 |
Доброе время суток, ЭКСПЕРТЫ!
Учу асм и паскаль.
Помогите мне...
Вышлите, пожалуйста, на мыло лабы...
Заранее благодарен!
r43@mail.ru
Вопрос отправлен: 05.07.2002, 06:38
Отправитель: max
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Приветствую Вас, max!
Посмотри на сайте www.codenet.ru в раздел "Исходники" Там было многолабораторных работ
Ответ отправлен: 05.07.2002, 12:32
Отправитель: Igoryk
Отвечает Monkey_Logic
Приветствую Вас, max!
http://novouralsk.h1.ru/informatika/informatika.htm - по паскалю
http://core.dax.ru/base.shtml?lab - по ассемблеру
ЗЫ: В инете их сотни!
Ответ отправлен: 06.07.2002, 04:27
Отправитель: Monkey_Logic
Вопрос № 636 |
Может ли кто-нибудь расписать мне по шагам действия SoftIce при трассировке программ ( в частности Win ) и установки точек остановок ?
С наилучшими пожеланиями, Илья.
Вопрос отправлен: 05.07.2002, 09:05
Отправитель: llya
[Следующий вопрос >>] [Список вопросов]
Отвечает VicSimon
Приветствую Вас, llya!
Подробно об отладке и взломе ;) программ можно узнать по адресу www.reversing.net
Ответ отправлен: 05.07.2002, 09:13
Отправитель: VicSimon
Отвечает masquer
Здравствуйте, llya!
В деталях не расскажу, но вкратце принцип такой, сначала проверятся наличие отладочной информации и соответствие характеристик исполняемой секции экзешника, проверка символьной информации (импорт, экспорт), перед бряком (заменяется байт(???))ставится код отладочного прерывания int 3 (прервание breakpoint-a код - 0CCh) и возводится флаг трассировки TF, бряки также заносятся в 4 отладочных регистра DR0,..,DR3, DR4,DR5 - зарезервированы, для пошагового int 1 используется.
Ответ отправлен: 05.07.2002, 10:03
Отправитель: masquer
Отвечает Monkey_Logic
Доброе время суток, llya!
Для трассировки программы
воспользуйся командой T (trace) для того чтобы оттрассировать одну команду,
или клавишей F8, которая закреплена по умолчанию за командой T. Произойдет
выполнение команды находящейся в текущей строке и курсор перейдет на
следующую строку и подсветит ее. Если ещё раз нажать F8, курсор передвинется на следующую
строку. Также следует помнить, что командой T нельзя оттрассировать системные вызовы
(WIN32 API calls) находясь в source mode, для их трассировки нужно перейти
в mixed или code mode.
Точки останова на выполнение делятся на два вида: просто точки останова и однократные
точки останова.
Однократные точки останова:
Перейди в Code Window, используя клавишу PgDn перемести курсор на строку с требуемым
номером(тоже самое можно сделать используя команду U .<номер_строки>),
Используя команду HERE (клавиша F7) можно выполнить программу до этой строки.
Команда HERE устанавливает точку останова в программе на адрес или строку на
которой находиться курсор и выполняет программу с текущего адреса до адреса на котором
находиться курсор, т.е. до тех пор пока не сработает точка останова, после
срабатывания SoftIce автоматически отключит эту точку останова, что бы
она больше не срабатывала.
Обычные точки останова:
Установи курсор на необходимую строку и введи команду BPX (BreakPoint eXecutable)
или клавишу F9 (по этой команде, в память на место команды расположенной под курсором
записывается команда INT3, но ты этого не видишь)
Снять точку останова можно повторным вводом этой же команды.
После установки точки останова запусти программу командой G или X (клавиша F5)
Когда программа исполнит инструкцию INT3, она передаст управление SoftIce,
после чего он появиться перед тобой.
А вообще, всё это можно можно найти в инете, через поисковик, предварительно указав
SoftIce в поле поиска ;)
Ответ отправлен: 06.07.2002, 04:28
Отправитель: Monkey_Logic
Вопрос № 637 |
Господа!Недавно выловил в интернете статью в которой упоминается о возможность проигрывания музыкальных файлов через писи спикер.Может кто поможет с принципом работы(прогой,идеями)?Очень надо: имеется нубук на енном отсутсвует звуковушка ,а музык надо...
Желатьно по мылу или точный линк .
Вопрос отправлен: 05.07.2002, 10:45
Отправитель: Vint by Shz (vitalii@shadrinsk.zaural.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает AnSim
Доброе время суток, Vint by Shz!
Если тебя интересует принцип действия, то он очень прост - как в мобильниках - указываешь высоту ноты, длительность и паузы. В досе была прога, проигрывающая музыку. А вообще в Windows 3.1 есть драйвер, выводящий весь звук на спикер. по-моему speaker.drv он и называется. Да, действительно, он лежит у меня в каталоге SYSTEM и так называется. Размер 7кб дата 28,05,92 года. Скачай, установи, и наслаждайся (только, по-моему, он не все поддерживает - сам разберешся)
:)
Ответ отправлен: 05.07.2002, 11:56
Отправитель: AnSim
Отвечает Александр
Приветствую Вас, Vint by Shz!
Не тормози, сникерсни. Есть два способа. Оба очень просты и с программированием не связаны. В полной версии Norton Comander есть утилита для проигрывания wav-файлов на PC-спикере. playwave.exe называется. Если ты счастливый обладатель Windows, то существует драйвер звуковой карты с названем PC-speaker, кажется speaker.vxd или speaker.drv. А по поводу программирования, почитай тут недавно был вопрос про то как сгенерировать звук нужной частоты. Ответов было.
P.S. Какой у тебя сейчас антивирус и почтовый клиент?
Ответ отправлен: 08.07.2002, 18:01
Отправитель: Александр
Вопрос № 638 |
Здравствуйте, уважаемые эксперты!
При попытке применить "прямой короткий внутрисегментный переход" (это из Юрова)
jmp short ptr metka
TASM выдает ошибку (неопределнный идентификатор ptr). Если же написать просто
jmp short metka
то компиляция идет нормально, причем формируется команда нужной длины - 2 байта.
Поясните, пожалуйста, в чем здесь дело. Где ошибка - в программе,TASM'е или Юрове?
Заранее благодарен.
Вопрос отправлен: 05.07.2002, 12:59
Отправитель: Вадим
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Вадим!
Ох, про г-на Юрова (г-на - не обязательно господина) я уже высказывался, и он сам, и его книги - ошибка на ошибке и ошибкой погоняет. :(
Ответ отправлен: 05.07.2002, 13:27
Отправитель: masquer
Отвечает Gibbel
Приветствую Вас, Вадим!
ptr - указатель на содержимое, а не на адрес
Ответ отправлен: 06.07.2002, 10:15
Отправитель: Gibbel
Отвечает igorash
Доброе время суток, Вадим!
По моему ptr - преобразование типов, т.е. в проге должно быть что-то типа
jmp label или jmp short label
или
jmp dword ptr <переменная в которой хранится адрес>
но во втором случае вряд ли будет 2 байта весить
з.ы. Щас тебе тут народ про Юрова много чего скажет, мой совет - читай Зубкова, а Юрова потом, когда ошибки сможешь находить
Ответ отправлен: 06.07.2002, 02:12
Отправитель: igorash
Отвечает Monkey_Logic
Здравствуйте, Вадим!
Это ошибка Юрова, причём не единственная в его книге.
Ответ отправлен: 06.07.2002, 04:29
Отправитель: Monkey_Logic
Отвечает Александр
Добрый день, Вадим!
Ты тут напутал маленько. Можно использовать или конструкцию jmp short или jmp near ptr, а у тебя винегрет получился.
Ответ отправлен: 08.07.2002, 18:01
Отправитель: Александр
Вопрос № 639 |
Господа Эксперты, простите что немного не в тему - очень нужен декомпилер для VB5. Если кто может помочь - киньте на мыло URL или, что будет...
Заранее благодарен
Вопрос отправлен: 05.07.2002, 13:44
Отправитель: Gibbel (Gibbel@narod.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Monkey_Logic
Доброе время суток, Gibbel!
Лучшее что удалось найти - http://www.dore.ru/files/decompilers/index.shtml
Ответ отправлен: 06.07.2002, 04:39
Отправитель: Monkey_Logic
Вопрос № 641 |
Как получить все каталоги? Если использовать функцию 4Eh и в CX пихаешь 01000b то не фига не работает, если можно кинте на мыло ASM прогу.
Заранее спасибо!
Вопрос отправлен: 05.07.2002, 18:21
Отправитель: Elf
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Elf!
Правильно, потому что 4 бит должен быть = 1, а не третий
00010000b, или 10h
Ответ отправлен: 05.07.2002, 19:48
Отправитель: masquer
Отвечает Артём Шегеда
Здравствуйте, Elf!
Читай старый выпуск рассылки
Вопрос № 480
Ответ отправлен: 05.07.2002, 18:58
Отправитель: Артём Шегеда
Вопрос № 642 |
Привет всем экспертам!!!
Зараннее прошу извинить за возможно глупый и не корректный вопрос,
но чем и как дизассемблируются ассемблерные программы. Буду рад услышать
ваши ответы:)))
Вопрос отправлен: 05.07.2002, 19:16
Отправитель: Андрей
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Андрей!
скорее всего - дизассемблерами.
IDA, WinDasm, hiew.
Поправлю Артема Шегеду, IDA может работать и с пакованными/шифрованными модулями, только научить ее нужно, скрипты самому написать правда прийдется.
Хто на вопрос чем, вопрос как относится к категории философских, этому самому учиться надо, опыт - великое дело.
Ответ отправлен: 05.07.2002, 19:54
Отправитель: masquer
Отвечает Артём Шегеда
Доброе время суток, Андрей!
Я, обычно использую "IDA - The Interactive Disassembler Pro Version 3.8b (WIN32)". Знает много процессоров, генерирует приличный листинг, старается "не умничать". Но этот дизассемблер предназначен для нешифрованных программ.
Очень провокационный вопрос. Таким образом можно обнаружить нелегальных пользователей программ. Надеюсь, только я буду таким глупцом, открыть ответившим на этот вопрос.
Ответ отправлен: 05.07.2002, 19:34
Отправитель: Артём Шегеда
Отвечает Shal
Приветствую Вас, Андрей!
Да вроде как есть дизассемблеры. Они идут с диском по ассемблеру. Могу залить тебе на мыло.
Ответ отправлен: 06.07.2002, 19:14
Отправитель: Shal
Отвечает Александр
Здравствуйте, Андрей!
Вопрос неглупый и вполне корректный, ты же не спрашиваешь где crack искать ;-))) Есть много вариантов, но для меня самым лучшим представляется IDA(Interactive DisAssembler). Последняя версия, которую я видел 4.17 Есть очень хорошая справочная книга Криса Касперски "Образ мышления дизассемблера IDA". Я один из тех немногих людей, кто не пожалел за неё 200 рублей. Хотя для небольших программ это всё равно, что из пушки по воробьям палить, но всё равно приятно осознавать насколько это сильная система.
Ответ отправлен: 09.07.2002, 18:07
Отправитель: Александр
Отвечает Monkey_Logic
Доброе время суток, Андрей!
Дизассемблер - обратный ассемблер. То есть преобразование из
бинарнака обратно в коды ассемблера. Ведь понять логику работы
программы, можно только дизассемблировав её. Поэтому дизассемблеры
главные помощники крякеров при взломе прог.
А дизассемблирование происходит очень просто, запускаешь дизасм,
в нём через менюшку указываешь название проги над которой будешь
проводить опыты и всё, ассемблерный код готов.
ИМХО, лучшие дизассемблеры:
Interactive DisAssembler(IDA) - под DOS
Win DASM - под Windows
Ответ отправлен: 06.07.2002, 04:35
Отправитель: Monkey_Logic
Отвечает Spike
Приветствую Вас, Андрей!
Я пользуюсь Sourcer и Turbo Debbuger. До SoftIce'а руки не доходят.
Spike.
Ответ отправлен: 08.07.2002, 21:22
Отправитель: Spike
Вопрос № 643 |
Доброе время суток, господа эксперты.
Имхо немного не топично, но всетаки...
Хочу программку написать для проигрывание MIDI'шного файла(под DOS). Так вот: как с портом общяться (330h или может еще какой). Вроде его еще сначала как-то проинитить надо?
Кстати может есть у кого форматы файлов: mid, mod, xm, it и т.п.
Исходники, доки и URL'ы приветствуются.
ЗЫ: на enlight прось ба не посылать, я там уже был.
Вопрос отправлен: 05.07.2002, 19:26
Отправитель: Nicki (nicki1@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Доброе время суток, Nicki!
Если у тебя есть внешнее MIDI-воспроизводящее устройство, тогда ты можешь отделаться выводом MIDI-команд в соответствующий порт. На самом же деле тебе придётся писать декодер для миди-команд, ну и хоть какой-нибудь синтезатор. Форматы и исходники лови голубиной почтой.
Ответ отправлен: 09.07.2002, 18:08
Отправитель: Александр
Отвечает Spike
Здравствуйте, Nicki!
Большая просьба - если кто-нить пришлет инфу по твоему вопросу - скинь ее на spgroup@i.com.ua, plz. У меня есть немного, но она вся в BOOK'ах.
Spike.
Ответ отправлен: 08.07.2002, 21:23
Отправитель: Spike
Вопрос № 646 |
Здравствуйте, эксперты.
Подскажите, что быстрее
lodsb
или
mov al,byte [esi]
inc esi
Я где то слышал что на последних пнях lodsd выполняется очень быстро, но также слышал что 32 битные процы медленно
работают с байтовыми инструкциями (в отличии от dword).
Вопрос отправлен: 05.07.2002, 22:29
Отправитель: marlyn (marlyn@land.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, marlyn!
Второй вариант быстрее, но скорость зависить от многих факторов - выравнивание данных и кода, возможность pairing-а, т.е. одновременного выполнения нескольких команд. По задаче смотреть нужно.
Ответ отправлен: 06.07.2002, 09:06
Отправитель: masquer
Отвечает Broken Sword
Добрый день, marlyn!
Быстрее второй вариант конечно, вообще в 4 томе официального мануала (оптимизация прог) вообще заклинают от всех строковых команд, но в прогах я всегда юзю именно их
Ответ отправлен: 06.07.2002, 00:51
Отправитель: Broken Sword
Отвечает Monkey_Logic
Приветствую Вас, marlyn!
По логике, быстрее должен работать второй вариант, но
следует отметить, что если и есть какая-то разница
в скорости, то это невозможно было бы заметить даже,
напрмер на ENIAC (ЭВМ 40х).
И вообще, имхо, подобные вопросы не актуальны при нынешних
вычислительных возможностях ПК.
Ответ отправлен: 06.07.2002, 04:37
Отправитель: Monkey_Logic
Отвечает AnSim
пџяЂпёпІпµя‚яЃя‚пІяѓяЋ п’п°яЃ, marlyn!
пІя‹ пїяЂп°пІя‹ пѕя‚пЅпѕяЃпёя‚пµп»яЊпЅпѕ я‚пѕпЁпѕ, я‡я‚пѕ dword п±я‹яЃя‚яЂпµпµ byte.
Ответ отправлен: 08.07.2002, 12:58
Отправитель: AnSim
Вопрос № 647 |
Уважаемые эксперты,пытаюсь сделать электронные часы на Desktop’е,есть три проблемы:
1. Как сделать,чтобы фон текста был прозрачным (сейчас фон невидим только на черном экране)?
2. Как перед выводом очередной секунды стереть предыдущую?Сейчас они накладываются друг на друга.
3. Как в конце работы проги перерисовать Desktop,чтобы убрать время с экрана?
Заранее благодарен, Leo
char text[9];
SYSTEMTIME s;
int TextLength = 8;
HDC hDC;
HFONT hFont, hOldFont;
hDC = CreateDC("DISPLAY", NULL, NULL, NULL);
SetBkColor(hDC, TRANSPARENT);
SetTextColor(hDC,RGB(255,0,0));
hFont = CreateFont (25, 0, 0, 0, 400, FALSE, FALSE, 0, ANSI_CHARSET,OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_SWISS, "Crystal" );
hOldFont = (HFONT) SelectObject(hDC,hFont);
for(int t = 1; t <= 6; t++)
{
GetLocalTime(&s);
sprintf(text,"%02d:%02d:%02d", s.wHour, s.wMinute, s.wSecond);
TextOut (hDC,0,0,text, TextLength);
Sleep(1000);
?
}
?
SelectObject(hDC,hOldFont);
DeleteDC(hDC);
Вопрос отправлен: 05.07.2002, 22:34
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Артём Шегеда
Приветствую Вас, Leo!
1. Используй не SetBkColor, а SetBkMode - здесь ты ошибся.
2. Сначала сохрани фрагмент битмапа из контекста DISPLAY в каком-нибудь другом битмапе (короче, "захвати" экран - это расписано в Win32SDK, раздел "Capturing an Image"), а перед отрисовкой нового значения восстанови фрагмент битмапа. Этот способ имеет недостаток - если изменилось состояние экрана под областью вывода, то твоя программа этого не заметит%2
Ответ отправлен: 06.07.2002, 15:52
Отправитель: Артём Шегеда
Отвечает AnSim
п”пѕп±яЂя‹п№ пґпµпЅяЊ, Leo!
п∙яЃя‚яЊ пЅпµяЃпєпѕп»яЊпєпѕ яЃпїпѕяЃпѕп±пѕпІ яЂпµя€пµпЅпёяЏ я‚пІпѕпµп№ пїяЂпѕп±п»пµпјя‹ - п»пёп±пѕ п·п°я‚пёяЂп°я‚яЊ яѓя‡п°яЃя‚пѕпє яЂпёяЃяѓпЅпєп°, пЁпґпµ пІя‹пІпѕпґпёп»п°яЃяЊ яЃя‚яЂпµп»пєп°, п»пёп±пѕ яЃпЅп°я‡п°п»п° пІя‹пІпµяЃя‚пё пµпµ я†пІпµя‚пѕпј я„пѕпЅп° пЅп° яЃя‚п°яЂпѕпј пјпµяЃя‚пµ, п° п·п°я‚пµпј пЅяѓп¶пЅя‹пј пЅп° пЅпѕпІпѕпј, п»пёп±пѕ пїпµяЂпµяЂпёяЃпѕпІя‹пІп°я‚яЊ я†пёя„пµяЂп±п»п°я‚ пїпѕп»пЅпѕяЃя‚яЊяЋ, п° п·п°я‚пµпј пІя‹пІпѕпґпёя‚яЊ яЃя‚яЂпµп»пєяѓ
Ответ отправлен: 08.07.2002, 12:57
Отправитель: AnSim
Вопрос № 649 |
Уважаемые эксперты,понятно,как можно вставить свой элемент меню в меню другой проги,handle окна –> handle меню и т.д. А как подставить к-л действие под этот элемент меню.SetWindowLong в чужом процессе не работает (The SetWindowLong function fails if the window specified by the hWnd parameter does not belong to the same process as the calling thread.)Существует ли другой вариант?
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:35
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Добрый день, Leo!
Не чего не путаеш?? Вот есть ещё и такое описание:
Функция SetWindowText
Описание:
function SetWindowText(Wnd: HWnd; Str: PChar);
Устанавливает название заголовка для окна или текст оpгана упpавления с помощью стpоки, указанной в Str.
Паpаметpы:
Wnd: Идентификатоp окна или оpгана упpавления.
Str: Стpока (заканчивающаяся пустым символом).
Ответ отправлен: 06.07.2002, 11:24
Отправитель: masquer
Вопрос № 650 |
Уважаемые эксперты,хочу переделать exe в scr,но по MSDN разобраться не получается.Вопрос: как должен выглядеть каркас scr-проги?
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:34
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Александр
Доброе время суток, Leo!
Сейчас, сейчас. На самом деле ты можешь не сильно заботиться и просто переименовать exe в scr. Но правильный scr должен выходить по событию от мыши и клавиатуры. Вот собственно и все отличия. В журнале Программист #3_2001 на эту тему. В ней приведены ключевые процедуры, написанные под C++ Builder. Можешь поискать на их сайте в разделе архив.
Ответ отправлен: 09.07.2002, 18:08
Отправитель: Александр
Отвечает masquer
Приветствую Вас, Leo!
Точно так же как и любой экзешник, командную строку только обрабатывай. В МСДН есть исчерпывающая информация по этолму вопросу. Ищи по строке "screen saver"
Ответ отправлен: 06.07.2002, 11:25
Отправитель: masquer
Вопрос № 651 |
Уважаемые эксперты,если API-шная ф-ия не описана ни в MSDN ни в заголовочных файлах,как можно посмотреть ее параметры в DLL,если можно вообще?
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:35
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает vitya
Приветствую Вас, Leo!
если она написана на VC и ей не было присвоенно какое-либо экспортируемое имя, то с помощью утилиты VC dumpbin /exports my.dll она выведет все функции. После каждой функции может быть а может и нет белиберда, итак, если есть белиберда, то скопировав все описание функции можно с помощью функции UnDecorateSymbolName получить ее параметры.
Ответ отправлен: 08.07.2002, 08:50
Отправитель: vitya
Отвечает masquer
Здравствуйте, Leo!
Можно, но здесь больше головой пользоваться прийдется, самый простой вариант открыть в IDA библиотеку и посмотреть
Ответ отправлен: 06.07.2002, 09:46
Отправитель: masquer
Вопрос № 652 |
Уважаемые эксперты,нигде не могу найти,все пересмотрел,как сделать так,чтобы в строке динамически создаваемого меню часть текста была справа,а часть слева,эквивалент строки ресурса ‘&Закрыть Alt + F4’?
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:36
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Leo!
&Закрыть Alt+F4
Ответ отправлен: 06.07.2002, 11:46
Отправитель: masquer
Отвечает Igoryk
Приветствую Вас, Leo!
Я так понял, что тебе надо Команду слева, а сочетание клавиш для команды справа. Если это так, то пункт меню оформляй так:
'&Закрыть Alt+F4'
Ответ отправлен: 06.07.2002, 10:46
Отправитель: Igoryk
Отвечает AnSim
пџяЂпёпІпµя‚яЃя‚пІяѓяЋ п’п°яЃ, Leo!
пїяЂпёпјпµяЂпЅпѕ я‚п°пє:
s=left+space(len-len(right))+right
Ответ отправлен: 08.07.2002, 13:01
Отправитель: AnSim
Вопрос № 653 |
Уважаемые эксперты,подскажите,плз,как сделать,чтобы при выводе моего ДО пользователь не мог переключаться на другие окна,нельзя было бы нажать кн Start, ДО Сtrl+Alt+Del,до тех пор пока не закончена работа с этим ДО.Пробовал присваивать стиль System Modal – не помогает.
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:36
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Leo!
Ну и вопросы вас.
Вешаешь глобальный хук на систему, ловишь события и реагируешь на них. Помучиться, правда, придется.
Ответ отправлен: 06.07.2002, 09:51
Отправитель: masquer
Вопрос № 654 |
Уважаемые эксперты,пытаюсь разобраться с чтением/записью в файл (Win32),в одной статье прочитал
<... Все, что нам нужно - это загpуженный в память HTM*-файл (пpомаппиpованный, если вы хотите, но это не обязательно):
; input:
; ...
; ESI = Указатель на HTML-код (в памяти), где необходимо искать
; ...
seekit:cmp dword ptr [esi],'iam"' ; Ищем подстpоку '"mailto:'
... >
Отсюда вопрос: 1. как получить адрес файла для чтения/записи,скажем,как ‘dest’ в:
cld
mov esi, offset source
mov edi, offset dest
mov ecx, 5
rep movsb
Пробовал обращаться с hFile’oм ф-ии CreateFile как с адресом – не получается.
Заранее благодарен, Leo
Вопрос отправлен: 05.07.2002, 22:37
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, Leo!
Повторение - мать учения?
1. Что значит - адрес файла? hFile - это хендл файла, а не адрес. После CreateFile используй ReadFile
2. Можешь воспользоваться MMF (MemoryMappedFile)
Ответ отправлен: 06.07.2002, 11:22
Отправитель: masquer
Отвечает vitya
Приветствую Вас, Leo!
для начала надо сделать mapping файла в ОЗУ с помощью функций CreateFileMapping, MapViewOfFile, после чего у тебя будет адрес файла в ОЗУ.
Ответ отправлен: 08.07.2002, 08:45
Отправитель: vitya
Отвечает Артём Шегеда
Добрый день, Leo!
"пpомаппиpованный, если вы хотите, но это не обязательно" - в этом и вся загвоздка. Промаппированный - значит отображённый на область памяти. Читая байт из диапазона адресов, на которые отображён файл Вы фактически читаете из файла, то же самое с записью.
Чтобы отобразить файл на область памяти нужно сделать три телодвижения:
1. Открыть файл с соответствующим доступом (чтение, запись, чтение/запись)
2. Создать системный объект file-mapping функцией CreateFileMapping. Параметры там тривиальные: я, лично использую только hFile и flProtect
3. Отобразить страницы объекта file-mapping в диапазон адресов программы функцией MapViewOfFile. Смещение от начала файла должно быть кратно гранулярности распределения памяти.
Не забудь потом вызвать UnmapViewOfFile и CloseHandle.
Ответ отправлен: 06.07.2002, 14:14
Отправитель: Артём Шегеда
Вопрос № 655 |
Ищу человека,у которого можно было бы получить фундаментальные знания по работе с email’ом,делать упражнения,получать ответы на вопросы.Готов платить.Детали мылом (a.leo@37.com).Не заинтересованных просьба не комментировать.
Заранее благодарен,Leo
Вопрос отправлен: 05.07.2002, 22:37
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Здравствуйте, Leo!
Всегда к Вашим услугам!!! Только объясни в деталях на почту
Ответ отправлен: 06.07.2002, 10:46
Отправитель: Igoryk
Вопрос № 656 |
Уважаемые эксперты,подскажите,плз,как установить/изменить переменную среды ОС для связи проги с bat-файлом, _putenv ведь не спасает.
Заранее благодарен,Leo
Вопрос отправлен: 05.07.2002, 22:38
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает AnSim
п”пѕп±яЂя‹п№ пґпµпЅяЊ, Leo!
яЃпїп°яЃп°пµя‚ пІ пїяЂпµпґпµп»п°я… пѕпґпЅпѕпЁпѕ п±п°я‚-я„п°п№п»п°, пµяЃп»пё я‚я‹ пёп· пЅпµпЁпѕ пЅпµ пІя‹я…пѕпґпёя€яЊ (пґпѕп»п¶пµпЅ пЅп°я…пѕпґпёя‚яЃяЏ пІпЅяѓя‚яЂпё пєпѕпїпёпё яЃпѕпјпјп°пЅпґ.пєпѕпјп°).
пїпѕпїяЂпѕп±яѓп№ яЃ я„п°п№п»п°пјпё - пґпµп»п°п№ пёп· пЅпёя… я„п»п°пЁпё.
Ответ отправлен: 08.07.2002, 13:04
Отправитель: AnSim
Отвечает Александр
Приветствую Вас, Leo!
Самы простой способ это использование стандартной переменной ERRORLEVEL, в которую записывается код выхода программы. Т.е. то значение, которое записано в регистре AL при выходе по функции 4ch прерывания int 21h
Ответ отправлен: 09.07.2002, 18:08
Отправитель: Александр
Вопрос № 658 |
Hi,Broken Sword,
Sorry,the previous message was for beeblebrox.
I got only the first three words of your message,smth IS wrong but I'm not sure what with.So,pls,write again if you're still got smth to say.
Leo
Вопрос отправлен: 05.07.2002, 22:48
Отправитель: Leo (a.leo@37.com)
[Следующий вопрос >>] [Список вопросов]
Отвечает igorash
Доброе время суток, Leo!
Такая просьба:если хочешь написать только одному эксперту - пиши персональный вопрос
Ответ отправлен: 06.07.2002, 02:12
Отправитель: igorash
Вопрос № 659 |
Возможно вопрос и не в ту рассылку... Но наиболее часто выходит (если я не ошибаюсь). Да и побольше экспертов... :-)
Наверняка подобный вопрос задавался... Извините...
Так вот. Будет ли когда-нибудь сделано нормальное управление/администрирование и пр. для экспертов? Т.е. поясняю: когда тот кто пользуется программами типа The Bat! сможет полноценно управлять/отвечать и т.д....???
Вопрос отправлен: 06.07.2002, 02:01
Отправитель: acp
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, acp!
А я из The Bat сразу в Opera перетягиваю и все, ну а вообще неудобно, конечно
Ответ отправлен: 06.07.2002, 11:28
Отправитель: masquer
Отвечает Monkey_Logic
Добрый день, acp!
Очень дельный вопрос, только отправлять его надо на admin@rusfaq.ru
Ответ отправлен: 06.07.2002, 04:40
Отправитель: Monkey_Logic
Отвечает Alex
Доброе время суток, acp!
Эта "проблема" относится к ЗЭ МЫШЬ, а не к форме. А мне и так неплохо...
Ответ отправлен: 09.07.2002, 08:13
Отправитель: Alex
Отвечает Александр
Здравствуйте, acp!
Когда у кого нибудь из заинтересованных в этом экспертов дойдут руки прислать Калашникову код для отработки ответов пришедших по e-mail. Движок написан на Perl. Так что если ты можешь что-то предложить - флаг в руки.
Ответ отправлен: 09.07.2002, 18:09
Отправитель: Александр
Вопрос № 660 |
Никто не знает примерный алгоритм того, как стандартаная утилита прошивки BIOS на "мамах" типа aflash.exe
осуществляет доступ к flash-памяти на материнской плате (через какой I/O порт или с помощью какого прерывания).
PS: Поверьте, эта инфа мне нужна не ради создания подвида вируса типа Win95 CIH и запарывания им "мамули" у лучшего друга, а чисто ради
общего интереса к программированию на низком уровне.
Вопрос отправлен: 06.07.2002, 02:05
Отправитель: Speedy Gonsalez
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Speedy Gonsalez!
Насколько я понимаю, это фиксированная область памяти, где все это хранится, просто надо знать, что и где там находится. Почему бы тебе не посмотреть как тот же CIH это делает?
Ответ отправлен: 06.07.2002, 10:05
Отправитель: masquer
Отвечает igorash
Приветствую Вас, Speedy Gonsalez!
А руки на что: декомпиль этот awdflash и смотри себе.
Для экспериментов рекомендую брать ненужное железо :)
Ответ отправлен: 06.07.2002, 02:14
Отправитель: igorash
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (51) C / C++ (32) Perl (10) Delphi (18) Pascal (30) Basic / VBA (12) Java / JavaScript (6) PHP (6) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (47) Windows NT/2000/XP (35) "Железо" (39) Поиск информации (20) |
Администратору Windows NT/2000/XP (19) Linux / Unix (15) |
Юристу Гражданское право (7) Семейное право (3) Трудовое право (6) КоАП (2) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||