Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 591
от 15.07.2003, 00:20
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3701 Отправлено ответов: 10865 Активность: 293.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Евгений Иванов Статус: Доверительный Общий рейтинг: 131.81 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152 URL: Программирование [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 122.68 [Подробней >>] |
vitya Статус: Профессиональный Общий рейтинг: 108.07 [Подробней >>] |
baldr Статус: Профессиональный Общий рейтинг: 112.19 URL: Сайт об ОС DOS. Всем, кто любит эту ОС! [Подробней >>] |
Zedr0n Статус: Доверительный Общий рейтинг: 108.87 [Подробней >>] |
Tigran K. Kalaidjian Статус: Профессиональный Общий рейтинг: 121.08 URL: Методы оптимизации работы ПК [Подробней >>] |
ASMодей Статус: Профессиональный Общий рейтинг: 113.69 [Подробней >>] |
Andy Статус: Начальный Общий рейтинг: 108.63 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.31 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 121.64 URL: мой сайт [Подробней >>] |
Hangatyr Статус: Опытный Общий рейтинг: 114.32 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3669. Здравствуйте, эксперты ! Моему другу дали задание. Программа считывает в память файл и затем,не обра... (ответов: 2)
Вопрос № 3670. Добрый день, ув. эксперты ! Уже около месяца меня беспокоит вопрос по диалоговым окнам. Очень Вас пр... (ответов: 2)
Вопрос № 3671. Здравствуйте, уважаемые эксперты! Пробовал я использовать в VC++ асмовский код. Работает прекрасно, ... (ответов: 6)
Вопрос № 3673. хубба, ответь на вопросы: Ты долба#$б? Или нет? Шизофреник? Или просто тормоз(типа не )? Ко всем э... (ответов: 4)
Вопрос № 3676. Вам не кажется, что Hubba и Наталья Березовец - это один и тот же человек? Собрались, извините за не... (ответов: 3)
Вопрос № 3677. Товарищи специалисты помогите с конвертером мне надо растровое изображение перевести в векторное(Же... (ответов: 1)
Вопрос № 3678. Подскажите,пожалуйста,где можно добыть исходник хорошего трояна на Win32, написанного на ASM! Нужен ... (ответов: 2)
Вопрос № 3679. Всем мои Приветствия!!! В книге Зубкова - "Assembler для DOS, Windows и Unix" для описания... (ответов: 8)
Вопросов: 8, ответов: 28
Вопрос № 3669 |
Здравствуйте, эксперты !
Моему другу дали задание. Программа считывает в память
файл и затем,не обращаясь к диску, запускает его из памяти.
Программа для Windows. Как это реализовать на Win32 ?
Вопрос отправлен: 09.07.2003, 19:48
Отправитель: IceWINteR (brothers@atnet.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Доброе время суток, IceWINteR!
Для этого есть функция:
The ShellExecute function opens or prints a specified file. The file can be
an executable file or a document file. See ShellExecuteEx also.
HINSTANCE ShellExecute(
HWND hwnd, // handle to parent window
LPCTSTR lpOperation, // pointer to string that specifies operation to perform
LPCTSTR lpFile, // pointer to filename string
LPTSTR lpParameters, // pointer to string that specifies executable-file parameters
LPCTSTR lpDirectory, // pointer to string that specifies default directory
INT nShowCmd // whether file is shown when opened
);
Или:
The ShellExecuteEx function performs an action on a file. The file can be
an executable file or a document.
WINSHELLAPI BOOL WINAPI ShellExecuteEx(
LPSHELLEXECUTEINFO lpExecInfo // pointer to SHELLEXECUTEINFO structure
);
Ответ отправлен: 10.07.2003, 18:09
Отправитель: Евгений Иванов
Отвечает Bob Johnson
Добрый день, IceWINteR!
А что за файл и какого формата? Если обычный exe-pe, то тебе придется реально заморочиться (лучше брось эту идею вообще), т.к. надо будет эмулировать все действия загрузчика.
Если тебе просто надо что-либо запустить, то пиши некое подобие com-файл - т.е. win32-программу, рассчитанную на работу под определенным адресом (например, 500000h), после чего получай память по этому адресу (VirtualAlloc), загружай туда этот файл и делай push 500000h ret.
В случае обычного exe можно открыть его как Memory-mapped-file, весь полностью, прочитать его (это вызовет его загрузку в кэш), после чего выполнить createprocess, который может не стать обращаться к диску, т.к. файл уже в памяти. Но может и обратиться.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 10.07.2003, 23:10
Отправитель: Bob Johnson
Вопрос № 3670 |
Добрый день, ув. эксперты !
Уже около месяца меня беспокоит вопрос по диалоговым окнам.
Очень Вас прошу, не откажите в помощи...
Мне нужно получить доступ к объектам, расположеным на диалоговом окне программы, при том условии, что окно не вызвано.
Т.е. хэндл диалогового окна я не знаю, а знаю только
ID объектов, которые на нем будут находится.
Под "получить доступ" я подразумеваю любые операции над объектами,
например: SendMessage WM_GETTEXT, WM_SETTEXT и т.п.
Может можно как-нибудь создать свое окно и заставить программу подумать, что это ее окно, но я не знаю как.
Возможно вы знаете более легкие способы решения моей задачи. Очень прошу... очень нужно...
Всего доброго !
Сергей.
Вопрос отправлен: 09.07.2003, 21:22
Отправитель: Fantomas
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Fantomas!
Если окно не создано, то никаких элементов нигде нет вообще и получить доступ к ним невозможно. Ты можешь только создать это диалоговое окно в стиле invisible (т.е. невидимое), тогда оно появится, появится его hwnd и все элементы в нем, после этого ты сможешь получить к ним доступ (SendDlgItemMessage, SetDlgItemText и т.д.).
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 10.07.2003, 23:10
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Доброе время суток, Fantomas!
Во первых, тут должно быть много интересного:
http://www.cpetzold.com
Зная номер окна кОнтроля, находишь его родителя.
hwndParent = GetParent (hCtrl) ;
Вообще-то номер окна - главное.
Зная ID, ты ничего не сможешь сделать, только через HWND.
Ответ отправлен: 11.07.2003, 08:48
Отправитель: Евгений Иванов
Вопрос № 3671 |
Здравствуйте, уважаемые эксперты!
Пробовал я использовать в VC++ асмовский код. Работает прекрасно, но когда дело доходит до прерываний (таких, например, как 21h и ещё нескольких) появляются жуткие баги: либо при запуске выдается ошибка, либо вешает винду намертво (пишу в W98). Прочие прерывания (10h, 11h, ...)работают нормально. Помогите, пожалуйста!!!
Вопрос отправлен: 10.07.2003, 07:14
Отправитель: Ренат (renatka_f@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Здравствуйте, Ренат!
Если программа для Win32 - прерывания DOS использовать нельзя, исключение - драйверы устройств.
> Прочие прерывания (10h, 11h, ...)работают нормально.
Нормально, это как ??? :-)
---===*** E-Man 1.4 - waiting for 1.5...***===---
Ответ отправлен: 11.07.2003, 18:56
Отправитель: _vt
Отвечает vitya
Доброе время суток, Ренат!
Понимаете, Ренат, из программы под окна вызывать функции доса - не совсем правильно. Точнееб вообще неправильно. Поэтому такие вещи и происходят. 10 прерывание - это прерывание bios-а, которое не зависит от операционной системы. Оно прошито в компьютер - и поэтому вызовы проходят.
Ответ отправлен: 10.07.2003, 08:54
Отправитель: vitya
Отвечает baldr
Здравствуйте, Ренат!
В винде нельзя вызывать прерывания, ибо там - защищенный режим, а прерывания, по своей сути, работают в реальном.
Ответ отправлен: 10.07.2003, 16:45
Отправитель: baldr
Отвечает Bob Johnson
Приветствую Вас, Ренат!
А ты что, хочешь под виндами досовские функции вызывать? Это невозможно - виндовс предоставляет набор апи-функций, но не прерываний (это же не линух). Например, чтобы вывести текст в консоль используются WriteFile и GetStdHandle.
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 10.07.2003, 23:10
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Приветствую Вас, Ренат!
Зачем тебе в Окнах прерывания РЕАЛЬНОГО режима?
В системе есть покруче функции, без всяких прерываний!
Да, может некоторые функции и хорошо эмулируются, но тебе это нужно?
Не проще ли использовать 32-битный защищённый режим?
А ты пишешь для консоля?
Пишешь программу PE или MZ?
Если MZ (для ДОС), то должны все функции работать.
Приведи кусок кода, где не работает и я скажу, в чём дело.
А гадают на кофейной гуще...
Ответ отправлен: 11.07.2003, 08:50
Отправитель: Евгений Иванов
Отвечает Zedr0n
Здравствуйте, Ренат!
Насколько я знаю, с помощью VC++ нельзя создавать DOS'овские
приложения, а родные win32 приложения работают в защищенном
режиме. В этом-то и состоит проблема. В защищенном режиме
прерывания работать не обязаны. Некоторые прерывания, в том
числе упомянутые вами, в некоторых версиях Windows работают.
Но никакой определенной информации по этому поводу нет.
Поэтому используйте Borland C, а как помочь Вам в данном случае я не знаю.
Ответ отправлен: 12.07.2003, 14:30
Отправитель: Zedr0n
Вопрос № 3673 |
хубба, ответь на вопросы:
Ты долба#$б? Или нет?
Шизофреник?
Или просто тормоз(типа не )?
Ко всем экпертам? А кто знает реальный адрес этого придурка Хуббы? А то бригаду санмтаров к нему прислать бы...
Вопрос отправлен: 10.07.2003, 09:55
Отправитель: hubba (idiot)
[Следующий вопрос >>] [Список вопросов]
Отвечает _vt
Доброе время суток, hubba (idiot)!
Странно, по-мнению автора вопроса, Hubba ответит сам себе (это следует из подписи читателя)... А адрес вроде baldr знает...
Ответ отправлен: 10.07.2003, 14:12
Отправитель: _vt
Отвечает Bob Johnson
Доброе время суток, hubba (idiot)!
zirewin@yandex.ru
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 10.07.2003, 23:10
Отправитель: Bob Johnson
Отвечает Евгений Иванов
Приветствую Вас, hubba (idiot)!
Тоже заметил, что какой-то эксперт отвечает пустышками...
Но зачем же так сердито, может, у него технические проблемы...
Ответ отправлен: 11.07.2003, 08:53
Отправитель: Евгений Иванов
Отвечает Tigran K. Kalaidjian
Приветствую Вас, hubba (idiot)!
Не провацируйте его - хуже будет. Посмотрите, например Mtu.Inform за прошлый год =(
Ответ отправлен: 11.07.2003, 09:09
Отправитель: Tigran K. Kalaidjian
Вопрос № 3676 |
Вам не кажется, что Hubba и Наталья Березовец - это один и тот же человек?
Собрались, извините за неконструктивную критику, здесь мудрейшие корни и не могут избавиться от одного гермофрадита :(
Да, Hubba, раз уж ты всё равно это письмо в рассылку отправишь, то пусть все знают, что ты - ЛОХ.
Вопрос отправлен: 10.07.2003, 20:42
Отправитель: Antonio
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Antonio!
Ты знаешь, а вот я кстати недавно думал об этом - это вполне возможно...
> не могут избавиться от одного гермофрадита
Да дело даже не в нем одном - можно, конечно, его удалить, но он может и еще раз зарегистрироваться... А если закрыть свободную регистрацию, то надо какой-то тест делать и т.д. В общем сложно это все.
> Да, Hubba, раз уж ты всё равно это письмо в рассылку отправишь, то пусть все знают, что ты - ЛОХ.
Согласен. Но если hubba = Наташа Б., то тогда ему еще долго не надоест отвечать на вопросы... :)
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Ответ отправлен: 10.07.2003, 23:11
Отправитель: Bob Johnson
Отвечает Tigran K. Kalaidjian
Здравствуйте, Antonio!
Чего ж Вы сразу наезжаете? Кто сказал, например, что Вы - это не хуба или не один из экспертов (BJ, например?=). Зачем строить предположения, и из них делать выводы, которые могут унизить человека? Я не защищаю этих 2 наших пользователей, но и не советую Вам их оскорблять, т.к. E-MAIL'a своего Вы не оставили, а значит и Вам нельзя отправить ответное письмо на Ваше оскорбление, а 2 человек Вы обозвали в Рассылке на 10тыс. человек. Нехорошо это как-то.
А что хуба-лох знают и без Вас, и вообще не стоит его провоцировать, ему самому станет скучно. Подтверждаю опытом участия в немодерируемой конфе Mtu.Inform
Если есть мысли по этому поводу, пишите на kalaidjian@pochtamt.ru
Ответ отправлен: 11.07.2003, 11:18
Отправитель: Tigran K. Kalaidjian
Отвечает _vt
Добрый день, Antonio!
Действовать против Хубы его же приемами в корне неправильно - достаточно его проигнорировать... А Наталья Березовец ничего плохого никому не сделала - так, неудовлетворенная жизнью дамочка (если, конечно, дамочка:-)). Люди это скорее всего разные...
P.S. Сейчас меня начнут подозревать в хуббизме :-)
---===*** E-Man 1.4 - waiting for 1.5...***===---
Ответ отправлен: 12.07.2003, 01:00
Отправитель: _vt
Вопрос № 3677 |
Товарищи специалисты помогите с конвертером
мне надо растровое изображение перевести в векторное(Желательно в AutoCad)или посоветуйте программку какую-нибудь
Вопрос отправлен: 10.07.2003, 20:42
Отправитель: !!!WeSeL!!! (wesel@piligrim.com.ua)
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Приветствую Вас, !!!WeSeL!!!!
Насколько я знаю, эта задача никем еще до конца не решена, а ты сразу захотел готовый конвертер.
Ответ отправлен: 14.07.2003, 10:14
Отправитель: ASMодей
Вопрос № 3678 |
Подскажите,пожалуйста,где можно добыть исходник хорошего трояна на Win32, написанного на ASM! Нужен не для использования! Пошлите пожалуйста ссылки на сайты с исходниками!
Вопрос отправлен: 11.07.2003, 00:00
Отправитель: Mafia32
[Следующий вопрос >>] [Список вопросов]
Отвечает Tigran K. Kalaidjian
Доброе время суток, Mafia32!
Отослал бы, если б Вы хоть E-MAIL свой указали...
У меня есть исходники на Ассемблере, С, а также Delphi.
Если нужны, то пишите на kalaidjian@pochtamt.ru , указав, что именно Вам нужно.
Ответ отправлен: 11.07.2003, 11:03
Отправитель: Tigran K. Kalaidjian
Отвечает Andy
Приветствую Вас, Mafia32!
Вот держи... только смотри не используй(скачай и удаляй быстрей ;) )
http://www.ishodnikov.net/hacking/trojans/sources.php
Ответ отправлен: 12.07.2003, 16:19
Отправитель: Andy
Вопрос № 3679 |
Всем мои Приветствия!!!
В книге Зубкова - "Assembler для DOS, Windows и Unix" для описания DOS- функции 02h, приводится пример, который выводит на экран все ASCII-символы (16 строк по 16 символов в строке). То же самое я попытался сделать используя INT 29h, но моё творение выводит на экран только две строки и завершает работу. Почему?
И исчо - у меня TASM v5 компилирует под Windows (98SE), а MASM 6.13 только под DOS, под виндой пишет любимую фразу о недопустимойошибке, так надо? или можно и на MASM' е под виндой компилировать?
Спсибо всем!
Приложение:
Вопрос отправлен: 11.07.2003, 00:11
Отправитель: clayman
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, clayman!
Надо так:
Будь внимательней!
Приложение:
Ответ отправлен: 11.07.2003, 13:24
Отправитель: Евгений Иванов
Отвечает Ayl
Добрый день, clayman!
Ты код-то свой хоть проверял? Сначала выводишь символ через прерывание 29h - это правильно. Потом вместо вывода на экран символов с кодами 0Dh и 0Ah делаешь следующее:
> mov al,0Dh
> int 21h
хм... сбросить буферы обмена на диск... Интересный подход...
> mov al,0Ah
> int 21
А это что за вызов? В прерывании 15h (15h = 21!) нет функции 0Ah
См. в приложении работающую прогу. Криво выводится только первая строка, т.к. там несколько управляющих символов "заныкалось" - BS, Tab, LF, CR и т.п. Можно и их обработать, но не хотелось перегружать прогу.
Второй вариант - вывод с помощью прямого отображения в память, здесь табличка строится очень ровно.
Приложение:
Ответ отправлен: 11.07.2003, 11:18
Отправитель: Ayl
Отвечает Broken Sword
Добрый день, clayman!
Удивительно как это у тебя две строки выводятся - по идее должна одна: перед первым int 21h в AH лежит 0, а это функция выхода
Ответ отправлен: 11.07.2003, 18:11
Отправитель: Broken Sword
Отвечает Hangatyr
Приветствую Вас, clayman!
1. Что же тут удивительного? Выводишь с помощью int 29h, а 0dh и 0ah с помощью вызова int 21h (при этом ah равен непонятно чему).
2. Можно при большом желании, но лучше использовать Masm32.
Приложение:
Ответ отправлен: 11.07.2003, 05:59
Отправитель: Hangatyr
Отвечает Tigran K. Kalaidjian
Доброе время суток, clayman!
Замените строки 12 и 14 на:
int 29h
И все будет в порядке.
У Вас ошибка из-за неправильного использования int21h, а в строке 14 это вообще int15h.
Ответ отправлен: 11.07.2003, 09:22
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Доброе время суток, clayman!
1. Если ты стал использовать прерывание 29h для вывода текста, то зачем ты используешь 21h для вывода символа 0Dh?
2. Ну а что такое int 21?
-------
в общем см. приложение
* EMan1.4: ---===*** Have your friend the way you would like him to have you ***===---
Приложение:
Ответ отправлен: 12.07.2003, 00:40
Отправитель: Bob Johnson
Отвечает _vt
Доброе время суток, clayman!
По-твоему, для перевода строки можно использовать любое прерывание??? :-)
Ведь вместо int 21h надо везде подставить int 29h, а у тебя то 21h, то просто 21...
---===*** E-Man 1.4 - waiting for 1.5...***===---
Ответ отправлен: 12.07.2003, 01:00
Отправитель: _vt
Отвечает Zedr0n
Доброе время суток, clayman!
Нет, я, может быть, чего-то не понимаю, но с чего у Вас
здесь:
mov al,0Dh
int 21h
mov al,0Ah
int 21
вместо
mov al,0Dh
int 29h
mov al,0Ah
int 29h
Наверное, опечатка ;) Но так все работает. Лично я советую
писать комментарии, очень помогает избегать ошибок. ;)
Ответ отправлен: 12.07.2003, 14:37
Отправитель: Zedr0n
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (34) C / C++ (22) Perl (5) Builder / Delphi (16) Pascal (23) Basic / VBA (9) Java / JavaScript (11) PHP (9) MySQL / MSSQL (8) Криптография (6) WinAPI (8) |
Пользователю Windows 95/98/Me (32) Windows NT/2000/XP (27) "Железо" (24) Поиск информации (16) |
Администратору Windows NT/2000/XP (15) Linux / Unix (5) |
Юристу Гражданское право (10) Семейное право (5) Трудовое право (9) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||