Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 432
от 02.12.2002, 11:30
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 2008 Отправлено ответов: 6171 Активность: 307.3 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
Maverick Статус: Профессиональный Общий рейтинг: 136.99 URL: Задачи по ассемблеру Телефон: 89039415024 (BiLine GSM) [Подробней >>] |
Andrew Vext Статус: Доверительный Общий рейтинг: 107.56 [Подробней >>] |
Portnov Статус: Профессиональный Общий рейтинг: 116.28 URL: Мой сайтик... [Подробней >>] |
wiggler Статус: Начальный Общий рейтинг: 105.06 [Подробней >>] |
Eugene Статус: Опытный Общий рейтинг: 110.88 URL: мощный файловый архив [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 154.28 [Подробней >>] |
St Статус: Опытный Общий рейтинг: 115.45 [Подробней >>] |
masquer Статус: Профессиональный Общий рейтинг: 151.16 [Подробней >>] |
keleb-glin Статус: Доверительный Общий рейтинг: 114.58 [Подробней >>] |
LIFO Статус: Профессиональный Общий рейтинг: 124.43 URL: наш сайт Телефон: 8 01710 24758 [Подробней >>] |
Sensey Статус: Профессиональный Общий рейтинг: 122.51 URL: Страничка рассылки по Паскалю Телефон: +38 (0572) 41-76-04 дом. [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 117.28 [Подробней >>] |
igorash Статус: Профессиональный Общий рейтинг: 115.31 Телефон: 8(903)251-86-01 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 1960. Привет эксперты ! Недавно решил поставить себе Unix - подобную систему. Если какие нибудь решения та... (ответов: 6)
Вопрос № 1961. Привет All вот пытаюсь пpосканиpовать всю сеть на pесуpсы вpоде как можно это делать чеpез WNetOpen... (ответов: 1)
Вопрос № 1963. Уважаемый Bob Johnson, если можно, то пришлите мне тоже лабораторные по Ассемблеру. Мой адрес: gan@... (ответов: 2)
Вопрос № 1965. Небольшое отступление по вопросу 1903. >После вышеописанного я поставил себе delphi 6 и сделал прост... (ответов: 2)
Вопрос № 1966. Здрастуйте ув. Эксперты! Вопрос о програмировании Аксеса! Как зделать чтобы в отчёт выводилась тольк... (ответов: 1)
Вопрос № 1967. У меня есть программа Assambler скажите как работать на ней ... (ответов: 4)
Вопрос № 1968. Где можно скачать Assambler... (ответов: 3)
Вопрос № 1969. Кто нить знает какие нить книги по крекенгу?... (ответов: 3)
Вопрос № 1970. Большое спасибо за ответ,но хотелось бы уточнить по подробней.Подскажите,а как работает CreateDIPSec... (ответов: 1)
Вопрос № 1971. Здравствуйте! Написал я вот прогу: 1)на асме; 2)на делфе; 3)на с++; Теперь хочу протестировать кто б... (ответов: 5)
Вопросов: 10, ответов: 28
Вопрос № 1960 |
Привет эксперты !
Недавно решил поставить себе Unix - подобную систему.
Если какие нибудь решения там для ассемблера, или асм исключительно "заточен" под маздаевские форточки.
Вы наверное скажете, что мог поставил бы ты ее как вторую и не мучился. На что я бы ответил, что этj бесконечные глюки, зависания, и т.д. меня ужу чесно-говоря бесят.
Да и хватит с меня 1.5 лет ламерства.
И как сказал Bob Johnson
НЕТ НАРКОТИКАМ !!!
И если что-нибудь похожее на Soft-Ice под Unix Подобные системы.
Хотел бы там продолжить его изучение. Страшно переходить на новое, если ты и здель полный ландух;)))
Если у вас есть различные ссылки и материалы по этому вопросу, то обязательно напишите.
С уважением Prophet
Вопрос отправлен: 27.11.2002, 08:13
Отправитель: Prophet (jjsp@mail.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Приветствую Вас, Prophet!
Асм заточен не под операциону, а под процессор. Другое дело, что в досе исп. прерывания, а в винде API функции.
Ответ отправлен: 27.11.2002, 10:34
Отправитель: Maverick
Отвечает Andrew Vext
Приветствую Вас, Prophet!
Ассемблер есть везде, и в UNIX тоже (называется as). Правда, придется привыкать к новому синтаксису. Отладчики тоже есть, но опять же от SoftIce весьма отличаются.
Ответ отправлен: 27.11.2002, 10:52
Отправитель: Andrew Vext
Отвечает Portnov
Здравствуйте, Prophet!
Сколько можно говорить, асм бывает не под ось, а под проц!
Естественно, есть ассемблеры и под *nix-системы. У Unix и Linux вообще в комплекте поставки идут ассемблер и линковщик с мануалами по ним, у большинства других подобных систем тоже.
И мощные отладчики для *nix-систем тоже есть, один такой я видел на wasm.ru, можете еще найти.
C уважением, Portnov.
Ответ отправлен: 27.11.2002, 12:14
Отправитель: Portnov
Отвечает wiggler
Доброе время суток, Prophet!
Конечно, и под unix-подобные ОС есть ассемблер :-), правда синтаксис может несколько отличаеться от того, что принято в windows.
Ответ отправлен: 27.11.2002, 08:47
Отправитель: wiggler
Отвечает Eugene
Приветствую Вас, Prophet!
>>Да и хватит с меня 1.5 лет ламерства.
Это наверно ты столько под виндой сидел? Сколько же тебе лет тогда? Сейчас дети уже под виндой шарят как ненормальные. Знаешь сколько выкриков виндовс маздай, линукс рулез. Большинство из этих крикунов, поставив линукс через неделю сносили его.
>>На что я бы ответил, что этj бесконечные глюки,
>>зависания, и т.д. меня ужу чесно-говоря бесят.
Времена 95-й и 98-й винды прошли уже в прошлом веке. 2000-я винда гораздо стабильнее. Очень сильно её может подпортить только ну очень корявая программа. Я очень сильно сомневаюсь, что под линукс не бывает кривых программ. Так что кричать о том, что линукс безглючен, я бы не стал. Всё как в виндах, зависит от софта, который используешь.
P.S. высказался о наболевшем.
Ответ отправлен: 27.11.2002, 09:11
Отправитель: Eugene
Отвечает Bob Johnson
Здравствуйте, Prophet!
АСМ не может быть заточен под конкретную ОС, т.к. он только процессорозависем, т.е. ориентирован на программирование под определенный процессор. Под Linux'ом есть асм, например.
А вот все-таки винды надо было оставить...
Ведь и linux может повиснуть...
Ответ отправлен: 28.11.2002, 21:25
Отправитель: Bob Johnson
Вопрос № 1961 |
Привет All
вот пытаюсь пpосканиpовать всю сеть на pесуpсы
вpоде как можно это делать чеpез WNetOpenEnum, WNetEnumResource ...
пеpвую машинку покажет а дальше хpен вам. где гpабли знает кто?
может полностью заслать пpогу или кусков хватит?
=== Cut ===
xor ebp,ebp
_loc34: push offset NetEnum
push ebp
push RESOURCEUSAGE_ALL
push RESOURCETYPE_ANY
push RESOURCE_GLOBALNET
call WNetOpenEnumA
or eax,eax
jnz _error
mov ebp,offset NetRes
;;
push offset NetResSize
push ebp
push offset ipcCount
push [NetEnum]
call WNetEnumResourceA
or eax,eax
jnz _exit
mov ecx,[ipcCount]
_loc35: mov esi,offset NetRes.nr_lpLocalName
...
... ; вывод
loop _loc35
jmp _loc34
_exit: push [NetEnum]
call WNetCloseEnum
NetRes nr_struc num dup (?)
NetResLen=$-NetRes
NetResSize dd NetResLen
NetEnum dd 0
ipcCount dd -1
; остатки
RESOURCE_CONNECTED equ 00000001h
RESOURCE_GLOBALNET equ 00000002h
RESOURCE_REMEMBERED equ 00000003h
RESOURCE_RECENT equ 00000004h
RESOURCE_CONTEXT equ 00000005h
RESOURCETYPE_ANY equ 00000000h ; Note that this is not a bit mask value
RESOURCETYPE_DISK equ 00000001h
RESOURCETYPE_PRINT equ 00000002h
RESOURCETYPE_RESERVED equ 00000004h ; Reserved for a bit mask version of
RESOURCETYPE_ANY
RESOURCEUSAGE_CONNECTABLE equ 00000001h
RESOURCEUSAGE_CONTAINER equ 00000002h
RESOURCEUSAGE_NOLOCALDEVICE equ 00000004h
RESOURCEUSAGE_SIBLING equ 00000008h
RESOURCEUSAGE_RESERVED equ 80000000h
RESOURCEUSAGE_ALL equ RESOURCEUSAGE_CONNECTABLE +
RESOURCEUSAGE_CONTAINER
nr_struc struc ; netresource structure
nr_dwScope dd ? ;scope of the enumeration
nr_dwType dd ? ;bitmask that gives the resource type
nr_dwDisplayType dd ?
nr_dwUsage dd ?
nr_lpLocalName dd ?
nr_lpRemoteName dd ?
nr_lpComment dd ?
nr_lpProvider dd ?
ends
Вопрос отправлен: 27.11.2002, 08:41
Отправитель: trex (trex@onego.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает St
Привет, trex!
Вашу программу я не очень понял, в чужих разбираться сложно но я сам писал когда-то программку для посылки сообщений по сети (типа winpopup) c определением какие машины сейчас в сети. Но она не закончена, в ней подразумевалось что есть только одна рабочая группа. На разных сетях она вела себя по-разному - на одной работал вариант только где вместо второго хэндла пришлось еще раз передать первый, иначе не работало. Где-то работала, пока не были (на каждом из четырех этапах - сеть миксософт, еще чего-то, рабочая группа, машина) введены проверки на ошибку, когда это было сделано всё обрывалось уже на втором этапе.
Пример рабочей процедуры см Приложение. Здесь вторая WNetOpenEnumA закоментирована и во вторую WNetEnumResourceA передается HANDLE_ENUM, а не HANDLE_ENUM1 как следует по документации (сработала программистская интуиция :). Тем не менее у меня это работает (Win2k). В конце процедуры найденные машины добавляются в список.
Если есть вопросы: st23@yandex.ru
St
Приложение:
Ответ отправлен: 27.11.2002, 12:39
Отправитель: St
Вопрос № 1963 |
Уважаемый Bob Johnson, если можно, то пришлите мне тоже лабораторные по Ассемблеру. Мой адрес:
gan@pokrovsk.sakha.ru
С уважением, Никита
Вопрос отправлен: 27.11.2002, 12:59
Отправитель: Никита
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Доброе время суток, Никита!
Кхе, что это за пресловутые лабораторные? Я гляжу бедного Bob Jonsona уже закидали подобными вопросами :)
Если они и правда интересные, то скинь мне на Maverick@nightmail.ru
Ответ отправлен: 28.11.2002, 04:41
Отправитель: Maverick
Отвечает Bob Johnson
Добрый день, Никита!
Можно. Высылаю.
Ответ отправлен: 28.11.2002, 21:25
Отправитель: Bob Johnson
Вопрос № 1965 |
Небольшое отступление по вопросу 1903.
>После вышеописанного я поставил себе delphi 6 и сделал простое окно с одним пунктом меню, при нажатии на которое прога должна закончиться. Итог - размер 350 Kb ( или у меня с глазами плохо ? ).
Так оно и есть. При компилировании проекта Delphi вставляет готовые модули. Ты сделал форму с кнопкой, а он тебе засунул туда все, что с ними связано.
В этом есть и плюсы и минусы: уменьшение времени компиляции (когда ты водиш мышкой по тексту программы Delphi успевает скомпилировать и дать подсказку, попробуй поводить мышью в BCBuilder), плюс включается избыток кода на случай того, что что-нибудь будет создаваться в RunTime, ну и т.д.
Зато при большом проекте наблюдается обратная ситуация: добавляеш 300 кБ кода, а экзешник увеличивается на 5-10.
Наконец, если хочеш увидеть в работе дельфийский компилятор, сделай консольное приложение и сравни его размер с аналогичным от СИ.
А вообще куда кидать комментарии? Иногда вопросы освещены не полностью.
Вопрос отправлен: 27.11.2002, 14:17
Отправитель: Vladimir
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Доброе время суток, Vladimir!
Ни куда их не кинешь пока, тока отдельным вопросом.
В Delphi помоему можно добиться минимального размера приложения около 40 кб, если отключить некоторые библиотеки.
Ответ отправлен: 28.11.2002, 04:41
Отправитель: Maverick
Отвечает Bob Johnson
Добрый день, Vladimir!
Чего-то я не понял, а в чем вопрос?
В delphi можно делать и очень маленькие проги - для этого надо отключить все стандартные инклюды (это uses) и подключать все необходимые функции из системных DLL самому.
Ответ отправлен: 28.11.2002, 21:25
Отправитель: Bob Johnson
Вопрос № 1966 |
Здрастуйте ув. Эксперты!
Вопрос о програмировании Аксеса!
Как зделать чтобы в отчёт выводилась только выделенная запись(форма), а не вся таблица?
зараннее благодарен!
з.ы. Сори за офтопик, может кто сталкивался!!!
з.ы.ы. Пытаюсь програмировать в Аксесе!
Вопрос отправлен: 27.11.2002, 19:33
Отправитель: Ghost
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Добрый день, Ghost!
Так ты запрос в отчете сделай такой, чтобы в него попадали не все записи таблицы, например что-то вроде:
select * from TABLE where ID=[FORMS]![Выбор отчета]![Идентификатор]
Ответ отправлен: 29.11.2002, 15:13
Отправитель: Bob Johnson
Вопрос № 1967 |
У меня есть программа Assambler скажите как работать на ней
Вопрос отправлен: 27.11.2002, 20:25
Отправитель: Flanker
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Доброе время суток, Flanker!
Угу, а у меня есть крутая прога VyNdAWz, обменяемся знаниями?
Ответ отправлен: 28.11.2002, 11:05
Отправитель: masquer
Отвечает Andrew Vext
Добрый день, Flanker!
Plug'n'play -вставил и играй.
Правильный вопрос- залог быстрого ответа.
Ответ отправлен: 28.11.2002, 11:47
Отправитель: Andrew Vext
Отвечает Maverick
Добрый день, Flanker!
Нужно ее сначало ассемблировать, для получения объектного файла, а потом слинковать. Например Tasm.
Ассемблируем:
Tasm.exe myprog.asm
получчится файл myprog.obj
Линкуем:
Tlink.exe myprog.obj /t
если убрать параметр /t, получится exe, с ним-com
Ответ отправлен: 28.11.2002, 04:41
Отправитель: Maverick
Отвечает Bob Johnson
Доброе время суток, Flanker!
Пишешь программу в любом текстовом редакторе, потом компилируешь ее:
tasm /m2 my_file.asm
tlink my_file.obj
и все...
Ответ отправлен: 29.11.2002, 15:13
Отправитель: Bob Johnson
Вопрос № 1968 |
Где можно скачать Assambler
Вопрос отправлен: 27.11.2002, 20:40
Отправитель: pavelk
[Следующий вопрос >>] [Список вопросов]
Отвечает keleb-glin
Добрый день, pavelk!
Ищи masm на www.microsoft.com
Ответ отправлен: 30.11.2002, 22:29
Отправитель: keleb-glin
Отвечает Maverick
Доброе время суток, pavelk!
На просторах инета, его везде навалом.
Tasm или Masm
Погляди на www.filesearch.ru
Ответ отправлен: 28.11.2002, 04:41
Отправитель: Maverick
Отвечает masquer
Здравствуйте, pavelk или Flanker!
Судя по безошибочному написанию названия языка и предыдущему вопросу скажу - тебе это не нужно.
Ответ отправлен: 28.11.2002, 11:23
Отправитель: masquer
Вопрос № 1969 |
Кто нить знает какие нить книги по крекенгу?
Вопрос отправлен: 27.11.2002, 21:44
Отправитель: Soldier
[Следующий вопрос >>] [Список вопросов]
Отвечает Maverick
Добрый день, Soldier!
Сам не читал, но хвалили Криса Касперски
Ответ отправлен: 28.11.2002, 04:41
Отправитель: Maverick
Отвечает masquer
Доброе время суток, Soldier!
Кто-нибудь - точно знает!!!
Ответ отправлен: 28.11.2002, 11:25
Отправитель: masquer
Отвечает LIFO
Добрый день, Soldier!
Уже в крякинг подался?
Есть много фуфлыжных книг типа(крякнем вместе, все для крякера) размеров в 400-500стр. кот. тебе скорее здоровье подорвут, чем чему - нибудь научат.
Советую взять две книги
Криса Касперского (библия хакера и обнаружение хак.атак)
Ответ отправлен: 28.11.2002, 23:05
Отправитель: LIFO
Вопрос № 1970 |
Большое спасибо за ответ,но хотелось бы уточнить по подробней.Подскажите,а как работает CreateDIPSection,я не нашел ее описание,знаю,что ей надо передать 6 параметров,среди них какая,то структура,и потом раз Create... ,значит она что то создает,а мне надо узнать начальный адрес памяти bitmap-а и получить к нему доступ.
сенкью.(я задавал вопрос 1868)
Вопрос отправлен: 27.11.2002, 22:08
Отправитель: Korov
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, Korov!
Ты мог не найти ее описание, если назвал ее CreateDIPSection - правильно CreateDIBSection.
Описание ее есть в MSDN. Ну так вот, вначале создаешь в памяти DC:
push _какой нибудь уже имеющийся DC, например экрана_
Call CreateCompatibleDC
mov [mdc], eax
далее создаешь DIB section:
push 0
push 0
lea eax, [ma]
push eax
push DIB_RGB_COLORS
lea eax, [bih]
push eax
push [mdc]
Call CreateDIBSection
mov [mbm], eax
Где переменные [ma] - это указатель, в который вернется адрес битмапа в памяти, т.е.
ma dв ?
а bih - вот это заголовок, т.е. BITMAPINFOHEADER, который ты заполняешь до вызова функции необходимыми значениями.
Функция вернет в eax HBitmap, который ты можешь затем вполне выбрать в DC: SelectObject (mdc, mbm);
а переменная ma будет указывать на блок памяти, содержащий биты...
Если же ты хочешь руками править уже готовый битмап, то сделай свою дибсекшан, скопируй в нее информацию из исходного DC (BitBlt) и потом правь...
Ответ отправлен: 29.11.2002, 15:13
Отправитель: Bob Johnson
Вопрос № 1971 |
Здравствуйте!
Написал я вот прогу:
1)на асме;
2)на делфе;
3)на с++;
Теперь хочу протестировать кто быстрее работает и на сколько быстрее!!!
Может посоветуете соответствующий софт (типа считает такты проца, затраченные на прогу(цикл в проге)), который мне поможет!
Либо может мне самому можно что-нибудь настряпать!!
ЗЫ: Желательно, чтоб можно было бы анализировать быстродействие циклов в проге(ну и других составных частей).
Вопрос отправлен: 28.11.2002, 11:21
Отправитель: Orlando (orlando@kaluga.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Sensey
Добрый день, Orlando!
Предложу в исходнике этих прог запоминать время- я лично так делаю.
Для ДОСа лучше всего читать данные из БИОС по адресу 40:6С с точночтью 55мс
Ответ отправлен: 28.11.2002, 11:47
Отправитель: Sensey
Отвечает Bob Johnson
Доброе время суток, Orlando!
Лучше сам внутри своей проги проверяй таймер или что-нибудь еще. Потому что некоторое время тратится на запуск проги и чем мощнее язык, на котором она написана - тем больше времени надо на инициализацию.
Ответ отправлен: 29.11.2002, 15:14
Отправитель: Bob Johnson
Отвечает Ayl
Здравствуйте, Orlando!
Во-первых, ты можешь сам написать что-то подобное:
start := GetTimer;
Execute (progasm);
end := GetTimer;
AsmTime := TimePeriod (start, end);
start := GetTimer;
Execute (progdelphi);
end := GetTimer;
DelphiTime := TimePeriod (start, end);
start := GetTimer;
Execute (progcpp);
end := GetTimer;
CPPTime := TimePeriod (start, end);
Это просто алгоритм, но смысл действий, я надеюсь, понятен.
и сравнить. Если программы выполняются очень быстро, то запускаешь ее раз 100 (1000 и т.п.) и потом вычисляешь время одного запуска.
Во-вторых, можно воспользоваться каким-либо средством. Например, для Dos была программка Turbo Profiler как раз для анализа выполнения программ. Она позволяла получать информацию в том числе по отдельным частям программы.
К сожалению, я не знаю подобных средств для винды, но уверен, что они есть. Причем, скорее всего, даже входят в дистрибутивы Delphi и C++.
Ответ отправлен: 28.11.2002, 12:01
Отправитель: Ayl
Отвечает igorash
Приветствую Вас, Orlando!
1) asm - rdtsc сколько тактов после ресета
2) c++ - clock - такты с момента старта проги..
дельфи - не знаю
Ответ отправлен: 28.11.2002, 15:43
Отправитель: igorash
Отвечает St
Привет, Orlando!
Можно использовать функции виндов типа GetTickCount или QueryPerformanceCounter (точнее) для расчета времени между двумя вызовами этих функций.
Например один раз запустить GetTickCount до цикла, а потом второй после и вычесть из второго результата первый (точность якобы 1 миллисекунда, на самом деле зависит от разных причин). Для большей точности поставьте побольше циклов.
St
Ответ отправлен: 28.11.2002, 11:59
Отправитель: St
Форма отправки вопроса |
Форма может работать некорректно в почтовых программах "Microsoft Outlook" и "Microsoft Outlook Express". В программе The Bat! подобные формы не работают вообще!
После нажатия на кнопку "Отправить", будет открыто второе окно. Заметьте, что в некоторых браузерах могут стоять запреты на открытие других окон, а также "чрезмерное" кэширование данных, при этом факт отправки Вашего вопроса стоит под сомнением.
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
© 2002 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (39) C / C++ (27) Perl (8) Delphi (17) Pascal (22) Basic / VBA (9) Java / JavaScript (15) PHP (9) MySQL / MSSQL (9) |
Пользователю Windows 95/98/Me (35) Windows NT/2000/XP (23) "Железо" (27) Поиск информации (15) |
Администратору Windows NT/2000/XP (13) Linux / Unix (18) |
Юристу Гражданское право (9) Семейное право (3) Трудовое право (5) КоАП (3) |
Отправить вопрос всем экспертам выбранной рассылки.
© 2002 Россия, Москва. Авторское право: RusFAQ.ru |
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||