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

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.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


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


Получить ответов:


 Выбор рассылки

Программисту
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)

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




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

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


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

В избранное