Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 285
от 09.06.2002, 02:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 375 Отправлено ответов: 1007 Активность: 268.5 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Beeblebrox Статус: Опытный Общий рейтинг: 129.42 URL: Beeblebrox / TMA HomePage [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 162.47 [Подробней >>] |
Vint by Shz Статус: Доверительный Общий рейтинг: 118.35 [Подробней >>] |
AnSim Статус: Доверительный Общий рейтинг: 115.57 [Подробней >>] |
Александр Статус: Опытный Общий рейтинг: 120.09 [Подробней >>] |
Dark_Lord Статус: Доверительный Общий рейтинг: 118.56 [Подробней >>] |
igorash Статус: Опытный Общий рейтинг: 137.85 [Подробней >>] |
UFO Статус: Опытный Общий рейтинг: 121.02 [Подробней >>] |
DiGiT Статус: Профессиональный Общий рейтинг: 144.88 [Подробней >>] |
Артём Шегеда Статус: Профессиональный Общий рейтинг: 130.63 URL: Пристанище неодинокого программиста [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 153.28 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 305. Уважаемые экперты! Объясните, пожалуйста, как написать Win32 приложение на MASM32 v.7 размером менее... (ответов: 3)
Вопрос № 306. Уважаемые эксперты! Помогите плз, как перехватывать запуск и завершение программ в Windows 9X С ув. ... (ответов: 2)
Вопрос № 307. Здравствуйте товарищи Эксперты. Вот решил я написать совершенно без обидную программу для подшучиван... (ответов: 2)
Вопрос № 308. Здравствуйте эксперты! Эксперт Александр большое спасибо за формулы. Но я хочу тебя чуть-чуть поправ... (ответов: 2)
Вопрос № 309. Уважаю!!! Чукча не писатель - чукча читатель:(... (ответов: 3)
Вопрос № 310. Огромное СПАСИБО эксперту Александру, за хорошую регистрационную карточку! Работает очень хорошо! У ... (ответов: 1)
Вопрос № 311. Привет тем кто читает это письмицо. уУ меня токая просьба не подскаже где я мог-бы скачать soft-ice ... (ответов: 3)
Вопрос № 312. Здравствуйте , уважаемые эксперты . Буду краток . Являюсь вашим подписчиком , но ещё делаю первые ... (ответов: 5)
Вопрос № 313. Если возможность, послать сканкод в 60-ый порт не нажатием на клавишу, а "вручную"(out 60h... (ответов: 4)
Вопросов: 9, ответов: 25
Вопрос № 305 |
Уважаемые экперты! Объясните, пожалуйста, как написать Win32 приложение на MASM32 v.7 размером менее 1024 байта? (пусть оно даже не выполняет ни каких полезных действий). Минимальное работающее приложение, на сколько я в этом понимаю, выглядит примерно так:
.386
.model flat, stdcall
option casemap: none
include masm32includewindows.inc
include masm32includekernel32.inc
includelib masm32libkernel32.lib
.code
main:
invoke ExitProcess, NULL
end main
После компиляции и линковки средствами MASM32, приложение занимает 1536 байт! Но! Если получившийся .obj линковать так:
link test.obj /MERGE:.rdata=.text /SECTION:.text,ERWX /IGNORE:4078
то приложение "усыхает" до 1024 байт! Это я к чему, есть прога, Win32 без сомнения, весит 512 байт! При этом выполняет некоторые полезные действия!
Вся беда в том, что она писалась под NASM. Есть предположение, что у этой проги отсутствует, скорее изменён (урезан), DOS STUB, скоре всего и PE заголовок урезан тоже. На сколько я знаю assm при компиляции вписывает в файл свой DOS STUB, как его изменить (вставить свой?). Не поверю, что MASM32, в отличии от NASM, этого не умеет! Как писать свой PE. И, если можно, примерчик пожалуста! Ведь тема то интересная :) Зарание спасибо всем ответившим.
Вопрос отправлен: 04.06.2002, 12:01
Отправитель: UniQ
[Следующий вопрос >>] [Список вопросов]
Отвечает Beeblebrox
Добрый день, UniQ!
Поищи программу tinystub (у меня в ридми к ней ссылка http://crayzee.cjb.net or http://crayzee1.cjb.net, не уверен, рабочая ли)
А также wipereloc (там же). Эти две утилиты позволяют сделать PE файл минимально возможным.
Слово "заранее" пишется через е :)
Ответ отправлен: 04.06.2002, 12:35
Отправитель: Beeblebrox
Отвечает masquer
Добрый день, UniQ!
Во-первых, ни в коем случае не переходи на тасм, он достаточно некорректно работает.
Во-вторых свой стуб можно прикрутить опцией линкера /STUB:filename. Дальше, минимально возможный размер ДОС заголовка 8 байт, в зависимости от того, что попадет на смещение 3Ch от начала (может и больше 8 байт). Если не делать размер секции кратной 200h, то, в принципе, размер может быть уменьшен по 512 байт и меньше. Что значит, как писать свой РЕ? Если какие-то конкретные вопросы - спрашивай, а описалова РЕ-формата в сети - немеряно, начиная от МСДН. Примерчик чего? А тема интересная, но только в качестве информативности, а для серьезных проектов не рекомендуются подобные извраты.
Ответ отправлен: 04.06.2002, 19:25
Отправитель: masquer
Отвечает Vint by Shz
Добрый день, UniQ!
Я советую: слазь с Масма и сядь на Тасм 5, но ето тока для простых прог.А для сложных размер не так уж и важен!
Ответ отправлен: 04.06.2002, 19:10
Отправитель: Vint by Shz
Вопрос № 306 |
Уважаемые эксперты!
Помогите плз, как перехватывать запуск и завершение программ в Windows 9X
С ув. Lenin
Вопрос отправлен: 04.06.2002, 12:16
Отправитель: Lenin (bveb0205@bvev.minsk.by)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Lenin!
Это у тебя получиться с vxd, еще можно хук установить, если программа уже запущена, то используй FindWindow, и потом завершай
Ответ отправлен: 04.06.2002, 19:30
Отправитель: masquer
Отвечает Vint by Shz
Доброе время суток, Lenin!
Да,а,а,а,а,а! А ты с луны не падал? Тебе не говорили,што надо ТОЧНО писать Проблему??
Ну ладно, для первого раза можно! Догадываюсь, ну прямо IDA,тот тоже тока догадывается,: тебе надо в софтайсе перехватить.Если да, то загрузи прогу с помощью симболлоадера, ну если не канает( бываю умные проги!) ставь брейкпойнт на GetModuleHandleA , у радуйся (его юзают вче6 проги в самом начале!)
Удачи!
С уважением Stalin!
Ответ отправлен: 04.06.2002, 19:10
Отправитель: Vint by Shz
Вопрос № 307 |
Здравствуйте товарищи Эксперты.
Вот решил я написать совершенно без обидную программу для подшучивания над друзьями.ТАК вот эта программа вычесляет
кешированый пароль,потом помещает его в переменную password,
и открывает браузер который соединяеться с CGI-скриптом,и отправляет пароль на мыло.
НУ вот одна проблема,почему-то эта программа у меня не компилиться.
Товарищи эксперты скажите пожалуста в чём проблема ?
В приложение привожу исходник :
Приложение:
Вопрос отправлен: 04.06.2002, 16:39
Отправитель: Chapaev
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Chapaev!
Эта функция (WNetEnumCachedPasswords) находится в библиотеке mapi32.dll. Ее прототипов нет в библиотеках МАСМ. Внизу пример, как можно вызывать ее. Можно самому попрописывать прототипы и либ файл сделать, как не помню, утилиты кажеться есть для этого. И разберись со строковыми данными. Пока все что увидел, но сильно не присматривался :)
Приложение:
Ответ отправлен: 04.06.2002, 19:47
Отправитель: masquer
Отвечает AnSim
Добрый день, Chapaev!
Безобидная гороришь???
А потом тебе помочь написать алгоритм распространения - и вирус (или, скорее всего червяк) готов!
Администраторам - БОРИТЕСЬ С НЕПРАВИЛЬНЫМИ ОТВЕТАМИ или
ХОТЯ-БЫ ЭТО УКАЗЫВАЙТЕ или НЕ ПУБЛИКУЙТЕ (бывают такие безграмотные...) :(
Ответ отправлен: 05.06.2002, 09:43
Отправитель: AnSim
Вопрос № 308 |
Здравствуйте эксперты!
Эксперт Александр большое спасибо за формулы. Но я хочу тебя чуть-чуть поправить, k=min(kx, ky).
P.S. Принимаю критику по поводу моего корявого правописания!
P.S.S. Удачи…!
Вопрос отправлен: 04.06.2002, 18:01
Отправитель: kuper
[Следующий вопрос >>] [Список вопросов]
Отвечает AnSim
Приветствую Вас, kuper!
поэтому перечитывать надо то, что написал...
Е.А. Соболева на вас нет :)
Ответ отправлен: 05.06.2002, 09:43
Отправитель: AnSim
Отвечает Александр
Приветствую Вас, kuper!
Ха-ха!!! Поправил. Так если ты минимальный возьмёшь, то у тебя по другому направлению будет картинка обрезаться или выходить за размеры области вывода. Ты сначала попробуй, а потом, если будет неправильно работать, сообщишь заинтересованной общественности дополнительно.
Ответ на P.S. Это не критика, это всего лишь пожелание.
Ответ на P.P.S. Тебе тоже(добавь в чём тебе нужнее).
Ответ отправлен: 07.06.2002, 14:12
Отправитель: Александр
Вопрос № 309 |
Уважаю!!!
Чукча не писатель - чукча читатель:(
Вопрос отправлен: 04.06.2002, 18:41
Отправитель: re666_im7
[Следующий вопрос >>] [Список вопросов]
Отвечает Dark_Lord
Приветствую Вас, re666_im7!
Вы забываете зачем созданы такие форумы! В них умные ЛЮДИ обмениваются информацией!
Ответ отправлен: 04.06.2002, 21:16
Отправитель: Dark_Lord
Отвечает Vint by Shz
Однако,прав! Геолог не хахаль ,геолог-.......!
Ответ отправлен: 04.06.2002, 19:38
Отправитель: Vint by Shz
Отвечает igorash
Доброе время суток, re666_im7!
Спасибо....
з.ы. Как там в Чукотке, не холодно???
Ответ отправлен: 05.06.2002, 20:19
Отправитель: igorash
Вопрос № 310 |
Огромное СПАСИБО эксперту Александру, за хорошую регистрационную карточку! Работает очень хорошо! У меня была версия 1.0, а по мылу получил 1.2а -полностью пропчила-пока не заметил ни одного бага!
Ну удачи всем!
Вопрос отправлен: 04.06.2002, 19:38
Отправитель: Vint by Shz
[Следующий вопрос >>] [Список вопросов]
Отвечает AnSim
Добрый день, Vint by Shz!
А че за карточка - по мылу напишите
Ответ отправлен: 05.06.2002, 09:44
Отправитель: AnSim
Вопрос № 311 |
Привет тем кто читает это письмицо. уУ меня токая просьба не подскаже где я мог-бы скачать soft-ice 4.5 рыскал можно сказать везьде не нашел спасибо всем кто ответит и кто не ответит
Вопрос отправлен: 04.06.2002, 22:32
Отправитель: mirgasan
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, mirgasan!
Ну, айс не найти! По-моему, в любом поисковике набираешь и получаешь кучу ссылок. Я таким образом Numega DriverStudio 2.6 последний нашел, ну а в нем SoftIce, тоже последний.
Ответ отправлен: 04.06.2002, 23:23
Отправитель: masquer
Отвечает Vint by Shz
Драствуй,драствуй.
А ты уверен шо он есть???????? Да и на черта от тебе????
посади любой от 4 , и сиди. Ну если надо,,, в моёй документации к 4.09 версий указана ,что апергейд мона найти на http:\www.numega.com ,ну а как скачае-сообщи !
У меня всё!
Удачи!
Ответ отправлен: 04.06.2002, 23:45
Отправитель: Vint by Shz
Отвечает UFO
Здравствуйте, mirgasan!
4.05 кажись последний дальше он идет в комплекте Driver Studio.
Странно вы все таки ищете
http://www.exetools.com/
Ответ отправлен: 05.06.2002, 04:00
Отправитель: UFO
Вопрос № 312 |
Здравствуйте , уважаемые эксперты .
Буду краток . Являюсь вашим подписчиком , но ещё делаю первые шаги в области программирования .
У меня вопрос такой . Переодически в win98 всплывает сооьщение следуещего содержания :
Программа ZM32 вызвала сбой при обращении к странице памяти в модуле KERNEL32DLL по адресу 018f:bff9dff .
Может кто-нибудь разъяснит , что это такое .
Вопрос отправлен: 04.06.2002, 22:47
Отправитель: сергей (fot_sergey@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, сергей!
Ну ты неправильно написал адрес, после двоеточия долно 8 символов идти. Так что у тебя 2 варианта: либо кидаешь сюда твой код, либо ищешь, какой функции принадлежит этот адрес. Потом смотришь код перед этой функцией и ищещ там ошибку - выбирай сам.
Ответ отправлен: 04.06.2002, 23:27
Отправитель: masquer
Отвечает Vint by Shz
Приветствую Вас, сергей!
Тут может быть несколько вариантов смотри:
1.Прога неизвестного происхожодения, хотя и сд вызывает какие-нибудь АПИ функции,но при етом передаёт им не правильный параметры.Лечение-выкинуть прогу, плюнь в продавца етого барахла,а если продвинутый кодер -попробовать исправить.
2. Ты писал прогу под винды, и при её запуске вылетает ошибка.Проверь весь листинг очень внимательно,запусти енный дебагер под WIN32 и пройдись пошага=-сам увидиш трабл!
3.Глюк вылетает без видимых причин(проги не запускал особо ни дилал ни чего).Одна причина- пора переустановить винды!Этот глюк от старых записей в реестре, исправления системных DLL и другово дерьма в ядре оси, но в огсновном виноват "мусор" накапливающийся в ходе работы на форточках.Выход- загрузиться с дискеты(СД диска) и набить Format c:/q , и посадить ось по новому!
Удачи!!!!!!!!!!
Но я считаю, что у тебя 3 вариант.
У меня всё!
Удачи!
Ответ отправлен: 04.06.2002, 23:45
Отправитель: Vint by Shz
Отвечает DiGiT
Доброе время суток, сергей!
Обращение к защищенной области памяти. Две причины: 1) Глюк винды 2) Корявая прога 3) Вирь, который порочит первые две
Ответ отправлен: 05.06.2002, 05:30
Отправитель: DiGiT
Отвечает AnSim
Доброе время суток, сергей!
Это вопрос не по программированию.
запусти msconfig и посмотри, что у тебя висит в автозагрузке
я не помню программу с таким именем, нужную для работы виндов
короче - несовместимые версии ядра kernel32.dll и этой проги. надо их по-очереди переустановить и посмотреть результат.
Млин, такую элементарщину объяснять приходится людям, у которых нет времени и денег на нормальную литературу :(
Ответ отправлен: 05.06.2002, 09:49
Отправитель: AnSim
Отвечает igorash
Здравствуйте, сергей!
Все очень просто. "Программа ZM32 вызвала сбой при обращении к странице памяти в модуле KERNEL32DLL по адресу 018f:bff9dff". Еще можно "дополнительно" нажать и стек с флагами посмотреть. Вот только проги такой в винде (после установки) нету, значит это какой-то сторонний софт, и он глючит. ПРога эта по идее для работы винды не сильно важна, так что можешь ее смело сносить, но из ДОСа отому что она вроде там где-то в автозагрузке. Кстати можешь пробить где она находится. Если где-то в системных папках, то это возможно троян какой-то кривой. Короче разберись с ней сам, просто реши надо она тебе или нет. Можешь не удалять сразу, а расширение к примеру поменять, если ваще че-то бует плохо, то поставишь назад.
Ответ отправлен: 05.06.2002, 20:21
Отправитель: igorash
Вопрос № 313 |
Если возможность, послать сканкод в 60-ый порт не нажатием
на клавишу, а "вручную"(out 60h,al). У меня почему-то не получилось,в порте остался старый сканкод после нажатия Enter
Вопрос отправлен: 05.06.2002, 02:17
Отправитель: Speedy Gonsalez (kiselevo@mtu-net.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Артём Шегеда
Здравствуйте, Speedy Gonsalez!
А давай мы посмотрим, что получится, если в вулкан бензинчику плеснуть - польётся ли он обратно?
Почитай TechHelp - там подробненько расписано, для чего предназначен порт 60h. Максимум, что выжмешь, - это код 0EEh: пишешь его в порт, а затем читаешь обратно. Это сделано для диагностических целей.
Ответ отправлен: 05.06.2002, 14:02
Отправитель: Артём Шегеда
Отвечает Broken Sword
Приветствую Вас, Speedy Gonsalez!
Если будешь out-ить в 60h порт то этот байт будет воспринят как команда (например, 0EDh-изменить состояние светодиодов, 0F3h-установить параметры режима автоповтора и т.д.), причем в этом случае в 64h порту 1 бит должен быть равен 0.
Вообще впринципе если подкрутить 64h порт (а конкретно 0,1 и 3 биты) может чето и получится.
Ответ отправлен: 05.06.2002, 16:54
Отправитель: Broken Sword
Отвечает Dark_Lord
Доброе время суток, Speedy Gonsalez!
порт 60h не для записи! Записовая в него ты даёшь команду процессору!
Ответ отправлен: 05.06.2002, 20:09
Отправитель: Dark_Lord
Отвечает Александр
Привет, Speedy GonsCHIK!
Ну, ты себе что-то неправильно представляешь. Для чего ты пытаешься вывести в порт скан-код клавиши? Чтобы она отжалась или чтобы нажалась? Вывод в этот порт обычно используется для передачи параметров команды, которая была перед этим заслана в порт 64h. Если же ты хочешь обмануть какую-то программу, то для этих целей в Windows достаточно послать соответствующий Message, а в ДОС - перехватывать прерывание int 9h.
Ответ отправлен: 07.06.2002, 14:12
Отправитель: Александр
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (49) C / C++ (28) Perl (10) Delphi (15) Pascal (26) Basic / VBA (15) Java / JavaScript (8) PHP (8) MySQL / MSSQL (6) |
Пользователю Windows 95/98/Me (47) Windows NT/2000/XP (34) "Железо" (39) Поиск информации (21) |
Администратору Windows NT/2000/XP (15) Linux / Unix (10) |
Юристу Гражданское право (10) Семейное право (4) Трудовое право (6) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||