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

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.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
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)

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




be number one Яндекс цитирования

© 2002 Россия, Москва. Авторское право: RusFAQ.ru


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

В избранное