i'm newbie here..
i'm not a programmer..
i'm really interesting with this kind of application..

it's a chat application..
it is made with asm..
it has 4 button: Join chatroom, Leave Chatroom, Kick and Send Text..

can any1 help me to modify this application so there are new feature like this:

1. if i press F1 key then it's for Join chatroom
2. if i press F2 key then it's for Leave chatroom
3. if i press F3 key then it's for Kick
4. if i press F4 key then it's for send message
5. new button for login/relogin since this application is auto login when we run it, and if we lost the connection then we have to close the application and run it again..

this is the download link of the program (including the asm source code and resource file)..

http://www.evilshare.com/7a8bec6c-3a81-102b-a5a4-000b6aa2a5f8

thank u very much..

Recommended Answers

All 4 Replies

here is the code (migpro.asm)..

;==============================================================
;by [513] :: there might be lots of junk code.
;looks like a mess. anyway if you want further 
;explanations just tel me.
;and also you shuld remember that this is just an idea to develop
;a pc executable of mig33.
;==============================================================

.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
include \masm32\include\wsock32.inc
includelib \masm32\lib\wsock32.lib

DlgProc 							PROTO :DWORD,:DWORD,:DWORD,:DWORD
WinSockProc						PROTO :DWORD, :DWORD, :DWORD
CreatLoginPacket 			PROTO:DWORD
CreatLoginResPacket 	PROTO:DWORD
GetHashCode						PROTO:DWORD
CreatKikPacket 				PROTO:DWORD,:DWORD
ChatRoomJoinPacket 		PROTO:DWORD
OnConnect					 		PROTO:DWORD,:DWORD
OnRecieve					 		PROTO:DWORD,:DWORD
LeaveRoomJoinPacket 	PROTO:DWORD
HIPacket 							PROTO:DWORD,:DWORD,:DWORD
AutoInc	 							PROTO:DWORD


.data
DlgName   						db "MigDialog",0
;********INI***********
khead									db "details",0
kickUname 						db "kickuname",0
chatroom							db "chatroom",0
inifilename						db "setup.ini",0
backslash							db "\",0
szNull								db 0
unamafini							db "uname",0
pfini									db "password",0
;***********************

;***********************
sucLogin							db "LOGIN SUCCESFULL",0

;************************

IPAddress 						db "66.151.149.112",0   ; i decied to make it static
Port 									dd 9119
socketerror 					db "socket error",0
wsadata 							WSADATA <>
sin             			sockaddr_in         <>
;*****************************************************
OneMinPacket	db   0002h,0000h,0002h,0000h,000Fh,0000h,0000h,0000h,0000h
hiOne 				db   0002h,0001h,00F4h,0000h,0006h,0000h,0000h,0000h,0043h,0000h,0008h,0000h,0000h,0000h,000Ah
hiTwo 				db   0000h,0006h,0000h,0000h,0000h,0002h,0000h,0001h,0000h,0004h,0000h,0000h,0000h,0009h
hiThree				db   0000h,0003h,0000h,0000h,0000h,0001h,0003h,0000h,0002h,0000h,0000h,0000h,0008h
hifour				db   0000h,0001h,0000h,0000h,0000h,0001h,0001h
LeaveRommS 		db   0002h,0002h,00C0h,0000h,0022h,0000h,0000h,0000h,000Fh,0000h,0001h,0000h,0000h,0000h,0009h
JoinRommS 		db   0002h,0002h,00BFh,0000h,0009h,0000h,0000h,0000h,0013h,0000h,0001h,0000h,0000h,0000h,000Dh
KikS 					db   0002h,0002h,00C2h,0000h,000Dh,0000h,0000h,0000h,0020h,0000h,0002h,0000h,0000h,0000h,0007h
KikE 					db   0000h,0001h,0000h,0000h,0000h,000Dh
printtemplate	db	 "%x",0
loginResS	  	db   0002h,0000h,00CAh,0000h,0002h,0000h,0000h,0000h,000Ah,0000h,0001h,0000h,0000h,0000h,0004h

loginS 				db   0002h,0000h,00C8h,0000h,0002h,0000h,0000h,0000h,0048h,0000h,0009h,0000h,0000h,0000h,0004h,0000h
							db   0000h,0000h,0001h,0000h,0008h,0000h,0000h,0000h,0004h,006Ah,0032h,006Dh,0065h,0000h,0007h,0000h
							db   0000h,0000h,0009h,004Ah,0032h,004Dh,0045h,0076h,0032h,002Eh,0030h,0034h,0000h,0005h,0000h,0000h
							db   0000h,0008h
LoginE				db   0000h,0003h,0000h,0000h,0000h,0002h,0000h,00CCh,0000h,0002h,0000h,0000h,0000h,0001h,0001h,0000h
							db   0001h,0000h,0000h,0000h,0002h,0000h,0001h

.data?
hInstance 						HINSTANCE ?
sock 									dd ?
username							db 50 dup (?)
password							db 50 dup (?)
stringTagBuff					db 512 dup(?)
LoginPBuffer					db 512 dup(?)
loginSr								db 512 dup(?)
LoginResGetHash				db 512 dup(?)
loginResPfinal				dw 512 dup(?)
KikPBuffer						db 512 dup(?)	
JRPBuffer							db 512 dup(?)
HIPBuffer							db 512 dup(?)
RLBuffer							db 512 dup(?)
RLGETBuffer						db 512 dup(?)
RoomLBuffer						db 512 dup(?)
Temp									db 50 dup(?)
hFileWrite 						HANDLE ?
SizeWritten 					DWORD ?
Usize									dd ?
temp									dd ?
Ksize									dd ?
Csize									dd ?
JCRsize								dd ?
LCRsize								dd ?
HIsize								dd ?
HICsize								dd ?
HIUsize								dd ?
HIhsize								dd ?
kcheck								db ?
printBuffer						db 512 dup(?)
storeBuffer						db 512 dup(?)
tempFileBuffer				db 50 dup(?)
LRPBuffer							db 512 dup(?)
KUname								db 50 dup(?)
KCname								db 50 dup(?)
check									db ?
CurrentDir						db 256 dup(?)
rcsize								dd ?
DLGtext								db 50 dup(?)
IncriMent							db ?
hwwnd									dd ?
tempText							db 512 dup (?)

.const
TEXT_MAIN							equ 1000
EDIT_TEMP							equ 2000
IDC_JOINCHAT      		equ 3001
IDC_KIKUSER        		equ 3002
IDC_TEMP        			equ 3003
IDC_LEAVEROOM    			equ 3004
IDC_LOGIN		    			equ 3005
ID_TIMER 							equ 400
WM_SOCKET 						equ WM_USER+100h


.code
start:
	mov IncriMent,0
	mov check,0
	invoke WSAStartup, 1,addr wsadata
	.if eax!=NULL
		invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
	.endif

	invoke GetModuleHandle, NULL
	mov    hInstance,eax
	invoke DialogBoxParam, hInstance, ADDR DlgName,NULL,addr DlgProc,NULL
	invoke ExitProcess,eax

DlgProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM
	.IF uMsg==WM_INITDIALOG
								mov edx,hWnd
								mov hwwnd,edx
								invoke GetCurrentDirectory,sizeof CurrentDir,addr CurrentDir
								invoke lstrcat, addr CurrentDir,addr backslash
								invoke lstrcat, addr CurrentDir,addr inifilename	
								invoke SetTimer,hWnd,ID_TIMER,60000,0
								
								invoke GetPrivateProfileString,addr khead,addr unamafini,addr szNull,addr username,sizeof username,addr CurrentDir
								invoke GetPrivateProfileString,addr khead,addr pfini,addr szNull,addr password,sizeof password,addr CurrentDir
								invoke WinSockProc,addr IPAddress,Port,hWnd
								

							
	.ELSEIF uMsg==WM_CLOSE
								invoke EndDialog, hWnd,NULL
		
	.ELSEIF uMsg == WM_TIMER
								invoke AutoInc,addr OneMinPacket
								invoke send, sock, addr OneMinPacket, 09h, 0
	
	.ELSEIF uMsg==WM_SOCKET	
													
										mov eax,lParam
											.if ax==FD_CONNECT           
														shr eax,16                             
														.if ax==NULL
																
																invoke OnConnect,hWnd,sock
														.else
																invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
														.endif
														
											.elseif ax==FD_READ
														shr eax,16
														.if ax==NULL
			
																invoke OnRecieve,hWnd,sock
																				
														.else
																invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
														.endif
														
											.elseif ax==FD_CLOSE
														shr eax,16
														.if ax==NULL
																invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
														.else
																invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
														.endif
														
											.endif		
		
	.ELSEIF uMsg==WM_COMMAND
		mov eax,wParam
		.IF lParam==0

		.ELSE
			mov edx,wParam
			shr edx,16
			.if dx==BN_CLICKED
				.IF ax==IDC_JOINCHAT
						invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
						invoke ChatRoomJoinPacket,addr KCname
					
				.ELSEIF ax==IDC_KIKUSER
						invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
						invoke GetPrivateProfileString,addr khead,addr kickUname,addr szNull,addr KUname,sizeof KUname,addr CurrentDir			
						invoke CreatKikPacket,addr KUname,addr KCname
						
				.ELSEIF ax==IDC_TEMP
						invoke GetDlgItemText,hWnd,EDIT_TEMP,addr DLGtext,50
						invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
						invoke HIPacket,addr DLGtext,addr KCname,addr username
						invoke AutoInc,addr HIPBuffer
						invoke send,sock,addr HIPBuffer,HIhsize,0
						
				.ELSEIF ax==IDC_LEAVEROOM

						invoke GetPrivateProfileString,addr khead,addr chatroom,addr szNull,addr KCname,sizeof KCname,addr CurrentDir
						invoke LeaveRoomJoinPacket,addr KCname
						invoke AutoInc,addr LRPBuffer
						invoke send, sock, addr LRPBuffer, LCRsize, 0

				.ENDIF
			.ENDIF
		.ENDIF
	.ELSE
		mov eax,FALSE
		ret
	.ENDIF
	mov eax,TRUE
	ret
DlgProc endp
;*****************Winsock Proc *********************************************************************************
WinSockProc proc ipaddress:DWORD, portaddress:DWORD, WhWnd:DWORD
	invoke socket,PF_INET,SOCK_STREAM,0
		.if eax!=INVALID_SOCKET
			mov sock,eax
			invoke WSAAsyncSelect, sock, WhWnd,WM_SOCKET, FD_CONNECT+FD_READ+FD_CLOSE
		
			.if eax==SOCKET_ERROR
				invoke MessageBox,NULL,addr socketerror,addr socketerror,MB_OK
			.else
			.endif
		.else
			invoke WSAGetLastError
		.endif

		mov sin.sin_family, AF_INET
		invoke htons, portaddress                   
		mov sin.sin_port,ax                 
		invoke inet_addr, ipaddress 
		mov sin.sin_addr,eax
		
		invoke connect,sock,addr sin,sizeof sin

		.if eax==SOCKET_ERROR  	
			invoke WSAGetLastError           
			.if eax!=WSAEWOULDBLOCK       
				invoke MessageBox, NULL,addr socketerror, addr socketerror, MB_OK       
			.endif
		.endif
		
	ret
WinSockProc endp
;==========Login packet generat proc============================================================
CreatLoginPacket proc Uname:DWORD

	mov Usize,0
	cld				

	mov	esi, offset loginS		
	mov	edi, offset LoginPBuffer		
	mov	ecx, 32h		
	rep	movsb			

	xor eax,eax
	invoke lstrlen,Uname
	mov 	Usize,eax
	mov 	[LoginPBuffer+31h],al

	xor eax,eax
	mov eax,Usize
	add eax,29h
	add eax,17h
	mov 	[LoginPBuffer+08h],al
	
	mov esi,Uname
	mov edi, offset LoginPBuffer+32h
	mov ecx,Usize
	rep	movsb
	
	xor eax,eax
	mov eax,Usize
	add eax,32h	
	mov esi, offset LoginE
	mov edi, offset LoginPBuffer
	
	xor eax,eax
	mov eax,Usize
	add eax,32h
	add edi,eax

	mov ecx,17h
	rep	movsb


	add Usize,32h
	add Usize,17h

ret
CreatLoginPacket endp
;==========Login Respond packet generat proc============================================================

CreatLoginResPacket proc pname:DWORD


	cld				

	xor eax,eax
	mov al,[loginSr+1ch]
	mov Usize,eax
	
	
	mov	esi, offset loginSr+1dh		
	mov	edi, offset LoginResGetHash
	xor 	ecx,ecx		
	mov	ecx,Usize		
	rep	movsb

	mov	esi, pname		
	mov	edi, offset LoginResGetHash
	add 	edi, Usize
	xor 	ecx,ecx
	invoke lstrlen, pname
	add 	Usize,eax
	
	mov	ecx, eax		
	rep	movsb

	invoke GetHashCode, addr LoginResGetHash

	.if temp != NULL
			mov esi,offset loginResS
			mov edi,offset loginResPfinal
			mov ecx,0fh
			rep movsb
			
			mov edx,0fh
			mov ebx,temp+2
			invoke htons ,ebx
			mov [loginResPfinal+dx],ax
			add edx,2
			mov ebx,temp
			invoke htons ,ebx
			mov [loginResPfinal+dx],ax
	.endif

ret
CreatLoginResPacket endp
;==========Hashcode Generating proc============================================================
GetHashCode proc hCodeFrmS:DWORD
	


	invoke RtlZeroMemory, addr printBuffer, 100	
	mov temp,0
	mov esi, hCodeFrmS
	mov edi, offset storeBuffer

continue:
	mov ecx, 1
	rep movsb

	mov al,[esi-1]

	mov eax,temp
	mov edx,31
	mul edx
	
	mov temp,eax
	xor eax,eax
	mov al,[esi-1]
	add eax,temp
	mov temp,eax

	push eax
	push offset printtemplate
	push offset printBuffer
	call wsprintfA
	add esp,12
	
	mov al,[esi]
	cmp al,0
	jne continue

	ret
GetHashCode endp
;***********************************
;==========kick proc============================================================
CreatKikPacket proc kUname:DWORD,kCroom:DWORD
	cld				


	mov	esi, offset KikS		
	mov	edi, offset KikPBuffer		
	mov	ecx, 0fh		
	rep	movsb			

	xor eax,eax
	invoke lstrlen,kUname
	mov 	Ksize,eax
	mov 	[KikPBuffer+0eh],al
	
	mov esi, kUname
	mov edi,offset KikPBuffer+0fh
	mov ecx,Ksize
	rep movsb


	mov esi,offset KikE
	mov edi,offset KikPBuffer
	xor eax,eax
	mov eax,Ksize
	add eax,0fh
	mov Ksize,eax
	add edi,eax
	mov ecx,06h
	rep movsb
	add Ksize,06h

	xor eax,eax
	invoke lstrlen,kCroom
	mov Csize,eax
	mov edx,Ksize
	mov edi,offset KikPBuffer
	add edi,edx
	mov [edi-1],al
	
	
	mov	esi, kCroom		
	mov	edi, offset KikPBuffer		
	add 	edi,Ksize
	mov 	ecx,Csize
	rep	movsb	

	xor eax,eax
	mov eax,Ksize
	add eax,Csize
	sub eax,09h
	mov edi, offset KikPBuffer
	add edi,09h
	mov [edi-1],al

	xor eax,eax
	mov eax,Ksize
	add eax,Csize
	mov Csize,eax

	invoke send, sock, addr KikPBuffer,Csize,0
ret
CreatKikPacket endp

;==========Chat room join proc========================================
ChatRoomJoinPacket proc JCroom:DWORD

	invoke RtlZeroMemory, addr JRPBuffer, 512	
	cld				

	mov	esi, offset JoinRommS		
	mov	edi, offset JRPBuffer		
	mov	ecx, 0fh		
	rep	movsb			

	xor eax,eax
	invoke lstrlen, JCroom
	mov JCRsize,eax
	mov edi, offset JRPBuffer+0eh
	mov [edi],al
	
	mov esi, JCroom
	mov edi, offset JRPBuffer+0fh
	mov ecx,JCRsize
	rep movsb

	mov edi, offset JRPBuffer+08h
	xor eax,eax
	mov eax,JCRsize
	add eax,06h
	mov [edi],al	
	
	xor eax,eax
	mov eax,0fh
	add JCRsize,eax

	invoke AutoInc,addr JRPBuffer
	invoke send, sock, addr JRPBuffer, JCRsize, 0
ret
ChatRoomJoinPacket endp
;============Recieve Proc (this proc will check the flages)===============================================================================
OnConnect proc hwdl:DWORD, ssock:DWORD

		.if check==0
				invoke CreatLoginPacket, addr username
				invoke AutoInc,addr LoginPBuffer
				invoke send, ssock, addr LoginPBuffer, Usize, 0
		.endif
		
ret
OnConnect endp
;============Recived Proc =========================================================================================================================
OnRecieve proc hwdl:DWORD, ssock:DWORD

		.if check==0
				mov check,1

				invoke recv,ssock,addr loginSr,100,0
				invoke CreatLoginResPacket,addr password
				invoke AutoInc,addr loginResPfinal
				invoke send, ssock, addr loginResPfinal, 13h, 0
				mov check,2
				
		.elseif check==2

							invoke ioctlsocket,ssock,FIONREAD ,addr rcsize
							.if eax==0
											invoke recv,ssock,addr loginSr,rcsize,0
											mov esi,offset loginSr+02h
											xor eax,eax
											mov al,BYTE PTR [esi]
											.if al==00cbh
													invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr sucLogin
											.else
													mov esi,offset loginSr
													mov edi,offset tempText
													xor ecx,ecx
													mov cl,BYTE PTR [esi+0eh]
													add esi,0fh
													rep movsb
													
													invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr tempText
											.endif
							.endif
							mov check,4

		.else
				invoke RtlZeroMemory, addr loginSr, 512
				invoke RtlZeroMemory, addr stringTagBuff, 512
				invoke ioctlsocket,ssock,FIONREAD ,addr rcsize
				.if eax==0
							invoke recv,ssock,addr loginSr,rcsize,0
							
							mov esi,offset loginSr
							mov edi,offset stringTagBuff


							add esi, 0Fh
							xor eax,eax
							mov ax,[esi-2]
							invoke htons ,eax
							
							mov ecx,eax
							rep movsb							
							
							
							invoke SetDlgItemText,hwwnd,TEXT_MAIN,addr stringTagBuff
				.endif
ret
		.endif
ret
OnRecieve endp
;===============================LeavChatroom proc======================================================================================================

LeaveRoomJoinPacket proc JCroom:DWORD
	cld				

	mov esi,offset LeaveRommS
	mov edi,offset LRPBuffer
	mov ecx,0fh
	rep movsb
	
	invoke lstrlen,JCroom
	mov LCRsize,eax
	mov edi,offset LRPBuffer
	mov [edi+0eh],al
	
	mov esi,JCroom
	mov edi,offset LRPBuffer
	add edi,0fh
	mov ecx,LCRsize
	rep movsb


	mov edi, offset LRPBuffer
	add edi,08h
	xor eax,eax
	mov eax,LCRsize
	add eax,06h
	mov LCRsize,eax
	mov [edi],al
	
	mov eax,LCRsize
	add eax,09h
	mov LCRsize,eax
ret
LeaveRoomJoinPacket endp
;================Hi packert seding proc================================================================
HIPacket proc HItext:DWORD, hiRoom:DWORD, hiUname:DWORD
	cld				
	
	mov esi,offset hiOne
	mov edi,offset HIPBuffer
	mov ecx,0fh
	rep movsb


	invoke lstrlen,HItext
	mov HIsize,eax
	mov esi,HItext
	mov edi,offset HIPBuffer
	add edi,0fh
	mov ecx,HIsize
	rep movsb
	
	
	mov edi, offset HIPBuffer
	xor eax,eax
	mov eax,HIsize
	add edi,0eh
	mov [edi],al

	mov esi,offset hiTwo
	mov edi,offset HIPBuffer
	mov eax,HIsize
	add eax,0fh
	mov HIhsize,eax
	add edi,eax
	mov ecx,0eh
	rep movsb
	
	
	mov esi,hiRoom
	mov edi,offset HIPBuffer
	xor eax,eax
	mov eax,HIhsize
	add eax,0eh
	mov HIhsize,eax
	add edi,HIhsize
	invoke lstrlen,hiRoom
	mov HICsize,eax
	mov ecx,eax
	rep movsb
	
	mov edi,offset HIPBuffer
	xor eax,eax
	add eax,0eh
	add eax,0fh
	add eax,HIsize
	add edi,eax
	mov eax,HICsize
	mov [edi-1],al
	
	mov esi,offset hiThree
	mov edi,offset HIPBuffer
	mov eax,HIhsize
	mov edx,HICsize
	add eax,edx
	mov HIhsize,eax
	add edi,eax
	mov ecx,0dh
	rep movsb
	
	
	mov esi,hiUname
	mov edi,offset HIPBuffer
	mov eax,HIhsize
	add eax,0dh
	mov HIhsize,eax
	add edi,eax
	invoke lstrlen,hiUname
	mov HIUsize,eax
	mov ecx,eax
	rep movsb

	mov edi,offset HIPBuffer
	mov eax,HIhsize
	add edi,eax
	mov eax,HIUsize
	mov [edi-1],al
	mov eax,HIhsize
	mov edx,HIUsize
	add eax,edx
	mov HIhsize,eax
	
	mov esi,offset hifour
	mov edi,offset HIPBuffer
	mov eax,HIhsize
	add edi,eax
	mov ecx, 07h
	rep movsb

	xor eax,eax
	add eax, HIhsize
	add eax,07h
	mov HIhsize,eax

	mov edi,offset HIPBuffer
	sub eax,09h
	mov [edi+08h],al

ret
HIPacket endp

;============AUTO incrment=================
AutoInc proc JCroom:DWORD

	mov edi, JCroom
	mov al,IncriMent
	mov [edi+4],al
	inc al
	mov IncriMent,al
	
ret
AutoInc endp

end start

and here is the resource file code (rsrc.rc)..
the original file is rsrc.res and i convert it to rc file so i can show it here..

MIGDIALOG DIALOGEX 10, 10, 258, 95
STYLE DS_MODALFRAME | DS_CENTER | WS_MINIMIZEBOX | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_DLGMODALFRAME
CAPTION "mig33"
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
FONT 8, "MS Sans Serif"
{
   CONTROL "Rejoin/Join Chat Room", 3001, BUTTON, BS_DEFPUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 23, 117, 14 
   CONTROL "Kick User", 3002, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 56, 117, 14 
   CONTROL "", 2000, EDIT, ES_LEFT | ES_MULTILINE | ES_AUTOVSCROLL | WS_CHILD | WS_VISIBLE | WS_VSCROLL | WS_TABSTOP, 5, 71, 124, 14 , 0x00020000
   CONTROL "SendText", 3003, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 72, 117, 14 
   CONTROL "Leave Chat Room", 3004, BUTTON, BS_PUSHBUTTON | BS_FLAT | WS_CHILD | WS_VISIBLE | WS_TABSTOP, 136, 40, 117, 14 
   CONTROL "Please wait...", 1000, STATIC, SS_LEFT | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 5, 23, 123, 43 , 0x00000020
   CONTROL "remember!! this is just a simple idea. it is not designed for chating. ", 1002, STATIC, SS_CENTER | SS_SUNKEN | WS_CHILD | WS_VISIBLE, 6, 6, 248, 12 , 0x00000020
}

here is the batch file (makeit.bat)..

@echo off
\masm32\bin\ml /c /coff /Cp migpro.asm
\masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib migpro.obj rsrc.res

any1 can help me?

youre crazy if you think anyone is going to try and read that mess.

you need to formulate some kind of a coherent question about what you're trying to do with this guy's code.

well i'm just trying to find some help..
if i can modify it by myself, i won't register here and open this heavy load forum..

if there's no one could help, then it's okay..

im just saying theres a difference between asking specific questions and dumping 1000 lines of assembly code and saying "hay guys, whats this do?"

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.