информационная безопасность
без паники и всерьез
 подробно о проекте
Все любят медЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Вредоносный релиз LiteLLM 
 Мощные индийские ключи 
 Срочные патчи для критических уязвимостей... 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
вызов ф-ции... 05.08.01 15:25  Число просмотров: 1059
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
.model large, WINDOWS PASCAL
; Подключаем файл где описаны константы (типа "MB_OK", "MB_ICONEXCLAMATION")
include windows.inc
; Говорим что будем использовать функцию API MessageBox
extrn MESSAGEBOX:proc
; Сегмент данных
.data
db 16 dup(0)
; Заголовок диалогового окна
lpszTitle db 'Generic Sample Assembly Application',0
; Текст диалогового окна
lpszText db 'Hello World !',0
; Сегмент кода
.code
; Наш старый "добрый" start (на самом деле WinMain)
start:
call MESSAGEBOX,0,ds offset lpszText,ds offset lpszTitle,MB_OK+MB_ICONEXCLAMATION
; а вот и выход
mov ax,4c00h
int 21h
end start
<programming>
asm под win32, самое просто - вызов ф-ции... 04.08.01 00:57  
Автор: musliya Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Вопрос:
КАК вызвать ф-цию Kernel'а? конкретно - надо скопировать один файл в другой, в сях проще всего - CopyFile(), как его вызвать из асма? какие необходимы inculde (.inc) файлы для этого?
объясните плиз потолковее...

желательно дать мне кусочек кода, который бы потом внутри одной штуки свободно компильнулся бы и слинковался потом...
вызов ф-ции... 05.08.01 15:25  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
.model large, WINDOWS PASCAL
; Подключаем файл где описаны константы (типа "MB_OK", "MB_ICONEXCLAMATION")
include windows.inc
; Говорим что будем использовать функцию API MessageBox
extrn MESSAGEBOX:proc
; Сегмент данных
.data
db 16 dup(0)
; Заголовок диалогового окна
lpszTitle db 'Generic Sample Assembly Application',0
; Текст диалогового окна
lpszText db 'Hello World !',0
; Сегмент кода
.code
; Наш старый "добрый" start (на самом деле WinMain)
start:
call MESSAGEBOX,0,ds offset lpszText,ds offset lpszTitle,MB_OK+MB_ICONEXCLAMATION
; а вот и выход
mov ax,4c00h
int 21h
end start
вызов ф-ции... 06.08.01 14:19  
Автор: Musliya Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Где найти .inc хотябы?
В сях нету его у меня... :(
вызов ф-ции... 06.08.01 15:42  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Надо установить наверное плную версию например Microsoft Asm 6.1
[Win32] вызов импортируемой ф-ции из Asm под Win32 18.08.01 15:21  
Автор: Venom [PoS] Статус: Незарегистрированный пользователь
<"чистая" ссылка>

Братан ! Там тебе ответили криво ... Лови ...

; masm
; kernel32.inc
extern _CopyFileA@12 : proc ; декларация имен - __stdcall

; sample.asm
...
pushd bFileExist
pushd str_name_new_file
pushd str_name_existing_file
call _CopyFileA@12
...

Да, и не забудь опцию линкера - /DEFAULTLIB: kernel32.lib (+ что тебе еще надо) ...

Дерзай !
С Уважением ... Venom...
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach