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

Ассемблер? Это просто! Учимся программировать


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Assembler (Ассемблер)

Выпуск № 560
от 01.10.2006, 00:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 346, Экспертов: 30
В номере:Вопросов: 5, Ответов: 8


Вопрос № 56631: Хм. Просмотрев вопрос №56560 у меня возник свой - можно ли в качестве заставки рабочего стола использовать не файл, лежащий на диске - а какую-нить bmp-шку, вшитую в ресурсный файл программы?...
Вопрос № 56675: Здравствуйте уважаемые эксперты. Делал программу что бы она выводила 3 символ в окне чё-то "Не туда обратилась".Гляньте чё не так. Я на вас надеюсь....
Вопрос № 56682: Здравствуйте.Спасибо mix_mix за ответ, но я ничего не понял! Обьясните поподробне пожалуста. Есть прога :(см. приложение), есть MASM32, при компиляции MASM пишет fatal error a1000:cannot file: masm32 include windows.inc или fatal error a1000:canno...
Вопрос № 56698: Здравствуйте ! Как можно узнать размер файла, не используя функцию поиска ?...
Вопрос № 56699: Здравствуйте ! Не подскажете, как открыть найденный файл(функцией 4еh) ?...

Вопрос № 56.631
Хм. Просмотрев вопрос №56560 у меня возник свой - можно ли в качестве заставки рабочего стола использовать не файл, лежащий на диске - а какую-нить bmp-шку, вшитую в ресурсный файл программы?
Отправлен: 25.09.2006, 11:36
Вопрос задал: Pinkbyte (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: n0name
Здравствуйте, Pinkbyte!
Скорее всего нельзя, или можно, но недокументированными способами.
Как explorer узнает какие сейчас обои после перезагрузки компьютера. А что вам мешает сохранить bmp-шку на диск?
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 25.09.2006, 13:02
Оценка за ответ: 3
Комментарий оценки:
В принципе ничего. Но хотелось бы, чтобы это действие нельзя было просто отследить(хочу над другом приколоцца! :)), а юзать для этого API-Hooking не хочецца. Вообще-то XP насколько я знаю автоматически копирует bmp при установке ее в качестве обоев рабочего стола в папку пользователя... Или я не прав?


Вопрос № 56.675
Здравствуйте уважаемые эксперты.
Делал программу что бы она выводила 3 символ в окне чё-то "Не туда обратилась".Гляньте чё не так.
Я на вас надеюсь.

Приложение:

Отправлен: 25.09.2006, 18:39
Вопрос задал: ENS (статус: 2-ой класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: n0name
Здравствуйте, ENS!
Вместо
mov eax,[pMemory]
mov edx,[eax+3]
надо просто
mov eax,pMemory
mov edx,[eax+3]
Это в fasm'e для обращения к значению переменной нужно заключать её в [].
Ответ отправил: n0name (статус: 6-ой класс)
Ответ отправлен: 25.09.2006, 19:06
Оценка за ответ: 5


Вопрос № 56.682
Здравствуйте.Спасибо mix_mix за ответ, но я ничего не понял! Обьясните поподробне пожалуста. Есть прога :(см. приложение), есть MASM32, при компиляции MASM пишет fatal error a1000:cannot file: masm32 include windows.inc или fatal error a1000:cannot file: masm32 include user32.inc .Как я понял они должны находится в асме но их там нет (не в масм32, не в масм61.

Приложение:

Отправлен: 25.09.2006, 20:17
Вопрос задал: Maslin (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ENS
Здравствуйте, Maslin!
В программе ошибок нет. Если МАСМ пишет что файлы не найдены - значит это так.
Эти файлы либо где то ещё либо их вообще нет. Если их нет, то не переживайТЕ.
Напиши,сообщи свой Е-мэйл пошлю тебе эти файлы, вставишь куда надо и всё.

---------
Учение - свет!
Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 25.09.2006, 20:31
Оценка за ответ: 5
Комментарий оценки:
не хочу светить мыло

Отвечает: mix_mix
Здравствуйте, Maslin!
Папка masm32 должна находится в корне диска, т.к. первый слеш "" обозначает корневую папку.
Проверьте наличие подключаемых inc и lib файлов. Если таких не обнаруживается, стучите сюда, пошлем.
Также скорее всего Вы писали Вашу прогу в каком-либо IDE, а не, например, в блокноте. Следовательно, IDE (интерактивная среда разработки) может быть неравильно настроена, попробуйте ассемблировать и линковать вручную. Положим, ваша папка masm32 находится в корне диска Си, а asm файл находится в этой же папке masm32. Тогда запускаете cmd.exe и пишете следующее:
C:
cd masm32in
ml /c /coff masm32Example.asm
link /subsystem:windows Example.obj
masm32Example
Должно заработать.
Удачи!
Ответ отправил: mix_mix (статус: 7-ой класс)
Ответ отправлен: 25.09.2006, 22:26
Оценка за ответ: 3
Комментарий оценки:
читайте вопросы до конца!
бIDE не пользуюсь.-пишу как раз в блокноте!:-):-)

Отвечает: Луковкин Николай Иванович
Здравствуйте, Maslin!
Скорее всего у Вас MASM32 или неправильно настроен или настроен не до конца!
Вашу программу я набрал в своем MASM и все файлы получились!
При запуске полученного ехе.файла выходит окно Windows с текстом: Assembler language for Windows is a fable!
Могу порекомендовать справочник по ассемблеру автора А.Крупник
Он очень хорошо описывает программирование ассемблера для Windows.
В этом же справочнике он подробно объясняет как правильно настроить для написания программ компилятор MASM и прилагает для этого свой файл, который можно скачать на сайте http://www.piter.com (в этом файле находится оболочка FAR, компилятор MASM, отладчик OllyDBG, для того чтобы Вы после написания программы изучили ее и исследовали в отладчике - иначе если не знаешь работу отладчика, ассемблер очень тяжело выучить - это практика!
---------
Главным критерием эффективности того или иного пути может служить лишь то, достиг или нет крекер конечного результата!!!
Ответ отправил: Луковкин Николай Иванович (статус: 1-ый класс)
Ответ отправлен: 26.09.2006, 22:01
Оценка за ответ: 5
Комментарий оценки:
У меня всё это есть(кроме книги)кто-бы оллей научил пользоваться,там всё на инглише:(


Вопрос № 56.698
Здравствуйте ! Как можно узнать размер файла, не используя функцию поиска ?
Отправлен: 25.09.2006, 22:57
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Pinkbyte
Здравствуйте, Whiteman!

DWORD GetFileSize(

HANDLE hFile, // handle of file to get size of
LPDWORD lpFileSizeHigh // address of high-order word for file size
);

Итого нам нужно - хэндл открытого файла 1 штука и ссылка на переменную, если предполагается что размер файла > 4 гигабайт

Вот и усё...
---------
Нейтральность - высшее достижение сознания
Ответ отправил: Pinkbyte (статус: 1-ый класс)
Ответ отправлен: 26.09.2006, 00:32

Отвечает: ENS
Здравствуйте, Whiteman! Размер файла можно узнать используя, функцию 42h(Перемещение указателя)
обнуляем CX и DX, AL ставим равное 2.В итоге нам будет возвращен размер файла в байтах в
CX:DX

Приложение:

---------
Учение - свет!

Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 20:02


Вопрос № 56.699
Здравствуйте ! Не подскажете, как открыть найденный файл(функцией 4еh) ?
Отправлен: 25.09.2006, 22:58
Вопрос задал: Whiteman (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: ENS
Здравствуйте, Whiteman!Открывается файл обычно функцией 3Dh.
В DX надо помещать имя файла.А после поиска файла имя у нас в DTA(80h) по смещению 1Eh.

Приложение:

---------
Учение - свет!

Ответ отправил: ENS (статус: 2-ой класс)
Ответ отправлен: 26.09.2006, 20:02


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

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

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.36 от 06.09.2006
Яндекс Rambler's Top100

В избранное