Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
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.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту 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 |
Отписаться
Убрать рекламу |
В избранное | ||