Нажмите CTRL-D чтобы добавить нас в закладки
HackZone.RU - Asm: проблема с процедурой WriteConsoleA
Войти / Регистрация / Участники
Определение даты выпуска iPhone по серийному номеру
-
Поиск по сайту
Форумы



Реклама

Программирование / Другое RSS подписка на сообщения с форума Subscribe


Новая тема Наиболее обсуждаемые темы Наиболее посещаемые темы
Поиск 
Период
Перейти

Просмотров - 3822
Asm: проблема с процедурой WriteConsoleA
Добавить этот топик в закладки »
RSS-лента ответов »Subscribe
Actor




Advanced Member
# | Сообщение добавлено 02.02.2010 19:31:53
Отредактировано 02.02.2010 19:35:21 by Actor
установил masm32, отладчик OllyDbg и среду RadAsm. Для чтения выбрал книгу Крупника "Изучаем ассемблер". Возникла проблема с кодом:
 
Text

.386
.model flat, stdcall
option casemap:none
ExitProcess proto :dword
GetStdHandle proto :dword
WriteConsoleA proto :dword, :dword,\
:dword, :dword, :dword
includelib \masm32\lib\kernel32.lib
.data
stdout dd ?
msg db "My name is Vova", 0dh, 0ah
cWritten dd ?
.code
start:
invoke GetStdHandle, -11
mov stdout, eax
invoke WriteConsoleA, stdout, ADDR msg, sizeof msg,\
ADDR cWriten, 0
invoke ExitProcess, 0
end start
 

В теории, в консоли должен появиться текст "My name is Vova", но ничего нет.
Прогнал ехе-шник в отладчике. Заметил вот что: при исполнении процедуры GetStdHandle значение регистра eax становиться равным 0, хотя в книжке сказано, что вроде должно быть 12d (или 0Сh). Пробовал сделать так:
 
Text

.data
stdout dd 12
 

а часть кода, где вызывается GetStdHandle, удалил.
Все равно нет резутатa.
 
Вопрос: где ошибка? как ее исправить? или я неправильно понял назначение процедуры GetStdHandle?
Сказать спасибо Ответить Цитировать

_ruzmaz_


Gold Member
# | Сообщение добавлено 02.02.2010 19:51:26
Надо делать консольное приложение (например пункт меню Console Build All в qeditor) или вызывать AllocConsole перед GetStdHandle.
Сказать спасибо Ответить Цитировать

Actor




Advanced Member
# | Сообщение добавлено 03.02.2010 17:26:47
Отредактировано 03.02.2010 17:27:06 by Actor
_ruzmaz_
или вызывать AllocConsole перед GetStdHandle
Напиши подробнее об AllocConsole. А еще лучше, впихни это в мой код и запости сюда, если не сложно, пжлст)
Сказать спасибо Ответить Цитировать

_ruzmaz_


Gold Member
# | Сообщение добавлено 03.02.2010 19:41:32
Отредактировано 03.02.2010 20:50:23 by _ruzmaz_
ASM
.386
.model flat, stdcall
option casemap:none
ExitProcess proto :dword
AllocConsole proto
GetStdHandle proto :dword
WriteConsoleA proto :dword, :dword, :dword, :dword, :dword
includelib \masm32\lib\kernel32.lib
.data
stdout dd ?
msg db "My name is Vova", 0dh, 0ah
cWritten dd ?
.code
start:
invoke AllocConsole
invoke GetStdHandle, -11
mov stdout, eax
invoke WriteConsoleA, stdout, ADDR msg, sizeof msg, ADDR cWritten, 0
invoke ExitProcess, 0
end start

но проще слинковать консольное приложение
Сказать спасибо Ответить Цитировать

Actor




Advanced Member
# | Сообщение добавлено 04.02.2010 15:30:20
Спасибо, помогло.
_ruzmaz_
но проще слинковать консольное приложение
и этим способом тоже сделал)
 
C:\masm32\bin\ml.exe /c /coff file_name.asm
C:\masm32\bin\link.exe /subsystem:console file_name.obj
Сказать спасибо Ответить Цитировать


Только зарегистрированные пользователи могут оставлять сообщения в форуме

Зарегистрироваться *** Авторизоваться

 Последние новости и статьи  Последние сообщения с форумов
  • WhatsApp уверяет пользователей, что Facebook не имеет доступа к и...
  • Однострочная команда в Windows 10 может повредить жесткий диск с ...
  • Кардерский форум Joker’s Stash объявил о закрытии
  • Релиз ядра Linux 5.9
  • Российские хакеры вооружились уязвимостью Zerologon
  • Тысячи приватных звонков американских заключенных оказались в отк...
  • Шифровальщик атаковал немецкую компанию Software AG
  • Злоумышленники используют службу Windows Error Reporting для бесф...
  • Microsoft предупредила о вымогателях, которые выдают себя за МВД ...
  • Инфостилер Valak ворует информацию из почтовых систем Microsoft E...

    Все новости... Все статьи... Прислать новость RSS
  • Взлом и безопасность / Разное » Re: Помощь в скачивании платного файла
  • Взлом и безопасность / Разное » Помощь в скачивании платного файла
  • Разное / Куплю, приму в дар » куплю | ваш аккаунта | получение нового | описание внутри
  • Разное / Предложения работы » Специалиста
  • Downloads / Другое » Re: Нужна база емайл адресов юр. лиц
  • Downloads / Другое » Нужна база емайл адресов юр. лиц
  • Разное / Предложения работы » Нужен взлом mail и gmail почты
  • Взлом и безопасность / Разное » Re: Нужна помощь в скачивании файла
  • Взлом и безопасность / Разное » Нужна помощь в скачивании файла
  • Разное / Предложения работы » требуется взлом почт на постоянной основе

    Все форумы... RSS


  • Разместить рекламу
    © HackZone Ltd. 1996-2020. Все права зарегистрированы.
    Перепечатка материалов без согласования и указания источника будет преследоваться по Закону

    О проекте | История проекта | Размещение рекламы | Обратная связь | Правила поведения на портале
    contador de visitas счетчик посещений

    #{title}

    #{text}

    x

    #{title}

    #{text}