Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 754
от 30.07.2004, 23:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 5665 Отправлено ответов: 15316 Активность: 270.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
PavPS Статус: Доверительный Общий рейтинг: 128.4 [Подробней >>] |
Горячев Игорь Статус: Доверительный Общий рейтинг: 119.49 [Подробней >>] |
Dragoon Статус: Доверительный Общий рейтинг: 109.69 [Подробней >>] |
Стас Статус: Опытный Общий рейтинг: 125 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 118.27 [Подробней >>] |
flasher Статус: Доверительный Общий рейтинг: 105.76 [Подробней >>] |
Евгений Иванов Статус: Профессиональный Общий рейтинг: 133.36 URL: Super Assembler Software Телефон: НСС +7 831 3107039 [Подробней >>] |
bocha Статус: Опытный Общий рейтинг: 132.83 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 5629. Подскажите кто нибудь, как залезть в нулевое кольцо в системе Windows NT? Заранее от души.... (ответов: 3)
Вопрос № 5630. По-моему я не правильно установил MASM 6.11 При попытке ассемблирования файла выдается ошибка. См. п... (ответов: 2)
Вопрос № 5633. Дарова. Не знаете где можно взять оригинальный *.exe от вируса MSBLASTER?... (ответов: 2)
Вопрос № 5634. Привет. Я недавно по поводу загрузки гифов спрашивал. IDXSurfaceFactory это конечно круто. Только я ... (ответов: 2)
Вопрос № 5636. Добрый день. Какие программы остро нуждаются в наличие потоков(Threads). Можно ли без них писать до... (ответов: 2)
Вопрос № 5637. здравстсвуйте уважаемые эксперты. Где можно скачать учебник Юрова? заранее благодарен.... (ответов: 1)
Вопрос № 5639. Привет экспертам. Есть функция func: func proc A:DWORD mov [A],1 ret func endp Я вызываю ее так:... (ответов: 2)
Вопрос № 5640. Здравствуйте. Я бы хотел создать свою библиотеку API экспортирующую функции в Visual Basic. В книге ... (ответов: 2)
Вопрос № 5641. Привет! Подскажите, пожалуйста, как можно привести с помощью функций Win32 API полный путь файла (lo... (ответов: 4)
Вопрос № 5642. Привет всем участникам рассылки! Необходимо встроить в исполняемый файл небольшую программу, котора... (ответов: 2)
Вопрос № 5643. Привет Пишу: .data char db 'c',0 .data? abuff dd ? .code start: lea eax, char mov abuff,eax... (ответов: 3)
Вопросов: 11, ответов: 25
Вопрос № 5629 |
Подскажите кто нибудь, как залезть в нулевое кольцо в системе Windows NT? Заранее от души.
Вопрос отправлен: 22.07.2004, 02:58
Отправитель: Васан (vasanin@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает PavPS
Доброе время суток, Васан!
Официально - ч/з написание драйвера.
Не официально - придумай сам :/
Ответ отправлен: 22.07.2004, 13:02
Отправитель: PavPS
Отвечает Горячев Игорь
Добрый день, Васан!
Единственный шанс это присвоить своей проге статус драйвера. На WASM.RU есть статьи, про программирование драйверов режима ядра. Нетривиальная задачка! Почитай, там грамотно все описано.
Ответ отправлен: 22.07.2004, 22:48
Отправитель: Горячев Игорь
Отвечает Dragoon
Приветствую Вас, Васан!
Таблица прерываний не защищена ни в одной из
версий винды.
Полное описание алгоритма
(взято из книги
'Путеводитель по написанию вирусов под Win32')
Приложение:
Ответ отправлен: 24.07.2004, 18:52
Отправитель: Dragoon
Вопрос № 5630 |
По-моему я не правильно установил MASM 6.11
При попытке ассемблирования файла выдается ошибка. См. приложения. Подскажите , пожалуйста, что я делаю неправильно. Файл Prog.asm из книги Калашникова.
Приложение:
Вопрос отправлен: 22.07.2004, 02:59
Отправитель: tRiNEX
[Следующий вопрос >>] [Список вопросов]
Отвечает Стас
Здравствуйте, tRiNEX!
Суть твоей проблемы - MASM.EXE не может найти ML.EXE
а ML.EXE не найдет LINK.EXE.
Дело, скорее всего, в том, что компилятор разбросан по двум папкам: BIN и BINR. (Я обычно их соединяю в одну BIN)
Т.е. либо пропиши путь к папке C:MASM611BINR в PATH, либо пиши (если в ручную) полные пути к компилятору и линковщику.
Например:
C:MASM611BINRML.EXE /I. /Zm /c /a /FoT.obj /Ta C:MASM611BINProg01.asm
и
C:MASM611BINRLINK.EXE Prog01.obj
Ответ отправлен: 22.07.2004, 12:45
Отправитель: Стас
Отвечает _vt
Доброе время суток, tRiNEX!
Пропиши путь к C:\MASM611\BIN в переменной %PATH% - Win+Break, "Дополнительно", "Переменные среды". Просто добавь в конец переменной PATH строку C:\MASM611\BIN.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 24.07.2004, 04:14
Отправитель: _vt
Вопрос № 5633 |
Дарова.
Не знаете где можно взять оригинальный *.exe от вируса MSBLASTER?
Вопрос отправлен: 22.07.2004, 17:26
Отправитель: andrey
[Следующий вопрос >>] [Список вопросов]
Отвечает flasher
Добрый день, andrey!
А чем отличается оригинал от копии? :)
Ответ отправлен: 25.07.2004, 17:57
Отправитель: flasher
Отвечает Dragoon
Приветствую Вас, andrey!
Именно из-за таких как ты в Сети эпидемии
Ответ отправлен: 24.07.2004, 18:56
Отправитель: Dragoon
Вопрос № 5634 |
Привет.
Я недавно по поводу загрузки гифов спрашивал.
IDXSurfaceFactory это конечно круто. Только я ни в SDK, ни в МСДН его не нашёл. МСДН у меня явно старее 2000 года, DirectXSDK версии 7, а на тачке юзается DirectX 8.
Я ещё на всякий случай сделал поиск по LIB и DLL, и тоже не нашёл IDXSurfaceFactory, а все встретившиеся LoadImage относились к USER32.
Отсюда опять два вопроса:
1-Если всё-таки у меня нет этого крутого интерфейса, то ведь должны же быть в винде всё равно какие нибудь средства стандартные. Explorer, например, грузит гифы. Или он не вызывает системных функций распаковки изображений, а использует только прошитые в его exe-шнике или его ДЛЛ?
2-Если всё-таки восьмой директ имеет этот интерфейс, то чё я его нигде не нашёл. Глупый вопрос. Возможно я идиот, вот и не нашёл. Может примерчик кто-нибудь вышлет, если юзал уже эту фишку.
Вопрос отправлен: 23.07.2004, 02:37
Отправитель: ПАПА
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Добрый день, ПАПА!
В моем MSDN этот интерфейс прописан в Direct Media SDK.
> Я ещё на всякий случай сделал поиск по LIB и DLL, и тоже не нашёл IDXSurfaceFactory
Искать надо по MSDN! :) Я поискал по реестру, и ссылки ведут к файлу dxtrans.dll, но в явном виде он никаких подобных функций не экспортирует - только через COM, и я тебе честно скажу, что в COM разбираюсь крайне плохо.
Ну и ответы на твои вопросы:
1) Explorer "грузит гифы", используя средства Internet Explorer. Кстати, IE 4 хотя бы, у тебя установлен? (Он требуется как раз этому IDXSurfaceFactory::LoadImage) IE, в свою очередь, использует как раз те патентованые механизмы, про которые я тебе давал вырезку из MSDN. Они - недокументированы.
2) ИМХО, этот интерфейс имеется в DirectX 6.1, т.к. насколько я знаю (могу ошибаться), интерфейсы 7,8,9 DirectX имеют цифру на конце, соответствующую версии. Пример: IDirectDrawSurface7.
"Примерчики" послать не могу, т.к. в моем MSDN их по этой теме почему-то нету, да и разбираюсь я в DirectX несильно.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 24.07.2004, 04:14
Отправитель: _vt
Отвечает Евгений Иванов
Приветствую Вас, ПАПА!
У меня же исходник лежит на сайте. Бери и пользуйся! Вот ведь какие вы ленивые!! готовенькое - и то не надо..
* EMan: -=- Любовь всегда неразделённая... =-=
Ответ отправлен: 24.07.2004, 08:21
Отправитель: Евгений Иванов
Вопрос № 5636 |
Добрый день.
Какие программы остро нуждаются в наличие потоков(Threads). Можно ли без них писать достаточно крупный клиентские программы(вроде браузеров). Если нет, то сколько в среднем нужно потоков.
Вопрос отправлен: 23.07.2004, 17:24
Отправитель: Alexej
[Следующий вопрос >>] [Список вопросов]
Отвечает PavPS
Добрый день, Alexej!
Попробуй сначала почитать определение наиважнейших объектов OS, а потом спрашивать. Почитай про Job,Process,Thread(fiber). Оччень советую...
Ответ отправлен: 23.07.2004, 23:07
Отправитель: PavPS
Отвечает Dragoon
Доброе время суток, Alexej!
Даже довольно малое кол-во потоков(>3-4) может
конкретно притормозить систему. Обычно в прогах
типа браузеров всего 2 потока - один общается с сервером, а второй - с юзером.
Ответ отправлен: 24.07.2004, 18:58
Отправитель: Dragoon
Вопрос № 5637 |
здравстсвуйте уважаемые эксперты.
Где можно скачать учебник Юрова?
заранее благодарен.
Вопрос отправлен: 23.07.2004, 18:02
Отправитель: Vlad (ivchencov@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Горячев Игорь
Здравствуйте, Vlad!
Скорее всего в Инете его нет. Так что в ближайшем книжном магазине :) Много полезного есть на http://wasm.ru
Ответ отправлен: 24.07.2004, 00:14
Отправитель: Горячев Игорь
Вопрос № 5639 |
Привет экспертам.
Есть функция func:
func proc A:DWORD
mov [A],1
ret
func endp
Я вызываю ее так:
invoke func, addr buff
.IF buff == 1
invoke MessageBox,0,"buff=1",0,0
.ENDIF
Здесь я в качесте параметра A пишу адрес переменой buff, а в самой функций func по адресу A пишется число 1(по ходу дела в buff должно быть число 1). Должен выскочить MessageBox если buff = 1, он не появляется :(. Почему?
Вопрос отправлен: 24.07.2004, 19:29
Отправитель: andrey
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, andrey!
ты вот так кури:
func proc A:DWORD
mov esi, [A]
mov [esi], byte ptr 1
ret
Бывай!
* EMan: -=- Любовь всегда неразделённая... =-=
Ответ отправлен: 25.07.2004, 19:39
Отправитель: Евгений Иванов
Отвечает Горячев Игорь
Приветствую Вас, andrey!
Так MessageBox не вызывают! Передавать надо не строку, а указатель на строку. Т.е.
invoke MessageBox,0,addr szStr,0,0
где szStr db 'buff=1',0
И еще, лучше указывать дескриптор окна-владельца.
invoke MessageBox,hWin,addr szStr,0,0
Работать будет, но в заголовке MessageBox'a будет надпись "ошибка".
Чтоб этого не было:
invoke MessageBox,hWin,addr szText,szCaption,MB_OK
szText db 'buff=1',o
szCaption db 'Сообщение',0
Ответ отправлен: 24.07.2004, 22:59
Отправитель: Горячев Игорь
Вопрос № 5640 |
Здравствуйте.
Я бы хотел создать свою библиотеку API экспортирующую функции в Visual Basic.
В книге В.Ю. Пирогова "Assembler для Windows" очень кратко рассмотрен процесс создания DLL с поздним связыванием экспортируемых функций.
Эти функции становятся доступны только из приложений на ассемблере. А в Visual Basic просто не находится файл, даже если четко указать путь.
Просьба рассмотреть более четко путь создания API, а также способ возврата результата в вызывающую программу.
Приложение:
Вопрос отправлен: 26.07.2004, 14:23
Отправитель: Владимир
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Доброе время суток, Владимир!
Функции, заложенные в DLL, доступны из ЛЮБОГО языка программирования, позволяющего использовать WinAPI.
Почитай справочник по нему по темам со словом Library
Ответ отправлен: 26.07.2004, 18:30
Отправитель: Dragoon
Отвечает _vt
Доброе время суток, Владимир!
К сожалению (или к счастью? ;-)) я не знаю, как Visual Basic работает с DLL, но чисто теоретически это ничем не отличается от любого другого высокоуровневого языка. В Visual Basic есть возможность вызывать API функции? Если есть, то чем не устраивает связка LoadLibrary/GetProcAddress? Соблюдаются ли calling conventions, и какие используются по умолчанию? Если нужно - ответь на эти вопросы мне на e-mail.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 28.07.2004, 20:43
Отправитель: _vt
Вопрос № 5641 |
Привет!
Подскажите, пожалуйста, как можно привести с помощью функций Win32 API полный путь файла (long filenames), написанный символами произвольного регистра, в такой вид как в каталоге (как показывают файловые менеджеры)! То есть, например, c:\WiNdOwS\ABCDEFGHIJ.txt в (к примеру) c:\Windows\Abcdefghij.txt
St
Вопрос отправлен: 26.07.2004, 19:49
Отправитель: St (st23@yandex.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает flasher
Здравствуйте, St!
юзай GetModuleFileNameA
Ответ отправлен: 26.07.2004, 20:40
Отправитель: flasher
Отвечает Стас
Здравствуйте, St!
А ручками слабо?
Перебрал все символы строки сделал первые после разделителей большими(and al,dfh), остальные малыми (or al,20h), и все...
Ответ отправлен: 26.07.2004, 21:29
Отправитель: Стас
Отвечает Dragoon
Добрый день, St!
Для этого WinApi не нужен
(да и нет там таких 'сложных' функций).
Пишешь процедуру, которая переводила бы все в
нужный тебе формат.
Ответ отправлен: 28.07.2004, 18:33
Отправитель: Dragoon
Отвечает bocha
Приветствую Вас, St!
LPTSTR CharLower(LPTSTR lpsz);
DWORD CharUpperBuff(LPTSTR lpsz, DWORD cchLength);
Ответ отправлен: 27.07.2004, 04:48
Отправитель: bocha
Вопрос № 5642 |
Привет всем участникам рассылки!
Необходимо встроить в исполняемый файл
небольшую программу, которая будет выводить диалог
для пользователя и после того как соответствующих изменений
исполняемый код должен продолжить свою работу с определенной
точки. Подскажите плиз какие подходы здесь можно использовать
и если можно подробнее.
Заранее большое спасибо всем ответившим 1.
Вопрос отправлен: 26.07.2004, 21:55
Отправитель: 1
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Добрый день, 1!
А чем это отличается от процедуры? :) ИМХО, ты изобретаешь велосипед.
* Origin : Life begins at 1000Mhz!
Ответ отправлен: 28.07.2004, 20:43
Отправитель: _vt
Отвечает Dragoon
Добрый день, 1!
Если это защита, тогда надо это не сюда. Для этого
есть книги, по толщине не уступающие 'Войне и Миру';
А переход делай jmp или j**. Можно извратиться
с помощью ret и псевдо call'ов.
Ответ отправлен: 28.07.2004, 18:36
Отправитель: Dragoon
Вопрос № 5643 |
Привет
Пишу:
.data
char db 'c',0
.data?
abuff dd ?
.code
start:
lea eax, char
mov abuff,eax
mov [abuff],'a'
invoke MessageBox,0,abuff,abuff,0
Здесь в eax загружается адрес char, а потом в abuff копируется eax, потом по адресу abuff пишется символ 'a', и выводится MessageBox. Дело в том что выводится не символ 'a' а 'c'. Где ошибка?
Вопрос отправлен: 26.07.2004, 23:12
Отправитель: andrey
[Следующий вопрос >>] [Список вопросов]
Отвечает Dragoon
Приветствую Вас, andrey!
В MessageBox надо передавать не саму строку,
а её смещение. Т.е.
.data
a db 'Caption',0
b db 'Text',0
.code
invoke MessageBox,0,offset a,offset b, MB_OK
Ответ отправлен: 28.07.2004, 18:38
Отправитель: Dragoon
Отвечает Стас
Здравствуйте, andrey!
Что по твоему делает команда:
mov [abuff],'a'
Странно, что у тебя 'c' выводит. Должно вообще какуюто ерунду выводить. Т.к. только что положенный в abuff (mov abuff,eax) адрес забивается новым значением 0000061h.
Ответ отправлен: 27.07.2004, 14:05
Отправитель: Стас
Отвечает Евгений Иванов
Приветствую Вас, andrey!
тупым надо лечиться...
что тебе нужно сделать?!
вывести 'c' ?
прошу:
Call MessageBox,0,offset char,offset char,0
хотя я понял, что тебе нужно. так?
lea eax, char
mov abuff,eax
mov [eax],'a'
invoke MessageBox,0,abuff,abuff,0
вот сейчас будет выводиться "а".
только зачем тебе переменная?!
вот так лучше:
lea eax, char
mov [eax],'a'
invoke MessageBox,0,eax,eax,0
Бывай.
* EMan: -=- Любовь всегда неразделённая... =-=
Ответ отправлен: 27.07.2004, 13:03
Отправитель: Евгений Иванов
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (23) C / C++ (12) Perl (5) Builder / Delphi (17) Pascal (23) Basic / VBA (7) Java / JavaScript (6) PHP (16) Криптография (8) WinAPI (9) Радиоэлектроника (11) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (60) "Железо" (45) Поиск информации (15) |
Администратору Windows NT/2000/XP (37) Linux / Unix (20) |
Юристу Гражданское право (11) Семейное право (8) Трудовое право (9) КоАП (7) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
http://subscribe.ru/feedback/ |
Адрес подписки |
Отписаться |
В избранное | ||