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

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


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

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

Выпуск № 472
от 19.01.2003, 19:10

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


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

keleb-glin
Статус: Опытный
Общий рейтинг: 113.73
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 152.54
URL: Программирование
[Подробней >>]
Igoryk
Статус: Опытный
Общий рейтинг: 144.11
URL: IgorykSoft
[Подробней >>]
 
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.21
URL: Страничка обо мне и моих друзьях
Телефон: +7 902 168 02 65
[Подробней >>]
masquer
Статус: Профессиональный
Общий рейтинг: 146.54
[Подробней >>]
Traish
Статус: Опытный
Общий рейтинг: 121.98
[Подробней >>]
 
baldr
Статус: Профессиональный
Общий рейтинг: 114.02
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 139.24
URL: Задачи по ассемблеру
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 127.11
URL: моя рассылка по Protected Mode
[Подробней >>]
 
Sensey
Статус: Профессиональный
Общий рейтинг: 121.74
URL: Страничка рассылки по Паскалю
Телефон: +38 (0572) 41-76-04 д.
[Подробней >>]
VicSimon
Статус: Начальный
Общий рейтинг: 103.84
[Подробней >>]
Andrew Vext
Статус: Опытный
Общий рейтинг: 107.4
[Подробней >>]


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

Вопрос № 2413. Приветик, эксперты! Скиньте пожалуйста хороший справочник по WIN32 API или ссылку! Спасибо!... (ответов: 8)
Вопрос № 2414. Всем привет!У меня на диске 4 раздела.ОС: winME и winXP. Oднако мне надо и ДОС на пустой раздел(FAT1... (ответов: 2)
Вопрос № 2415. Есть достаточно сложное 1 Мбайтовое приложение под Win32. При загрузке оно считывает несколько симво... (ответов: 6)
Вопрос № 2416. Как программе, написанной для DOS, узнать, что она запущена в ОС Windows, а не в ОС DOS. Можн... (ответов: 4)
Вопрос № 2417. Здравствуйте уважаемые эксперты Где можно достатъ последнюю версию SoftIce для Win NT/2000 ? Толъко ... (ответов: 1)
Вопрос № 2418. Как перейти в 0 кольцо защиты из WinNT 4.x, 5.x?... (ответов: 2)
Вопрос № 2419. Здравствуйте! Я бы хотел узнать: интересовался ли когда-нить кто-нить программированием для игровых ... (ответов: 1)
Вопрос № 2420. Скажите кто-нибудь пишет под Linux на ассамблере ... (ответов: 5)

Вопросов: 8, ответов: 29


 Вопрос № 2413

Приветик, эксперты!
Скиньте пожалуйста хороший справочник по WIN32 API или ссылку! Спасибо!



Вопрос отправлен: 14.01.2003, 22:40
Отправитель: DeathDemonA (DeathDemonA@list.ru)

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

Отвечает keleb-glin

Здравствуйте, DeathDemonA!
www.wasm.ru

Ответ отправлен: 15.01.2003, 21:05
Отправитель: keleb-glin


Отвечает Bob Johnson

Доброе время суток, DeathDemonA!
Ссылка: msdn.microsoft.com


Ответ отправлен: 15.01.2003, 19:22
Отправитель: Bob Johnson


Отвечает Igoryk

Доброе время суток, DeathDemonA!
Посмотри здесь:
1. winapi.h1.ru
2. http://dpclub.boom.ru/API/Api1.zip
3. http://dpclub.boom.ru/API/API.zip
4. http://dpclub.boom.ru/API/FUNCAPI.zip
5. rusproject.narod.ru

Ответ отправлен: 15.01.2003, 18:35
Отправитель: Igoryk


Отвечает Gibbel

Здравствуйте, DeathDemonA!
MSDN

Ответ отправлен: 15.01.2003, 10:12
Отправитель: Gibbel


Отвечает masquer

Доброе время суток, DeathDemonA!
Да запросто - msdn.microsoft.com

Ответ отправлен: 15.01.2003, 10:43
Отправитель: masquer


Отвечает Traish

Здравствуйте, DeathDemonA!
Ну, думаю, что MSDN тут уже и без меня порекомендовали. Могу добавить только, что можно взять, например, Win32.hlp из bc++ - не MSDN, конечно, но на первое время хватит.

Ответ отправлен: 15.01.2003, 12:18
Отправитель: Traish


Отвечает baldr

Добрый день, DeathDemonA!
Ну как так можно, товарищи, а? :(( Ведь каждую неделю одно и то же!! :((
Ты про MSDN слышал? А сколько он занимает представляешь? Цифра в 3 Гб не впечатляет? А это
он еще не весь! :( Посмотри в магазинах - у нас, вот, продается справочник по основным
API-функциям. Он большой и довольно дорогой, а там не так уж и много описано.
Подпишись на рассылку сайта http://www.bcbdev.ru - там уже что-то есть...


Ответ отправлен: 16.01.2003, 00:49
Отправитель: baldr


Отвечает Maverick

Добрый день, DeathDemonA!
www.microsoft.msdn.com


Ответ отправлен: 17.01.2003, 07:58
Отправитель: Maverick


 Вопрос № 2414

Всем привет!У меня на диске 4 раздела.ОС: winME и winXP.
Oднако мне надо и ДОС на пустой раздел(FAT16 сделает Патрисия Маджик) поставить
и прописать в файле BOOT.INI выбор этой ДОС.Вопросы(многих ночами такой мучает):
1 Как это осуществить?
(На руках имею только загрузочную дискету для winME и пальцы :))
2 Что за ОС(может кто слышал о такой) ДОС2000?



Вопрос отправлен: 14.01.2003, 23:40
Отправитель: Гаргоша

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

Отвечает Bob Johnson

Доброе время суток, Гаргоша!
Размышление первое: а будет ли ДОС грузиться не с primary partition? WinXP будет откуда угодно... WinME - нет тоже.
В общем ладно, неважно... Попробовать можешь так:
отформатировать disk под fat16. Перенести на него системные файлы DOS (загрузишься с дискеты, и сделаешь sys диск:), далее копируешь загрузочный сектор в файл bootsect.dos и в boot.ini добавляешь строку 'F:\="I love dos!"'. F: - это буква твоего диска. Может быть и получится...


Ответ отправлен: 16.01.2003, 18:55
Отправитель: Bob Johnson


Отвечает baldr

Здравствуйте, Гаргоша!
ДОС2000? Это, наверное, PC-DOS 2000! Ну, в общем, это тот же PC-DOS, что был и раньше,
кажется, до этого был 7.0, только с поддержкой больших файлов, с исправленными некоторыми
функциями и парой незначительных фич. Мало чем отличается от предыдущей версии. От MS-DOS
тоже мало отличается, ибо совместим.


Ответ отправлен: 16.01.2003, 00:49
Отправитель: baldr


 Вопрос № 2415

Есть достаточно сложное 1 Мбайтовое приложение под Win32. При загрузке оно считывает несколько символов из другого файла (текстового). Я хочу, эти несколько символов запихать в сам exe файл - т.е. чтобы считывалось уже оттуда. Каким образом это можно сделать? Пожалуста отвечайте как можно подробнее - с ассемблером знаком мало.



Вопрос отправлен: 15.01.2003, 02:09
Отправитель: Ivan

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

Отвечает Igoryk

Добрый день, Ivan!
Поставь эти нескольуо символов в раздел .const твоего файла .asm. И опиши свою переменную:
MyVar DB 'То-то и то-то'.
Если же ты хочешь без использования ассемблера, то тебе нужен отладчик типа IDA. С помощью него можно поменять обсалюно все, что хочешь. Прийдется изменить описание в .code, отыскать строки, где считываются символы, и заменить их на считывание строки. Ну только не знаю как долго IDA будет обрабатывать мегабайтный файл.

Ответ отправлен: 15.01.2003, 18:35
Отправитель: Igoryk


Отвечает Bob Johnson

Добрый день, Ivan!
Тебе нужно использовать ресурсы. Добавить ресурс в уже готовый файл можно в редакторе ресурсов или компилятором ресурсов (например, brc). Ресурсом может быть и строка (что тебе и надо). Далее, уже в программе ты вызываешь функцию LoadString с идентификатором своей строки:
Call GetModuleHandle, 0
Call LoadString, eax, res_id, offset str, 256
...
str db 256 dup (?)


Ответ отправлен: 16.01.2003, 18:57
Отправитель: Bob Johnson


Отвечает Broken Sword

Приветствую Вас, Ivan!
1. Запихиваешь эти несколько символов в секцию данных, или ищешь лишние участки в секции кода (можно сделать все это руками в HIEW)
2. Заменяешь код открытия/чтения/закрытия файла на чтение по адресу, по которому положены символы (тоже можно в HIEW все сделать)

Ответ отправлен: 15.01.2003, 03:28
Отправитель: Broken Sword


Отвечает masquer

Добрый день, Ivan!
Сразу скажу, что если ты в этом ничего не понимаешь, то даже если я себе все клавишы разобью от набора подробной инструкции, то толку от этого мало будет. Кроме того, учись вопрос правильно задавать.
1. Как именно считывается файл, через ReadFile или Memory Mapping.
2. Несколько - это сколько и что потом с этими данными происходит.
3. Сами данные можно разместить и в области данных (если места хватит), но саму программу тебе патчить однозначно прийдется. А без знания ассемблера тут сам понимаешь...
Так что, либо разбирайся в вопросе более детально и спрашивай по чуть-чуть, либо проси кого-нибудь.
Дела там - на бутылку пива...


Ответ отправлен: 15.01.2003, 11:10
Отправитель: masquer


Отвечает Traish

Добрый день, Ivan!
Думаю, что для этого, кроме хорошего знания ассемблера, нужно неплохое знание PE - формата. Да и способов тут может быть несколько. Например, так: Добавляешь в секцию данных (или можно создать свою секцию с соответствующими атрибутами) свою строку. Если места не хватает, то придется подправлять характеристики секции в таблице секций. А вот с кодом труднее - неизвестно, как читается этот файл, но все равно придется найти эти строки и заменить их своими. В общем-то несложно, но без знания ассемблера тут никак не обойтись.


Ответ отправлен: 15.01.2003, 12:09
Отправитель: Traish


Отвечает baldr

Добрый день, Ivan!
Если ты не знаешь assembler - то никак. Именно, что надо будет дизассемблировать файл,
найти место, где вызывается функция чтения из файла и заменить ее на предварительно написанный
свой кусок кода.


Ответ отправлен: 16.01.2003, 00:49
Отправитель: baldr


 Вопрос № 2416

Как программе, написанной для DOS, узнать, что она запущена в ОС Windows, а не в ОС DOS. Можно конечно запустить из нее другую программу (внешнюю), заранее написанную для Windows и посмотреть, что получиться, но это грубо, хотя надежно. Нет ли чего-нибудь другого?



Вопрос отправлен: 15.01.2003, 10:19
Отправитель: shusha

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

Отвечает Igoryk

Здравствуйте, shusha!
Код такой:
mov ax, 1600h
int 2Fh
test al,al
jz no_windows
Вобщем в этом коде вызываешь прерывание мультиплексора, а он собственно проверяет из-под чего запущена программа. Если из-под Windows, то al=0

Ответ отправлен: 15.01.2003, 18:35
Отправитель: Igoryk


Отвечает Sensey

Доброе время суток, shusha!
Вызываешь int 2Fh при AX=1600h
Возвращает в AL 00h или 80h если Виндовс НЕ запущена, иначе AL - старшая цифра версии, AH - младшая цифра версии
(с) TechHelp.
Читай документацию!

Ответ отправлен: 15.01.2003, 11:58
Отправитель: Sensey


Отвечает Broken Sword

Добрый день, shusha!
есть, проверяй нулевой бит регистра CR0. Если он стоит - значит прога под виндой (в V86)

Ответ отправлен: 15.01.2003, 12:55
Отправитель: Broken Sword


Отвечает baldr

Приветствую Вас, shusha!
Посмотри 16h-функцию прерывания 2Fh.


Ответ отправлен: 16.01.2003, 00:48
Отправитель: baldr


 Вопрос № 2417

Здравствуйте уважаемые эксперты
Где можно достатъ последнюю версию SoftIce для Win NT/2000 ?
Толъко не посылайте на www.numega.com :))



Вопрос отправлен: 15.01.2003, 14:10
Отправитель: Ramzes

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

Отвечает VicSimon

Приветствую Вас, Ramzes!
NuMega DriverStudio v2.7 есть на ftp.exetools.com
Только чтобы туда попасть надо предварительно найти имя пользователя и пароль на http://www.exetools.com/forum. Форум называется "Announcements and News".

Ответ отправлен: 15.01.2003, 14:33
Отправитель: VicSimon


 Вопрос № 2418

Как перейти в 0 кольцо защиты из WinNT 4.x, 5.x?



Вопрос отправлен: 15.01.2003, 16:29
Отправитель: 112 (112iscool@inbox.ru)

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

Отвечает Igoryk

Добрый день, 112!
Что-то подобное было на www.sources.ru Раздел "ASM".

Ответ отправлен: 15.01.2003, 18:36
Отправитель: Igoryk


Отвечает masquer

Доброе время суток, 112!
Только через драйвер.

Ответ отправлен: 16.01.2003, 11:14
Отправитель: masquer


 Вопрос № 2419

Здравствуйте!
Я бы хотел узнать: интересовался ли когда-нить кто-нить программированием для игровых приставок? В частности SEGA.
Я в зоне .РУ не нашёл нихера... В Гугле нашлось, правда мало и восновном всё повторяется. Хотя в принципе у меня материала на полгода наверно хватит... Поковыряюсь. Так вот, мож кому-то тоже это интересно? Тогда свяжитесь по мылу!
Спасибо за потраченное вами время.
Ваш адрес взят из открытых источников :)



Вопрос отправлен: 15.01.2003, 18:07
Отправитель: E$h (bbroth@pochtamt.ru)

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

Отвечает Andrew Vext

Приветствую Вас, E$h!
Я занимался - и для Sega и для Dendy и для GameBoy и для PlayStation.
Даже книгу написал - Игровые приставки Ремонт и обслуживание.
vext@mail.ru
Andrew Vext

Ответ отправлен: 16.01.2003, 11:59
Отправитель: Andrew Vext


 Вопрос № 2420

Скажите кто-нибудь пишет под Linux на ассамблере



Вопрос отправлен: 15.01.2003, 19:01
Отправитель: rjaan

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

Отвечает keleb-glin

Доброе время суток, rjaan!
Я не пишу, а вообще люди пишут, используя компилятор NASM


Ответ отправлен: 15.01.2003, 20:48
Отправитель: keleb-glin


Отвечает Bob Johnson

Приветствую Вас, rjaan!
На ассамблере никто (и, наверное, не для какой ос...)


Ответ отправлен: 16.01.2003, 18:59
Отправитель: Bob Johnson


Отвечает Igoryk

Здравствуйте, rjaan!
Конечно пишут. На ассемблере пишут под любую ОС.

Ответ отправлен: 16.01.2003, 18:02
Отправитель: Igoryk


Отвечает Andrew Vext

Добрый день, rjaan!
Кто-нибудь пишет (например я). Задавайте вопросы поконкретнее.

Ответ отправлен: 16.01.2003, 12:04
Отправитель: Andrew Vext


Отвечает Maverick

Доброе время суток, rjaan!
А что тебе нужно?
Доки?
Помощь?


Ответ отправлен: 17.01.2003, 07:58
Отправитель: Maverick



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

Внимание!
Форма может работать некорректно в почтовых программах "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 (35)
C / C++ (29)
Perl (5)
Delphi (18)
Pascal (22)
Basic / VBA (12)
Java / JavaScript (7)
PHP (6)
MySQL / MSSQL (5)
Пользователю
Windows 95/98/Me (35)
Windows NT/2000/XP (27)
"Железо" (33)
Поиск информации (19)
Администратору
Windows NT/2000/XP (11)
Linux / Unix (14)
Юристу
Гражданское право (9)
Семейное право (6)
Трудовое право (5)
КоАП (3)

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




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

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


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

В избранное