Talk About Network

Google


Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Assembly Language > Problem in this...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 4 Topic 4942 of 5072
Post > Topic >>

Problem in this source code

by MalC0de <MalC0de.Encrypt@[EMAIL PROTECTED] > Apr 7, 2008 at 02:09 PM

hey folks,
yesterday, i was downloaded this source code but it seems corrupted.
I tried to assemble and link the obj file but it coudn't assemble
even !

..386P
..MODEL  FLAT,STDCALL

WM_DESTROY  EQU 2
WM_CREATE   EQU 1
WM_LBUTTONDOWN  EQU 201h
WM_RBUTTONDOWN  EQU 204h
CS_VREDRAW  EQU 1h
CS_HREDRAW  EQU 2h
CS_GLOBALCLASS  EQU 4000h
WS_OVERLAPPEDWINDOW EQU 000CF0000H
Style   equ CS_HREDRAW+CS_VREDRAW+CS_GLOBALCLASS
IDI_APPLICATION EQU 32512
IDC_CROSS   EQU 32515
SW_SHOWNORMAL   EQU 1

EXTERN  GetModulehandleA@[EMAIL PROTECTED]
  LoadIconA@[EMAIL PROTECTED]
  LoadCursorA@[EMAIL PROTECTED]
  RegisterClassA@[EMAIL PROTECTED]
  CreateWindowExA@[EMAIL PROTECTED]
  ShowWindow@[EMAIL PROTECTED]
  UpdateWindow@[EMAIL PROTECTED]
  GetMessageA@[EMAIL PROTECTED]
  TranslateMessageA@[EMAIL PROTECTED]
  DispatchMessageA@[EMAIL PROTECTED]
  ExitProcess@[EMAIL PROTECTED]
  MessageBoxA@[EMAIL PROTECTED]
  DefWindowProcA@[EMAIL PROTECTED]
  PostQuitMessage@[EMAIL PROTECTED]
  C:\masm32\lib\user32.lib
includelib  c:\masm32\lib\kernel32.lib

MSGSTRUCT   STRUC
    MSHWND  DD  ?
    MSMESSAGE   DD  ?
    MSWPARAM    DD  ?
    MSLPARAM    DD  ?
    MSTIME      DD  ?
    MSPT        DD  ?
MSGSTRUCT    ENDS

WNDCLASS    STRUC
    CLSSTYLE    DD  ?
    CLWNDPROC   DD  ?
    CLSCEXTRA   DD  ?
    CL****NSTANCE    DD  ?
    CL****CON    DD  ?
    CLSHCURSOR  DD  ?
    CLBKGROUND  DD  ?
    CLMENUNAME  DD  ?
    CLNAME      DD  ?
WNDCLASS    ENDS

_DATA   SEGMENT
    NEWHWND DD  0
    MSG MSGSTRUCT    <?>
    WC  WNDCLASS    <?>
    HINST   DD  0
    TITLENAME   DB  'Simple Example of a 32-bit application',0
    CLASSNAME   DB  'Class32',0
    CAP         DB  'Message',0
    MES1        DB  'You have clicked the left mouse button',0
    MES2        DB  'Exit, bye !',0
_DATA   ENDS

_TEXT   SEGMENT
START:
    push    0
    Call    GetModuleHandleA@[EMAIL PROTECTED]
    mov [HINST],EAX

REG_CLASS:
    MOV [WC.CLWNDPROC],OFFSET   WNDPROC
    MOV [WC.CLSCEXTRA],0
    MOV [W.CLWNDEXTRA],0
    MOV EAX,[HINST]
    MOV [WC.CL****NSTANCE],EAX

PUSH    IDI_APPLICATION
PUSH    0
CALL    LoadIconA@[EMAIL PROTECTED]
     [WC.CL****CON],EAX

PUSH    IDC_CROSS
PUSH    0
CALL    LoadCursorA@[EMAIL PROTECTED]
     [WC.CLSHCURSOR],EAX
MOV [WC.CLBKGROUND],17
MOV [WC.CLMENUNAME],0
MOV [WC.CLNAME],OFFSET  CLASSNAME
PUSH    OFFSET  WC
CALL    RegisterClassA@[EMAIL PROTECTED]
    0
PUSH    [HINST]
PUSH    0
PUSH    0
PUSH    500
PUSH    500
PUSH    100
PUSH    100
PUSH    WS_OVERLAPPEDWINDOW
PUSH    OFFSET  TITLENAME
PUSH    OFFSET  CLASSNAME
PUSH    0
CALL    CreateWindowExA@[EMAIL PROTECTED]
 EAX,0
JZ  _ERR
PUSH    SW_SHOWNORMAL
PUSH    [NEWHWND]
CALL    ShowWindow@[EMAIL PROTECTED]
    [NEWHWND]
CALL    UpdateWindow@[EMAIL PROTECTED]
    0
PUSH    0
PUSH    0
PUSH    OFFSET  MSG
CALL    GetMessageA@[EMAIL PROTECTED]
 EAX,0
JE  END_LOOP
PUSH    OFFSET  MSG
CALL    TranslateMessageA@[EMAIL PROTECTED]
    OFFSET  MSG
CALL    DispatchMessageA@[EMAIL PROTECTED]
 MSG_LOOP
END_LOOP:
PUSH    [MSG.MSWPARAM]
CALL    ExitProcess@[EMAIL PROTECTED]
 END_LOOP
WNDPROC PROC
    PUSH    EBP
    MOV EBP,ESP
    PUSH EBX
    PUSH ESI
    PUSH EDI
    CMP DWORD   PTR [EBP+0CH]
    JE  WMDESTROY
    CMP DWORD   PTR [EBP+0CH]
    JE  WMCREATE
    CMP DWORD   PTR [EBP+0CH]
    JE  LBUTTON
    CMP DWORD   PTR [EBP+0CH]
    JE  RBUTTON
    JMP DEFWNDPROC
RBUTTON:
    JMP WMDESTROY
LBUTTON:
    PUSH    0
    PUSH    OFFSET  CAP
    PUSH    OFFSET  MES1
    PUSH    DWORD   PTR [EBP+08h]
    CALL    MessageBoxA@[EMAIL PROTECTED]
    MOV EAX,0
    JMP FINISH
WMCREATE:
    MOV EAX,0
    JMP FINISH

DEFWNDPROC  :
    PUSH    DWORD   PTR [EBP+14h]
    PUSH    DWORD   PTR [EBP+10h]
    PUSH    DWORD   PTR [EBP+0Ch]
    PUSH    DWORD   PTR [EBP+08h]
    CALL    DefWindowProcA@[EMAIL PROTECTED]
    JMP FINISH

WMDESTROY:
    PUSH    0
    PUSH    OFFSET  CAP
    PUSH    OFFSET  MES2
    PUSH    DWORD   PTR [EBP+08h]
    CALL    MessageBoxA@[EMAIL PROTECTED]
    PUSH    0
    CALL    PostQuitMessage@[EMAIL PROTECTED]
    MOV EAX,0

FINISH:
    POP EDI
    POP ESI
    POP EBX
    POP EBP
    RET 16

WNDPROC ENDP
_TEXT   ENDS
END START

anybody can help to assemble and produce obj and PE file ?
if maybe , say where is the problem ...
cheers ,

-MalC0de
 




 4 Posts in Topic:
Problem in this source code
MalC0de <MalC0de.Encry  2008-04-07 14:09:01 
Re: Problem in this source code
Frank Kotler <fbkotler  2008-04-08 00:22:02 
Re: Problem in this source code
MalC0de <MalC0de.Encry  2008-04-07 17:31:29 
Re: Problem in this source code
Frank Kotler <fbkotler  2008-04-08 01:55:00 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Sun Jul 6 16:06:31 CDT 2008.