Disassembly of False Positives for Microsoft Word under SCRAP

Size: px
Start display at page:

Download "Disassembly of False Positives for Microsoft Word under SCRAP"

Transcription

1 Disassembly of False Positives for Microsoft Word under SCRAP We evaluated Word application of Microsoft Office 2010 Suite using a 54 KiB document [1] under the SCRAP configuration S 7,4 for one billion instructions. Following is the disassembly of functions where false positives occur, grouped into different Dynamic-link Libraries (DLLs). Exact lines are marked with an arrow. Our anaylsis is limited for Office libraries because their debugging symbols are not publicly avaliable. The first six false positives in kernel32.dll, ntdll.dll, andgdi32.dll are about the way DLL Imports are handled, either with a jump stub or an indirect call, both using the Import Address Table (IAT) [2]. Note that this is very similar to the Procedure Linkage Table (PLT) and Global Offset Table (GOT) structures found in Linux systems. The next two libraries with false positives (comdlg32.dll, msctf.dll) are almost identical, again loading an address from the IAT to a register and calling it a dozen times every 2-3 instructions. Note that, the symbol name starts with imp prefix, which means that it resides in the IAT [3]. MSO.DLL has one case that uses IAT and four cases that use a variant of call/jump table (two cases are using calls, two remaining cases are using jumps). No symbols are publicly available, so we were unable to identify more details. WWLIB.DLL also behaves similar to comdlg32.dll and msctf.dll. Specifically, it loads an address, possibly from IAT, and then repeatedly calls it. Again, no symbols are available. The last library (combase.dll) appears to be using a function pointer inside a loop (probably for a data structure of a generic type) In summary, the majority of the false positives (possibly only with the exception of the last one) can be simply discarded if the address was from the IAT. Going forward, the handling of the dynamic linking can be altered to either not generate such gadget-like sequences (note that the ones from comdlg32.dll and msctf.dll look very much like real attack codes) or possibly patch the instructions themselves and not use indirect jumps/calls for imported functions. 1

2 Module: kernel32.dll Module Address: Description: Most of the Win32 base APIs, such as memory management, input/output operations, process and thread creation, and synchronization functions. Many of these are implemented within KERNEL32.DLL by calling corresponding functions in the native API, exposed by NTDLL.DLL ->753683E8 jmp dword ptr [ imp DuplicateHandle@28 (753C0494h)] EE int EF int F0 int F1 int F2 int F3 int 3 _TlsAllocStub@0: ->7535D1F5 jmp dword ptr [ imp TlsAlloc@0 (753C08BCh)] 7535D1FB int D1FC int D1FD int D1FE int D1FF int 3 Module: ntdll.dll Module Address: 777E Description: Windows Native API. The Native API is the interface used by user-mode components of the operating system that must run without support from Win32 or other API subsystems. Most of this API is implemented in NTDLL.DLL and at the upper edge of ntoskrnl.exe (and its variants); the majority of exported symbols within these libraries are prefixed Nt, e.g., NtDisplayString. Native APIs are also used to implement many of the "kernel APIs" or "base APIs" exported by KERNEL32.DLL. The large majority of Windows applications do not call NTDLL.DLL directly. _NtOpenProcessToken@12: 7781C6E0 mov eax,10eh ->7781C6E5 call dword ptr fs:[0c0h] 7781C6EC ret 0Ch 7781C6EF nop _NtReleaseMutant@8: 7781B7F0 mov eax,7001fh ->7781B7F5 call dword ptr fs:[0c0h] 7781B7FC ret B7FF nop _ZwSetEvent@8: 7781B6D0 mov eax,7000dh ->7781B6D5 call dword ptr fs:[0c0h] 7781B6DC ret B6DF nop 2

3 Module: gdi32.dll Module Address: 76B C78000 Description: Graphics Device Interface (GDI) functions that perform primitive drawing functions for output to video displays and printers. Applications call GDI functions directly to perform low-level drawing, text output, font management, and similar functions. 76BAC48D mov eax,71072h ->76BAC492 call dword ptr fs:[0c0h] 76BAC499 ret 8 76BAC49C nop Module: comdlg32.dll Module Address: Description: Common Dialog Boxes FInitFile: FD mov edi,edi FF push esi push 13h call dword ptr [ imp GetSystemMetrics@4 (755F31F0h)] mov esi,dword ptr [ imp RegisterWindowMessageA@4 (755F3220h)] E mov dword ptr [_bmouse (755EF264h)],eax mov eax,0a0ah push offset szmsgwowlfchange (755EF764h) D mov word ptr [_wwinver (755EF20Ch)],ax call esi push offset szmsgwowdirchange (755EF77Ch) A mov dword ptr [_msgwowlfchange (755EF2C8h)],eax F call esi push offset szmsgwowchoosefont_getlogfont (755EF804h) mov dword ptr [_msgwowdirchange (755EF2A0h)],eax B call esi D push offset szmsglbchangea (755EF83Ch) mov dword ptr [_msgwowchoosefont_getlogfont (755EF2C4h)],eax call esi push offset szmsgshareviolationa (755EF7D4h) E mov dword ptr [_msglbchangea (755EF24Ch)],eax call esi push offset szmsgfileoka (755EF7ACh) A mov dword ptr [_msgshareviolationa (755EF260h)],eax F call esi push offset szmsgcoloroka (755EF79Ch) mov dword ptr [_msgfileoka (755EF26Ch)],eax B call esi D push offset szmsgsetrgba (755EF7C0h) mov dword ptr [_msgcoloroka (755EF274h)],eax call esi mov esi, dword ptr [ imp RegisterWindowMessageW@4 (755F32BCh)] F push offset szmsglbchangew (755EF8F8h) 3

4 mov dword ptr [_msgsetrgba (755EF278h)],eax call esi B push offset szmsgshareviolationw (755EF8C8h) mov dword ptr [_msglbchangew (755EF268h)],eax call esi push offset szmsgfileokw (755EF878h) C mov dword ptr [_msgshareviolationw (755EF250h)],eax A1 call esi A3 push offset szmsgcolorokw (755EF858h) A8 mov dword ptr [_msgfileokw (755EF270h)],eax AD call esi AF push offset szmsgsetrgbw (755EF8A0h) B4 mov dword ptr [_msgcolorokw (755EF298h)],eax ->755918B9 call esi BB mov dword ptr [_msgsetrgbw (755EF254h)],eax C0 pop esi C1 ret C2 nop C3 nop C4 nop C5 nop C6 nop Module: msctf.dll Module Address: 76D DF7000 Description: Microsoft Text Service Module RegisterMSIMEMessage: 76D19767 mov edi,edi 76D19769 push ebx 76D1976A push edi 76D1976B mov ebx,offset g_cs (76DA91BCh) 76D19770 xor edi,edi 76D19772 push ebx 76D19773 inc edi 76D19774 call dword ptr [ imp EnterCriticalSection@4 (76DAB0F8h)] 76D1977A cmp dword ptr [CUIFSystemInfo::m_fInitialized+4 (76DA9160h)],0 76D19781 jne RegisterMSIMEMessage+0FBh (76D19862h) 76D19787 push esi 76D19788 mov esi,dword ptr [ imp RegisterWindowMessageW@4 (76DAB3D8h)] 76D1978E push offset string L"MSIMEService" (76D19874h) 76D19793 call esi 76D19795 push offset string L"MSIMEUIReady" (76D19890h) 76D1979A mov dword ptr [WM_MSIME_SERVICE (76DA90C0h)],eax 76D1979F call esi 76D197A1 push offset string L"MSIMEReconvertReques"... (76D198ACh) 76D197A6 mov dword ptr [WM_MSIME_UIREADY (76DA90B8h)],eax 76D197AB call esi 76D197AD push offset string L"MSIMEReconvert" (76D198D8h) 76D197B2 mov dword ptr [WM_MSIME_RECONVERTREQUEST (76DA90BCh)],eax 76D197B7 call esi 76D197B9 push offset string L"MSIMEDocumentFeed" (76D198F8h) 76D197BE mov dword ptr [WM_MSIME_RECONVERT (76DA90B0h)],eax 4

5 ->76D197C3 call esi 76D197C5 push offset string L"MSIMEQueryPosition" (76D1991Ch) 76D197CA mov dword ptr [WM_MSIME_DOCUMENTFEED (76DA90B4h)],eax ->76D197CF call esi 76D197D1 push offset string L"MSIMEModeBias" (76D19944h) 76D197D6 mov dword ptr [WM_MSIME_QUERYPOSITION (76DA90A8h)],eax ->76D197DB call esi 76D197DD push offset string L"MSIMEShowImePad" (76D19960h) 76D197E2 mov dword ptr [WM_MSIME_MODEBIAS (76DA909Ch)],eax ->76D197E7 call esi 76D197E9 push offset string L"MSIMEMouseOperation" (76D19980h) 76D197EE mov dword ptr [WM_MSIME_SHOWIMEPAD (76DA90ACh)],eax ->76D197F3 call esi 76D197F5 push offset string L"MSIMEKeyMap" (76D199A8h) 76D197FA mov dword ptr [WM_MSIME_MOUSE (76DA90A0h)],eax ->76D197FF call esi 76D19801 cmp dword ptr [WM_MSIME_SERVICE (76DA90C0h)],0 76D19808 mov dword ptr [WM_MSIME_KEYMAP (76DA90A4h)],eax 76D1980D pop esi 76D1980E je RegisterMSIMEMessage+107h (76D1986Eh) 76D19810 cmp dword ptr [WM_MSIME_UIREADY (76DA90B8h)],0 76D19817 je RegisterMSIMEMessage+107h (76D1986Eh) 76D19819 cmp dword ptr [WM_MSIME_RECONVERTREQUEST (76DA90BCh)],0 76D19820 je RegisterMSIMEMessage+107h (76D1986Eh) 76D19822 cmp dword ptr [WM_MSIME_RECONVERT (76DA90B0h)],0 76D19829 je RegisterMSIMEMessage+107h (76D1986Eh) 76D1982B cmp dword ptr [WM_MSIME_DOCUMENTFEED (76DA90B4h)],0 76D19832 je RegisterMSIMEMessage+107h (76D1986Eh) 76D19834 cmp dword ptr [WM_MSIME_QUERYPOSITION (76DA90A8h)],0 76D1983B je RegisterMSIMEMessage+107h (76D1986Eh) 76D1983D cmp dword ptr [WM_MSIME_MODEBIAS (76DA909Ch)],0 76D19844 je RegisterMSIMEMessage+107h (76D1986Eh) 76D19846 cmp dword ptr [WM_MSIME_SHOWIMEPAD (76DA90ACh)],0 76D1984D je RegisterMSIMEMessage+107h (76D1986Eh) 76D1984F cmp dword ptr [WM_MSIME_MOUSE (76DA90A0h)],0 76D19856 je RegisterMSIMEMessage+107h (76D1986Eh) 76D19858 test eax,eax 76D1985A je RegisterMSIMEMessage+107h (76D1986Eh) 76D1985C mov dword ptr [CUIFSystemInfo::m_fInitialized+4 (76DA9160h)],edi 76D19862 push ebx 76D19863 call dword ptr [ imp LeaveCriticalSection@4 (76DAB0E8h)] 76D19869 mov eax,edi 76D1986B pop edi 76D1986C pop ebx 76D1986D ret 76D1986E xor edi,edi 76D19870 jmp RegisterMSIMEMessage+0FBh (76D19862h) 76D19872 nop 76D19873 nop Module: MSO.DLL (Symbols not available) Module Address: 60EB FFD000 Description: (Common Files\Microsoft Shared\OFFICE14\MSO.DLL) 5

6 612C569B push ebp 612C569C mov ebp,esp 612C569E mov eax,dword ptr [ebp+0ch] 612C56A1 push esi 612C56A2 cmp eax,1 612C56A5 jne 612C56F5 612C56A7 call dword ptr ds:[60eb1a34h] 612C56AD push 2 612C56AF xor esi,esi 612C56B1 push esi 612C56B2 push esi 612C56B3 mov esi,dword ptr ds:[60eb1a10h] (_GetCurrentProcess@0@kernel32.dll) 612C56B9 push 61E7F978h 612C56BE mov dword ptr ds:[61e7f974h],eax 612C56C3 call esi 612C56C5 push eax 612C56C6 call dword ptr ds:[60eb1a0ch] 612C56CC push eax 612C56CD call esi 612C56CF push eax 612C56D0 call dword ptr ds:[60eb194ch] (_DuplicateHandle@28@kernel32.dll) ->612C56D6 call dword ptr ds:[60eb19cch] (_TlsAllocStub@0@kernel32.dll) 612C56DC mov dword ptr ds:[61e3968ch],eax 612C56E1 call 612C57E6 612C56E6 mov ecx,61e7f428h 612C56EB call 612C B83B8 push ebp 612B83B9 mov ebp,esp 612B83BB cmp dword ptr [ebp+0ch],0 612B83BF jne 612B83C5 612B83C1 mov al,1 612B83C3 jmp 612B83E7 612B83C5 push esi 612B83C6 mov esi,dword ptr [ebp+8] 612B83C9 jmp 612B83E0 612B83CB mov eax,dword ptr [esi] 612B83CD mov ecx,esi ->612B83CF call dword ptr [eax+0ch] 612B83D2 cmp eax,dword ptr [ebp+0ch] 612B83D5 je 612B83EB 612B83D7 mov eax,dword ptr [esi] 612B83D9 mov ecx,esi ->612B83DB call dword ptr [eax+2ch] 612B83DE mov esi,eax 612B83E0 test esi,esi 612B83E2 jne 612B83CB 612B83E4 xor al,al 612B83E6 pop esi 612B83E7 pop ebp 612B83E8 ret E06A push ebp 6

7 6132E06B mov ebp,esp 6132E06D push ecx 6132E06E push ecx 6132E06F push ebx 6132E070 push esi 6132E071 mov ebx,40c0000ah 6132E076 push edi 6132E077 mov esi,ecx 6132E079 cmp dword ptr [ebp+8],ebx 6132E07C jne 6132E E082 call C5 6132E087 test al,al 6132E089 jne 6132E E08F and dword ptr [ebp+8],0 6132E093 lea eax,[ebp+8] 6132E096 push eax 6132E097 push E099 call 61299A7D 6132E09E cmp dword ptr [esi+50h],0 6132E0A2 je 6132E0B0 6132E0A4 lea eax,[ebp+8] 6132E0A7 push eax 6132E0A8 push ebx 6132E0A9 mov ecx,esi 6132E0AB call 61343AA6 6132E0B0 mov eax,dword ptr [ebp+8] 6132E0B3 cmp byte ptr [eax+8],0 6132E0B7 je 6132E0CB 6132E0B9 test byte ptr [esi+5dh],1 6132E0BD je 6132E0CB 6132E0BF lea eax,[ebp+8] 6132E0C2 push eax 6132E0C3 push ebx 6132E0C4 mov ecx,esi 6132E0C6 call 61646DAB 6132E0CB mov eax,dword ptr [ebp+8] 6132E0CE cmp byte ptr [eax+8],0 6132E0D2 je 6132E E0D4 lea edi,[esi+38h] 6132E0D7 mov eax,dword ptr [edi] 6132E0D9 push ebx 6132E0DA mov ecx,edi 6132E0DC call dword ptr [eax+10h] 6132E0DF test al,al 6132E0E1 je 6132E E0E3 mov eax,dword ptr [edi] 6132E0E5 lea ecx,[ebp+8] 6132E0E8 push ecx 6132E0E9 push ebx 6132E0EA mov ecx,edi 6132E0EC call dword ptr [eax+14h] 6132E0EF test al,al 6132E0F1 jne 6132E E0F3 mov ecx,dword ptr [ebp+8] 7

8 6132E0F6 test ecx,ecx 6132E0F8 je 6132E0FF 6132E0FA call E0FF xor al,al 6132E101 jmp 6132E24E 6132E106 mov eax,dword ptr [ebp+8] 6132E109 cmp byte ptr [eax+8],0 6132E10D je 6132E1B4 6132E113 lea edi,[esi+40h] 6132E116 mov eax,dword ptr [edi] 6132E118 mov ecx,edi 6132E11A call dword ptr [eax+4ch] 6132E11D mov dword ptr [ebp-4],eax 6132E120 cmp eax,1 6132E123 jne 6132E12E 6132E125 mov dword ptr [ebp-4],3014h 6132E12C jmp 6132E E12E push eax 6132E12F call FD 6132E134 test al,al 6132E136 jne 6132E20D 6132E13C cmp dword ptr [ebp-4],41f0h 6132E143 je 6132E20D 6132E149 mov al,byte ptr [esi+5ch] 6132E14C shr al,6 6132E14F test al,1 6132E151 je 6132E E153 push dword ptr [ebp+0ch] 6132E156 push E158 call 61299A7D 6132E15D mov ecx,dword ptr [ebp+8] 6132E160 mov bl,al 6132E162 test ecx,ecx 6132E164 je 6132E16B 6132E166 call E16B mov al,bl 6132E16D jmp 6132E24E 6132E172 mov eax,dword ptr [edi] 6132E174 mov ecx,edi 6132E176 call dword ptr [eax+44h] 6132E179 test eax,eax 6132E17B je 6132E1B4 6132E17D mov eax,dword ptr [edi] 6132E17F mov ecx,edi 6132E181 call dword ptr [eax+44h] 6132E184 mov edx,dword ptr [eax] 6132E186 mov ecx,eax 6132E188 call dword ptr [edx+10h] 6132E18B mov ecx,dword ptr [esi+44h] 6132E18E mov ebx,eax 6132E190 mov eax,dword ptr [ecx] 6132E192 mov edi,dword ptr [ebx] 6132E194 call dword ptr [eax+60h] 6132E197 push eax 8

9 6132E198 push dword ptr [ebp-4] 6132E19B mov ecx,ebx ->6132E19D call dword ptr [edi+1ch] 6132E1A0 test al,al 6132E1A2 jne 6132E1AF 6132E1A4 lea eax,[ebp+8] 6132E1A7 push eax 6132E1A8 push E1AA call 61299A7D 6132E1AF mov ebx,40c0000ah 6132E1B4 mov eax,dword ptr [ebp+8] 6132E1B7 cmp byte ptr [eax+8],0 6132E1BB je 6132E20D 6132E1BD mov eax,dword ptr [esi] 6132E1BF lea ecx,[ebp-4] 6132E1C2 push ecx 6132E1C3 xor edi,edi 6132E1C5 mov ecx,esi 6132E1C7 mov dword ptr [ebp-4],edi 6132E1CA call dword ptr [eax+50h] 6132E1CD test al,al 6132E1CF je 6132E1FD 6132E1D1 mov ecx,dword ptr [ebp-4] 6132E1D4 lea edx,[ebp-8] 6132E1D7 push edx 6132E1D8 mov dword ptr [ebp-8],edi 6132E1DB mov eax,dword ptr [ecx] 6132E1DD push ebx 6132E1DE call dword ptr [eax+14h] 6132E1E1 test al,al 6132E1E3 je 6132E1F1 6132E1E5 lea eax,[ebp-8] 6132E1E8 push eax 6132E1E9 lea ecx,[ebp+8] 6132E1EC call 612F1C E1F1 mov ecx,dword ptr [ebp-8] 6132E1F4 cmp ecx,edi 6132E1F6 je 6132E1FD 6132E1F8 call E1FD mov eax,dword ptr [ebp-4] 6132E200 mov dword ptr [ebp-4],edi 6132E203 cmp eax,edi 6132E205 je 6132E20D 6132E207 mov ecx,dword ptr [eax] 6132E209 push eax 6132E20A call dword ptr [ecx+8] 6132E20D mov ecx,dword ptr [ebp+0ch] 6132E210 lea eax,[ebp+8] 6132E213 push eax 6132E214 call 612F1C E219 mov ecx,dword ptr [ebp+8] 6132E21C test ecx,ecx 6132E21E je 6132E E220 call

10 6132E225 mov al,1 6132E227 jmp 6132E24E 6132E229 cmp dword ptr [ebp+8],3dh 6132E22D jne 6132E E22F test byte ptr [esi+64h],1 6132E233 jne 6132E E235 push dword ptr [ebp+0ch] 6132E238 push E23A call 612EC0C4 6132E23F jmp 6132E24E 6132E241 push dword ptr [ebp+0ch] 6132E244 mov ecx,esi 6132E246 push dword ptr [ebp+8] 6132E249 call 6132E E24E pop edi 6132E24F pop esi 6132E250 pop ebx 6132E251 leave 6132E252 ret AB45 mov ecx,dword ptr [ecx+14h] 6133AB48 mov eax,dword ptr [ecx] 6133AB4A jmp dword ptr [eax+24h] 6133AB4D mov ecx,dword ptr [ecx+14h] 6133AB50 mov eax,dword ptr [ecx] ->6133AB52 jmp dword ptr [eax+18h] 6133AB55 push ebp 6133AB56 mov ebp,esp 6133AB58 mov eax,dword ptr [ebp+8] 6133AB5B and dword ptr [eax+3ch],0 6133AB5F push eax 6133AB60 call 6130E8F4 6133AB65 pop ebp 6133AB66 ret A08F push ebp 6129A090 mov ebp,esp 6129A092 mov eax,dword ptr [ebp+8] 6129A095 test eax,eax 6129A097 je 6129A0CE 6129A099 cmp eax,29h 6129A09C jle 6129A0E4 6129A09E cmp eax,2bh 6129A0A1 jle 6129A0CE 6129A0A3 cmp eax, h 6129A0A8 je 6129A0BB 6129A0AA cmp eax,40c0000ah 6129A0AF jne 6129A0E4 6129A0B1 push dword ptr [ebp+0ch] 6129A0B4 mov eax,dword ptr [ecx] 6129A0B6 call dword ptr [eax+48h] 6129A0B9 jmp 6129A0C3 6129A0BB push dword ptr [ebp+0ch] 6129A0BE mov eax,dword ptr [ecx] 10

11 6129A0C0 call dword ptr [eax+44h] 6129A0C3 movzx eax,al 6129A0C6 push eax 6129A0C7 call 61299A7D 6129A0CC jmp 6129A0EA 6129A0CE cmp dword ptr [ecx+8],0 6129A0D2 je 6129A0E8 6129A0D4 push dword ptr [ebp+0ch] 6129A0D7 mov ecx,dword ptr [ecx+8] 6129A0DA mov edx,dword ptr [ecx] 6129A0DC push eax 6129A0DD call dword ptr [edx+14h] 6129A0E0 test al,al 6129A0E2 jne 6129A0E8 6129A0E4 xor al,al 6129A0E6 jmp 6129A0EA 6129A0E8 mov al,1 6129A0EA pop ebp 6129A0EB ret A0EE mov al,byte ptr [ecx+54h] 6129A0F1 and al,1 6129A0F3 ret 6129A0F4 push A0F6 add ecx,0ffffffcch 6129A0F9 call 6133E8BD 6129A0FE ret 6129A0FF mov eax,dword ptr [ecx] 6129A101 call dword ptr [eax+0ch] 6129A104 mov al,1 6129A106 ret 6129A107 xor eax,eax 6129A109 cmp dword ptr [ecx+8],eax 6129A10C je 6129A A10E mov ecx,dword ptr [ecx+8] 6129A111 mov eax,dword ptr [ecx] ->6129A113 jmp dword ptr [eax+4ch] 6129A116 ret Module: WWLIB.DLL Module Address: 63E AA000 Description: (Microsoft Office\Office14\WWLIB.DLL) 63E446A7 push ebp 63E446A8 mov ebp,esp 63E446AA push ebx 63E446AB mov ebx,dword ptr [ebp+8] 63E446AE push esi 63E446AF mov esi,dword ptr ds:[63e310c0h] 63E446B5 push edi 63E446B6 mov edi,dword ptr [ebp+0ch] 63E446B9 push dword ptr [edi+0f8h] 63E446BF push ebx 63E446C0 call esi 11

12 63E446C2 push dword ptr [edi+0fch] 63E446C8 mov dword ptr [edi+0f8h],eax 63E446CE push ebx 63E446CF call esi 63E446D1 push dword ptr [edi+11ch] 63E446D7 mov dword ptr [edi+0fch],eax 63E446DD push ebx 63E446DE call esi 63E446E0 push dword ptr [edi+120h] 63E446E6 mov dword ptr [edi+11ch],eax 63E446EC push ebx 63E446ED call esi 63E446EF push dword ptr [edi+100h] 63E446F5 mov dword ptr [edi+120h],eax 63E446FB push ebx ->63E446FC call esi 63E446FE push dword ptr [edi+108h] 63E44704 mov dword ptr [edi+100h],eax 63E4470A push ebx ->63E4470B call esi 63E4470D push dword ptr [edi+104h] 63E44713 mov dword ptr [edi+108h],eax 63E44719 push ebx ->63E4471A call esi 63E4471C push dword ptr [edi+110h] 63E44722 mov dword ptr [edi+104h],eax 63E44728 push ebx ->63E44729 call esi 63E4472B push dword ptr [edi+114h] 63E44731 mov dword ptr [edi+110h],eax 63E44737 push ebx ->63E44738 call esi 63E4473A push dword ptr [edi+10ch] 63E44740 mov dword ptr [edi+114h],eax 63E44746 push ebx ->63E44747 call esi 63E44749 push dword ptr [edi+130h] 63E4474F mov dword ptr [edi+10ch],eax 63E44755 xor eax,eax 63E44757 cmp dword ptr [edi+108h],0ffffffh 63E44761 push ebx 63E44762 sete al 63E44765 xor eax,dword ptr [edi] 63E44767 and eax,1 63E4476A xor dword ptr [edi],eax 63E4476C call esi 63E4476E push dword ptr [edi+134h] 63E44774 mov dword ptr [edi+130h],eax 63E4477A push ebx 63E4477B call esi 63E4477D push dword ptr [edi+124h] 63E44783 mov dword ptr [edi+134h],eax 63E44789 push ebx 63E4478A call esi 12

13 63E4478C push dword ptr [edi+128h] 63E44792 mov dword ptr [edi+124h],eax 63E44798 push ebx 63E44799 call esi 63E4479B push dword ptr [edi+12ch] 63E447A1 mov dword ptr [edi+128h],eax 63E447A7 push ebx ->63E447A8 call esi 63E447AA mov dword ptr [edi+12ch],eax 63E447B0 add edi,144h 63E447B6 push dword ptr [edi] 63E447B8 push ebx ->63E447B9 call esi 63E447BB mov dword ptr [edi],eax 63E447BD pop edi 63E447BE pop esi 63E447BF pop ebx 63E447C0 pop ebp 63E447C1 ret 8 Module: combase.dll Module Address: DE000 Description: Microsoft COM for Windows vector destructor iterator : 775B771A mov edi,edi 775B771C push ebp 775B771D mov ebp,esp 775B771F push ebx 775B7720 push esi 775B7721 mov ebx,edx 775B7723 push edi 775B7724 mov edi,dword ptr [ebp+8] 775B7727 mov esi,ebx 775B7729 imul esi,edi 775B772C add esi,ecx 775B772E dec edi 775B772F js vector destructor iterator +20h (775B773Ah) 775B7731 sub esi,ebx 775B7733 mov ecx,esi ->775B7735 call dword ptr [ebp+0ch] 775B7738 jmp vector destructor iterator +1Dh (775B772Eh) 775B773A pop edi 775B773B pop esi 775B773C pop ebx 775B773D pop ebp 775B773E ret 8 13

14 References [1] The Constitution of the United States, retrieved October 2013 from constitution.org/cons/constitution.doc. [2] M. Pietrek, Inside Windows An in-depth look into the Win32 Portable Executable file format, part 2, MSDN magazine, pp , [3] Info: Using declspec(dllimport) & declspec(dllexport) in code, retrieved October 2013 from 14

Visa Smart Debit/Credit Certificate Authority Public Keys

Visa Smart Debit/Credit Certificate Authority Public Keys CHIP AND NEW TECHNOLOGIES Visa Smart Debit/Credit Certificate Authority Public Keys Overview The EMV standard calls for the use of Public Key technology for offline authentication, for aspects of online

More information

TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com

TitanMist: Your First Step to Reversing Nirvana TitanMist. mist.reversinglabs.com TitanMist: Your First Step to Reversing Nirvana TitanMist mist.reversinglabs.com Contents Introduction to TitanEngine.. 3 Introduction to TitanMist 4 Creating an unpacker for TitanMist.. 5 References and

More information

Violating Database - Enforced Security Mechanisms

Violating Database - Enforced Security Mechanisms Violating Database - Enforced Security Mechanisms Runtime Patching Exploits in SQL Server 2000: a case study Chris Anley [chris@ngssoftware.com] 18/06/2002 An NGSSoftware Insight Security Research (NISR)

More information

1. General function and functionality of the malware

1. General function and functionality of the malware 1. General function and functionality of the malware The malware executes in a command shell, it begins by checking to see if the executing file contains the MZP file extension, and then continues to access

More information

Analysis of Win32.Scream

Analysis of Win32.Scream Analysis of Win32.Scream 1. Introduction Scream is a very interesting virus as it combines a lot of techniques written inside of it. In this paper I ll cover all of its features and internals. I ll dissect

More information

Abysssec Research. 1) Advisory information. 2) Vulnerable version

Abysssec Research. 1) Advisory information. 2) Vulnerable version Abysssec Research 1) Advisory information Title Version Discovery Vendor Impact Contact Twitter CVE : Apple QuickTime FlashPix NumberOfTiles Remote Code Execution Vulnerability : QuickTime player 7.6.5

More information

Abysssec Research. 1) Advisory information. 2) Vulnerable version

Abysssec Research. 1) Advisory information. 2) Vulnerable version Abysssec Research 1) Advisory information Title Version Analysis Vendor Impact Contact Twitter CVE : Microsoft MPEG Layer- 3 Audio Stack Based Overflow : l3codeca.acm (XP SP2 XP SP3) : http://www.abysssec.com

More information

Attacking x86 Windows Binaries by Jump Oriented Programming

Attacking x86 Windows Binaries by Jump Oriented Programming Attacking x86 Windows Binaries by Jump Oriented Programming L. Erdődi * * Faculty of John von Neumann, Óbuda University, Budapest, Hungary erdodi.laszlo@nik.uni-obuda.hu Abstract Jump oriented programming

More information

Title: Bugger The Debugger - Pre Interaction Debugger Code Execution

Title: Bugger The Debugger - Pre Interaction Debugger Code Execution White Paper Title: Bugger The Debugger Pre Interaction Debugger Code Execution Prepared by: Brett Moore Network Intrusion Specialist, CTO SecurityAssessment.com Date: April 2005 Abstract The use of debuggers

More information

Reverse Engineering Malware Part 1

Reverse Engineering Malware Part 1 Reverse Engineering Malware Part 1 Author :Arunpreet Singh Blog : https://reverse2learn.wordpress.com MD5 Hash : 1d8ea40a41988b9c3db9eff5fce3abe5 This is First Part of 2 Part Series.This Malware Drops

More information

The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation Techniques To appear at USENIX Security & BlackHat USA, 2014

The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation Techniques To appear at USENIX Security & BlackHat USA, 2014 Intelligent Things, Vehicles and Factories: Intel Workshop on Cyberphysical and Mobile Security 2014, Darmstadt, June 11 The Beast is Resting in Your Memory On Return-Oriented Programming Attacks and Mitigation

More information

Fighting malware on your own

Fighting malware on your own Fighting malware on your own Vitaliy Kamlyuk Senior Virus Analyst Kaspersky Lab Vitaly.Kamluk@kaspersky.com Why fight malware on your own? 5 reasons: 1. Touch 100% of protection yourself 2. Be prepared

More information

Heap-based Buffer Overflow Vulnerability in Adobe Flash Player

Heap-based Buffer Overflow Vulnerability in Adobe Flash Player Analysis of Zero-Day Exploit_Issue 03 Heap-based Buffer Overflow Vulnerability in Adobe Flash Player CVE-2014-0556 20 December 2014 Table of Content Overview... 3 1. CVE-2014-0556 Vulnerability... 3 2.

More information

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.7

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.7 Written By: Adam Berent Advanced Encryption Standard by Example V.1.7 1.0 Preface The following document provides a detailed and easy to understand explanation of the implementation of the AES (RIJNDAEL)

More information

REpsych. : psycholigical warfare in reverse engineering. def con 2015 // domas

REpsych. : psycholigical warfare in reverse engineering. def con 2015 // domas REpsych : psycholigical warfare in reverse engineering { def con 2015 // domas Warning This serves no purpose Taking something apart to figure out how it works With software Interfacing Documentation Obsolescence

More information

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.5

Advanced Encryption Standard by Example. 1.0 Preface. 2.0 Terminology. Written By: Adam Berent V.1.5 Written By: Adam Berent Advanced Encryption Standard by Example V.1.5 1.0 Preface The following document provides a detailed and easy to understand explanation of the implementation of the AES (RIJNDAEL)

More information

A Museum of API Obfuscation on Win32

A Museum of API Obfuscation on Win32 A Museum of API Obfuscation on Win32 Masaki Suenaga Senior Software Engineer Contents Abstract... 1 File Image vs. Memory Image... 2 API Analysis... 4 Generating Memory Dumps... 5 Runtime API Address Resolution...

More information

How Compilers Work. by Walter Bright. Digital Mars

How Compilers Work. by Walter Bright. Digital Mars How Compilers Work by Walter Bright Digital Mars Compilers I've Built D programming language C++ C Javascript Java A.B.E.L Compiler Compilers Regex Lex Yacc Spirit Do only the easiest part Not very customizable

More information

Software Fingerprinting for Automated Malicious Code Analysis

Software Fingerprinting for Automated Malicious Code Analysis Software Fingerprinting for Automated Malicious Code Analysis Philippe Charland Mission Critical Cyber Security Section October 25, 2012 Terms of Release: This document is approved for release to Defence

More information

Win32.Winux.txt Wed Nov 21 13:30:00 2001 1 ; +-----------------------+ ; : Win32/Linux.Winux : ; +--+----------------+---+ ; : by Benny/29A : ;

Win32.Winux.txt Wed Nov 21 13:30:00 2001 1 ; +-----------------------+ ; : Win32/Linux.Winux : ; +--+----------------+---+ ; : by Benny/29A : ; Win32.Winux.txt Wed Nov 21 13:30:00 2001 1 +-----------------------+ : Win32/Linux.Winux : +--+----------------+---+ : by Benny/29A : +----------------+ Heya ppl, lemme introduce you my first multi-platform

More information

Removing Sentinel SuperPro dongle from Applications and details on dongle way of cracking Shub-Nigurrath of ARTeam Version 1.

Removing Sentinel SuperPro dongle from Applications and details on dongle way of cracking Shub-Nigurrath of ARTeam Version 1. Removing Sentinel SuperPro dongle from Applications Shub-Nigurrath of ARTeam Version 1.0 September 2006 1. Abstract... 2 2. Possible approaches: emulations vs simulation... 3 2.1. How a dongle works...

More information

South Texas Educational Technologies, Inc. TEL (956)969-3092 FAX (956)969-8614 Tomorrow s Education Today... 519 S. TEXAS BLVD WESLACO, TX 78596

South Texas Educational Technologies, Inc. TEL (956)969-3092 FAX (956)969-8614 Tomorrow s Education Today... 519 S. TEXAS BLVD WESLACO, TX 78596 South Texas Educational Technologies, Inc. TEL (956)969-3092 FAX (956)969-8614 Tomorrow s Education Today... 519 S. TEXAS BLVD WESLACO, TX 78596 The following documents are required for employment consideration.

More information

Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection

Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection USENIX Security Symposium 2014, San Diego, CA, USA Stitching the Gadgets On the Ineffectiveness of Coarse-Grained Control-Flow Integrity Protection Lucas Davi Intel Collaborative Research Institute for

More information

esrever gnireenigne tfosorcim seiranib

esrever gnireenigne tfosorcim seiranib esrever gnireenigne tfosorcim seiranib Alexander Sotirov asotirov@determina.com CanSecWest / core06 Reverse Engineering Microsoft Binaries Alexander Sotirov asotirov@determina.com CanSecWest / core06 Overview

More information

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08

CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08 CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code

More information

A Tiny Guide to Programming in 32-bit x86 Assembly Language

A Tiny Guide to Programming in 32-bit x86 Assembly Language CS308, Spring 1999 A Tiny Guide to Programming in 32-bit x86 Assembly Language by Adam Ferrari, ferrari@virginia.edu (with changes by Alan Batson, batson@virginia.edu and Mike Lack, mnl3j@virginia.edu)

More information

SERVER CERTIFICATES OF THE VETUMA SERVICE

SERVER CERTIFICATES OF THE VETUMA SERVICE Page 1 Version: 3.4, 19.12.2014 SERVER CERTIFICATES OF THE VETUMA SERVICE 1 (18) Page 2 Version: 3.4, 19.12.2014 Table of Contents 1. Introduction... 3 2. Test Environment... 3 2.1 Vetuma test environment...

More information

Software Vulnerabilities

Software Vulnerabilities Software Vulnerabilities -- stack overflow Code based security Code based security discusses typical vulnerabilities made by programmers that can be exploited by miscreants Implementing safe software in

More information

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail

Hacking Techniques & Intrusion Detection. Ali Al-Shemery arabnix [at] gmail Hacking Techniques & Intrusion Detection Ali Al-Shemery arabnix [at] gmail All materials is licensed under a Creative Commons Share Alike license http://creativecommonsorg/licenses/by-sa/30/ # whoami Ali

More information

TECHNICAL BULLETIN [ 1 / 5 ]

TECHNICAL BULLETIN [ 1 / 5 ] TECHNICAL BULLETIN [ 1 / 5 ] [Title] Corrective action when MELSOFT products cannot be installed on a personal computer on which the 6th Generation Intel Core Processor has been installed [Date of Issue]

More information

SERVER CERTIFICATES OF THE VETUMA SERVICE

SERVER CERTIFICATES OF THE VETUMA SERVICE Page 1 Version: 3.5, 4.11.2015 SERVER CERTIFICATES OF THE VETUMA SERVICE 1 (18) Page 2 Version: 3.5, 4.11.2015 Table of Contents 1. Introduction... 3 2. Test Environment... 3 2.1 Vetuma test environment...

More information

Return-oriented programming without returns

Return-oriented programming without returns Faculty of Computer Science Institute for System Architecture, Operating Systems Group Return-oriented programming without urns S. Checkoway, L. Davi, A. Dmitrienko, A. Sadeghi, H. Shacham, M. Winandy

More information

Machine-Level Programming II: Arithmetic & Control

Machine-Level Programming II: Arithmetic & Control Mellon Machine-Level Programming II: Arithmetic & Control 15-213 / 18-213: Introduction to Computer Systems 6 th Lecture, Jan 29, 2015 Instructors: Seth Copen Goldstein, Franz Franchetti, Greg Kesden 1

More information

SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI User Guide

SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI User Guide SL-8800 HDCP 2.2 and HDCP 1.x Protocol Analyzer for HDMI Simplay-UG-02003-A July 2015 Contents 1. Overview... 4 1.1. SL-8800 HDCP Protocol Analyzer Test Equipment... 4 1.2. HDCP 2.2/HDCP 1.x Protocol Analyzer

More information

Pattern Co. Monkey Trouble Wall Quilt. Size: 48" x 58"

Pattern Co. Monkey Trouble Wall Quilt. Size: 48 x 58 .............................................................................................................................................. Pattern Co..........................................................................................

More information

http://www.nologin.org Bypassing Windows Hardware-enforced Data Execution Prevention

http://www.nologin.org Bypassing Windows Hardware-enforced Data Execution Prevention http://www.nologin.org Bypassing Windows Hardware-enforced Data Execution Prevention Oct 2, 2005 skape mmiller@hick.org Skywing Skywing@valhallalegends.com One of the big changes that Microsoft introduced

More information

Community College of Philadelphia Calling Code 218 Employer Scan Client Approved: November 17, 2005 Region (CIRCLE) City MSA

Community College of Philadelphia Calling Code 218 Employer Scan Client Approved: November 17, 2005 Region (CIRCLE) City MSA Community College of Philadelphia Calling Code 218 Employer Scan Client Approved: November 17, 2005 Region (CIRCLE) City MSA Zip V0 V1 V2 Month/ Day/ Year of Contact: Business Name: Address: V3 City: V4

More information

Buffer Overflows. Security 2011

Buffer Overflows. Security 2011 Buffer Overflows Security 2011 Memory Organiza;on Topics Kernel organizes memory in pages Typically 4k bytes Processes operate in a Virtual Memory Space Mapped to real 4k pages Could live in RAM or be

More information

Harnessing Intelligence from Malware Repositories

Harnessing Intelligence from Malware Repositories Harnessing Intelligence from Malware Repositories Arun Lakhotia and Vivek Notani Software Research Lab University of Louisiana at Lafayette arun@louisiana.edu, vxn4849@louisiana.edu 7/22/2015 (C) 2015

More information

USB HID to PS/2 Scan Code Translation Table

USB HID to PS/2 Scan Code Translation Table Key Name HID Usage Page HID Usage ID PS/2 Set 1 Make* PS/2 Set 1 Break* PS/2 Set 2 Make PS/2 Set 2 Break System Power 01 81 E0 5E E0 DE E0 37 E0 F0 37 System Sleep 01 82 E0 5F E0 DF E0 3F E0 F0 3F System

More information

Mission 1: The Bot Hunter

Mission 1: The Bot Hunter Mission 1: The Bot Hunter Mission: Interpol have asked the BSidesLondon Unhackable Mission Force to penetrate and shut down a notorious botnet. Our only clue is a recovered bot executable which we hope

More information

CROSS REFERENCE. Cross Reference Index 110-122. Cast ID Number 110-111 Connector ID Number 111 Engine ID Number 112-122. 2015 Ford Motor Company 109

CROSS REFERENCE. Cross Reference Index 110-122. Cast ID Number 110-111 Connector ID Number 111 Engine ID Number 112-122. 2015 Ford Motor Company 109 CROSS REFERENCE Cross Reference Index 110-122 Cast ID Number 110-111 Connector ID Number 111 112-122 2015 Ford Motor Company 109 CROSS REFERENCE Cast ID Number Cast ID Ford Service # MC Part # Part Type

More information

Off-by-One exploitation tutorial

Off-by-One exploitation tutorial Off-by-One exploitation tutorial By Saif El-Sherei www.elsherei.com Introduction: I decided to get a bit more into Linux exploitation, so I thought it would be nice if I document this as a good friend

More information

Syscall Proxying - Simulating remote execution Maximiliano Caceres <maximiliano.caceres@corest.com> Copyright 2002 CORE SECURITY TECHNOLOGIES

Syscall Proxying - Simulating remote execution Maximiliano Caceres <maximiliano.caceres@corest.com> Copyright 2002 CORE SECURITY TECHNOLOGIES Syscall Proxying - Simulating remote execution Maximiliano Caceres Copyright 2002 CORE SECURITY TECHNOLOGIES Table of Contents Abstract.........................................................................................

More information

Assembly Language: Function Calls" Jennifer Rexford!

Assembly Language: Function Calls Jennifer Rexford! Assembly Language: Function Calls" Jennifer Rexford! 1 Goals of this Lecture" Function call problems:! Calling and returning! Passing parameters! Storing local variables! Handling registers without interference!

More information

The colors in the Federal Standard set have no official names, just five-digit numbers. Any names given below are generic.

The colors in the Federal Standard set have no official names, just five-digit numbers. Any names given below are generic. Federal Standard 595 Paint Spec Information The following information is made available to our customers as a reference point only. See below for how to request the 595 specification from the US Government.

More information

64-Bit NASM Notes. Invoking 64-Bit NASM

64-Bit NASM Notes. Invoking 64-Bit NASM 64-Bit NASM Notes The transition from 32- to 64-bit architectures is no joke, as anyone who has wrestled with 32/64 bit incompatibilities will attest We note here some key differences between 32- and 64-bit

More information

Test Driven Development in Assembler a little story about growing software from nothing

Test Driven Development in Assembler a little story about growing software from nothing Test Driven Development in Assembler a little story about growing software from nothing Olve Maudal During the last decade Test-Driven Development has become an established practice for developing software

More information

Bypassing Anti- Virus Scanners

Bypassing Anti- Virus Scanners Bypassing Anti- Virus Scanners Abstract Anti-Virus manufacturers nowadays implements more and more complex functions and algorithms in order to detect the latest and newest viruses along with their variants.

More information

URL encoding uses hex code prefixed by %. Quoted Printable encoding uses hex code prefixed by =.

URL encoding uses hex code prefixed by %. Quoted Printable encoding uses hex code prefixed by =. ASCII = American National Standard Code for Information Interchange ANSI X3.4 1986 (R1997) (PDF), ANSI INCITS 4 1986 (R1997) (Printed Edition) Coded Character Set 7 Bit American National Standard Code

More information

Geometry Handout 2 ~ Page 1

Geometry Handout 2 ~ Page 1 1. Given: a b, b c a c Guidance: Draw a line which intersects with all three lines. 2. Given: a b, c a a. c b b. Given: d b d c 3. Given: a c, b d a. α = β b. Given: e and f bisect angles α and β respectively.

More information

INTRODUCTION TO MALWARE & MALWARE ANALYSIS

INTRODUCTION TO MALWARE & MALWARE ANALYSIS INTRODUCTION TO MALWARE & MALWARE ANALYSIS by Quick Heal R&D lab Security Simplified INTRODUCTION Very often people call everything that corrupts their system a virus without being aware about what it

More information

OpenBSD Remote Exploit

OpenBSD Remote Exploit OpenBSD Remote Exploit Only two remote holes in the default install Alfredo Ortega, Gerardo Richarte Core Security April 2007 Abstract OpenBSD is regarded as a very secure Operating System. This article

More information

Bypassing Sanboxes for fun!!

Bypassing Sanboxes for fun!! Bypassing Sanboxes for fun!! Profit will be realised by sandboxes vendors Paul Jung! 2 Malware todays Army of droppers are spreaded through spam, phishing With packing every malware is nearly unique. Antiviruses

More information

Cloud Security Is Not (Just) Virtualization Security

Cloud Security Is Not (Just) Virtualization Security Mihai Christodorescu, Reiner Sailer, Douglas Lee Schales, Daniele Sgandurra, Diego Zamboni IBM Research Cloud Security Is Not (Just) Virtualization Security Virtualization Enables Many Security Applications

More information

Enhancing DNS Security using Dynamic Firewalling with Network Agents

Enhancing DNS Security using Dynamic Firewalling with Network Agents Proceedings of the Federated Conference on Computer Science and Information Systems pp. 777 782 ISBN 978-83-60810-22-4 Enhancing DNS Security using Dynamic Firewalling with Network gents Joao fonso Foundation

More information

The ASCII Character Set

The ASCII Character Set The ASCII Character Set The American Standard Code for Information Interchange or ASCII assigns values between 0 and 255 for upper and lower case letters, numeric digits, punctuation marks and other symbols.

More information

Unpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD

Unpacked BCD Arithmetic. BCD (ASCII) Arithmetic. Where and Why is BCD used? From the SQL Server Manual. Packed BCD, ASCII, Unpacked BCD BCD (ASCII) Arithmetic The Intel Instruction set can handle both packed (two digits per byte) and unpacked BCD (one decimal digit per byte) We will first look at unpacked BCD Unpacked BCD can be either

More information

Introduction to Reverse Engineering

Introduction to Reverse Engineering Introduction to Reverse Engineering Inbar Raz Malware Research Lab Manager December 2011 What is Reverse Engineering? Reverse engineering is the process of discovering the technological principles of a

More information

Introduction. Figure 1 Schema of DarunGrim2

Introduction. Figure 1 Schema of DarunGrim2 Reversing Microsoft patches to reveal vulnerable code Harsimran Walia Computer Security Enthusiast 2011 Abstract The paper would try to reveal the vulnerable code for a particular disclosed vulnerability,

More information

Luxembourg (Luxembourg): Trusted List

Luxembourg (Luxembourg): Trusted List Luxembourg (Luxembourg): Trusted List Institut Luxembourgeois de la Normalisation, de l'accréditation de la Sécurité et qualité des produits et services Scheme Information TSL Version 4 TSL Sequence Number

More information

Systems Design & Programming Data Movement Instructions. Intel Assembly

Systems Design & Programming Data Movement Instructions. Intel Assembly Intel Assembly Data Movement Instruction: mov (covered already) push, pop lea (mov and offset) lds, les, lfs, lgs, lss movs, lods, stos ins, outs xchg, xlat lahf, sahf (not covered) in, out movsx, movzx

More information

Hotpatching and the Rise of Third-Party Patches

Hotpatching and the Rise of Third-Party Patches Hotpatching and the Rise of Third-Party Patches Alexander Sotirov asotirov@determina.com BlackHat USA 2006 Overview In the next one hour, we will cover: Third-party security patches _ recent developments

More information

X86-64 Architecture Guide

X86-64 Architecture Guide X86-64 Architecture Guide For the code-generation project, we shall expose you to a simplified version of the x86-64 platform. Example Consider the following Decaf program: class Program { int foo(int

More information

EMDX3 Multifunction meter Cat No. 146 69 ModbusTable LGR EN v1.01.xls

EMDX3 Multifunction meter Cat No. 146 69 ModbusTable LGR EN v1.01.xls GENERAL MODBUS TABLE ORGANIZATION Starting of the Starting of the Group s Group s System Version (Release) System Version (Build) Group Name (Text) Group Code Group Complexity Group Version 50512 C550

More information

Chapter 4 Processor Architecture

Chapter 4 Processor Architecture Chapter 4 Processor Architecture Modern microprocessors are among the most complex systems ever created by humans. A single silicon chip, roughly the size of a fingernail, can contain a complete high-performance

More information

Application Note RMF Magic 5.1.0: EMC Array Group and EMC SRDF/A Reporting. July 2009

Application Note RMF Magic 5.1.0: EMC Array Group and EMC SRDF/A Reporting. July 2009 Application Note RMF Magic 5.1.0: EMC Array Group and EMC SRDF/A Reporting July 2009 Summary: This Application Note describes the new functionality in RMF Magic 5.1 that enables more effective monitoring

More information

Using Heap Allocation in Intel Assembly Language

Using Heap Allocation in Intel Assembly Language Using Heap Allocation in Intel Assembly Language Copyright 2005, Kip R. Irvine. All rights reserved. Dynamic memory allocation is a feature we take for granted in high-level languages such as C++ and Java.

More information

CS61: Systems Programing and Machine Organization

CS61: Systems Programing and Machine Organization CS61: Systems Programing and Machine Organization Fall 2009 Section Notes for Week 2 (September 14 th - 18 th ) Topics to be covered: I. Binary Basics II. Signed Numbers III. Architecture Overview IV.

More information

Instruction Set Architecture

Instruction Set Architecture CS:APP Chapter 4 Computer Architecture Instruction Set Architecture Randal E. Bryant adapted by Jason Fritts http://csapp.cs.cmu.edu CS:APP2e Hardware Architecture - using Y86 ISA For learning aspects

More information

3. April 2013 IT ZERTIFIKATE. Zertifizierungsstellen / Certification Center. IT Sicherheit UNTERNEHMENSBEREICH IT

3. April 2013 IT ZERTIFIKATE. Zertifizierungsstellen / Certification Center. IT Sicherheit UNTERNEHMENSBEREICH IT IT Sicherheit UNTERNEHMENSBEREICH IT IT ZERTIFIKATE 3. April 2013 Zertifizierungsstellen / Certification Center D-TRUST D-Trust Root Class 2 CA2007 Aussteller/Issuer: D-TRUST Root Class 2 CA 2007 Gültig

More information

Computer Organization and Architecture

Computer Organization and Architecture Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal

More information

Remote Zugang, sicher und einfach

Remote Zugang, sicher und einfach Remote Zugang, sicher und einfach Referent Jürgen Mahler Security Consultant / Engineer Eidg. Dipl. Informatiker FH Itris Enterprise AG +41 58 855 5063 jmahler@itris-enterprise.ch by ITRIS Enterprise AG

More information

"HIGHER EDUCATION VALUES AND OPINIONS SURVEY" ADVANCED PLACEMENT TEACHERS and GUIDANCE COUNSELORS May-June 1994

HIGHER EDUCATION VALUES AND OPINIONS SURVEY ADVANCED PLACEMENT TEACHERS and GUIDANCE COUNSELORS May-June 1994 "HIGHER EDUCATION VALUES AND OPINIONS SURVEY" ADVANCED PLACEMENT TEACHERS and GUIDANCE COUNSELORS May-June 1994 VARIABLE SURVEY ANSWER NAME QUESTION CATEGORIES Facsimile the original mail questionnaire

More information

Z80 Instruction Set. Z80 Assembly Language

Z80 Instruction Set. Z80 Assembly Language 75 Z80 Assembly Language The assembly language allows the user to write a program without concern for memory addresses or machine instruction formats. It uses symbolic addresses to identify memory locations

More information

Sniffing SAP R GUI Passwords

Sniffing SAP R GUI Passwords Sniffing SAP R GUI Passwords 6. Juli 2009, Andreas Baus, René Ledosquet Abstract This paper describes a practical attack against the protocol used by SAP R for client server communication. The purpose

More information

CS:APP Chapter 4 Computer Architecture Instruction Set Architecture. CS:APP2e

CS:APP Chapter 4 Computer Architecture Instruction Set Architecture. CS:APP2e CS:APP Chapter 4 Computer Architecture Instruction Set Architecture CS:APP2e Instruction Set Architecture Assembly Language View Processor state Registers, memory, Instructions addl, pushl, ret, How instructions

More information

For a 64-bit system. I - Presentation Of The Shellcode

For a 64-bit system. I - Presentation Of The Shellcode #How To Create Your Own Shellcode On Arch Linux? #Author : N3td3v!l #Contact-mail : 4nonymouse@usa.com #Website : Nopotm.ir #Spcial tnx to : C0nn3ct0r And All Honest Hackerz and Security Managers I - Presentation

More information

OllyDbg 2.0 Brief Help

OllyDbg 2.0 Brief Help OllyDbg 2.0 Brief Help Table of contents Table of contents... 1 Introduction... 2 Differences between versions 1.10 and 2.00... 2 OllyDbg 2.0 overview... 2 (No) registration... 4 Legal part... 5 Installation...

More information

Complete 8086 instruction set

Complete 8086 instruction set Page 1 of 53 Complete 8086 instruction set Quick reference: AAA AAD AAM AAS ADC ADD AND CALL CBW CLC CLD CLI CMC CMP CMPSB CMPSW CWD DAA DAS DEC DIV HLT IDIV IMUL IN INC INT INTO I JA JAE JB JBE JC JCXZ

More information

ASCII CODES WITH GREEK CHARACTERS

ASCII CODES WITH GREEK CHARACTERS ASCII CODES WITH GREEK CHARACTERS Dec Hex Char Description 0 0 NUL (Null) 1 1 SOH (Start of Header) 2 2 STX (Start of Text) 3 3 ETX (End of Text) 4 4 EOT (End of Transmission) 5 5 ENQ (Enquiry) 6 6 ACK

More information

Windows XP SP3 Registry Handling Buffer Overflow

Windows XP SP3 Registry Handling Buffer Overflow Windows XP SP3 Registry Handling Buffer Overflow by Matthew j00ru Jurczyk and Gynvael Coldwind Hispasec 1. Basic Information Name Windows XP SP3 Registry Handling Buffer Overflow Class Design Error Impact

More information

0242-1. HSR TRAINING COURSE REQUIREMENTS HSR Training Course Guidance Booklet 2

0242-1. HSR TRAINING COURSE REQUIREMENTS HSR Training Course Guidance Booklet 2 0242-1 HSR TRAINING COURSE REQUIREMENTS HSR Training Course Guidance Booklet 2 SafeWork SA 2 Contents Introduction... 4 Learning resources... 4 PART 1 UNDERPINNING PRINCIPLES FOR THE DEVELOPMENT OF A SAFEWORK

More information

INFORMATION TECHNOLOGY COMMITTEE ESCB-PKI PROJECT

INFORMATION TECHNOLOGY COMMITTEE ESCB-PKI PROJECT INFORMATION TECHNOLOGY COMMITTEE ESCB-PKI PROJECT USER GUIDE: INSTALLING THE ROOT AND SUBORDINATE CERTIFICATION AUTHORITIES VERSION 1.2 ECB-Restricted 24-Nov-2011 2 USER GUIDE: INSTALLING THE ESCB PKI

More information

Analysis and Diversion of Duqu s Driver

Analysis and Diversion of Duqu s Driver Analysis and Diversion of Duqu s Driver Guillaume Bonfante, Jean-Yves Marion, Fabrice Sabatier, Aurélien Thierry To cite this version: Guillaume Bonfante, Jean-Yves Marion, Fabrice Sabatier, Aurélien Thierry.

More information

Collinearity and concurrence

Collinearity and concurrence Collinearity and concurrence Po-Shen Loh 23 June 2008 1 Warm-up 1. Let I be the incenter of ABC. Let A be the midpoint of the arc BC of the circumcircle of ABC which does not contain A. Prove that the

More information

How to create OpenDocument URL s with SAP BusinessObjects BI 4.0

How to create OpenDocument URL s with SAP BusinessObjects BI 4.0 How to create OpenDocument URL s with SAP BusinessObjects BI 4.0 Creator: Twitter: Blog: Pieter Verstraeten http://www.twitter.com/pverstraeten http://www.pieterverstraeten.com/blog Hi, Thanks for downloading

More information

DATING YOUR GUILD 1952-1960

DATING YOUR GUILD 1952-1960 DATING YOUR GUILD 1952-1960 YEAR APPROXIMATE LAST SERIAL NUMBER PRODUCED 1953 1000-1500 1954 1500-2200 1955 2200-3000 1956 3000-4000 1957 4000-5700 1958 5700-8300 1959 12035 1960-1969 This chart displays

More information

Online EFFECTIVE AS OF JANUARY 2013

Online EFFECTIVE AS OF JANUARY 2013 2013 A and C Session Start Dates (A-B Quarter Sequence*) 2013 B and D Session Start Dates (B-A Quarter Sequence*) Quarter 5 2012 1205A&C Begins November 5, 2012 1205A Ends December 9, 2012 Session Break

More information

Self Protection Techniques in Malware

Self Protection Techniques in Malware DSIE 10 5 th Doctoral lsymposium on Informatics Engineering i January 28 29, 2010 Porto, Portugal Self Protection Techniques in Malware Tiago Santos Overview Introduction Malware Types Why Self Protection?

More information

Reverse Engineering and Computer Security

Reverse Engineering and Computer Security Reverse Engineering and Computer Security Alexander Sotirov alex@sotirov.net Introduction Security researcher at Determina, working on our LiveShield product Responsible for vulnerability analysis and

More information

Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com

Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com CSCI-UA.0201-003 Computer Systems Organization Lecture 7: Machine-Level Programming I: Basics Mohamed Zahran (aka Z) mzahran@cs.nyu.edu http://www.mzahran.com Some slides adapted (and slightly modified)

More information

Practical taint analysis for protecting buggy binaries

Practical taint analysis for protecting buggy binaries Practical taint analysis for protecting buggy binaries So your exploit beats ASLR/DEP? I don't care Erik Bosman Traditional Stack Smashing buf[16] GET / HTTP/1.100baseretnarg1arg2 Traditional

More information

HTML Codes - Characters and symbols

HTML Codes - Characters and symbols ASCII Codes HTML Codes Conversion References Control Characters English version Versión español Click here to add this link to your favorites. HTML Codes - Characters and symbols Standard ASCII set, HTML

More information

OPERATING SYSTEMS MEMORY MANAGEMENT

OPERATING SYSTEMS MEMORY MANAGEMENT OPERATING SYSTEMS MEMORY MANAGEMENT Jerry Breecher 8: Memory Management 1 OPERATING SYSTEM Memory Management What Is In This Chapter? Just as processes share the CPU, they also share physical memory. This

More information

Evaluating a ROP Defense Mechanism. Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis Columbia University

Evaluating a ROP Defense Mechanism. Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis Columbia University Evaluating a ROP Defense Mechanism Vasilis Pappas, Michalis Polychronakis, and Angelos D. Keromytis Columbia University Outline Background on ROP attacks ROP Smasher Evaluation strategy and results Discussion

More information

Overview of IA-32 assembly programming. Lars Ailo Bongo University of Tromsø

Overview of IA-32 assembly programming. Lars Ailo Bongo University of Tromsø Overview of IA-32 assembly programming Lars Ailo Bongo University of Tromsø Contents 1 Introduction... 2 2 IA-32 assembly programming... 3 2.1 Assembly Language Statements... 3 2.1 Modes...4 2.2 Registers...4

More information

Service Instruction. 1.0 SUBJECT: ECi Accessory Cases for Lycoming 4-Cylinder engines with single magneto configurations and TITAN 361 Engines

Service Instruction. 1.0 SUBJECT: ECi Accessory Cases for Lycoming 4-Cylinder engines with single magneto configurations and TITAN 361 Engines Title: Service Instruction ECi Accessory Cases Installed on Engines S.I. No.: 03-1 Page: 1 of 7 Issued: 2/28/2003 Revision: 2 (4/13/2009) Technical Portions are FAA DER Approved. 1.0 SUBJECT: ECi Accessory

More information

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ COMPUTERS ORGANIZATION 2ND YEAR COMPUTE SCIENCE MANAGEMENT ENGINEERING UNIT 1 - INTRODUCTION JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Unit 1.MaNoTaS 1 Definitions (I) Description A computer is: A

More information

NEOSHO COUNTY COMMUNITY COLLEGE MASTER COURSE SYLLABUS. Medical Administrative Aspects

NEOSHO COUNTY COMMUNITY COLLEGE MASTER COURSE SYLLABUS. Medical Administrative Aspects NEOSHO COUNTY COMMUNITY COLLEGE MASTER COURSE SYLLABUS COURSE IDENTIFICATION Course Code/Number: ALMA 120 Course Title: Medical Administrative Aspects Division: Applied Science (AS) Liberal Arts (LA) Workforce

More information