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

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


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

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

Выпуск № 378
от 29.09.2002, 00:40

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


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

baldr
Статус: Профессиональный
Общий рейтинг: 116.57
URL: Сайт об ОС DOS. Всем, кто любит эту ОС!
[Подробней >>]
Bob Johnson
Статус: Опытный
Общий рейтинг: 142.75
[Подробней >>]
LIFO
Статус: Опытный
Общий рейтинг: 132.4
Телефон: 8 01710 24758
[Подробней >>]
 
Biv
Статус: Доверительный
Общий рейтинг: 124.06
[Подробней >>]
ASMодей
Статус: Опытный
Общий рейтинг: 123.28
[Подробней >>]
Топор
Статус: Профессиональный
Общий рейтинг: 116.59
URL: Хорошая Русская Металлическая команда
Телефон: (8462)500298
[Подробней >>]
 
masquer
Статус: Профессиональный
Общий рейтинг: 156.74
[Подробней >>]
Sensey
Статус: Профессиональный
Общий рейтинг: 126.59
URL: Страничка рассылки по Паскаля...
Телефон: +38 (0572) 41-76-04 дом.
[Подробней >>]
Александр
Статус: Профессиональный
Общий рейтинг: 112.89
[Подробней >>]
 
Kiss
Статус: Опытный
Общий рейтинг: 135.71
[Подробней >>]
Beeblebrox
Статус: Профессиональный
Общий рейтинг: 114.98
URL: Beeblebrox / TMA HomePage
[Подробней >>]
Dron
Статус: Профессиональный
Общий рейтинг: 118.88
URL: Операционная система с нуля!
[Подробней >>]
 
igorash
Статус: Профессиональный
Общий рейтинг: 119.52
[Подробней >>]
Pablo
Статус: Профессиональный
Общий рейтинг: 131.45
URL: Моя страничка
[Подробней >>]
MeGAdOZ
Статус: Начальный
Общий рейтинг: 103.84
[Подробней >>]
 
SonicX
Статус: Опытный
Общий рейтинг: 119.78
URL: Моя маленькая страничка с ассемблером.
Телефон: (0732)753724
[Подробней >>]
ARDoS
Статус: Доверительный
Общий рейтинг: 107.31
[Подробней >>]
Broken Sword
Статус: Профессиональный
Общий рейтинг: 133.8
URL: моя рассылка по Protected Mode
[Подробней >>]
 
DiGiT[old]
Статус: Доверительный
Общий рейтинг: 111.86
[Подробней >>]
Gibbel
Статус: Профессиональный
Общий рейтинг: 108.32
URL: Страничка обо мне и моих друзьях
[Подробней >>]
Shal
Статус: Опытный
Общий рейтинг: 106.99
[Подробней >>]


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

Вопрос № 1325. Приветствую вас, уважаемые эксперты! Что-то никак не могу послать вопрос - не отвечает rusFAQ на наж... (ответов: 1)
Вопрос № 1326. Privet,experti. Skajite pls, kak mojno podsoedenitsea k kakomu - nibudi portu(http,ftp...) i 4itati ... (ответов: 1)
Вопрос № 1327. Уважаемые эксперты, объясните, пожалуйста, каким образом можно написать 32разрядное приложение под D... (ответов: 8)
Вопрос № 1328. Здрасьте. Мне вот сегодня препод на лекции такую фразу выдал: "Вообще, компьютер [он имел ввиду... (ответов: 12)
Вопрос № 1329. Спасибо экспертам на мой прошлый вопрос, у меня теперь другой и опять по макросам. Теперь мне надо ч... (ответов: 1)
Вопрос № 1330. Ув. эксперты. Не могу разобраться с 32-разрядной адресацией. Если не жалко скиньте на мыло доки по а... (ответов: 2)
Вопрос № 1331. Hi to all! Что такое Postal Code/Zip пытаюсь книжки получить от интела.... (ответов: 14)
Вопрос № 1332. Уважаемые! Новый крякми от 10ck ловите здесь: http://brokensword.hotbox.ru/Hackme3.rar Тех, кто ссыл... (ответов: 3)
Вопрос № 1333. Здравствуйте господа эксперты. Может вопрос и не по теме, но не знаю к кому еще можно обратиться. Ес... (ответов: 11)

Вопросов: 9, ответов: 53


 Вопрос № 1325

Приветствую вас, уважаемые эксперты!
Что-то никак не могу послать вопрос - не отвечает rusFAQ на нажатие "Отправить" в рассылке и всё тут. Пишет "не найден сервер" и всё такое... Можт ща получится.
Итак. Пишу драйвер CD_ROM'а под ДОС. Пользуюсь книжкой Зубкова. Не могу понять вот чего: как получить адрес BPB? Зубков пишет: "BPB - это 25 байтная структура... ... Её можно найти по смещению 0bh от начала нулевого сектора на любом диске..." А как туда обратиться я, что-то, не могу себе представить...
Читаю дальше: "команда 02h: построить BPB". там после её выполнения вроде как получаю дальний адрес BPB, но! на входе нужен дальний адрес первой копии FAT и описатель носителя. Ни то, как найти дальний адрес FAT, ни об описателе носителя не могу найти инфы (или не по глазам?) и второе - сначала же вызывается команда 00 - инициализация...
Помогите разобраться, пожа - буду очень благода :)



Вопрос отправлен: 24.09.2002, 08:53
Отправитель: 86 a5 ad ef (difuzion@mail.ru)

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

Отвечает baldr

Добрый день, 86 a5 ad ef!
Вообще-то в CD-ROM не FAT! Там своя файловая система. Совершенно по другому принципу.
А как же ты пишешь драйвер? Через mscdex что ли??? :)))
Нормальные драйвера пишутся через порты!
На asmfanat.narod.ru можешь найти спецификацию atapi cd-rom, а там и разбирайся...

Ответ отправлен: 26.09.2002, 17:10
Отправитель: baldr


 Вопрос № 1326

Privet,experti.
Skajite pls, kak mojno podsoedenitsea k kakomu - nibudi
portu(http,ftp...) i 4itati ili posilati s(v) nego baiti ? Tam kajisi socket kakoi-to delati nado... Obiasnite pls.
Esli est ishodniki na asm-e, pls, prisilaite.
Zaranee Spasibo.



Вопрос отправлен: 24.09.2002, 10:55
Отправитель: Jeka (na_obed@pisem.net)

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

Отвечает Bob Johnson

Доброе время суток, Jeka!
Вообще для соединения с портом используется socket'ы. Если хочешь подробнее о них узнать, смотри MSDN - там есть очень подробные и красивые примеры на С. Ну а если же ты хочешь не просто соединится, а по протоколу HTTP получить файл, то тебе уже надо посылать в этот сокет что-то конкретное (что, не знаю :-(.
Вообще, для начала необходимо проинициализоровать WinSocket - это делается вызовом функции WSAStartup, затем создается сокет функцией Call socket, AF_INET, SOCK_STREAM, IPPROTO_IP; затем ты его привязываешь к порту - функция bind (т.е. задаешь свой IP адрес и локальный порт, обычно в клиентском сокете они не задаются: порт 0, адрес INADDR_ANY). Это означает, что порт твоему сокету назначит винда, когда ты соединишься с серваком. Локальный адрес определяет используемый интерфейс (0 - любой).
Затем вызываешь connect, указав адрес удаленного компьютера и порт (для HTTP - это обычно 80, для FTP - 21, echo - 7). На этом соединение заканчивается. Ты можешь посылать данные командой send и получать их командой recv (если, конечно, есть что...). Затем вызываешь функцию closesocket... Вот вкратце и все.


Ответ отправлен: 25.09.2002, 01:05
Отправитель: Bob Johnson


 Вопрос № 1327

Уважаемые эксперты, объясните, пожалуйста, каким образом можно написать 32разрядное приложение под DOS. Чтобы адресация в программе производилась следующим образом: DS:[ESI] и т.д. и т.п.



Вопрос отправлен: 24.09.2002, 11:42
Отправитель: Alexey (lastycat@rambler.ru)

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

Отвечает LIFO

Здравствуйте, Alexey!
Вроде поставь директиву .486 или тому подобное.

Ответ отправлен: 24.09.2002, 18:42
Отправитель: LIFO


Отвечает baldr

Приветствую Вас, Alexey!
Просто поставь в исходнике директиву .386 и тебе будут доступны все команды 386 процессора. Можно поставить и .486 и пр...
По умолчанию стоит совместимость с 8086 процессором.

Ответ отправлен: 24.09.2002, 11:52
Отправитель: baldr


Отвечает Biv

Здравствуйте, Alexey!
Если мне не изменяет склероз, то в Тасме и Масме так: .386
А в фасме use32


Ответ отправлен: 25.09.2002, 01:20
Отправитель: Biv


Отвечает ASMодей

Доброе время суток, Alexey!
32-разрядная адресация используется только в 32-битных
сегментах (use32), а такие сегменты используются только в
защищенном режиме процессора. Так что придется переключать
процессор в защищенный режим самостоятельно или использовать
сервисы DPMI.


Ответ отправлен: 25.09.2002, 08:42
Отправитель: ASMодей


Отвечает Топор

Приветствую Вас, Alexey!
Для этого переходят или в 32разрядный защ. режим со всеми его наворотами, или в т.н. большой реальный режим, в котором правила адресации сохраняются, но открывается доступ ко всем 32 битам EIP и ESI. У Зубкова об этом хорошо и с примерами написано.


Ответ отправлен: 24.09.2002, 18:09
Отправитель: Топор


Отвечает masquer

Здравствуйте, Alexey!
USE32

Ответ отправлен: 24.09.2002, 12:21
Отправитель: masquer


Отвечает Sensey

Здравствуйте, Alexey!
Используй директиву
.386
и в описании сегмента use32
модель flat


Ответ отправлен: 24.09.2002, 13:13
Отправитель: Sensey


Отвечает Александр

Добрый день, Alexey!
Есть два варианта.
1. Использование ДОС - расширителей и модели памяти flat.
2. Нереальный режим работы процессора. Это недокументированный режим. Получается, если перейти в защищённый режим выставить границу сегмента в ffff, дробность установить в 64КБ, а потом вернуться в реальный режим. Если хочешь поподробнее - читай Зубкова. Исходники в приложении. Если тебе нужна плоская модель памяти, просто вставь этот кусок в свою программу.


Приложение:

Ответ отправлен: 28.09.2002, 11:45
Отправитель: Александр


 Вопрос № 1328

Здрасьте.
Мне вот сегодня препод на лекции такую фразу выдал:
"Вообще, компьютер [он имел ввиду процессор] выполняет только одну операцию - сложение. Все остальные операции выражаются через сложение."
Я ему возражаю: а как же инструкции процессора, выполняющие гораздо более сложные действия - умножение, деление, я уж не говорю про инструкции FPU и пр. Ответ его: "Я имею ввиду не инструкции, а операции".
Очень интересно отношение экспертов к этому разговору.
С уважением, Portnov.



Вопрос отправлен: 24.09.2002, 13:28
Отправитель: Portnov

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

Отвечает Bob Johnson

Здравствуйте, Portnov!
Мне кажется, что он прав на 50% - т.к. FPU действительно выражает сложные операции через простые, но среди простых - не только сложение, здесь есть сдвиги и преобразования на основе таблиц, ну и некоторый алгоритм их применения. Но препод есть препод... У нас вот один как-то сказал: в одном байте около 8 бит, что позволяет кодировать в нем 250 - 300 различных чисел... :-) Let's moving on...

Ответ отправлен: 24.09.2002, 23:14
Отправитель: Bob Johnson


Отвечает Kiss

Доброе время суток, Portnov!
С одной стороны он прав но ведь не только сложение но передачу между регистрами и другие операции.

Ответ отправлен: 24.09.2002, 16:27
Отправитель: Kiss


Отвечает Biv

Добрый день, Portnov!
У препа маразмы!
Есть три операции: и, или, не(нет никакого сложения). Все остальные (штрих Шеффера, кажется, тоже) спокойно выражаются через них. Ну а инструкция это код по которому дешифратор кода будет опредлять какой вычислительный блок надо сейчас задействовать.
З.Ы. С твоего позволения, я эту историю запихну в сборник высказываний и маразмов.

Ответ отправлен: 25.09.2002, 01:21
Отправитель: Biv


Отвечает Beeblebrox

Добрый день, Portnov!
Я думаю, он прав, если не слишком придираться к терминологии. Насчет умножения я не совсем уверен, полностью программно оно организовано, или на 90% программно, зато FPU вычисляет синусы, арктангенсы, логарифмы и экспоненты методом CORDIC (только сдвигами и сложениями)

Ответ отправлен: 24.09.2002, 13:44
Отправитель: Beeblebrox


Отвечает Dron

Доброе время суток, Portnov!
Помоему компьютер выполняет две операции... (имею ввиду процессор :) сложение и сдвиг. остальные реализуются через них.

Ответ отправлен: 24.09.2002, 13:55
Отправитель: Dron


Отвечает masquer

Здравствуйте, Portnov!
Умножение и деление можно сложением представить. А логические - навряд ли, а операции чтения/записи в память/регистр.
Юров тоже преподает информатику - его книги почитайте, твой препод, наверное, из этой серии.
Есть железное правило (к счастью - с исключениями) - ты либо хороший преподаватель, либо хороший специалист.

Ответ отправлен: 24.09.2002, 13:55
Отправитель: masquer


Отвечает Sensey

Доброе время суток, Portnov!
Ну, насколько я знаю, в микрокоде реализованы 3 вида операцций: сложение, логические и сдвиговые...


Ответ отправлен: 24.09.2002, 14:27
Отправитель: Sensey


Отвечает igorash

Доброе время суток, Portnov!
а как же работа с памятью, вызов прерываний, сдвиги, логические операции?


Ответ отправлен: 24.09.2002, 14:28
Отправитель: igorash


Отвечает Pablo

Доброе время суток, Portnov!
Тебе бы надо было бы спросить его, чем на его взгляд инструкции от операций отличаются! Может в его понимании операции это только математика.
В большинстве случаев микрокоманды выполняются на ALU. Ну если считать операцю как микрокоманду, то он не прав. Я думаю есть множество микрокоманд в intelовском процессоре, которые выполняются не на ALU. Ну, например, ввод из портов и вывод из портов, наверняка выполняются без использования ALU.

Ответ отправлен: 24.09.2002, 19:27
Отправитель: Pablo


Отвечает MeGAdOZ

ОЁЪ-) О+О+О¦ Ъ-О¦О¦О+О¦ О+О¦ 1 О¦Ъ¬Ъ-Ъ¦О¦ Ъ-О+ОT Ъ-О¦Ъ¦Ъ¦О¦О¦ОTЪ-О¦О¦О¦ОT...)

Ответ отправлен: 25.09.2002, 09:48
Отправитель: MeGAdOZ


Отвечает baldr

Здравствуйте, Portnov!
IMHO операции процессора, если уж так глубоко копать - пересылка, not, and, or... Ну и еще парочка. И сложение - это уже более высокоуровневое обобщение. Оно и реализуется-то с их помощью!

Ответ отправлен: 25.09.2002, 14:13
Отправитель: baldr


Отвечает SonicX

Здравствуйте, Portnov!
Преподы не такие уж и умные.
У меня в технаре препод говорит:
"К внутренним устройствам также относится и системный блок"(интересно внутри чего он находится?)
"3 битами можно закодировать три значения"(я всегда думал что 256)
Она все время рассказывает про восьмер. систему счисления, говорит она универсальная и везде
используется(еще нигде не встречал). К концу пары она нам дала понять что она дилетант, а мы еще глупее.


Ответ отправлен: 25.09.2002, 18:10
Отправитель: SonicX


 Вопрос № 1329

Спасибо экспертам на мой прошлый вопрос, у меня теперь другой и опять по макросам.
Теперь мне надо чтобы некоторая таблица содержала смешения на строки
table
n=0
rept 10
local Msg
dw offset Msg&n
n=n+1
endm



Вопрос отправлен: 24.09.2002, 16:40
Отправитель: merilyn manson

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

Отвечает Bob Johnson

Добрый день, merilyn manson!
У меня получилось только с помощью определения еще одного макроса... Иначе никак не получает перевести значение перемнной в строку...
ddw macro name
dw offset Msg&name
endm
n=0
rept 10
ddw %n
n=n+1
endm


Ответ отправлен: 25.09.2002, 01:05
Отправитель: Bob Johnson


 Вопрос № 1330

Ув. эксперты.
Не могу разобраться с 32-разрядной адресацией.
Если не жалко скиньте на мыло доки по адресации
в 32-разрядном режиме.
Заранее спасибо.



Вопрос отправлен: 24.09.2002, 17:58
Отправитель: SonicX (asm86@mail.ru)

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

Отвечает Bob Johnson

Доброе время суток, SonicX!
Если ты понял 16-разрядную адресацию, то с 32-разрядной у тебя проблем не будет. Там возможно гораздо больше:
Адрес ячейки памяти ВСЕГДА может состоять из трех частей:
1. Базовый адрес (хранится в регистре).
2. Индекс (хранится в регистре).
3. Непосредственный адрес (обычное число).
При адресации все эти три адреса складываются и, таким образом, получается логический адрес требуемой ячейки памяти.
В качестве регистра-базы может выступать ЛЮБОЙ регистр РОН (eax, ebx, ecx, edx, esi, edi, esp, ebp).
В качестве регистра-индекса может также выступать любой регистр РОН, КРОМЕ ESP.
Регистр индекса возможно УМНОЖАТЬ на 1, 2, 4 и 8.
Пример:
mov al, [ebx + ecx*4 + 100h]
ebx - база, ecx - индексный регистр, 4 - коэффициент и 100h - непосредственное смещение.
Естественно, любой ненужный компонент адресации можно опускать, например:
mov al, [ecx*2].


Ответ отправлен: 25.09.2002, 01:06
Отправитель: Bob Johnson


Отвечает ASMодей

Добрый день, SonicX!
Смотри рассылку "Процессор Intel в защищенном режиме".


Ответ отправлен: 25.09.2002, 08:43
Отправитель: ASMодей


 Вопрос № 1331

Hi to all!
Что такое Postal Code/Zip
пытаюсь книжки получить от интела.



Вопрос отправлен: 24.09.2002, 19:00
Отправитель: LIFO

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

Отвечает Bob Johnson

Добрый день, LIFO!
Я наверное буду одним из последних, кто ответит тебе на этот вопрос - но это твой почтовый индекс (обычно 6 цифр)...


Ответ отправлен: 25.09.2002, 01:06
Отправитель: Bob Johnson


Отвечает Biv

Здравствуйте, LIFO!
Американский аналог нашего почтового индекса (postal <=> почтовый)

Ответ отправлен: 25.09.2002, 01:19
Отправитель: Biv


Отвечает Kiss

Приветствую Вас, LIFO!
Это млин почтовый индекс.


Ответ отправлен: 25.09.2002, 09:00
Отправитель: Kiss


Отвечает ASMодей

Добрый день, LIFO!
Postal Code/Zip - это почтовый индекс.


Ответ отправлен: 25.09.2002, 08:44
Отправитель: ASMодей


Отвечает ARDoS

Доброе время суток, LIFO!
Postal Code/Zip - это твой почиовый индекс.

Ответ отправлен: 26.09.2002, 16:51
Отправитель: ARDoS


Отвечает igorash

Приветствую Вас, LIFO!
почтовый код, код штата (в сша)
я там писал MD для молдовы, а тебе наверно надо написать RU или где ты там


Ответ отправлен: 24.09.2002, 19:13
Отправитель: igorash


Отвечает Broken Sword

Здравствуйте, LIFO!
Почтовый индекс :)
У меня он равен 65010.
А вообще сходи в ближайшее почтовое отделение и узнай его там (тебе посылки приходили вообще? ты их где забирал? вот туда и иди, все рассскажут и покажут)

Ответ отправлен: 24.09.2002, 19:31
Отправитель: Broken Sword


Отвечает baldr

Добрый день, LIFO!
Твой почтовый код! Точнее, код твоего почтового отделения!

Ответ отправлен: 25.09.2002, 14:35
Отправитель: baldr


Отвечает Pablo

Доброе время суток, LIFO!
Это индекс твое почтового отделения.

Ответ отправлен: 25.09.2002, 07:36
Отправитель: Pablo


Отвечает MeGAdOZ

О+О¦ЪTО¦ О-О¦О+,О+О+О+ОЁО+Ъ¬О¦О¦ОTО¦О¦О+Ъ-О¦..Ъ-Ъ-О+ Ъ-О¦О+О¦ О©О+Ъ+Ъ-О+О¦Ъ-О¦ ОTО+О¦О¦О¦Ъ¦ :)
Ъ-О+О¦Ъ-О¦О+ Ъ-Ъ-О+ О+О¦ Ъ¦О+О¦Ъ¦О¦О+ О©О+ Ъ-О¦О+О¦ Ъ-Ъ-О+О¦ Ъ-О¦Ъ¦Ъ¦Ъ-О¦О¦ОT :)

Ответ отправлен: 25.09.2002, 09:47
Отправитель: MeGAdOZ


Отвечает DiGiT[old]

Здравствуйте, LIFO!
так вроде почтовый индекс

Ответ отправлен: 25.09.2002, 11:27
Отправитель: DiGiT[old]


Отвечает Gibbel

Приветствую Вас, LIFO!
Почтовый индекс

Ответ отправлен: 25.09.2002, 17:54
Отправитель: Gibbel


Отвечает SonicX

Здравствуйте, LIFO!
Это почтовый индекс.

Ответ отправлен: 25.09.2002, 18:10
Отправитель: SonicX


Отвечает Shal

Приветствую Вас, LIFO!
Почтовый код ... индекс из 6 цифр


Ответ отправлен: 25.09.2002, 19:04
Отправитель: Shal


 Вопрос № 1332

Уважаемые!
Новый крякми от 10ck ловите здесь: http://brokensword.hotbox.ru/Hackme3.rar
Тех, кто ссылается на легкость и занудность подобных кракми через недельку ожидает нечто поистине завораживающее и неподдающееся кряку...)



Вопрос отправлен: 24.09.2002, 19:30
Отправитель: Broken Sword (brokensword@mail.ru)

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

Отвечает igorash

Приветствую Вас, Broken Sword!
да уж.... напугааааал!
ну посмотрим, посмотрим :)


Ответ отправлен: 24.09.2002, 19:46
Отправитель: igorash


Отвечает Kiss

Приветствую Вас, Broken Sword!
А ты вскрыл или как?


Ответ отправлен: 25.09.2002, 11:41
Отправитель: Kiss


Отвечает Beeblebrox

Здравствуйте, Broken Sword!
Этот crackme содержит грубую ошибку, и, если и работает, то вовсе не так, как задумал автор.
str="(c)opyleft by 10ck"
pwd=""
i=0;
al=pwd[i];
bl=str[i]; // в этом месте портится bx (который i)
xor al,bl;
ror al,4;
add al,9;
xor al,pwd[i+1];
pwd[i++]=al;
Но все равно похвально, что человек что-то сделал сам :))
В конце проги предполагалось сравнить полученный (хешированный) pwd[] со строкой:
5Fh,0DEh,0E8h,0B9h,13h,54h,84h,0E6h,7Eh,0Ch,43h,81h
PS Broken Sword, ты лучше не страдай фигней, а поучаствуй в Хьюги, еще успеешь, неделя почти осталась!

Ответ отправлен: 25.09.2002, 12:00
Отправитель: Beeblebrox


 Вопрос № 1333

Здравствуйте господа эксперты.
Может вопрос и не по теме, но не знаю к кому еще можно обратиться.
Есть чужая прога которая запускает другую прогу с какими-то параметрами. Так вот как можно узнать эти параметры.
Интересуют все ответы.
Заранее благодарен.
PS Может кто оценит - http://nicki-site.narod.ru
Хочу знать мнение всех экспертов.



Вопрос отправлен: 24.09.2002, 22:38
Отправитель: Nicki (nicki1@mail.ru)

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

Отвечает ASMодей

Добрый день, Nicki!
Замени чужую прогу своей и в ней выведи на экран строку
по адресу PSP+81h.


Ответ отправлен: 25.09.2002, 08:47
Отправитель: ASMодей


Отвечает Kiss

Приветствую Вас, Nicki!
В коммандной строке укажи имя файла и параметры, и запускай. Как я понял именно это тебя интересует.


Ответ отправлен: 25.09.2002, 08:54
Отправитель: Kiss


Отвечает Bob Johnson

Доброе время суток, Nicki!
Ну раз тебя интересуют все ответы... Точно не уверен (не проверял и не смогу...), но предположу - берем Soft Ice, запускаем первую прогру, ставим в SI что-то типа bpx CreateProcessA и заставляем первую прогу запустить вторую... По идее SI остановится, и мы смело смотрим параметры, с которыми вызвана CreateProcess... вот там и найдешь, что нужно.
2. Под дос - патчим функцию Int 21h, которая отвечает за запуск программы - кажется 4Bh (Exec?) и тоже самое...
(не смогу проверить, т.к. нет SI... :-()


Ответ отправлен: 25.09.2002, 01:06
Отправитель: Bob Johnson


Отвечает igorash

Здравствуйте, Nicki!
написать свою прогу, которая делает то, что выводит свою командную строку на экран или в файл....по моему в файл даже лучше... обозвать ее как ту, которая в вопросе называлась "другая" и положить туда же, т.е. заменить а потом запустить "чужую" прогу и посмотреть, че получится...
з.ы. оценил -дизайн неплохой, доки - известные и стандартные, демки - тоже где-то видел.... фак про хакеров - скорее фак по тюнингу винды и инету для ламеров, опять же где-то читал все это..... что еще... из раздела демок под дос меню глючит - неправильно линки даны... вот и все наверно...


Ответ отправлен: 25.09.2002, 00:54
Отправитель: igorash


Отвечает baldr

Добрый день, Nicki!
Написать свою прогу, которая под именем той, которую вызывают, получает управление, узнает параметры, а потом вызывает ту, которая должна была быть вызвана... :)

Ответ отправлен: 25.09.2002, 14:50
Отправитель: baldr


Отвечает masquer

Приветствую Вас, Nicki!
Ты уж если сайт завел, то должен знать что под досом и виндой твоя задача разными путями решается.
Если под виндами, то лови ShellExecute, а под досом соотв. функцию (не помню номер) 21h

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


Отвечает DiGiT[old]

Доброе время суток, Nicki!
Самый тупой способ просмотри бинарник этой проги и ее параметры.
Второй смособ пиши прогу, которая будет называться как и вызываемая и этой прогой выводи параметры, которые ей передаются. Это самый оптимальный и по времени и по силам метод. Причем это прогу помести вместо вызываемой проги.

Ответ отправлен: 25.09.2002, 11:16
Отправитель: DiGiT[old]


Отвечает Broken Sword

Здравствуйте, Nicki!
Ну способов множество - от готового ответа в дизассемблированном исходнике до бряка на "загрузить прогу". Второй вариант прокатывает 100%.
Что значит загрузить прогу? Ну для доса - нада ставить бряк на какую то там ф-цию 21h прерывания (загрузить прогу). В винде это Api -функции (CreateProcess, и много других)

Ответ отправлен: 25.09.2002, 15:29
Отправитель: Broken Sword


Отвечает Gibbel

Здравствуйте, Nicki!
Можно вместо другой проги подставить свою, которая тебе эти параметры и выведет...

Ответ отправлен: 25.09.2002, 17:53
Отправитель: Gibbel


Отвечает SonicX

Здравствуйте, Nicki!
Для какой операционки?
Для ДОСА перехвати вектор 21h и при запуске программ проверяй параметры.

Ответ отправлен: 25.09.2002, 18:10
Отправитель: SonicX


Отвечает Pablo

Добрый день, Nicki!
Вообще коммандная строка определяется с помощью функции GetCommandLine, но это только для текущего процесса, то есть только для вызывающего эту функцию процесса.

Ответ отправлен: 25.09.2002, 21:02
Отправитель: Pablo



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

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

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




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

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


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

В избранное