Рассылка закрыта
При закрытии подписчики были переданы в рассылку "RFpro.ru: Ассемблер? Это просто! Учимся программировать" на которую и рекомендуем вам подписаться.
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
RusFAQ.ru: программирование на языке Assembler
Информационный Канал Subscribe.Ru |
RusFAQ.ru: программирование на языке Assembler
Выпуск № 599
от 25.07.2003, 16:40
Администратор: Имя: Калашников О.А. URL: Информационный ресурс ICQ: 68951340 Россия, Москва |
О рассылке: Задано вопросов: 3785 Отправлено ответов: 11113 Активность: 293.6 %
|
Список экспертов, ответы которых опубликованы в данном выпуске |
masquer Статус: Профессиональный Общий рейтинг: 135.86 [Подробней >>] |
Bob Johnson Статус: Профессиональный Общий рейтинг: 152.1 URL: Программирование [Подробней >>] |
Igoryk Статус: Профессиональный Общий рейтинг: 111.38 URL: IgorykSoft [Подробней >>] |
Евгений Иванов Статус: Опытный Общий рейтинг: 141.66 URL: Super Assembler Software [Подробней >>] |
Gibbel Статус: Профессиональный Общий рейтинг: 107.73 URL: Savage Metal Club - жизнь в стиле рок-н-ролл Телефон: +7 901 710 3146 [Подробней >>] |
Hangatyr Статус: Опытный Общий рейтинг: 114.67 [Подробней >>] |
Broken Sword Статус: Профессиональный Общий рейтинг: 121.51 URL: мой сайт [Подробней >>] |
GL Статус: Опытный Общий рейтинг: 102.67 [Подробней >>] |
_vt Статус: Профессиональный Общий рейтинг: 120.78 [Подробней >>] |
Ayl Статус: Профессиональный Общий рейтинг: 118.22 [Подробней >>] |
Tigran K. Kalaidjian Статус: Профессиональный Общий рейтинг: 123.28 URL: Методы оптимизации работы ПК [Подробней >>] |
Lynx Статус: Опытный Общий рейтинг: 118.41 Телефон: (8442) 750522 [Подробней >>] |
Краткий перечень вопросов |
Вопрос № 3742. Здравствуйте уважаемые Эксперты. Поделитись, плиз, хорошим мануалом по табличниму алгоритму CRC32. И... (ответов: 1)
Вопрос № 3743. Здравствуйте, уважаемые эксперты. Мне нужно кликнуть мышкой в координатах X и Y всей видимой области... (ответов: 4)
Вопрос № 3744. Здравствуй, Евгений Иванов! :) :) :) Точно! Тёзка! :) ;) К своему вопросу 3739 нужно мне было ещё до... (ответов: 1)
Вопрос № 3745. Доброе время суток господа програмисты. Переполз я недавно под Линух,да так он меня засосал, что мне... (ответов: 4)
Вопрос № 3746. Здравствуйте товарищи еxперты! я вот тут експерементировал с .bat фаылами. но не силен я в DOS'e. ма... (ответов: 5)
Вопрос № 3747. Здравствуйте товарищи еxперты! я вот тут експерементировал с .bat фаылами. но не силен я в DOS'e. ма... (ответов: 3)
Вопрос № 3748. ПРИВЕТСТВУЮ ВАС УВАЖАЕМЫЕ ЭКСПЕРТЫ!!!!!!! У меня следующая проблема!!! На работе компьютер запоролен... (ответов: 3)
Вопрос № 3749. день добрый, господа программеры!! у меня возник вот какой вопрос на счет стэка: в одном из выпусков... (ответов: 5)
Вопросов: 8, ответов: 26
Вопрос № 3742 |
Здравствуйте уважаемые Эксперты.
Поделитись, плиз, хорошим мануалом по табличниму алгоритму CRC32. Или расскажите более-менее подробно. Пересмотрел кучу переводов (корявых :() и так и не понял как строить эту таблицу. А с буржуйским не настолько дружу, чтобы искать оригинальные статьи.
Заранее благодарю.
Вопрос отправлен: 20.07.2003, 19:30
Отправитель: sba (sba@litech.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает masquer
Здравствуйте, sba!
Я так делаю:
mov ecx, 256
mov edx, 0EDB88320h
@@BL:
mov eax, ecx
push ecx
mov ecx, 8
@@SL:
shr eax, 1
jnc @F
xor eax, edx
@@:
loop @@SL
pop ecx
mov crc32tab[ecx*4], eax
loop @@BL
Ответ отправлен: 21.07.2003, 12:29
Отправитель: masquer
Вопрос № 3743 |
Здравствуйте, уважаемые эксперты.
Мне нужно кликнуть мышкой в координатах X и Y всей видимой области рабочего стола,
но не могу ничего найти про это. Поискал в хелпе по WinAPI, и нашел только
SendMessage,hWnd,wm_LButtonDown,X,Y.
Подскажите может указать какой-нибудь hWnd десктопа, или есть способ проще ?
Вопрос отправлен: 20.07.2003, 20:48
Отправитель: usar (usar@gorodok.net)
[Следующий вопрос >>] [Список вопросов]
Отвечает Bob Johnson
Здравствуйте, usar!
Попробуй использовать WindowFromPoint и ChildWindowFromPoint.
* EMan1.5 beta: ---===*** The hell we've created ***===---
Ответ отправлен: 20.07.2003, 21:13
Отправитель: Bob Johnson
Отвечает Igoryk
Добрый день, usar!
Насколько я знаю у Рабочего стола только один Hwnd = 0
Ответ отправлен: 23.07.2003, 19:23
Отправитель: Igoryk
Отвечает Евгений Иванов
Приветствую Вас, usar!
Очень просто:
1. SetCursorPosition
2. Потом берёшь номер окна, под которым находится курсор мыши.
или используешь HWND_BROADCAST в SendMessage
3. Посылашь этому окну любые сообщения, в том числе и WM_LBUTTONDOWN
Ответ отправлен: 20.07.2003, 23:33
Отправитель: Евгений Иванов
Отвечает Gibbel
Доброе время суток, usar!
HWND GetDesktopWindow(VOID);
Ответ отправлен: 21.07.2003, 10:35
Отправитель: Gibbel
Вопрос № 3744 |
Здравствуй, Евгений Иванов! :) :) :) Точно! Тёзка! :) ;)
К своему вопросу 3739 нужно мне было ещё добавить то, что я и
push offset threadID
делал, и компилировал с разными ключами, результат один: или 0 после вызова CreateThread, или ошибка программы с надлежащим окошком с тремя кнопками (закрыть, отладка, подробности :).
А насчёт mov dx,3bch - ну не знаю что на меня нашло и почему я по-иному туда число положил.. согласен, обычным способом - лучше.
Вот такие пироги...
Вопрос отправлен: 20.07.2003, 21:32
Отправитель: 86 a5 ad ef
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Здравствуйте, 86 a5 ad ef!
Я ещё не изучал, что такое Thread, так что помочь не могу.
А можно без этого обойтись?
Ответ отправлен: 20.07.2003, 23:34
Отправитель: Евгений Иванов
Вопрос № 3745 |
Доброе время суток господа програмисты.
Переполз я недавно под Линух,да так он меня засосал, что мне уже и не освободиться, не подскажите, есть ли токя возможность чтоб программировать на любимом Асме по Линухом,
2. Возможно, у кого есть утилитка util.com память которая смотрит, поделитесь за огромное спасибо...
Удачи всем.
Alex
Вопрос отправлен: 20.07.2003, 22:50
Отправитель: alex (alex5775@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Доброе время суток, alex!
1. На асме есть возможность писать под что угодно, лишь бы там процессор был. Используй NASM/FASM под линух, если, конечно, не нравится AT&T синтаксис...
Ответ отправлен: 21.07.2003, 00:28
Отправитель: Hangatyr
Отвечает Евгений Иванов
Доброе время суток, alex!
NASM!
New releases of NASM are uploaded to the official sites
http://nasm.sourceforge.net' and to ftp.kernel.org' and
ibiblio.org'.
Ответ отправлен: 21.07.2003, 03:25
Отправитель: Евгений Иванов
Отвечает Broken Sword
Приветствую Вас, alex!
о! пополнение в рядах
зайди на мой сайт (линк внизу), там есть несколько исходников, по которым ты без труда разберешься
Ответ отправлен: 21.07.2003, 10:08
Отправитель: Broken Sword
Отвечает GL
Доброе время суток, alex!
2. http://www.xs4all.nl/~hneel/password/kasputil.zip
Ответ отправлен: 21.07.2003, 13:48
Отправитель: GL
Вопрос № 3746 |
Здравствуйте товарищи еxперты!
я вот тут експерементировал с .bat фаылами. но не силен я в DOS'e.
максимум что я наваял фаил "compiler4TASM.bat", лежащиы в каталоге с моими прогами.
----------------------------------
asmin asm file.asm
asmin link file.obj /t3 /x
del file.obj
----------------------------------
потом я догнал, что "del file.obj" можно заменить на "del *.obj".
Так надо будет при компиляции нового фаила менять код .bat'a вместо 3х всего в 2х местах.
А хотелось бы чтоб менять надо было всего в одном месте вроде переменной:
--------------------
file="blablabla"
asmin asm....
...
--------------------
или вообще универсальный, чтоб все файлы в каталоге с разрешением ASM компилил и выдавал готовый COM
Здорово будет если дадите небольшой урок по BATникам.
И еще один маленький:
При загрузке из TD.exe (Turbo Debugger из комплекта TASM) любой проги он мне выдает 'Program has No symbol table' и внизу показывает стандартный набор: DS:0000 CD 20 00 .... помогите и с этим тоже.
Спасибо за ваше время,
Антон
Вопрос отправлен: 21.07.2003, 01:20
Отправитель: 00010010 (00010010@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Igoryk
Добрый день, 00010010!
Урок по BAT-никам в скором времени будет на сайте выложен. А вообще почему бы тебе не использовать %1 - первый аргумент в командной строке.
Ответ отправлен: 23.07.2003, 19:23
Отправитель: Igoryk
Отвечает Евгений Иванов
Доброе время суток, 00010010!
Я использую этот BAT-файл, он стоит на ассоциации на расширение в FAR.
Команда, выполняемая по Enter:
c:zasc.bat !~
Пути замени на свои...
@echo off
cls
e:asmin asm.exe /m9 /t /ml /ie:asminclude %1.asc,%1.obj >_errors.obj
if errorlevel 1 goto exit
e:asmin link.exe /Tdc /c /C /x /yx %1.obj ,%1.com
if errorlevel 1 goto exit
del %1.obj
goto end
:exit
e:asmintohiewhiew.exe _errors.obj
:end
;-------
А это я программы для WIN32 делаю:
ASMH создаёт файл с GLOBAL именами - для IMPORT win32-функций.
Я этот батник кидаю в каталог с разработкой, главные файлы - main.asw и
misc_procs.asw ну и остальные, названы по использованию...
;--- make.bat
@echo off
SET NameExe=Голос в текст
del "%NameExe%.exe" >nul
cls
E:DAYS.PROASMH.COM main.asw asmh.e /gy
E:DAYS.PROASMH.COM cmd_main.asw asmh1.e /gy
E:DAYS.PROASMH.COM MISC_P~1.ASW asmh2.e /gy
E:DAYS.PROASMH.COM msg_dlgs.asw asmh3.e /gy
E:DAYS.PROASMH.COM msg_main.asw asmh4.e /gy
E:DAYS.PROASMH.COM algo.asw asmh5.e /gy
E:DAYS.PROASMH.COM sound.asw asmh6.e /gy
E:DAYS.PROASMH.COM text.asw asmh7.e /gy
e:asmin asm32@.exe /mv40 /m9 /t /ml /kh200000 /ie:asminclude main.asw,main.obj >_errors.obj
rem call c:zerr_asm main.asw
if errorlevel 1 goto exit
e:asmin link32@.exe /P /V4.0 /Af:512 /x /Tpe /aa /c main.obj ,main.exe,,,main.def,main.res
rem e:MASM32BINLink.exe /SUBSYSTEM:WINDOWS /LIBPATH:E:AsmLIBhla kernel32.lib user32.lib gdi32.lib k:Speak.obj
rem call c:zerr_link main.obj
if errorlevel 1 goto exit
ren main.exe "%NameExe%.exe" >nul
goto end
:exit
e:asmintohiewhiew.exe _errors.obj
:end
SET NameExe=
;-----
Когда только ресурсы меняю, то запускаю этот батник:
;--- make_exe.bat
@echo off
SET NameExe=Голос в текст
del "%NameExe%.exe" >nul
cls
e:asmin link32@.exe /P /V4.0 /Af:512 /x /Tpe /aa /c main.obj ,main.exe,,,main.def,main.res
if errorlevel 1 goto exit
ren main.exe "%NameExe%.exe" >nul
goto end
:exit
:end
SET NameExe=
Создаю константы из ресурсного файла для Ассемблера:
;----- make_h.bat
@echo off
cls
E:asmBINh2ash32.exe -qi resource.h
Создаю ресурсы:
;----- makeRes.bat
@echo off
cls
e:cinrcc32.exe -32 -ie:asminclude main.rc -fomain.res
ну и есть батник, чтобы всё это последовательно вызывать
;---- make_all.bat
@echo off
call make_h.bat
call makeRes.bat
call make.bat
;--------
Чтобы все файлы, это или *.asm, или:
for %%q in (*.asm) do call make_all.bat %%q
что-то типа этого...
Насчёт отладочной информации читай в рассылке; иам ключи /zi и /v
Удачи!
Ответ отправлен: 21.07.2003, 03:25
Отправитель: Евгений Иванов
Отвечает _vt
Добрый день, 00010010!
1)Что-то я не пойму, каким компилятором ты пользуешься(что это за asmin asm, я такого не встречал)? Буду использовать для примеров tasm...
2) небольшой урок по bat-файлам:
bat-файлы можно вызывать с параметрами в командной строке: передаешь в ней имя исходного файла( .asm), и DOS подставит это имя внутри bat-файла вместо символа %1.
Например, есть следующий bat:
@echo off
tasm %1.asm
tlink %1.obj
tdstrip /s /c %1.exe
del %1.obj
Сохраняешь его как debug.bat и используешь следующим образом: у тебя есть файл new.asm из которого надо получить new.com. Ты вызываешь в каталоге с этим файлом debug.bat c параметром new (имя файла без расширения)
debug.bat new
и его имя подставится везде вместо %1...
Заодно это пример, как получить отладочную информацию для com-файла, о чем говорит тебе td.exe...
---===*** E-Man 1.4 - waiting for 1.5...***===---
Ответ отправлен: 23.07.2003, 11:12
Отправитель: _vt
Отвечает Ayl
Приветствую Вас, 00010010!
Чтобы завести переменную, надо написать:
set file=blabla
Чтобы ее использовать, надо написать:
%file%
Но в твоем случае переменные неэффективны, так как придется для каждого файла менять батник. Лучше всего использовать параметры командной строки. Они обозначаются как %1, %2 и т.д. до %9. Т.е. тебе нужно написать что-то типа этого:
--- com.bat ---
tasm /m2 /la %1.asm
tlink /t %1.obj
del %1.obj %1.map
И вызывать для компиляции следующим образом:
com blabla
т.е. указываешь имя файла без расширения.
Насчет TD. Он сообщает, что отсутствует символическая таблица имен для программы, в связи с чем TD не может восстановить исходный текст программы и способен только на отладку в режиме просмотра CPU. Отладочную информацию можно записать только в файлы типа EXE. Для этого при компиляции нужно использовать следующие ключи:
TASM : /zi
TLINK: /l /v
Ответ отправлен: 21.07.2003, 10:13
Отправитель: Ayl
Отвечает Tigran K. Kalaidjian
Приветствую Вас, 00010010!
Делайте так:
-----------run.bat--------
tasm %1.asm /m3
tlink %1.obj /t3 /x
del %1.obj
--------------------------
Если Вы будете выполнять run.bat с параметром, содержащим имя файла-текста программы без расширения, то этот параметр будет подставляться вместо %1
Пример: У вас есть test.asm, чтобы его скомпилировать и собрать, надо в коммандной строке написать следующее:
run.bat test
Ответ отправлен: 21.07.2003, 14:02
Отправитель: Tigran K. Kalaidjian
Вопрос № 3747 |
Здравствуйте товарищи еxперты!
я вот тут експерементировал с .bat фаылами. но не силен я в DOS'e.
максимум что я наваял фаил "compiler4TASM.bat", лежащиы в каталоге с моими прогами.
----------------------------------
asmin asm file.asm
asmin link file.obj /t3 /x
del file.obj
----------------------------------
потом я догнал, что "del file.obj" можно заменить на "del *.obj".
Так надо будет при компиляции нового фаила менять код .bat'a вместо 3х всего в 2х местах.
А хотелось бы чтоб менять надо было всего в одном месте вроде переменной:
--------------------
file="blablabla"
asmin asm....
...
--------------------
или вообще универсальный, чтоб все файлы в каталоге с разрешением ASM компилил и выдавал готовый COM
Здорово будет если дадите небольшой урок по BATникам.
И еще один маленький:
При загрузке из TD.exe (Turbo Debugger из комплекта TASM) любой проги он мне выдает 'Program has No symbol table' и внизу показывает стандартный набор: DS:0000 CD 20 00 .... помогите и с этим тоже.
Спасибо за ваше время,
Антон
Вопрос отправлен: 21.07.2003, 01:32
Отправитель: 00010010 (00010010@nm.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Приветствую Вас, 00010010!
1. Я пользуюсь таким:
echo off
SET FN=some_program
tasm32.exe /ml /t /m3 /z /q %FN%.asm
tlink32.exe -Tpe -aa -c -x -V4.0 %FN%.obj,,,import32.lib,,
del %FN%.obj
Он, правда расчитан на win32-приложения и TASM32, но переделать его будет нетрудно.
2. Включи отладочную информацию:
tasm /zi
tlink /v
Только для com-файлов это не сработает.
Ответ отправлен: 21.07.2003, 09:56
Отправитель: Hangatyr
Отвечает Tigran K. Kalaidjian
Доброе время суток, 00010010!
См. ответ на вопрос 3746
Ответ отправлен: 21.07.2003, 14:04
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Доброе время суток, 00010010!
@cls
@SET FI=my_prog
@f:\tasm\bin\tasm.exe /m2 %FI%.asm
@f:\tasm\bin\tlink.exe /3 %FI%.obj /t
@del %FI%.map
@del %FI%.obj
* EMan1.5: ---===*** The hell we've created ourselves ***===---
Ответ отправлен: 21.07.2003, 19:55
Отправитель: Bob Johnson
Вопрос № 3748 |
ПРИВЕТСТВУЮ ВАС УВАЖАЕМЫЕ ЭКСПЕРТЫ!!!!!!!
У меня следующая проблема!!!
На работе компьютер запоролен, винда 2000 проф!!!
И если для этого нужны какие нибудь программы, то немогли ли вы их прислать, ну или хотябы линки!!!
С уважением Ujin!!!
Вопрос отправлен: 21.07.2003, 09:26
Отправитель: Ujin (twixt@rambler.ru)
[Следующий вопрос >>] [Список вопросов]
Отвечает Hangatyr
Доброе время суток, Ujin!
А какая проблема-то? Пароль что ли убрать?
Короче, на мыло что-нибудь кину...
Ответ отправлен: 21.07.2003, 10:00
Отправитель: Hangatyr
Отвечает Tigran K. Kalaidjian
Добрый день, Ujin!
Программы для чего? Если это имеет отношение к паролю, то для снятия пароля, угадывания пароля или обхода защиты ? Универсальный совет - format c: /q , тогда и пароль не нужен =)
Должно ли снятие пароля быть заментным для других лиц и пр. Ответьте на эти вопросы и конкретнее сформулируйте свой и напишите сюда.
Ответ отправлен: 21.07.2003, 14:11
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Здравствуйте, Ujin!
С моей страницы скачай debploit. Инструкция там же. http://bobjohnson.nm.ru
* EMan1.5: ---===*** The hell we've created ourselves ***===---
Ответ отправлен: 21.07.2003, 19:56
Отправитель: Bob Johnson
Вопрос № 3749 |
день добрый, господа программеры!!
у меня возник вот какой вопрос на счет стэка:
в одном из выпусков программирования на ассе(006 вроде)
приводился пример кода против отладки и там говорилось, что надо поместить начало стэка внутрь кода, значит в этом примере главное это просто поставить метку где-нибудь внутри кода и занести адрес метки в SP ?? или я что-то ни так понял??
заранее спасибо
Вопрос отправлен: 21.07.2003, 16:31
Отправитель: Poma
[Следующий вопрос >>] [Список вопросов]
Отвечает Евгений Иванов
Приветствую Вас, Poma!
Тут используется свойство стека и отладчика. Отладчик использует стек и
затрёт код, который останется в неприкосновенности, если программа работает
в обычном режиме, не в отладчике.
Вот и подумай, как это можно сделать?
Ответ отправлен: 21.07.2003, 17:13
Отправитель: Евгений Иванов
Отвечает Ayl
Добрый день, Poma!
Ты все правильно понял. Именно так и нужно сделать.
Ответ отправлен: 21.07.2003, 16:57
Отправитель: Ayl
Отвечает Tigran K. Kalaidjian
Доброе время суток, Poma!
АФАИР там имелось ввиду, что самомодифицирующийся код (в частности при помощи стека) является защитой от отладки.
Ответ отправлен: 21.07.2003, 19:28
Отправитель: Tigran K. Kalaidjian
Отвечает Bob Johnson
Доброе время суток, Poma!
Да, типа того.
* EMan1.5: ---===*** The hell we've created ourselves ***===---
Ответ отправлен: 22.07.2003, 00:28
Отправитель: Bob Johnson
Отвечает Lynx
Добрый день, Poma!
Вобщем ты всё понял правильно, только надо смотреть, что бы в регистре SS ничего не напутать. :)))
Ответ отправлен: 25.07.2003, 11:15
Отправитель: Lynx
Форма отправки вопроса |
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.
(C) 2002-2003 Команда RusFAQ.ru.
Вопрос и дополнение |
Ваш вопрос:
Приложение (если необходимо):
Получить ответов:
Выбор рассылки |
Программисту Assembler (33) C / C++ (23) Perl (4) Builder / Delphi (20) Pascal (22) Basic / VBA (11) Java / JavaScript (11) PHP (8) Криптография (8) WinAPI (12) |
Пользователю Windows 95/98/Me (46) Windows NT/2000/XP (41) "Железо" (35) Поиск информации (24) |
Администратору Windows NT/2000/XP (23) Linux / Unix (9) |
Юристу Гражданское право (11) Семейное право (6) Трудовое право (9) КоАП (5) |
Отправить вопрос всем экспертам выбранной рассылки.
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.
http://subscribe.ru/
E-mail: ask@subscribe.ru |
Отписаться
Убрать рекламу |
В избранное | ||