Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 350
от 24.08.2002, 07:40
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 1076 Отправлено ответов: 3250 Активность: 302.0 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
masquer Статус: Профессиональный Общий рейтинг: 158.99 [Подробней >>] |
Dark_Lord Статус: Опытный Общий рейтинг: 142.81 [Подробней >>] |
LIFO Статус: Опытный Общий рейтинг: 137.82 Телефон: 8 01710 24758 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 136.54 [Подробней >>] |
Painbringer Статус: Профессиональный Общий рейтинг: 183.38 URL: Музычка, стишки и прочая дрянь [Подробней >>] |
ASMодей Статус: Опытный Общий рейтинг: 127.83 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 120.98 [Подробней >>] |
copycon Статус: Доверительный Общий рейтинг: 114.77 [Подробней >>] |
Pablo Статус: Профессиональный Общий рейтинг: 131.59 URL: Моя страничка [Подробней >>] |
Portnov Статус: Опытный Общий рейтинг: 121.12 URL: Один магнитогорский сайт - для тех, кто первый раз слышит про такой город.. [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1025. Приветствую Вас, уважаемые эксперты. У меня возникло несколько вопросов. Пишу прогу на MASM32. Я сн... (ответов: 3)
Вопрос № 1026. Здравствуйте уважаемые Эксперты. Есть вопрос который меня мягко выражаясь поставил в тупик - надо ло... (ответов: 2)
Вопрос № 1027. Здравствуйте! Пишу заодно и сюда, так как здесь людей читающих побольше... Отпишите кто-нить в рассы... (ответов: 3)
Вопрос № 1028. Уважаемые эксперты. Подскажите, когда строится таблица векторов прерываний. Можно ли использовать об... (ответов: 3)
Вопрос № 1029. Уважаемые эксперты! Не могли бы вы скинуть мне на Sea84@yandex.ru ПОЛНЫЙ пример проги на асм с ПОЛНЫ... (ответов: 4)
Вопрос № 1031. Здравствуйте Я работаю с masm32. В QEDITOR.EXE набрал такое: .386 .model flat, stdcall ... (ответов: 6)
Вопрос № 1032. чего-то я непонял. то что виндовс все эмулирует это ясно но все равно получается, что нужно что-то с... (ответов: 3)
Вопрос № 1034. Мне нужна программа на ассемблере для работы с модемом или сетью. Скажите, пожалуйста, где я могу на... (ответов: 1)
Вопросов: 8, ответов: 25
Вопрос № 1025 |
Приветствую Вас, уважаемые эксперты.
У меня возникло несколько вопросов.
Пишу прогу на MASM32. Я сним только пару недель знаком.
1. По поводу API-функции GetModuleHandle(modulename: PChar)
modulename - имя модуля. Я указывал в качестве имени: имя файла, имя процесса, заголовок, НО тщетно, дескиптор не возвращается, а жаль, у неудебно мне юзать FindWindow.
Что именно указывать?
2. Как? и какими API ф-ями мне пользоваться для доступа в сетку и к локальным дискам? И возможно ли это вообще, или
надо использовать аппаратное программирование на асме?
3. Между делом, куда делся internat.exe в Windows XP?
Заранее благодарю.
Очень жду Ваших ответов.
Вопрос отправлен: 19.08.2002, 01:59
Отправитель: hackishD (musienko@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Приветствую Вас, hackishD!
1. Читай описание функции - перевожу: функция возвращает хендл процесса в том случае, если этот процесс отражен (mapped) на адресное пространство процесса. Так понятно?
2. К дискам - CreateFile->ReadFile/WriteFile->CloseHandle. По сети - смотри про протоколы.
Ответ отправлен: 19.08.2002, 05:27
Отправитель: masquer
Отвечает Dark_Lord
Добрый день, hackishD!
1) В начале надо вызвать GetCommandLine и в GetModuleHandle указать возвращённое значение!
Ответ отправлен: 19.08.2002, 14:12
Отправитель: Dark_Lord
Отвечает LIFO
Добрый день, hackishD!
Так если не возвращается ( если возвращается 0) значит нет модуля. (Еще в конце имени модуля должен быть 0 - может ты не написал?
У меня 98, так что не знаю.
Ответ отправлен: 20.08.2002, 09:52
Отправитель: LIFO
Вопрос № 1026 |
Здравствуйте уважаемые Эксперты.
Есть вопрос который меня мягко выражаясь поставил в тупик - надо ломануть прогу, обменивающуюся данными в сети с помощью майлслотов. интересует процедура шифровки сообщений (да вот такой вот я нехороший - сырые данные нужно получить) поковырялся в майлслотах - пишется в них через ф-цию WriteFile до нее ессно идет CreateFileA. поставил софтайс (его знаю плохо). Ставлю BPX на CreateFile - все ништяк, тормозит на данной функции, трасю до PUSHа (ессно который к WriteFile относится - тут я разобрался) пихающего участок памяти с текстом, но там текст уже зашифрован! вижу сам текст, вижу размер отправляемого блока данных - а вот как мне добраться до процедуры которая пишет в данный участок памяти? есть в софтайсе что-нить типа реверсной т.е. обратной трассировки? вообще ы как Эксперты можете посоветовать мне с чего начинать если я неправильным путем пошел? И еще вопрос - объясните плиз тупому т.е. мне - поиском отправляемую строчку нашел и в DS и в CS в куче мест - а сама прога с каким сегментом работает? если с DS то почему строка в CS оказалась? вообще если непонятно изложил (тороплюсь времени мало) могу скинуть подробное описание своих действий на мыл кому интересно.
И напоследок просьба большая не посылать меня далеко как доморощенного хакера с большими запросами, просто автор проги утверждает что его криптоалгоритм хрен кто сломает, ну а мне стало интересно...
С уважением, Диман
Вопрос отправлен: 19.08.2002, 09:41
Отправитель: Диман
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, Диман!
Странно немного - человек еще ничего не знает, а уже пытается разломать криптоалгоритм.
Естественно, что данные шифруются до CreateFile, а вот где искать нужно. ставь bpm на ту область где уже шифрованные данные хранятся, и так далее.
Ответ отправлен: 19.08.2002, 10:19
Отправитель: masquer
Отвечает Broken Sword
Доброе время суток, Диман!
Верным путем идете, товарищи!!! Теперь тебе осталось только поставить bpm на тот самый заветный участок памяти, причем так:
bpm адрес_где_тектс rw (на чтение/запись)
(есесно где-нить задолго до создания файла и т.п., желательно даже сразу по загрузке проги (после bpx на loadlibrarya)
Ответ отправлен: 19.08.2002, 12:31
Отправитель: Broken Sword
Вопрос № 1027 |
Здравствуйте!
Пишу заодно и сюда, так как здесь людей читающих побольше...
Отпишите кто-нить в рассылку.
Есть ли у кого, или где можно найти рок-оперу "Исус Христос - Суперзвезда" в исполнении Битлов?
Если есть, пишите, поговорим, как она может появиться у меня...
ЗЫ Года четыре уже ищу...
Вопрос отправлен: 19.08.2002, 11:48
Отправитель: Sensey (sensey@ukr.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Painbringer
Доброе время суток, Sensey!
ТЫ НЕ ГОНИШЬ?! ТАКОЕ И ПРАВДА МОЖЕТ БЫТЬ?! с учетом того, что битлы развалились в 70, а хритсос был записан с Гилланом т.е. первый вариант эээээ тоже в 70.
Кстати раз пошла такая пьянка, может у кого есть совмесный концерт Хендрикса и Моррисона (т.е. они там играли вместе). (кто не верит зайдите на blues.fatal.ru).
Ответ отправлен: 19.08.2002, 21:39
Отправитель: Painbringer
Отвечает Broken Sword
Приветствую Вас, Sensey!
этот мюзикл вообще сочинил Эндрю Ллойд Вебер и поставил его на Бродвее насколько я знаю, а насчет Битлов вообще впервый раз слышу
Ответ отправлен: 19.08.2002, 12:31
Отправитель: Broken Sword
Отвечает LIFO
Приветствую Вас, Sensey!
У Битлов?!
Ее же Гиллан поет...(эта есть)
Ответ отправлен: 20.08.2002, 09:52
Отправитель: LIFO
Вопрос № 1028 |
Уважаемые эксперты.
Подскажите, когда строится таблица векторов прерываний. Можно ли использовать обработчики прерываний из БИОС до загрузки ОС. (Если способом отличным от обычного то как?).
Спасибо за ответы.
Вопрос отправлен: 19.08.2002, 12:46
Отправитель: ret (rettemp@ukrpost.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Доброе время суток, ret!
Таблица векторов прерываний строится BIOSом задолго до
начала загрузки ОС, поэтому их можно использовать и без
загруженной ОС, например читать данные с диска, как это
сделано в boot-секторе.
Ответ отправлен: 20.08.2002, 13:01
Отправитель: ASMодей
Отвечает Ayl
Здравствуйте, ret!
Таблица векторов строится в момент загрузки компа. Часть из них инициализируется BIOS до начала загрузки ОС. Это прерывания:
00h - 1fh, 40h, 41h, 43h, 46h, 4ah, 70h
Часть из них указывает только на команду iret.
После этого возможно использование всех прерываний BIOS.
Затем начинается загрузка ОС. При этом ОС может изменить обработчики прерываний BIOS своими и добавить новые.
Ответ отправлен: 19.08.2002, 13:23
Отправитель: Ayl
Отвечает copycon
Доброе время суток, ret!
Таблицу векторов строит BIOS и до загрузки ОС
ты можеш использовать (IMHO) вектора:
00h-1Fh,
40h-4Fh - сборная-солянка и экзотика
50h-FFh - чистая экзотика
"экзотика" - разные специфические биосы
Используеш самым обычным способом: int XXh :)
Удачи.
Ответ отправлен: 21.08.2002, 00:50
Отправитель: copycon
Вопрос № 1029 |
Уважаемые эксперты! Не могли бы вы скинуть мне на Sea84@yandex.ru ПОЛНЫЙ пример проги на асм с ПОЛНЫМ коментарием заголовков. Особенно нужно прислать структуру asm файла
Вопрос отправлен: 19.08.2002, 13:00
Отправитель: Yevg
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Доброе время суток, Yevg!
Вообще программа на ассемблере состоит из строк, формат
которых следующий:
[имя или метка] [команда или директива [операнды]] [комментарий]
А названия команд, директив и правила записи меток и
комментариев можно посмотреть в описании к конкретному
компилятору ассемблера.
Ответ отправлен: 20.08.2002, 13:02
Отправитель: ASMодей
Отвечает masquer
Приветствую Вас, Yevg!
Во первых одних синтаксисов - masm, tasm, nasm, fasm, и потом - под дос, под виндовс, под юних какой-нибудь.
Поконкретнее вопросы задавай, сюда кидай если не понятно что-то...
Ответ отправлен: 19.08.2002, 13:22
Отправитель: masquer
Отвечает Dark_Lord
Здравствуйте, Yevg!
Загляни в свой ящик!
Ответ отправлен: 19.08.2002, 14:11
Отправитель: Dark_Lord
Отвечает LIFO
Добрый день, Yevg!
Вах, какой проги ?! Com,exe а может dll?
Привожу для начала com - programm.
Приложение:
Ответ отправлен: 20.08.2002, 09:54
Отправитель: LIFO
Вопрос № 1031 |
Здравствуйте
Я работаю с masm32. В QEDITOR.EXE набрал такое:
.386
.model flat, stdcall
option casemap :none
; case sensitive
.code
start:
CSEG segment
org 100h
cli
mov ah,9
mov dx,offset String
int 21h
mov ah,10h
int 16h
int 20h
String db "TEXT"
sti
CSEG ends
Далее все это ассемблируется - из строки меню Project -> Assemble ASM file
Получаю сообщение:
Assembling: D:MyAssemblerKalashnikovASM est est01.asm
D:... est01.asm(13) : error A2022: instruction operands must be the same size
Вот так. Как же мне угодить его same size-у?
Вопрос отправлен: 19.08.2002, 14:20
Отправитель: Bayram Annanurow
[Следующий вопрос >>] [Список вопросов]
Отвечает ASMодей
Здравствуйте, Bayram Annanurow!
Ошибка под именем "same size" - одна из самых мелких в этой
программе и означает лишь, что ты пытаешься в 16-битный
регистр DX запихнуть 32-разрядное число (offset String).
Вообще непонятно, что ты хотел получить на выходе:
программу для DOS? Тогда директива .model flat здесь
явно лишняя. Если же программу для Windows, то зачем
писать ORG 100h (это используется только в досовских
COM-программах). Плюс к этому, у тебя 2 раза объявлен
кодовый сегмент, а инструкция STI вообще лежит за пределами
выполнения программы.
В-общем разберись что тебе нужно, выкинь из программы весь
ненужный хлам, и тогда, глядишь, все и заработает.
Ответ отправлен: 20.08.2002, 13:02
Отправитель: ASMодей
Отвечает Pablo
Добрый день, Bayram Annanurow!
Я так понимаю что ошибка здесь mov dx,offset String!?
Ты определил .model flat а это значит что адреса и регистры будут 32-разрядные. А так как ты пытаешься загрузить 32-битное смещение в 16 разрядный регистр то и ошибка вылетает.
Елс ипрога под ДОС сделай лучше .model tiny или .model small.
Ответ отправлен: 21.08.2002, 22:03
Отправитель: Pablo
Отвечает Ayl
Доброе время суток, Bayram Annanurow!
А откуда прогу взял?
Во-первых, при определении сегмента CSEG используй директиву USE16. Во-вторых, перенеси метку start после определения сегмента CSEG. В-третьих, прога должна завершаться строкой end start.
А вопрос можно? Спасибо!
Я что-то не увидел в данном коде необходимости установки процессора 386 и использования плоской модели памяти. А коли так, то, спрашивается, нафига это делать?
Используй .286 и .Model TINY для COM. И таких ошибок сразу же не будет!
Вот если ты собираешься написать такое для защищенного режима или под Винды - тогда да. Или с использованием 32-разрядных регистров...
И еще. Зачем запрещаются прерывания в начале программы? Смысл в этом есть? Самое интересное, что разрешение прерываний находится там, куда управление никода передано не будет! Эту строку надо записать перед вызовом прерывания 16h.
Ответ отправлен: 19.08.2002, 15:44
Отправитель: Ayl
Отвечает Dark_Lord
Доброе время суток, Bayram Annanurow!
Увидев такое в обморок можно упасть...
Вопервых, зачем писать дос-приложение и компилировать его ака Windows приложение(начало-Windows, потом ДОС!)!!!!
2. cli и sti работают в досе!
3. int тоже досовское
4. Всё остальное windows
5. Пожалуйста прочитайте рассылку нормально!
Ответ отправлен: 19.08.2002, 16:14
Отправитель: Dark_Lord
Отвечает masquer
Добрый день, Bayram Annanurow!
Для компиляцяя сом-файлов компилятор для вин32 не подойдет. возьми тасм
Ответ отправлен: 19.08.2002, 16:41
Отправитель: masquer
Отвечает Portnov
Здравствуйте, Bayram Annanurow!
Не, ну правильно говорят люди, зачем масм32, если пишете что-то досовое... Все правильно... А ошибку выдает вот почему: в 32-х битном режиме все offset-ы 32-х битные, т.е. тогда уж mov edx,offset...
С уважением, Portnov.
Ответ отправлен: 20.08.2002, 11:19
Отправитель: Portnov
Вопрос № 1032 |
чего-то я непонял.
то что виндовс все эмулирует это ясно
но все равно получается, что нужно что-то сделать (то что делает гипертерминал), что-бы досовская прога заработала
Вопрос отправлен: 19.08.2002, 15:30
Отправитель: portos
[Следующий вопрос >>] [Список вопросов]
Отвечает Portnov
Доброе время суток, portos!
А при чем здесь гипертерминал? Вы что, на удаленном компе проги запускаете?И вообще, в чем проблема-то?
Ответ отправлен: 20.08.2002, 11:21
Отправитель: Portnov
Отвечает Dark_Lord
Приветствую Вас, portos!
Может поподробнее(например текст проги дашь), тогда уже и подумать можно!
Ответ отправлен: 19.08.2002, 16:15
Отправитель: Dark_Lord
Отвечает masquer
Добрый день, portos!
А вопрос в чем? Какая винда, что эмулирует, какая программа?
Ответ отправлен: 19.08.2002, 16:43
Отправитель: masquer
Вопрос № 1034 |
Мне нужна программа на ассемблере для работы с модемом или сетью. Скажите, пожалуйста, где я могу найти какую-либо информацию?
Вопрос отправлен: 20.08.2002, 07:34
Отправитель: Huchic
[Следующий вопрос >>] [Список вопросов]
Отвечает Pablo
Добрый день, Huchic!
Смотри по ссылкам ниже:
http://wasm.ru/
http://spiff.tripnet.se/~iczelion/
http://www20.brinkster.com/ewayne/AsmLoad.html
http://www.wasm.zite.ru/tutors.shtml
Ответ отправлен: 21.08.2002, 22:03
Отправитель: Pablo
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (40) C / C++ (28) Perl (13) Delphi (16) Pascal (26) Basic / VBA (11) Java / JavaScript (12) PHP (11) MySQL / MSSQL (12) |
Пользователю Windows 95/98/Me (44) Windows NT/2000/XP (30) "Железо" (39) Поиск информации (18) |
Администратору Windows NT/2000/XP (16) Linux / Unix (16) |
Юристу Гражданское право (9) Семейное право (6) Трудовое право (7) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||