ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > Реверсинг
   
 
 
Опции темы Поиск в этой теме Опции просмотра

asm help
  #1  
Старый 04.03.2007, 00:21
genom--
Постоянный
Регистрация: 09.07.2006
Сообщений: 937
Провел на форуме:
1948091

Репутация: 1686


По умолчанию asm help

вообщем под ос калашникова учебник освоил и внял так сказать
сечас выдалась свободная минутка слил с wasm.ru изеслона туториал под win32 как кодить

второй урок почемуто не компилится

сам код
.386
.model flat, stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

WinMain proto WORD,WORD,WORD,WORD

.DATA
ClassName db "SimpleWinClass",0
AppName db "Our First Window",0

.DATA?
hInstance HINSTANCE ?
CommandLine LPSTR ?

.CODE ; Здесь начинается наш код
start:
invoke GetModuleHandle, NULL ; Взять хэндл пpогpаммы
; Под Win32, hmodule==hinstance mov
; hInstance,eax
mov hInstance,eax
invoke GetCommandLine ; Взять командную стpоку. Вы не обязаны
; вызывать эту функцию если ваша
; пpогpамма не обpабатывает командную стpоку.
mov CommandLine,eax
invoke WinMain, hInstance,NULL,CommandLine,SW_SHOWDEFAULT
invoke ExitProcess, eax ; Выйти из пpогpаммы.
; Возвpащаемое значение, помещаемое в eax,
; беpется из WinMain.
WinMain proc

Inst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,C mdShowWORD

LOCAL wc:WNDCLASSEX ; создание локальных пеpеменных в стеке
LOCAL msg:MSG
LOCAL hwnd:HWND

mov wc.cbSize,SIZEOF WNDCLASSEX ; заполнение стpуктуpы wc
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, OFFSET WndProc
mov wc.cbClsExtra,NULL
mov wc.cbWndExtra,NULL
push hInstance
pop wc.hInstance
mov wc.hbrBackground,COLOR_WINDOW+1
mov wc.lpszMenuName,NULL
mov wc.lpszClassName,OFFSET ClassName
invoke LoadIcon,NULL,IDI_APPLICATION
mov wc.hIcon,eax
mov wc.hIconSm,eax
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor,eax
invoke RegisterClassEx, addr wc ; pегистpация нашего класса окна
invoke CreateWindowEx,NULL,\
ADDR ClassName,\
ADDR AppName,\
WS_OVERLAPPEDWINDOW,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
CW_USEDEFAULT,\
NULL,\
NULL,\
hInst,\
NULL

mov hwnd,eax
invoke ShowWindow, hwnd,CmdShow ; отобpазить наше окно на десктопе
invoke UpdateWindow, hwnd ; обновить клиентскую область
.WHILE TRUE ; Enter message loop
invoke GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!eax)
invoke TranslateMessage, ADDR msg
invoke DispatchMessage, ADDR msg
.ENDW
mov eax,msg.wParam ; сохpанение возвpащаемого значения в
; eax
ret

WinMain endp

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

.IF uMsg==WM_DESTROY ; если пользователь закpывает окно
invoke PostQuitMessage,NULL ; выходим из пpогpаммы
.ELSE
invoke DefWindowProc,hWnd,uMsg,wParam,lParam ; Дефаултная функция
; обpаботки окна
ret
.ENDIF
xor eax,eax
ret

WndProc endp
end start



вот что выдает компилятор

Assembling: C:\test.asm
C:\test.asm(35) : error A2111: conflicting parameter definition
C:\test.asm(37) : error A2008: syntax error : HINSTANCE
C:\test.asm(39) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL
C:\test.asm(40) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL
C:\test.asm(41) : error A2012: PROC, MACRO, or macro repeat directive must precede LOCAL
C:\test.asm(58) : error A2006: undefined symbol : wc
C:\test.asm(58) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(59) : error A2006: undefined symbol : hInst
C:\test.asm(59) : error A2114: INVOKE argument type mismatch : argument : 11
C:\test.asm(73) : error A2006: undefined symbol : CmdShow
C:\test.asm(73) : error A2114: INVOKE argument type mismatch : argument : 2
C:\test.asm(73) : error A2006: undefined symbol : hwnd
C:\test.asm(73) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(74) : error A2006: undefined symbol : hwnd
C:\test.asm(74) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(76) : error A2006: undefined symbol : msg
C:\test.asm(76) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(78) : error A2006: undefined symbol : msg
C:\test.asm(78) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(79) : error A2006: undefined symbol : msg
C:\test.asm(79) : error A2114: INVOKE argument type mismatch : argument : 1
C:\test.asm(43) : error A2006: undefined symbol : wc
C:\test.asm(44) : error A2006: undefined symbol : wc
C:\test.asm(45) : error A2006: undefined symbol : wc
C:\test.asm(46) : error A2006: undefined symbol : wc
C:\test.asm(47) : error A2006: undefined symbol : wc
C:\test.asm(49) : error A2006: undefined symbol : wc
C:\test.asm(50) : error A2006: undefined symbol : wc
C:\test.asm(51) : error A2006: undefined symbol : wc
C:\test.asm(52) : error A2006: undefined symbol : wc
C:\test.asm(54) : error A2006: undefined symbol : wc
C:\test.asm(55) : error A2006: undefined symbol : wc
C:\test.asm(57) : error A2006: undefined symbol : wc
C:\test.asm(72) : error A2006: undefined symbol : hwnd
C:\test.asm(82) : error A2006: undefined symbol : msg
’®¬ ў гбва®©б⢥ C *Ґ Ё¬ҐҐв ¬ҐвЄЁ.
‘ҐаЁ©*л© *®¬Ґа ⮬*: 3438-BA06

‘®¤Ґа¦Ё¬®Ґ Ї*ЇЄЁ C:\

03.03.2007 21:43 2я667 test.asm
1 д*©«®ў 2я667 Ў*©в
0 Ї*Ї®Є 437я686я272 Ў*©в бў®Ў®¤*®

какя то лажа при вызове winmain

что не так у него пока сам понять еще не в состоянии
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Local Root Exploits 3er0 *nix 25 12.02.2007 15:00
asm + girl = ? blackybr Болталка 3 28.01.2007 14:49
Asm Bill С/С++, C#, Delphi, .NET, Asm 9 16.04.2006 19:47
Программирование, как оно есть... Mertvii-Listopad Статьи 0 20.03.2006 01:22



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ