Xylitol icon

Netcode.asm modifications

Xylitol | PRO | 06/27/14 02:40:00 PM UTC | 0 ⭐ | 848 👁️ | Never ⏰ | []
ASM (NASM) |

0 B

|

None

|

0 👍

/

0 👎

Line 126 (code remove):
char, timeout <- removed 'timeout'
 
Line 214 (code edition):
CDefaultUserAgent db "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/5.0)",0
 
Line 220 (code addition):
db   "Accept-Language: en-US",13,10
 
line 225 (code edition):
db   "User-Agent: %s",13,10,13,10,0
 
Line 267 (code edition):
invoke   MemAlloc, 15000 -> invoke   MemAlloc, 32000
 
Line 274 (code edition):
invoke  NetRecvUntilChar, s, stream, 64000, 0ah, 30 -> invoke  NetRecvUntilChar, s, stream, 64000, 0ah
 
Line 390 (code edition/deletion):
.data -> .code
 
Line 392 (comment addition):
; do not move this block to .data, - MS FIX
 
Line 396 (code addition):
db   "Accept-Language: en-US",13,10
 
Line 400 (code edition):
db   "User-Agent: %s",13,10,13,10,0
 
Line 409 (Code addition):
   LOCAL   pUserAgent: DWORD
    LOCAL   cbUserAgent: DWORD
 
Line 422 (code addition):
    invoke   MemAlloc, 8192
    mov   pUserAgent, eax
    mov   cbUserAgent, 8192
 
Line 458 (instruction added):
cld
 
Line 477 (code edition/addition):
   invoke   ObtainUserAgentString, 0, pUserAgent, addr cbUserAgent
   test   eax, eax
   .IF   SUCCEEDED
      invoke   wsprintf, pFmt, offset szHTTPHdrFmt, pURL, pHost, pUserAgent
   .ELSE
      invoke   wsprintf, pFmt, offset szHTTPHdrFmt, pURL, pHost, offset CDefaultUserAgent
   .ENDIF
 
Line 511 (code addition):
   invoke   MemFree, pUserAgent
   
Line 541 (code edition):
mov   l.l_linger, 30 -> mov l.l_linger, 45
 
Line 546 (procedure modification):
MyUploadWithRedir proc uses edi ebx szLink, lpData, dwLen, lpOutStream, lpszRedir
    LOCAL   uc: URL_COMPONENTS   
    LOCAL   pHost: DWORD
    LOCAL   pFmt: DWORD
    LOCAL   pURL: DWORD
    LOCAL   s: DWORD
    LOCAL   len: DWORD
    LOCAL   pUserAgent: DWORD
    LOCAL   cbUserAgent: DWORD
 
    xor   ebx, ebx
    invoke   MemAlloc, 4096
    mov   pHost, eax
 
    invoke   MemAlloc, 4096
    mov   pURL, eax
 
    invoke   MemAlloc, 4096
    mov   pFmt, eax
 
    invoke   MemAlloc, 4096
    mov   pUserAgent, eax
 
    mov   cbUserAgent, 4096
 
    lea   edi, uc
    mov   ecx, sizeof URL_COMPONENTS
    xor   eax, eax
    rep stosb
 
    mov     uc.dwStructSize, sizeof URL_COMPONENTS
 
    push   pHost
    pop   uc.lpszHostName
 
    push   pURL
    pop   uc.lpszUrlPath
 
    mov     uc.dwHostNameLength, 4095
    mov   uc.dwUrlPathLength, 4095
 
    invoke  InternetCrackUrl, szLink, 0, ICU_ESCAPE, addr uc
    .IF   (!eax) || (uc.lpszHostName == NULL)
        jmp     @md_ret
      
Line 621 (code edition/addition):
   invoke   ObtainUserAgentString, 0, pUserAgent, addr cbUserAgent
   test   eax, eax
   .IF   SUCCEEDED
      invoke   wsprintf, pFmt, offset szHTTPSendFmt, pURL, pHost, dwLen, pUserAgent
   .ELSE
      invoke   wsprintf, pFmt, offset szHTTPSendFmt, pURL, pHost, dwLen, offset CDefaultUserAgent
   .ENDIF
 
Line 658 (code edition):
invoke   NetWorks, s, lpOutStream, addr lpszRedir -> invoke   NetWorks, s, lpOutStream, lpszRedir
 
Line 669 (code addition):
invoke   MemFree, pUserAgent
 
Line 671 (code addition):
   mov   eax, ebx
   ret
MyUploadWithRedir endp
 
MyUpload proc szLink, lpData, dwLen, lpOutStream
   LOCAL   lpszRedir: DWORD
 
   mov   eax, lpOutStream
   .IF   eax
      mov   dword ptr[eax], 0
   .ENDIF
 
   mov   lpszRedir, NULL
   invoke   MyUploadWithRedir, szLink, lpData, dwLen, lpOutStream, addr lpszRedir
 
Line 686 (code addition):
      invoke   MyUploadWithRedir, lpszRedir, lpData, dwLen, lpOutStream, NULL
      push   eax
      
Line 689 (code addition):
pop   eax
 
Line 690 (code deletion):
mov   eax, ebx

Comments