www.stonefisk.com :: devel :: edonk.php
The MASM Source code of my Edonkey Crack / Patcher
A hard drive failure wiped out all my source code of projects I have worked on dating back many years. This patcher code is one of those MASM assembly projects which survived the great crash of Oct 2004. This was the last version of the patcher I ever publicly released, and the last I am likely to ever release again.
This is the first time this version of the source has been made public, and it is been done so as to add to the community of MASM source code found on the internet. It is released for educational and code demonstration purposes (if of any value to the assembly coding community). It has not been released for its value as a crack tool as it will not work with any current Donkey release.
The complete source release file: edonkcrack_sourcecode.rar
Copy of the readme.txt that was released with the binary.exe:
SF-edonk (v0.02) by StoneFisk <>< (2004)
* CRACK FOR eDonkey2000 + Overnet Hybrid WIN32 GUI VERSION v0.53a *
This is a release to cater for the unannounced edonkey0.53a.exe version.
Previous crack was for v0.53 and will not work with 0.53a.
The edonkey dev team broke convention and still display this alpha
version as 0.53 on the GUI and website.
Features/Instructions :
Place the sf-edonk.exe in the same folder as edonkey2000.exe is located.
*
When ever you want to run edonkey2000, run the sf-edonk.exe instead.
*
Hit the 'START' button and edonkey2000 will be launched and the mem patch applied.
*
Set your desired Download rate or leave default value (recommended).
Decimal point value can be used.
*
Set your desired Upload rate via the edonkey Client Network Options.
*
Edonkey WILL LIKELY stop downloading if you reduce Upload value below 1.0 !!!
*
LEAVE SF-DONK.EXE RUNNING TO ENSURE THE VALUES ARE CONSTANTLY FIXED IN
MEMORY !!!
*
When minimised sf-edonk.exe sits in the Taskbar.
*
When edonkey2000 is closed down then the sf-edonk.exe safely exits also.
*
The download rate can be safely adjusted on the fly at anytime.
*
To register you edonkey client and get rid of the ad-banner, just provided any username and password.
Other notes :
HORDE FILE SHARING
This patch WILL effect the performance of your Horde shared file (the
one you set to 'highest' priority). The rest of non-horde files your downloading
will still dl at the same rate as earlier edonkey versions regardless of your
upload rate setting, so don't fret.
You can of course disable the horde in version 0.53a advanced optons.
***********
SF-EDONK.EXE LISTENS FOR CONNECTIONS ON PORT 54666, IS IT A TROJAN ???
For the security minded....
sf-edonk has a built in TCP server that listens on port 54666.
This server only accepts incoming connects from the local machine (127.0.0.1) and
not from the internet or local network.
This server is used only to 'crack' the edonkey registration.
Normally the edonkey client connects to "http://reg.edonkey2000.com" to check the
username and password details. sf-edonk.exe patches this address to "http://127.0.0.1:54666"
which is the fake reg server built into sf-edonk.
This is a dumb server, as in after a connection is accepted it the force feeds a "ok" message
and then breaks the connection. It accepts no commands or sends out anything other than the fake
html server response.
***********
sf-edonk.exe will have no effect if edonkey2000 has already running. So make
sure no edonkey2000 process exists and use sf-edonk.exe to start edonkey2000.
Just for the record edonkey2000.exe process remains in memory for a period of
time if you close it whilst it is still hashing files. This is purely a
edonkey2000 issue, but something to remember if sf-edonk ever fails on start.
Just kill edonkey2000 from 'windows task manager'.
***********
Tested and developed under WINXP PRO SP1 & WIN2K SP3 ONLY. errm or in other
words this won't work on Non NT boxen (make your own)
by stonefisk <>< (2004)
The sourcecode printout for reference:
;###############################
;###############################
; sf-edonk.asm (v 0.02) by STONEFISK
; Upload:Download ratio *crack* for eDonkey2000 + Overnet Hybrid WIN32 GUI VERSION 0.53a
;
; Overrides the upload/download rates of eDonkey2000. (machine max download rate).
; dl Values can be adjusted on the fly by user.
; Applies the memory patch every 1/2 sec to *freeze* value.
; Allows the client to be registered with fake username and password, this removes the adbanner.
;
; Developed and designed for NT based boxen only ! not win9x friendly.
; Tested under WinXP SP1 & Win2k SP3 with eDonkey2000 + Overnet Hybrid WIN32 GUI VERSION 0.53a
;
; sf-edonk.asm Coded, Tested & Released by Stonefisk <>< (2004)
;
; Change log:
; v0.01
;
; v0.02
; Released to cater for unannouced edonk version 0.53a, WHICH STILL REPORTS AS 0.53!
;
;Same code as for earlier edonkey version, just adjusted offsets.
;The design of the new edonkey dynamic auto ratio has no effect on how we override things..
;################################################
;################################################
.486
.model flat, stdcall
option casemap:none
; ################################################
include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc
include \masm32\include\shell32.inc
include \masm32\include\masm32.inc
include \masm32\include\gdi32.inc
include \masm32\include\fpu.inc
include \masm32\include\wsock32.inc
includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\shell32.lib
includelib \masm32\lib\masm32.lib
includelib \masm32\lib\gdi32.lib
includelib \masm32\lib\Fpu.lib
includelib \masm32\lib\wsock32.lib
; ###################################################
szText MACRO Name, Text:VARARG
LOCAL lbl
jmp lbl
Name db Text,0
lbl:
ENDM
;####################################################
WinMain PROTO STDCALL :DWORD, :DWORD, :DWORD, :DWORD
WndProc PROTO STDCALL :DWORD, :DWORD, :DWORD, :DWORD
PushButton PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
ListBox PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
EditBox PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
Static PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD,:DWORD
Start_Overnet_rtrn PROTO STDCALL
Patch_Overnet_Memory PROTO STDCALL
Fake_RegServer PROTO STDCALL
EditFloat PROTO STDCALL :DWORD,:DWORD,:DWORD,:DWORD
; ####################################################
.const
ID_ICON equ 500
ID_BTN1 equ 1000
ID_BTN2 equ 1001
ID_EDIT1 equ 100
ID_EDIT2 equ 101
WM_SHELLNOTIFY equ WM_USER+5
IDI_TRAY equ 0
IDM_RESTORE equ 1009
IDM_EXIT equ 1010
; ###################################################
mainport db '54666', 0 ;port setting
netintefaceIP db '127.0.0.1',0 ;IP of the interface the server listens on
fakeok db 48h, 54h, 54h, 50h, 2Fh, 31h, 2Eh, 31h
db 20h, 32h, 30h, 30h, 20h, 4Fh, 4Bh, 0Dh
db 0Ah, 44h, 61h, 74h, 65h, 3Ah, 20h, 46h
db 72h, 69h, 2Ch, 20h, 31h, 37h, 20h, 4Fh
db 63h, 74h, 20h, 32h, 30h, 30h, 33h, 20h
db 31h, 35h, 3Ah, 33h, 37h, 3Ah, 34h, 38h
db 20h, 47h, 4Dh, 54h, 0Dh, 0Ah, 53h, 65h
db 72h, 76h, 65h, 72h, 3Ah, 20h, 41h, 70h
db 61h, 63h, 68h, 65h, 2Fh, 32h, 2Eh, 30h
db 2Eh, 34h, 33h, 20h, 28h, 57h, 69h, 6Eh
db 33h, 32h, 29h, 0Dh, 0Ah, 4Ch, 61h, 73h
db 74h, 2Dh, 4Dh, 6Fh, 64h, 69h, 66h, 69h
db 65h, 64h, 3Ah, 20h, 54h, 68h, 75h, 2Ch
db 20h, 31h, 36h, 20h, 4Fh, 63h, 74h, 20h
db 32h, 30h, 30h, 33h, 20h, 32h, 33h, 3Ah
db 31h, 30h, 3Ah, 35h, 35h, 20h, 47h, 4Dh
db 54h, 0Dh, 0Ah, 45h, 54h, 61h, 67h, 3Ah
db 20h, 22h, 33h, 38h, 30h, 34h, 2Dh, 32h
db 2Dh, 66h, 64h, 66h, 30h, 30h, 32h, 38h
db 63h, 22h, 0Dh, 0Ah, 41h, 63h, 63h, 65h
db 70h, 74h, 2Dh, 52h, 61h, 6Eh, 67h, 65h
db 73h, 3Ah, 20h, 62h, 79h, 74h, 65h, 73h
db 0Dh, 0Ah, 43h, 6Fh, 6Eh, 74h, 65h, 6Eh
db 74h, 2Dh, 4Ch, 65h, 6Eh, 67h, 74h, 68h
db 3Ah, 20h, 32h, 0Dh, 0Ah, 43h, 6Fh, 6Eh
db 74h, 65h, 6Eh, 74h, 2Dh, 54h, 79h, 70h
db 65h, 3Ah, 20h, 74h, 65h, 78h, 74h, 2Fh
db 70h, 6Ch, 61h, 69h, 6Eh, 3Bh, 20h, 63h
db 68h, 61h, 72h, 73h, 65h, 74h, 3Dh, 49h
db 53h, 4Fh, 2Dh, 38h, 38h, 35h, 39h, 2Dh
db 31h, 0Dh, 0Ah, 0Dh, 0Ah, 6Fh, 6Bh, 0
ClassName db "SFisk_mempatch",0
ProgLoaded db "Press START to launch eDonkey & Apply Patch",0
RegServerUp db "Starting Fake Reg Server on TCP Port:54666",0
OvernetLocation db "eDonkey2000.exe",0
adBannerClassname db "Shell Embedding",0
msgNOovernet db "Error: Failed to spawn eDonkey2000.exe!",0
msgPatching db "Applying Patch & Freezing Values...",0
msgLeaveMe db "Don't close, Leave me running !",0
msgPatcheddl db "Patched download value successfully",0
msgPatchFail db "Error: Patching Memory Failed!",0
msgOvernetend db "Error: eDonkey2000 has Exited!",0
btnClass db "BUTTON",0
lstBox db "LISTBOX",0
EditBoxClass db "EDIT",0
btn1 db "Start",0
btn2 db "Exit",0
btn3 db "Kill Ad-Banner",0
DesiredDLrateFLOAT8 REAL8 0.0 ;
FakeRegURL db "http://127.0.0.1:54666/123stonefisk",0
RestoreString db "&Restore",0
ExitString db "E&xit Program",0
Startup STARTUPINFO <>
processinfo PROCESS_INFORMATION <>
note NOTIFYICONDATA <>
; ###############################################
.data?
hInstance dd ?
ghwnd dd ?
hIcon dd ?
hList dd ?
hbtn1 dd ?
hbtn3 dd ?
hEdit1 dd ? ;up
hEdit2 dd ? ;down
LastErr dd ?
byteswritten dd ?
ExitCode DWORD ?
patchthread dd ?
fakeregSrvthread dd ?
AFLOAT10 REAL10 ?
DesiredUPLrate db 128 dup(?)
DesiredDLrate db 128 dup(?)
hPopupMenu dd ?
OrigEditWndProc dd ?
;socket stuff
mainsock dd ?
wsainfo WSADATA<>
mainsin sockaddr_in<>
clientinfo sockaddr_in<>
;thread stuff
recvthread dd ?
; ###########################################
.code
start:
invoke GetModuleHandle, NULL
mov hInstance, EAX
invoke WinMain, hInstance, NULL, NULL, SW_SHOWNORMAL
invoke ExitProcess, NULL
; ###########################################
WinMain proc hInst:DWORD, hPrevInst:DWORD, CmdLine:DWORD, CmdShow:DWORD
LOCAL wc:WNDCLASSEX
LOCAL hwnd:DWORD
LOCAL msg:MSG
mov wc.cbSize,SIZEOF WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW or CS_DBLCLKS
mov wc.lpfnWndProc, OFFSET WndProc
mov wc.cbClsExtra,NULL
mov wc.cbWndExtra,NULL
push hInst
pop wc.hInstance
mov wc.hbrBackground,COLOR_WINDOW
mov wc.lpszMenuName,NULL
mov wc.lpszClassName,OFFSET ClassName
invoke LoadIcon,wc.hInstance,ID_ICON
mov wc.hIcon, EAX
mov wc.hIconSm, EAX
mov hIcon, EAX
Invoke SendMessage, hwnd, WM_SETICON,1, hIcon
invoke LoadCursor,NULL,IDC_ARROW
mov wc.hCursor, EAX
invoke RegisterClassEx, ADDR wc
szText _,65h,44h,6Fh,6Eh,6Bh,65h,79h,20h,76h,30h,2eh,35h,33h,61h,\
20h,50h,61h,74h,63h,68h,65h,72h,28h,53h,74h,6Fh,6Eh,65h,46h,69h,\
73h,6Bh,20h,32h,30h,30h,34h,20h,76h,30h,2Eh,30h,32h,29h
invoke CreateWindowEx,WS_EX_APPWINDOW,ADDR ClassName,ADDR _,\
WS_MINIMIZEBOX OR WS_CAPTION OR WS_SYSMENU ,CW_USEDEFAULT,\
CW_USEDEFAULT,500,200,NULL,NULL,\
hInst,NULL
mov hwnd, EAX
mov ghwnd, EAX
invoke ShowWindow, hwnd, SW_SHOWNORMAL
invoke UpdateWindow, hwnd
.WHILE TRUE
invoke GetMessage, ADDR msg,NULL,0,0
.BREAK .IF (!EAX)
invoke TranslateMessage, ADDR msg
invoke DispatchMessage, ADDR msg
.ENDW
ret
WinMain endp
; ########################################
WndProc proc hWnd:DWORD, uMsg:DWORD, wParam:DWORD, lParam:DWORD
LOCAL pt:POINT
mov EAX, uMsg
.IF EAX==WM_CREATE
invoke CreatePopupMenu
mov hPopupMenu,eax
invoke AppendMenu,hPopupMenu,MF_STRING,IDM_RESTORE,addr RestoreString
invoke AppendMenu,hPopupMenu,MF_STRING,IDM_EXIT,addr ExitString
invoke ListBox,125,10,355,100,hWnd,500
mov hList, EAX
invoke PushButton, ADDR btn1, hWnd, 10, 15, 110, 30, ID_BTN1
invoke PushButton, ADDR btn2, hWnd, 10, 75, 110, 30, ID_BTN2
jmp wpLbl
txt1 db " Set Max Upload Speed Via eDonkey Options. Suggested value: 3(KB/s)",0
txt2 db " Max Download Speed (KB/s) (0 for machine Limit)",0
val1 db "1.0",0 ;default startup values
val2 db "0",0
nulbyte db 0
wpLbl:
invoke Static,ADDR txt1,hWnd,10,115,470,22,500
invoke Static,ADDR txt2,hWnd,10,140,400,22,501
invoke EditBox, hWnd,420,140,60,22,
WS_BORDER OR ES_LEFT OR WS_VISIBLE or WS_CHILDWINDOW,ID_EDIT2
invoke GetDlgItem,hWnd,101
mov hEdit2, eax
invoke SendDlgItemMessage,hWnd,101,EM_SETLIMITTEXT,4,0 ; Limit download value to 4 digits
invoke SetWindowText,hEdit2,addr val2
invoke SetWindowLong,hEdit2,GWL_WNDPROC,addr EditFloat
mov OrigEditWndProc,eax
invoke SendMessage,hList,LB_ADDSTRING,0,ADDR RegServerUp
invoke SendMessage,hList,LB_ADDSTRING,0,ADDR ProgLoaded
mov edx, offset Fake_RegServer
invoke CreateThread, NULL, 0, edx, NULL, 0, addr fakeregSrvthread
.ELSEIF EAX==WM_COMMAND
mov eax,wParam
shr eax,16
.if lParam==0
invoke Shell_NotifyIcon,NIM_DELETE,addr note
mov eax,wParam
.IF ax==IDM_RESTORE
invoke ShowWindow,hWnd,SW_RESTORE
.ELSE
invoke DestroyWindow,hWnd
.ENDIF
.endif
.if ax==BN_CLICKED
mov eax,wParam
.IF wParam==ID_BTN1
invoke Start_Overnet_rtrn
.IF EAX != 0
invoke GetDlgItem,hWnd,ID_BTN1
mov hbtn1,EAX
invoke EnableWindow,hbtn1, FALSE
invoke ResumeThread,processinfo.hThread
invoke WaitForInputIdle,processinfo.hProcess,10000
invoke SendMessage, hList,LB_ADDSTRING,0, ADDR msgPatching
invoke SendMessage, hList,LB_ADDSTRING,0, ADDR msgLeaveMe
mov edx, offset Patch_Overnet_Memory
invoke CreateThread, NULL, 0, edx, NULL, 0, addr patchthread
.ELSE
invoke SendMessage, hList,LB_ADDSTRING,0, ADDR msgNOovernet
.ENDIF
.ELSEIF wParam==ID_BTN2
invoke PostQuitMessage, NULL
.ENDIF
.ELSEIF ax==EN_CHANGE
mov eax,wParam
.IF ax==ID_EDIT2
invoke GetWindowText,hEdit2,addr DesiredDLrate, 127
Invoke FpuAtoFL, ADDR DesiredDLrate, ADDR AFLOAT10, DEST_MEM
fld AFLOAT10
fstp DesiredDLrateFLOAT8
.ENDIF
.ENDIF
.ELSEIF EAX==WM_SIZE
mov eax,wParam
.IF eax==SIZE_MINIMIZED
mov note.cbSize,sizeof NOTIFYICONDATA
push hWnd
pop note.hwnd
mov note.uID,IDI_TRAY
mov note.uFlags,NIF_ICON+NIF_MESSAGE+NIF_TIP
mov note.uCallbackMessage,WM_SHELLNOTIFY
invoke LoadIcon,hInstance,ID_ICON
mov note.hIcon,eax
invoke lstrcpy,addr note.szTip,ADDR _
invoke ShowWindow,hWnd,SW_HIDE
invoke Shell_NotifyIcon,NIM_ADD,addr note
.ENDIF
.ELSEIF EAX==WM_SHELLNOTIFY
mov eax,wParam
.IF eax==IDI_TRAY
.IF lParam==WM_RBUTTONDOWN
invoke GetCursorPos,addr pt
invoke SetForegroundWindow,hWnd
invoke TrackPopupMenu,hPopupMenu,TPM_RIGHTALIGN,pt.x,pt.y,NULL,hWnd,NULL
invoke PostMessage,hWnd,WM_NULL,0,0
.ELSEIF lParam==WM_LBUTTONDBLCLK
invoke SendMessage,hWnd,WM_COMMAND,IDM_RESTORE,0
.ENDIF
.ENDIF
.ELSEIF EAX==WM_DESTROY
invoke PostQuitMessage, NULL
.ELSE
invoke DefWindowProc, hWnd, uMsg, wParam, lParam
.ENDIF
ret
WndProc endp
; #########################################
Fake_RegServer proc
invoke WSAStartup, 101h, addr wsainfo
; =========================================
; Set up winsock
; =========================================
mainsock_listen:
invoke socket, PF_INET, SOCK_STREAM, 0
cmp eax, INVALID_SOCKET
jz restartloop
mov mainsock, eax
mov mainsin.sin_family, PF_INET
invoke atodw, addr mainport
invoke htons, eax
mov mainsin.sin_port, ax
invoke inet_addr,addr netintefaceIP ; fix to localhost adaptor
mov mainsin.sin_addr, eax
invoke bind, mainsock, addr mainsin, sizeof mainsin
cmp eax, SOCKET_ERROR
jz restartloop
; =========================================
; Start server listening for a connection
; =========================================
acceptloop:
invoke listen, mainsock, 1 ; incoming connections limited to 1
invoke accept, mainsock, addr clientinfo, NULL
cmp eax, INVALID_SOCKET
jz acceptloop
mov edx, offset RecvData ; call up FEED HTML procedures when connection established
invoke CreateThread, NULL, 0, edx, eax, 0, addr recvthread
; ========================================
invoke CloseHandle, eax
jmp acceptloop
; ========================================
restartloop:
invoke closesocket, mainsock
invoke Sleep, 512
jmp mainsock_listen
Fake_RegServer endp
; #########################################
; #########################################
Start_Overnet_rtrn proc
invoke CreateProcess, ADDR OvernetLocation, NULL, NULL, NULL, NULL, CREATE_SUSPENDED,
NULL, NULL, ADDR Startup, ADDR processinfo
ret
Start_Overnet_rtrn endp
; ########################################
EditFloat PROC hEdit:DWORD,uMsg:DWORD,wParam:DWORD,lParam:DWORD
LOCAL buffer[32]:BYTE
.if uMsg==WM_CHAR
mov eax,wParam
.if (al>="0" && al<="9") || (al==".") || al==VK_BACK
.if al=="."
invoke GetWindowText,hEdit,addr buffer,32
lea esi, buffer
SrchLoop:
xor eax,eax
lodsb
test al,al
jz EOS
.if al == "."
ret
.endif
jmp SrchLoop
EOS:
mov eax,wParam
.endif
invoke CallWindowProc,OrigEditWndProc,hEdit,uMsg,eax,lParam
ret
.endif
.else
invoke CallWindowProc,OrigEditWndProc,hEdit,uMsg,wParam,lParam
ret
.endif
xor eax,eax
ret
EditFloat endp
; ##########################################
ListBox proc a:DWORD,b:DWORD,wd:DWORD,ht:DWORD,hParent:DWORD,ID:DWORD
invoke CreateWindowEx,WS_EX_CLIENTEDGE,ADDR lstBox,0,
WS_VSCROLL or WS_HSCROLL or WS_VISIBLE or \
WS_BORDER or WS_CHILD or \
LBS_HASSTRINGS or LBS_NOINTEGRALHEIGHT or \
LBS_DISABLENOSCROLL,
a,b,wd,ht,hParent,ID,hInstance,NULL
ret
ListBox endp
; ##########################################
PushButton proc lpText:DWORD,hParent:DWORD,
a:DWORD,b:DWORD,wd:DWORD,ht:DWORD,ID:DWORD
invoke CreateWindowEx,WS_EX_CLIENTEDGE,
ADDR btnClass,lpText,
WS_CHILD or WS_VISIBLE,
a,b,wd,ht,hParent,ID,
hInstance,NULL
ret
PushButton endp
; ############################################
EditBox proc hParent:DWORD,a:DWORD,b:DWORD,wd:DWORD,ht:DWORD,styleflags:DWORD,ID:DWORD
invoke CreateWindowEx,0,addr EditBoxClass,0,styleflags,a,b,wd,ht,hParent,ID,hInstance,NULL
ret
EditBox endp
; ###########################################
Static proc lpText:DWORD,hParent:DWORD,a:DWORD,b:DWORD,wd:DWORD,ht:DWORD,ID:DWORD
szText statClass,"STATIC"
invoke CreateWindowEx,WS_EX_STATICEDGE,
ADDR statClass,lpText,
WS_CHILD or WS_VISIBLE or SS_LEFT,
a,b,wd,ht,hParent,ID,
hInstance,NULL
ret
Static endp
; ############################################
Patch_Overnet_Memory proc
invoke GetExitCodeProcess,processinfo.hProcess,ADDR ExitCode
.WHILE ExitCode ==STILL_ACTIVE
invoke GetExitCodeProcess,processinfo.hProcess,ADDR ExitCode
.if eax==TRUE
.if ExitCode==STILL_ACTIVE
invoke Sleep,500
Invoke WriteProcessMemory, processinfo.hProcess, 004EB030h,\
ADDR DesiredDLrateFLOAT8, 8, byteswritten
.if eax == 0
invoke SendMessage, hList,LB_ADDSTRING,0,\
ADDR msgPatchFail
.else
;invoke SendMessage, hList,LB_ADDSTRING,0,\
; ADDR msgPatcheddl
.endif
Invoke WriteProcessMemory, processinfo.hProcess, 004DCEF4h,\
ADDR FakeRegURL, sizeof FakeRegURL, byteswritten
.if eax == 0
invoke SendMessage, hList,LB_ADDSTRING,0,\
ADDR msgPatchFail
.else
;invoke SendMessage, hList,LB_ADDSTRING,0,\
; ADDR msgPatcheddl
.endif
.endif
.endif
.ENDW
invoke SendMessage, hList,LB_ADDSTRING,0, ADDR msgOvernetend
invoke Sleep,5000
invoke ExitProcess,eax
ret
Patch_Overnet_Memory endp
; #############################################
; PROC TO HANDLE THE SEND HTML DATA
; #############################################
RecvData PROC remoteaddr:DWORD
LOCAL clientpc:DWORD
LOCAL sendbuff[1024]:BYTE
mov edx, remoteaddr
mov clientpc, edx
invoke szCatStr, addr sendbuff, addr fakeok
invoke StrLen, addr fakeok
invoke send, clientpc, addr fakeok, eax, 0 ; SEND THE BITCH
; ==============================================
endloop:
invoke closesocket, clientpc ; WE'VE force fed THE HTML to the client, SO LETS BE DIRTY AND ;CLOSE THE CONNECTION
; if client hits refresh it will throw up msgbox about server has reset
ret
RecvData ENDP
; #############################################
; END OF RECV PROC
; #############################################
;#############################################
end start
; #############################################
; TO COMPILE USE THE FOLLOWING:
; REM <<<<<<<<<<<<<<MAKEIT.BAT>>>>>>>>>>>>>>>
;
; cls
; del sf-edonk.exe
; \masm32\bin\rc sf-edonk.RC
; \masm32\bin\ml /c /Cp /coff sf-edonk.asm
; \masm32\bin\link /SUBSYSTEM:WINDOWS /LIBPATH:\masm32\lib sf-edonk.obj sf-edonk.res
; del sf-edonk.obj
; pause
;
; REM <<<<<<<<<END OF MAKEIT.BAT>>>>>>>>>>>>>