Advertisement
Xylitol

Netcode.asm modifications

Jun 27th, 2014
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Line 126 (code remove):
  2. char, timeout <- removed 'timeout'
  3.  
  4. Line 214 (code edition):
  5. CDefaultUserAgent db "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/5.0)",0
  6.  
  7. Line 220 (code addition):
  8. db   "Accept-Language: en-US",13,10
  9.  
  10. line 225 (code edition):
  11. db   "User-Agent: %s",13,10,13,10,0
  12.  
  13. Line 267 (code edition):
  14. invoke   MemAlloc, 15000 -> invoke   MemAlloc, 32000
  15.  
  16. Line 274 (code edition):
  17. invoke  NetRecvUntilChar, s, stream, 64000, 0ah, 30 -> invoke  NetRecvUntilChar, s, stream, 64000, 0ah
  18.  
  19. Line 390 (code edition/deletion):
  20. .data -> .code
  21.  
  22. Line 392 (comment addition):
  23. ; do not move this block to .data, - MS FIX
  24.  
  25. Line 396 (code addition):
  26. db   "Accept-Language: en-US",13,10
  27.  
  28. Line 400 (code edition):
  29. db   "User-Agent: %s",13,10,13,10,0
  30.  
  31. Line 409 (Code addition):
  32.    LOCAL   pUserAgent: DWORD
  33.     LOCAL   cbUserAgent: DWORD
  34.  
  35. Line 422 (code addition):
  36.     invoke   MemAlloc, 8192
  37.     mov   pUserAgent, eax
  38.     mov   cbUserAgent, 8192
  39.  
  40. Line 458 (instruction added):
  41. cld
  42.  
  43. Line 477 (code edition/addition):
  44.    invoke   ObtainUserAgentString, 0, pUserAgent, addr cbUserAgent
  45.    test   eax, eax
  46.    .IF   SUCCEEDED
  47.       invoke   wsprintf, pFmt, offset szHTTPHdrFmt, pURL, pHost, pUserAgent
  48.    .ELSE
  49.       invoke   wsprintf, pFmt, offset szHTTPHdrFmt, pURL, pHost, offset CDefaultUserAgent
  50.    .ENDIF
  51.  
  52. Line 511 (code addition):
  53.    invoke   MemFree, pUserAgent
  54.    
  55. Line 541 (code edition):
  56. mov   l.l_linger, 30 -> mov l.l_linger, 45
  57.  
  58. Line 546 (procedure modification):
  59. MyUploadWithRedir proc uses edi ebx szLink, lpData, dwLen, lpOutStream, lpszRedir
  60.     LOCAL   uc: URL_COMPONENTS  
  61.     LOCAL   pHost: DWORD
  62.     LOCAL   pFmt: DWORD
  63.     LOCAL   pURL: DWORD
  64.     LOCAL   s: DWORD
  65.     LOCAL   len: DWORD
  66.     LOCAL   pUserAgent: DWORD
  67.     LOCAL   cbUserAgent: DWORD
  68.  
  69.     xor   ebx, ebx
  70.     invoke   MemAlloc, 4096
  71.     mov   pHost, eax
  72.  
  73.     invoke   MemAlloc, 4096
  74.     mov   pURL, eax
  75.  
  76.     invoke   MemAlloc, 4096
  77.     mov   pFmt, eax
  78.  
  79.     invoke   MemAlloc, 4096
  80.     mov   pUserAgent, eax
  81.  
  82.     mov   cbUserAgent, 4096
  83.  
  84.     lea   edi, uc
  85.     mov   ecx, sizeof URL_COMPONENTS
  86.     xor   eax, eax
  87.     rep stosb
  88.  
  89.     mov     uc.dwStructSize, sizeof URL_COMPONENTS
  90.  
  91.     push   pHost
  92.     pop   uc.lpszHostName
  93.  
  94.     push   pURL
  95.     pop   uc.lpszUrlPath
  96.  
  97.     mov     uc.dwHostNameLength, 4095
  98.     mov   uc.dwUrlPathLength, 4095
  99.  
  100.     invoke  InternetCrackUrl, szLink, 0, ICU_ESCAPE, addr uc
  101.     .IF   (!eax) || (uc.lpszHostName == NULL)
  102.         jmp     @md_ret
  103.      
  104. Line 621 (code edition/addition):
  105.    invoke   ObtainUserAgentString, 0, pUserAgent, addr cbUserAgent
  106.    test   eax, eax
  107.    .IF   SUCCEEDED
  108.       invoke   wsprintf, pFmt, offset szHTTPSendFmt, pURL, pHost, dwLen, pUserAgent
  109.    .ELSE
  110.       invoke   wsprintf, pFmt, offset szHTTPSendFmt, pURL, pHost, dwLen, offset CDefaultUserAgent
  111.    .ENDIF
  112.  
  113. Line 658 (code edition):
  114. invoke   NetWorks, s, lpOutStream, addr lpszRedir -> invoke   NetWorks, s, lpOutStream, lpszRedir
  115.  
  116. Line 669 (code addition):
  117. invoke   MemFree, pUserAgent
  118.  
  119. Line 671 (code addition):
  120.    mov   eax, ebx
  121.    ret
  122. MyUploadWithRedir endp
  123.  
  124. MyUpload proc szLink, lpData, dwLen, lpOutStream
  125.    LOCAL   lpszRedir: DWORD
  126.  
  127.    mov   eax, lpOutStream
  128.    .IF   eax
  129.       mov   dword ptr[eax], 0
  130.    .ENDIF
  131.  
  132.    mov   lpszRedir, NULL
  133.    invoke   MyUploadWithRedir, szLink, lpData, dwLen, lpOutStream, addr lpszRedir
  134.  
  135. Line 686 (code addition):
  136.       invoke   MyUploadWithRedir, lpszRedir, lpData, dwLen, lpOutStream, NULL
  137.       push   eax
  138.      
  139. Line 689 (code addition):
  140. pop   eax
  141.  
  142. Line 690 (code deletion):
  143. mov   eax, ebx
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement