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

RusFAQ.ru: программирование на языке Assembler


Информационный Канал Subscribe.Ru

RusFAQ.ru: программирование на языке Assembler

Выпуск № 569
от 16.06.2003, 12:50

Администратор:
Имя: Калашников О.А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 3488
Отправлено ответов: 10226
Активность: 293.1 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

masquer
Статус: Профессиональный
Общий рейтинг: 137.7
[Подробней >>]
Bob Johnson
Статус: Профессиональный
Общий рейтинг: 151.75
URL: Программирование
[Подробней >>]
Hangatyr
Статус: Опытный
Общий рейтинг: 115.18
[Подробней >>]
 
Broken Sword
Статус: Профессиональный
Общий рейтинг: 122.16
URL: мой сайт
[Подробней >>]
Maverick
Статус: Профессиональный
Общий рейтинг: 131.04
URL: Эхоконференция по вирмейкингу
Телефон: 89039415024 (BeeLine GSM)
[Подробней >>]
Ramzes
Статус: Профессиональный
Общий рейтинг: 125.06
URL: Microsoft homepage
[Подробней >>]
 
St
Статус: Опытный
Общий рейтинг: 107.51
[Подробней >>]
Hubba
Статус: Начальный
Общий рейтинг: 107.4
[Подробней >>]
_vt
Статус: Опытный
Общий рейтинг: 121.41
[Подробней >>]
 
Tigran K. Kalaidjian
Статус: Опытный
Общий рейтинг: 118.34
URL: Методы оптимизации работы ПК
[Подробней >>]
ASMодей
Статус: Профессиональный
Общий рейтинг: 114.22
[Подробней >>]
Hayk
Статус: Доверительный
Общий рейтинг: 112.36
[Подробней >>]
 
Knignick
Статус: Опытный
Общий рейтинг: 109.9
URL: Мой каталог ссылок по программированию
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 3434. Доброго времени суток! вопрос про OllyDbg: есть стандартная процедура с циклом winmain, она вызывает... (ответов: 4)
Вопрос № 3435. >Здравствуйте, Broken Sword! >Даа, там есть чему поучиться (на hugi.de/compo) >Полностью согласен. В... (ответов: 2)
Вопрос № 3436. Я по поводу программы, которую сам написал. Тексты исходников занимают 33 кб, а в архиве 11.7 Не зна... (ответов: 3)
Вопрос № 3437. Добрый день. В каждом драйвере для винды имеется стандартных набор IOCTL_ функциий. С помощью их чер... (ответов: 2)
Вопрос № 3438. Здравствуйте, эксперты. У меня вот какая проблема: программа должна искать файл. Она его ищет, но ни... (ответов: 4)
Вопрос № 3439. Вопрос по сетевому программированию(продолжение 3428). Спасибо за ответы на предыдущий вопрос. хочет... (ответов: 3)
Вопрос № 3440. Существует-ли стандартный алгоритм вывода из пямяти чисел(под дос): z1 db 4 z1 db 96 z1 db 897266542... (ответов: 2)
Вопрос № 3441. Здравствуйте, эксперты! Недавно перепрошил BIOS видеокарты (GeForce4 MX440 DDR с TV NoName) , а прош... (ответов: 1)
Вопрос № 3442. Здравствуйте, эксперты. Как проги для создания патчей и кряков создают exe-шник. В них компилятор чт... (ответов: 6)

Вопросов: 9, ответов: 27


 Вопрос № 3434

Доброго времени суток!
вопрос про OllyDbg: есть стандартная процедура с циклом winmain, она вызывается, я нажимаю "f7","f8" - все нормально. а как мне заглянуть в wndproc - обработка сообщений ? она же не вызывается, по крайней мере я ее не call и не invoke.
З.Ы. названия процедур из туториала исцелиона
З.Ы.2 а я правильно их обозвал-то - "процедуры" ?
З.Ы.3 извиняюсь за глупый вопрос



Вопрос отправлен: 11.06.2003, 14:36
Отправитель: вова

[Следующий вопрос >>] [Список вопросов]

Отвечает masquer

Доброе время суток, вова!
Когда окно уже активно, то делаешь в олли View->Windows, дальше правой клавишей мышки щелкаешь на твоем окне и выбираешь Message Breakpoint on ClassProc, дальше уже сам...

Ответ отправлен: 11.06.2003, 14:54
Отправитель: masquer


Отвечает Bob Johnson

Приветствую Вас, вова!
Поставь breakpoint на wndproc. Тогда, когда она вызовется (а это происходит из функции CreateWindow(Ex) и DispatchMessage), отладчик остановится.
2. В принципе, это больше функции, чем процедуры, но и так тоже можно.

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 11.06.2003, 19:13
Отправитель: Bob Johnson


Отвечает Hangatyr

Здравствуйте, вова!
Можешь просто поставить int 3 в начале WndProc.

Ответ отправлен: 11.06.2003, 17:28
Отправитель: Hangatyr


Отвечает Broken Sword

Добрый день, вова!
по всем вопросам по OllyDbg - к masquer-у

Ответ отправлен: 11.06.2003, 20:28
Отправитель: Broken Sword


 Вопрос № 3435

>Здравствуйте, Broken Sword!
>Даа, там есть чему поучиться (на hugi.de/compo)
>Полностью согласен.
Вы имеете в вилу:
http://www.virtually.at/hugi/compo/ ?



Вопрос отправлен: 11.06.2003, 16:40
Отправитель: Игорь (uzhas_stiv@mail.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Приветствую Вас, Игорь!
Может это то же самое, но имелось ввиду http://hugi.de/compo

Ответ отправлен: 13.06.2003, 12:38
Отправитель: Maverick


Отвечает Broken Sword

Добрый день, Игорь!
возможно это зеркало, а вообще - www.hugi.de/compo

Ответ отправлен: 11.06.2003, 20:46
Отправитель: Broken Sword


 Вопрос № 3436

Я по поводу программы, которую сам написал. Тексты исходников занимают 33 кб, а в архиве 11.7 Не знаю как присабачить архив к вопросу, а если посылать текст, то, я боюсь, не всем это понравится. Прога копирует ( перемещает ) файлы из одного каталога ( с проходом всех вложенных ) в другой с учетом входящих в имя симовлов ( которые должны быть и те, которых там быть не должно ).
Мне просто хочется, чтобы мне указали на ошибки.
Илья. mis421@list.ru



Вопрос отправлен: 11.06.2003, 16:59
Отправитель: ilya

[Следующий вопрос >>] [Список вопросов]

Отвечает Ramzes

Приветствую Вас, ilya!
Пошли мне на мыло, разберемся

Ответ отправлен: 11.06.2003, 17:26
Отправитель: Ramzes


Отвечает St

Привет, ilya!
st23@yandex.ru
или можно сделать свою страничку - например на narod.ru, выкладывать туда файл и написать в письме полный путь к нему.
St

Ответ отправлен: 11.06.2003, 17:36
Отправитель: St


Отвечает Bob Johnson

Доброе время суток, ilya!
Архив к вопросу приложить нельзя (только если UUE-encode :), а исходник (33 кб) - просто не получится, т.к. существует ограничение на объем вопроса. В такой ситуации некоторые выкладывают архив программы у себя на странице, а сюда кидают ссылку. Поэтому что у тебя прежде всего не работает?
У тебя же из 33 кб видимо половина на интерфейс ушла, не мог же ты написать процедуру перемещения файлов такого объема, так что выдели основную процедуру и пришли ее с указанием, что именно работает не так.

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 11.06.2003, 21:11
Отправитель: Bob Johnson


 Вопрос № 3437

Добрый день.
В каждом драйвере для винды имеется стандартных набор
IOCTL_ функциий. С помощью их через DeviceIoControl винда
работает с устройством, например S3Trio и Geforce имеют базовый
набор этих функций, ну пару штук точно. Так вот:
кто может знает или где можно взять описание этих функций?
Спасибо.



Вопрос отправлен: 11.06.2003, 19:02
Отправитель: sel

[Следующий вопрос >>] [Список вопросов]

Отвечает Hangatyr

Доброе время суток, sel!
Ты имеешь ввиду IOCTL_VIDEO_UNMAP_VIDEO_MEMORY и тому подобные? Их описания есть в DDK, в разделе Graphics Drivers.


Ответ отправлен: 12.06.2003, 09:45
Отправитель: Hangatyr


Отвечает Hubba

Приветствую Вас, sel!
Нету их нигде, можешь не искать.

Ответ отправлен: 12.06.2003, 09:53
Отправитель: Hubba


 Вопрос № 3438

Здравствуйте, эксперты. У меня вот какая проблема: программа должна искать файл. Она его ищет, но ничего не заносит по смещению 80h, если я предварительно не установлю туда DTA (хотя я его никуда и не переносил) или если не прогоню эту программу в отладчике (AfdPro) второй раз подряд (т.е. не выходя из AFD). Ошибка не происходит, т.е. CF=0. Использую TASM. В чем здесь проблема?
P.S. Огромная просьба прислать ответы на msoft@list.ru. Заранее спасибо.


Приложение:


Вопрос отправлен: 11.06.2003, 22:18
Отправитель: MSoft (msoft@list.ru)

[Следующий вопрос >>] [Список вопросов]

Отвечает Maverick

Доброе время суток, MSoft!
А зачем 80h, может 9eh?


Ответ отправлен: 13.06.2003, 12:39
Отправитель: Maverick


Отвечает _vt

Приветствую Вас, MSoft!
у меня все заносится как надо(может ты не туда смотришь)!
> если я предварительно не установлю туда DTA
Ну и установи на всякий...
> или если не прогоню эту программу в отладчике (AfdPro) второй раз подряд
в TD все видно с первого раза

---===*** Testing E-Man 1.2...***===---


Ответ отправлен: 13.06.2003, 23:40
Отправитель: _vt


Отвечает Tigran K. Kalaidjian

Добрый день, MSoft!
А с какой стати заносить? DTA ведь не установлена...
Подправил немного Вашу программу. Работающий результат в приложении.

Приложение:

Ответ отправлен: 13.06.2003, 11:17
Отправитель: Tigran K. Kalaidjian


Отвечает Hubba

Доброе время суток, MSoft!
Не в чем

Ответ отправлен: 12.06.2003, 11:41
Отправитель: Hubba


 Вопрос № 3439

Вопрос по сетевому программированию(продолжение 3428).
Спасибо за ответы на предыдущий вопрос.
хочется написать метод, наподобие recv, но чтоб считывал
не столько, сколько попросили, а столько, сколько придёт.
Это необходимо для буферизации. Я читаю маленькими кусочками, а вызов recv достаточно дорог, поэтому все эти пляски с бубном для сокращения кол-ва вызовов recv.
Далее оффтопик:
Почему самыми грамотными считаются эксперты, давшиемного ответов? Я хочу спросить, почему в рейтинге рассылки цениться не качество, а количество ответов? Вот по итогам прошлого вопроса я бы проголосовал за Боба Джонсона.



Вопрос отправлен: 12.06.2003, 01:43
Отправитель: Antonio

[Следующий вопрос >>] [Список вопросов]

Отвечает ASMодей

Приветствую Вас, Antonio!
Проблема тут вот в чем: если ты послал, например, 1000 байт, то это не
означает, что на другом конце ты получишь сразу всю 1000 целиком.
Может случиться так, что ты получишь сначала пакет в 200 байт, затем
в 400 байт и т.д. пока не соберется вся 1000. Поэтому, если ты прочитаешь
из сокета все, что пришло, это совсем не будет означать, что пришло
действительно все. Может в сети будет задержка, или какой-то пакет вообще
потеряется. В связи с этим, разработчикам протоколов передачи данных
приходится как-то ухищряться и вводить проверку на окончание передачи.
В протоколе HTTP это определяется по по двум символам перевода строки.
В других протоколах это может быть фиксированный размер пакета. В третьих
что-то другое. Ты можешь придумать свое.


Ответ отправлен: 12.06.2003, 08:50
Отправитель: ASMодей


Отвечает Bob Johnson

Приветствую Вас, Antonio!
Еще один вариант - перевести сокет в non-blocking режим и просто вызвать один раз recv, тогда будет получено ровно столько, сколько есть в буфере (или ничего, если ничего нет).
> Вот по итогам прошлого вопроса я бы проголосовал за Боба Джонсона.
Ну спасибо :)
> Я хочу спросить, почему в рейтинге рассылки цениться не качество, а количество ответов?
Качество ответов оценить сложно, это должен делать человек, а количество может посчитать и компьютер :).

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 12.06.2003, 16:52
Отправитель: Bob Johnson


Отвечает Broken Sword

Приветствую Вас, Antonio!
дубль два: тебе нужно считывать столько, сколько придет. recv считывает столько сколько придет (а не сколько ты попросишь). recv возвратит столько, сколько попросишь ТОЛЬКО если ты поставишь флаг MSG_WAITALL. А кто тебя просит его ставить? И почему это вызов recv достаточно дорог? Да, в конечном итоге он вызывает read, но кто тебе мешает использовать read?
Насчет грамотности экспертов по кол-ву ответов - а как ты видишь себе оценку по качетсву? Это должен кто-то сидеть специально независимый эксперт и весь день только этим и заниматься, ведь народное мнение тоже не объективно, а количество здесь только для того чтобы эксперты не расслаблялись

Ответ отправлен: 12.06.2003, 08:48
Отправитель: Broken Sword


 Вопрос № 3440

Существует-ли стандартный алгоритм
вывода из пямяти чисел(под дос):
z1 db 4
z1 db 96
z1 db 897266542
как вывести эти числа?
и как выводить числа из ax, ebp?



Вопрос отправлен: 12.06.2003, 03:42
Отправитель: Zensor

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Доброе время суток, Zensor!
Третий вариант ошибочен - db определяет один байт, т.е. не больше 255.
Под дос для этого необходимо писать процедуру перевода числа в строку, основанную на последовательном делении на 10. В рассылке неоднократно поднимались такие вопросы - посмотри архив. Под винды есть функция wsprintf, которая может сделать это сама.

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 12.06.2003, 16:52
Отправитель: Bob Johnson


Отвечает Tigran K. Kalaidjian

Здравствуйте, Zensor!
Третье число Вы точно не выведете, ибо оно больше 256 (ведь Вы под него выделили байт). ;o)
Алгоритм есть:
1.Разбиваете число на цифры, к каждой прибавляете 30h и выводите поочередно, например, с помощью INT29h.
2.Или формируете выходную строку и выводите все сразу с помощью INT21h.
В приложении пример программы для 3-х значного числа для второго алгоритма

Приложение:

Ответ отправлен: 13.06.2003, 11:37
Отправитель: Tigran K. Kalaidjian


 Вопрос № 3441

Здравствуйте, эксперты!
Недавно перепрошил BIOS видеокарты (GeForce4 MX440 DDR с TV NoName) , а прошивка оказалась глюченая, а старой не осталось. Может кто подскажет где найти прошивку, а то поисковики ничего конкретного не выдают?
Заранее бдагодарен



Вопрос отправлен: 12.06.2003, 09:53
Отправитель: EraSer (eraser99@tut.by)

[Следующий вопрос >>] [Список вопросов]

Отвечает Bob Johnson

Добрый день, EraSer!
1. У знакомого, у кого такая же карта.
2. В компьютерной фирме, где работает знакомый.
3. Скачать прошивку для такой же (но фирменной) видеокарты, например, mci, asus, leadtek и т.д. с официального сайта (может не подойти).

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 12.06.2003, 16:52
Отправитель: Bob Johnson


 Вопрос № 3442

Здравствуйте, эксперты. Как проги для создания патчей и кряков создают exe-шник. В них компилятор что ли встроен?



Вопрос отправлен: 12.06.2003, 10:42
Отправитель: Marouder

[Следующий вопрос >>] [Список вопросов]

Отвечает _vt

Приветствую Вас, Marouder!
exe-шник готовися заранее - он ведь стандартный для любой программы. Только изменяются его параметры (например, указываются ему конкретные адреса, где надо что-то поменять).

---===*** Testing E-Man 1.2...***===---


Ответ отправлен: 13.06.2003, 23:40
Отправитель: _vt


Отвечает Hayk

Доброе время суток, Marouder!
Поправляется и изменяется ничтожное кол-во байтов. Перед этим файл просто дублируется.

Ответ отправлен: 12.06.2003, 12:03
Отправитель: Hayk


Отвечает masquer

Здравствуйте, Marouder!
Просто создается болванка с тем чтобы вписать что и где менять, плюс пара проверок на версию и размер файла

Ответ отправлен: 12.06.2003, 12:16
Отправитель: masquer


Отвечает Bob Johnson

Приветствую Вас, Marouder!
В них может быть встроен шаблон exe-шника, который они (чуть изменяя) записывают как новый. Шаблон может быть написан вручную или создан компилятором.

* EMan1.2: ---===*** The Eternal Power ***===---


Ответ отправлен: 12.06.2003, 16:52
Отправитель: Bob Johnson


Отвечает Tigran K. Kalaidjian

Здравствуйте, Marouder!
Как Вы думаете, сколько бы весили такие "патчи" =8-0
На то они и патчи, чтобы занимать места меньше, чем "исправляемая" программа.
Насколько я знаю, ничего не создаётся, просто открывается файл, который надо пропатчить и в нем меняется определённая последовательность байтов на другую ("взлом"), заданную в программе патча.


Ответ отправлен: 13.06.2003, 20:23
Отправитель: Tigran K. Kalaidjian


Отвечает Knignick

Приветствую Вас, Marouder!
Ну, для исправления нескольких байтов по конкретным адресам
в exe компилятор не нужен.


Ответ отправлен: 12.06.2003, 11:03
Отправитель: Knignick



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

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

Ваше имя:

Ваш e-mail:

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


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

Ваш вопрос:


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


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


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

Программисту
Assembler (38)
C / C++ (29)
Perl (7)
Builder / Delphi (19)
Pascal (31)
Basic / VBA (12)
Java / JavaScript (11)
PHP (7)
MySQL / MSSQL (7)
Пользователю
Windows 95/98/Me (32)
Windows NT/2000/XP (29)
"Железо" (21)
Поиск информации (15)
Администратору
Windows NT/2000/XP (15)
Linux / Unix (7)
Юристу
Гражданское право (7)
Семейное право (3)
Трудовое право (4)
КоАП (3)

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




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование


Яндекс цитирования
© 2001-2003 Россия, Москва. Авторское право: Калашников О.А.


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

В избранное