Advertisement
Guest User

Untitled

a guest
May 28th, 2016
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <WinSDKVer.h>
  2. #define _WIN32_WINNT    _WIN32_WINNT_MAXVER
  3. #define STRICT
  4. #define WIN32_LEAN_AND_MEAN
  5. #include <SDKDDKVer.h>
  6. #include <Windows.h>
  7. #include <WindowsX.h>
  8. #include <tchar.h>
  9. #include <wininet.h>
  10.  
  11.  
  12. HINTERNET OpenUrl_StringLiteral(HANDLE hOpen)
  13. {
  14.     wchar_t url[] = TEXT("http://www.example.com");
  15.     HINTERNET hFile = NULL;
  16.     DWORD dwRequestFlags =
  17.                   INTERNET_FLAG_NO_UI
  18.                 | INTERNET_FLAG_NO_AUTH
  19.                 | INTERNET_FLAG_PRAGMA_NOCACHE
  20.                 | INTERNET_FLAG_NO_CACHE_WRITE;
  21.     hFile = InternetOpenUrlW(hOpen, url, NULL, NULL, dwRequestFlags, NULL);
  22.     return hFile;
  23. }
  24.  
  25. HINTERNET OpenUrl_CharArray(HANDLE hOpen)
  26. {
  27.     wchar_t url[] = {'h','t','t','p','s',':','/','/','w','w','w','.','e','x','a','m','p','l','e','.','c','o','m', 0};
  28.     HINTERNET hFile = NULL;
  29.     DWORD dwRequestFlags =
  30.                   INTERNET_FLAG_NO_UI
  31.                 | INTERNET_FLAG_NO_AUTH
  32.                 | INTERNET_FLAG_PRAGMA_NOCACHE
  33.                 | INTERNET_FLAG_NO_CACHE_WRITE;
  34.     hFile = InternetOpenUrlW(hOpen, url, NULL, NULL, dwRequestFlags, NULL);
  35.     return hFile;
  36. }
  37.  
  38. /////////////////////////////////////////////////////////////////////////////////
  39.  
  40. ; Listing generated by Microsoft (R) Optimizing Compiler Version 16.00.40219.01
  41.  
  42. include listing.inc
  43.  
  44. INCLUDELIB LIBCMT
  45. INCLUDELIB OLDNAMES
  46.  
  47. PUBLIC  ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@ ; `string'
  48. PUBLIC  ?OpenUrl_StringLiteral@@YAPEAXPEAX@Z        ; OpenUrl_StringLiteral
  49. EXTRN   __imp_InternetOpenUrlW:PROC
  50. ;   COMDAT pdata
  51. pdata   SEGMENT
  52. $pdata$?OpenUrl_StringLiteral@@YAPEAXPEAX@Z DD imagerel $LN3
  53.     DD  imagerel $LN3+121
  54.     DD  imagerel $unwind$?OpenUrl_StringLiteral@@YAPEAXPEAX@Z
  55. pdata   ENDS
  56. ;   COMDAT xdata
  57. xdata   SEGMENT
  58. $unwind$?OpenUrl_StringLiteral@@YAPEAXPEAX@Z DD 010701H
  59.     DD  0c207H
  60. xdata   ENDS
  61. ;   COMDAT ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@
  62. CONST   SEGMENT
  63. ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@ DB 'h'
  64.     DB  00H, 't', 00H, 't', 00H, 'p', 00H, ':', 00H, '/', 00H, '/', 00H
  65.     DB  'w', 00H, 'w', 00H, 'w', 00H, '.', 00H, 'e', 00H, 'x', 00H, 'a'
  66.     DB  00H, 'm', 00H, 'p', 00H, 'l', 00H, 'e', 00H, '.', 00H, 'c', 00H
  67.     DB  'o', 00H, 'm', 00H, 00H, 00H            ; `string'
  68. ; Function compile flags: /Ogtpy
  69. CONST   ENDS
  70. ;   COMDAT ?OpenUrl_StringLiteral@@YAPEAXPEAX@Z
  71. _TEXT   SEGMENT
  72. url$ = 48
  73. hOpen$ = 112
  74. ?OpenUrl_StringLiteral@@YAPEAXPEAX@Z PROC       ; OpenUrl_StringLiteral, COMDAT
  75.  
  76. ; 13   : {
  77.  
  78. $LN3:
  79.     mov r11, rsp
  80.     sub rsp, 104                ; 00000068H
  81.  
  82. ; 14   :     wchar_t url[] = TEXT("http://www.example.com");
  83.  
  84.     mov rax, QWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@
  85.  
  86. ; 15   :     HINTERNET hFile = NULL;
  87. ; 16   :     DWORD dwRequestFlags =
  88. ; 17   :                   INTERNET_FLAG_NO_UI
  89. ; 18   :                 | INTERNET_FLAG_NO_AUTH
  90. ; 19   :                 | INTERNET_FLAG_PRAGMA_NOCACHE
  91. ; 20   :                 | INTERNET_FLAG_NO_CACHE_WRITE;
  92. ; 21   :     hFile = InternetOpenUrlW(hOpen, url, NULL, NULL, dwRequestFlags, NULL);
  93.  
  94.     mov QWORD PTR [r11-64], 0
  95.     lea rdx, QWORD PTR [r11-56]
  96.     mov QWORD PTR [r11-56], rax
  97.     mov rax, QWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+8
  98.     xor r9d, r9d
  99.     mov QWORD PTR [r11-48], rax
  100.     mov rax, QWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+16
  101.     xor r8d, r8d
  102.     mov QWORD PTR [r11-40], rax
  103.     mov rax, QWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+24
  104.     mov DWORD PTR [rsp+32], 67371776        ; 04040300H
  105.     mov QWORD PTR [r11-32], rax
  106.     mov rax, QWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+32
  107.     mov QWORD PTR [r11-24], rax
  108.     mov eax, DWORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+40
  109.     mov DWORD PTR url$[rsp+40], eax
  110.     movzx   eax, WORD PTR ??_C@_1CO@EPMDDGCP@?$AAh?$AAt?$AAt?$AAp?$AA?3?$AA?1?$AA?1?$AAw?$AAw?$AAw?$AA?4?$AAe?$AAx?$AAa?$AAm?$AAp?$AAl?$AAe?$AA?4?$AAc?$AAo?$AAm?$AA?$AA@+44
  111.     mov WORD PTR url$[rsp+44], ax
  112.     call    QWORD PTR __imp_InternetOpenUrlW
  113.  
  114. ; 22   :     return hFile;
  115. ; 23   : }
  116.  
  117.     add rsp, 104                ; 00000068H
  118.     ret 0
  119. ?OpenUrl_StringLiteral@@YAPEAXPEAX@Z ENDP       ; OpenUrl_StringLiteral
  120. _TEXT   ENDS
  121. PUBLIC  ?OpenUrl_CharArray@@YAPEAXPEAX@Z        ; OpenUrl_CharArray
  122. ;   COMDAT pdata
  123. pdata   SEGMENT
  124. $pdata$?OpenUrl_CharArray@@YAPEAXPEAX@Z DD imagerel $LN3
  125.     DD  imagerel $LN3+147
  126.     DD  imagerel $unwind$?OpenUrl_CharArray@@YAPEAXPEAX@Z
  127. pdata   ENDS
  128. ;   COMDAT xdata
  129. xdata   SEGMENT
  130. $unwind$?OpenUrl_CharArray@@YAPEAXPEAX@Z DD 020901H
  131.     DD  05002b209H
  132. ; Function compile flags: /Ogtpy
  133. xdata   ENDS
  134. ;   COMDAT ?OpenUrl_CharArray@@YAPEAXPEAX@Z
  135. _TEXT   SEGMENT
  136. url$ = 48
  137. hOpen$ = 112
  138. ?OpenUrl_CharArray@@YAPEAXPEAX@Z PROC           ; OpenUrl_CharArray, COMDAT
  139.  
  140. ; 26   : {
  141.  
  142. $LN3:
  143.     push    rbp
  144.     mov rbp, rsp
  145.     sub rsp, 96                 ; 00000060H
  146.  
  147. ; 27   :     wchar_t url[] = {'h','t','t','p','s',':','/','/','w','w','w','.','e','x','a','m','p','l','e','.','c','o','m', 0};
  148.  
  149.     mov eax, 104                ; 00000068H
  150.  
  151. ; 28   :     HINTERNET hFile = NULL;
  152. ; 29   :     DWORD dwRequestFlags =
  153. ; 30   :                   INTERNET_FLAG_NO_UI
  154. ; 31   :                 | INTERNET_FLAG_NO_AUTH
  155. ; 32   :                 | INTERNET_FLAG_PRAGMA_NOCACHE
  156. ; 33   :                 | INTERNET_FLAG_NO_CACHE_WRITE;
  157. ; 34   :     hFile = InternetOpenUrlW(hOpen, url, NULL, NULL, dwRequestFlags, NULL);
  158.  
  159.     lea rdx, QWORD PTR url$[rbp-96]
  160.     xor r9d, r9d
  161.     mov WORD PTR url$[rbp-96], ax
  162.     mov eax, 58                 ; 0000003aH
  163.     xor r8d, r8d
  164.     mov WORD PTR url$[rbp-86], ax
  165.     mov eax, 99                 ; 00000063H
  166.     mov DWORD PTR url$[rbp-94], 7602292     ; 00740074H
  167.     mov WORD PTR url$[rbp-56], ax
  168.     xor eax, eax
  169.     mov DWORD PTR url$[rbp-90], 7536752     ; 00730070H
  170.     mov QWORD PTR [rsp+40], rax
  171.     mov DWORD PTR url$[rbp-84], 3080239     ; 002f002fH
  172.     mov DWORD PTR url$[rbp-80], 7798903     ; 00770077H
  173.     mov DWORD PTR [rsp+32], 67371776        ; 04040300H
  174.     mov DWORD PTR url$[rbp-76], 3014775     ; 002e0077H
  175.     mov DWORD PTR url$[rbp-72], 7864421     ; 00780065H
  176.     mov DWORD PTR url$[rbp-68], 7143521     ; 006d0061H
  177.     mov DWORD PTR url$[rbp-64], 7078000     ; 006c0070H
  178.     mov DWORD PTR url$[rbp-60], 3014757     ; 002e0065H
  179.     mov DWORD PTR url$[rbp-54], 7143535     ; 006d006fH
  180.     mov WORD PTR url$[rbp-50], ax
  181.     call    QWORD PTR __imp_InternetOpenUrlW
  182.  
  183. ; 35   :     return hFile;
  184. ; 36   : }
  185.  
  186.     add rsp, 96                 ; 00000060H
  187.     pop rbp
  188.     ret 0
  189. ?OpenUrl_CharArray@@YAPEAXPEAX@Z ENDP           ; OpenUrl_CharArray
  190. _TEXT   ENDS
  191. END
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement