Информационная Безопасность. Аудит Безопасности


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



Реклама

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


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

Просмотров - 4403
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
Сказать спасибо Ответить Цитировать


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

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

 Последние новости и статьи  Последние сообщения с форумов
  • В darknet сливают данные 100 000 российских банковских карт
  • Вирус Escobar ворует коды двухфакторной аутентификации из Google ...
  • DeadBolt использует уязвимость, исправленную в декабре
  • Почти миллион WordPress-сайтов в опасности из-за уязвимости в поп...
  • Шифровальщик DeadBolt взломал 3600 NAS. Qnap устанавливает обновл...
  • Банковский троян Chaes устанавливает вредоносные расширения для C...
  • Взломана платформа Qubit Finance, хакеры похитили 80 млн долларов
  • Арест участников REvil взволновал других преступников
  • Обнаружена malware MoonBounce, внедряющаяся в UEFI
  • Администратор кардерского форума UniCC и участник хак-группы The ...

    Все новости... Все статьи... Прислать новость RSS
  • Разное / Предложения работы » Взлом авторизации CRM
  • Разное / Предложения работы » взломать сайт и выграть электронную жеребьёвку
  • Разное / Предложения работы » разблокировать сбер аккаунт
  • Разное / Болталка » Re: Форум жив?
  • Разное / Болталка » Форум жив?
  • Разное / Болталка » С Новым 2022 Годом!
  • Взлом и безопасность / Программы » Re: Hasp ключ для ABC-4
  • Портал / Отзывы и предложения » Предлагаем партнерство вашему форуму.
  • Разное / Предложения работы » взлом почты
  • Разное / Куплю, приму в дар » Покупка аккаунтов Uphold

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


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

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

    #{title}

    #{text}

    x

    #{title}

    #{text}