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

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


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

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

Выпуск № 690
от 18.01.2004, 13:10

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


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

Bob Johnson
Статус: Профессиональный
Общий рейтинг: 146.67
URL: Программирование
[Подробней >>]
vitya
Статус: Профессиональный
Общий рейтинг: 108.43
[Подробней >>]
Евгений Иванов
Статус: Профессиональный
Общий рейтинг: 137.04
URL: Super Assembler Software
Телефон: Пчёлка +7 905 6601206
[Подробней >>]
 
Ayl
Статус: Профессиональный
Общий рейтинг: 116.49
[Подробней >>]
Artemy
Статус: Опытный
Общий рейтинг: 117.43
Телефон: 8 905 549 38 66
[Подробней >>]
never_again
Статус: Опытный
Общий рейтинг: 126.09
[Подробней >>]
 
SedHg
Статус: Доверительный
Общий рейтинг: 115.22
[Подробней >>]
Dark_Lord
Статус: Профессиональный
Общий рейтинг: 110.31
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 120.74
URL: Эхоконференция по вирмейкингу
[Подробней >>]
 
VOVAN
Статус: Начальный
Общий рейтинг: 107.09
[Подробней >>]


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

Вопрос № 4805. Уважаемые эксперты! Сразу извиняюсь за оффтоп, но не знаю куда податься, поможите люди добрые. Преди... (ответов: 1)
Вопрос № 4806. Здравствуйте эксперты, подскажите, какие API функции нужно использовать, чтобы получить имя, время и... (ответов: 2)
Вопрос № 4807. Существуют ли API, что бы получить имя сервера, его дату и время, сервер Novell NetWare, прошу проще... (ответов: 1)
Вопрос № 4808. Здраствуйте. Я хотел бы спросить на счет вируса из 13 рассылки. Там я не могу понять вот эти строки:... (ответов: 3)
Вопрос № 4809. Здравствуйте уважаемые эксперты. Где можно достать справочник повсем прерываниям BIOS на русском язы... (ответов: 1)
Вопрос № 4811. Здравствуйте ув. эксперты. Где можно скачать справочник по API функциям на русском? ... (ответов: 4)
Вопрос № 4812. Здравия желаю! Я все со свом резидентом. Я перехватываю прерывание на удаление файла, а вот как мне ... (ответов: 3)
Вопрос № 4813. Приветствую Вас!!! Вопрос: Мне необходимо чтобы запускался один экземпляр моей проги, и если он запу... (ответов: 4)
Вопрос № 4814. Trojan.Win32.Dilya что это за вирь, кто подскажет. Пришел файлик сом овский 24 кило. Нет ли среди в... (ответов: 1)
Вопрос № 4816. Здравствуйте, эксперты. Вопрос у меня не совсем по ассемблеру, но все-таки... Можно ли как-нибудь в ... (ответов: 2)
Вопрос № 4817. Hello, Вот прога на асме: CSEG segment org 100h Begin: mov ah,9 mov dx,offset mess1 ... (ответов: 8)

Вопросов: 11, ответов: 30


 Вопрос № 4805

Уважаемые эксперты!
Сразу извиняюсь за оффтоп, но не знаю куда податься, поможите люди добрые.
Предистория: пользуюсь интернетом через GPRS, все это работает ну очень медленно, прокочать 2M через POP3 сущий ад.
Идея такая: завести страничку гденибудь. Бросить на нее код который загрузит письма по POP3, заархивирует, а затем я скачиваю это все по FTP.
Куда мне обратиться к Java? HTML? И как вы думаете вообще реализуемо ли это?



Вопрос отправлен: 13.01.2004, 01:50
Отправитель: Стас

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

Отвечает Bob Johnson

Добрый день, Стас!
Тебе нужен прежде всего сервер, где ты мог бы выполнять команды. Остальное - технические вопросы (как загрузить, чем заархивировать). На данный момент практически все варианты хостинга, которые это допускают - платные.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 14.01.2004, 00:41
Отправитель: Bob Johnson


 Вопрос № 4806

Здравствуйте эксперты, подскажите, какие API функции нужно использовать, чтобы получить имя, время и дату сервера, а так же сетевое имя "моего" компьютера? Какие параметры передаются, и в каком порядке?. Заранее спасибо.



Вопрос отправлен: 13.01.2004, 08:07
Отправитель: Виталий (ZAVitaliY@yandex.ru)

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

Отвечает vitya

Здравствуйте, Виталий!
GetComputerName - ваш выбор - параметры TCHAR [] и указатель на DWORD, который до показывает, сколько у вас места, а после, сколько заняла длинна имени компьютера. Что вы подразумеваете под сервером? Default Gateway? DHCP Server? Proxy Server? Directory Services Server? Browsing Server?

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


Отвечает Bob Johnson

Приветствую Вас, Виталий!
Имя компьютера - GetComputerName.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 14.01.2004, 00:41
Отправитель: Bob Johnson


 Вопрос № 4807

Существуют ли API, что бы получить имя сервера, его дату и время, сервер Novell NetWare, прошу прощения, что сразу не написал, если есть пожайлуста по подробнее.



Вопрос отправлен: 13.01.2004, 09:47
Отправитель: Виталий (ZAVitaliY@yandex.ru)

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

Отвечает Bob Johnson

Доброе время суток, Виталий!
Я давно встречал в интернете, как программировать под Novell Netware (причем на асме), но пример умер вместе с винтом. Так что поищи, должен найти. Вообще же у novell вроде есть свое API.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 14.01.2004, 00:41
Отправитель: Bob Johnson


 Вопрос № 4808

Здраствуйте.
Я хотел бы спросить на счет вируса из 13 рассылки.
Там я не могу понять вот эти строки:
jmp dword ptr cs:[Off_move]
и
jmp dword ptr cs:[Off_return]
Я не могу понять как в отладчике вирус прыгает сначало в 0bf00h а потом в программу
ведь переменые off_move и off_return содержат только смещение, а как ви
рус прыгает на нужный ему сегмент?
И вообще что значит offset lab_jmp в переменной
off_move offset lab_jmp


Приложение:


Вопрос отправлен: 13.01.2004, 19:06
Отправитель: Семен

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

Отвечает Евгений Иванов

Приветствую Вас, Семен!
написано же - dword
а это и есть dw+dw.
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 14.01.2004, 13:41
Отправитель: Евгений Иванов


Отвечает Ayl

Добрый день, Семен!

Потому что у тебя сама команда подразумевает, что будет дальний переход. Соответственно, по адресу Off_move выбираются 2 слова: сегмент и смещение. Сегмент при написании программы задается явно как 0bf00h, а в качестве смещения используется смещение метки Lab_jmp, о чем и говорит выражение OFFSET Lab_jmp.


Ответ отправлен: 14.01.2004, 12:47
Отправитель: Ayl


Отвечает Artemy

Добрый день, Семен!
Этот jmp подразумевает переход на 32 битный адрес (dword ptr). То есть 1-е слово - смещение, а второе - сегмент.


Ответ отправлен: 14.01.2004, 09:45
Отправитель: Artemy


 Вопрос № 4809

Здравствуйте уважаемые эксперты.
Где можно достать справочник повсем
прерываниям BIOS на русском языке?



Вопрос отправлен: 13.01.2004, 19:56
Отправитель: Петя

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

Отвечает Евгений Иванов

Здравствуйте, Петя!
http://http//nortonguide.virtualave.net/
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 14.01.2004, 14:04
Отправитель: Евгений Иванов


 Вопрос № 4811

Здравствуйте ув. эксперты.
Где можно скачать справочник по
API функциям на русском?



Вопрос отправлен: 13.01.2004, 19:58
Отправитель: Frost

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

Отвечает never_again

Добрый день, Frost!
Лучше чем MSDN нет. так, что учи английский.


Ответ отправлен: 14.01.2004, 02:16
Отправитель: never_again


Отвечает Artemy

Доброе время суток, Frost!
http://www.bcbdev.ru/winapi.htm

Ответ отправлен: 14.01.2004, 09:49
Отправитель: Artemy


Отвечает SedHg

Приветствую Вас, Frost!
Я видел небольшой( примерно 200 стр) справочник на
сайте asm.shadrinsk.net. Только он on-Line.


Ответ отправлен: 15.01.2004, 00:45
Отправитель: SedHg


Отвечает Евгений Иванов

Доброе время суток, Frost!
Это место Ассемблера, никак не поиска и НИКАК не окон!!!!
uhhhh//
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 15.01.2004, 12:36
Отправитель: Евгений Иванов


 Вопрос № 4812

Здравия желаю!
Я все со свом резидентом.
Я перехватываю прерывание на удаление файла, а вот как мне узнать имя файла который собираются удалить.
Думал, что если в АХ - код функции (41Н), то в DX - будет его имя, но там что-то такое непонятное...
Может кто-то нает как это сделать, а?



Вопрос отправлен: 13.01.2004, 21:46
Отправитель: Denis (mikelangello@ukr.net)

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

Отвечает Ayl

Здравствуйте, Denis!
Итересно, а как ты собирался в 16-битный регистр записать имя файла? На самом деле, адрес строки, которая содержит путь к файлу, находится в ds:dx - регистр ds содержит сегмент, регистр dx - смещение. Строка представляет собой последовательность байт, завершаемую нудевым байтом.


Ответ отправлен: 14.01.2004, 13:40
Отправитель: Ayl


Отвечает Artemy

Здравствуйте, Denis!
Не в DX а в DS:[DX]... и это большая разница.

Ответ отправлен: 14.01.2004, 09:50
Отправитель: Artemy


Отвечает Евгений Иванов

Здравствуйте, Denis!
ds:dx
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 15.01.2004, 12:38
Отправитель: Евгений Иванов


 Вопрос № 4813

Приветствую Вас!!!
Вопрос:
Мне необходимо чтобы запускался один экземпляр моей проги, и если он запущен то окно становилось активным, с первой частью я справился:
invoke CreateMutex, NULL, TRUE, addr ClassName
push eax ;для CloseHandle хендл hMutex
invoke GetLastError
cmp eax,ERROR_ALREADY_EXISTS
jnz mMutex1
call CloseHandle
;Тут типа выход т к эта прога уже запущена
mov eax,TRUE
ret
mMutex1: pop eax
а как со второй частью????
помогите плиз!!



Вопрос отправлен: 13.01.2004, 22:17
Отправитель: Agny (agny@mail.ru)

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

Отвечает Dark_Lord

Здравствуйте, Agny!
SetForegroundWindow(hWnd); - окно, чей handle передан этой функции будет находиться поверх всех окон, после чего SetFocus(hWnd); активизирует окно!

Ответ отправлен: 13.01.2004, 22:43
Отправитель: Dark_Lord


Отвечает vitya

Приветствую Вас, Agny!
Что бы это все работало как следуетб мьютекс надо закрывать CloseHandle перед завершением программы. Иначе второй экземпляр по загрузится в память.

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


Отвечает Artemy

Добрый день, Agny!
Лучше ищи свое окно с помощью FindWindow и если таковое уже есть посылай ему WM_ACTIVATE а потом завершай программу.

Ответ отправлен: 14.01.2004, 09:55
Отправитель: Artemy


Отвечает Евгений Иванов

Здравствуйте, Agny!
setforegroundwindow
activatewindow
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 15.01.2004, 13:25
Отправитель: Евгений Иванов


 Вопрос № 4814

Trojan.Win32.Dilya
что это за вирь, кто подскажет.
Пришел файлик сом овский 24 кило.
Нет ли среди вас экспереметаторов дизассемблировать?
И расказть коротко, что там мы увидим , или 25 кило нало долго разгребать?
Я к тому, что в аптейте со 2числа появился,описания нет.
Где прописывается, и что делает,так хочется узнать.



Вопрос отправлен: 13.01.2004, 23:30
Отправитель: Quench (quench@mail.ru)

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

Отвечает Maverick

Доброе время суток, Quench!
Давай его мне на мыл, будет время, погляжу.
maverick@nightmail.ru


Ответ отправлен: 15.01.2004, 11:09
Отправитель: Maverick


 Вопрос № 4816

Здравствуйте, эксперты.
Вопрос у меня не совсем по ассемблеру, но все-таки...
Можно ли как-нибудь в WinNT (2000,XP) противостоять функции TerminateProcess. То есть у меня есть программа и хотелось бы, чтобы перед ее уничтожением с помощью этой функции, она выполняла какие-нибудь действия (например закрывала открытые файлы, завершала дочерние процессы и т.д.)
P.S. Посылку сообщений не предлагайте, не подходит.



Вопрос отправлен: 14.01.2004, 10:55
Отправитель: Eugene

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

Отвечает Dark_Lord

Здравствуйте, Eugene!
При завершение процесса во всяком случае закрываются все handle используемые только этим процессом!

Ответ отправлен: 14.01.2004, 18:43
Отправитель: Dark_Lord


Отвечает Bob Johnson

Здравствуйте, Eugene!
Попробуй сделать так, чтобы твой процесс запустил пользователь SYSTEM.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 18.01.2004, 00:32
Отправитель: Bob Johnson


 Вопрос № 4817

Hello,
Вот прога на асме:
CSEG segment
org 100h
Begin:
mov ah,9
mov dx,offset mess1
int 21h

mov ah,9
mov dx,offset mess2
int 21h

int 20h

mess1 db 'mess1$'
mess2 db 'mess2$'
CSEG ends
end Begin
как вы поняли выводит строку с текстом, фрагмент
mov ah,9
mov dx,offset mess1
int 21h
повторяется два раза в этой проге, тоже самое и
mess1 db 'mess1$'
mess2 db 'mess2$'
Так вот вопрос такой, а что можно бесконечно загружать данные в
регистр DX, AH, и бесконечно выводить строку mess1 db, mess2 db...
mess20 db и т.д.????
Благодарю.



Вопрос отправлен: 14.01.2004, 13:01
Отправитель: Alexander

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

Отвечает vitya

Здравствуйте, Alexander!
Бесконечно не выйдет, но достаточно долго можно.

Ответ отправлен: 14.01.2004, 16:18
Отправитель: vitya


Отвечает Artemy

Доброе время суток, Alexander!
Странный какой-то вопрос... :-)
Конечно можно.

Ответ отправлен: 14.01.2004, 13:23
Отправитель: Artemy


Отвечает VOVAN

Приветствую Вас, Alexander!
можно.

Ответ отправлен: 14.01.2004, 13:44
Отправитель: VOVAN


Отвечает Ayl

Добрый день, Alexander!
Ничего не понял по вопросу. Что значит "бесконечно загружать данные в регистр DX, AH, и бесконечно выводить строку mess1 db, mess2 db, ..., mess20 db и т.д.?"?
Регистр - это переменная процессора. Соотвественно, ты туда в любой сосент времени можешь записать все, что угодно. При этом старое значение будет потеряно.
mess1 db ... - это описание переменной в памяти. Их ты можешь завести столько, сколько тебе надо, только с учетом ограниченности одного сегмента. Обычно свои переменные помещаются в сегмент данных, который не может превышать 64Кб. Вот и считай, сколько переменных ты можешь описать.


Ответ отправлен: 14.01.2004, 13:47
Отправитель: Ayl


Отвечает never_again

Здравствуйте, Alexander!
Ага.


Ответ отправлен: 14.01.2004, 23:28
Отправитель: never_again


Отвечает Евгений Иванов

Доброе время суток, Alexander!
хоть миллион раз
* EMan: -=- Любовь существует! =-=


Ответ отправлен: 15.01.2004, 13:27
Отправитель: Евгений Иванов


Отвечает SedHg

Доброе время суток, Alexander!
Если под данными ты подразумеваешь строки, то знай в регистр DX помещается не строка, а только адрес по которому эта строка находится.
Если ты не знаешь, команда mov помещает в регистр что-либо затирая прежнее значенее, поэтому можно этот кусок кода повторять бесконечное количество раз.
Единственное что тебя ограничивает - это размер com-файла -64 кб, но в 64 кб можно столько строк запихнуть, что руки отвалятся их набивать =).


Ответ отправлен: 15.01.2004, 16:31
Отправитель: SedHg


Отвечает Bob Johnson

Добрый день, Alexander!
Конечно. Процессор - это не презерватив :) Он многоразовый - делай то, что ты хочешь и столько, сколько хочешь.

* EMan1.5: ---===*** The game we play ***===---


Ответ отправлен: 18.01.2004, 00:32
Отправитель: Bob Johnson



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

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (24)
C / C++ (17)
Perl (4)
Builder / Delphi (18)
Pascal (19)
Basic / VBA (5)
Java / JavaScript (5)
PHP (13)
Криптография (5)
WinAPI (12)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (58)
"Железо" (30)
Поиск информации (20)
Администратору
Windows NT/2000/XP (28)
Linux / Unix (10)
Юристу
Гражданское право (14)
Семейное право (10)
Трудовое право (11)
КоАП (10)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.


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

В избранное