Splicer Kit

Splicer Kit

New Fujikura FSM 50R12 Arc Fusion Mass Fiber Ribbon Splicer Kit w Case
New Fujikura FSM 50R12 Arc Fusion Mass Fiber Ribbon Splicer Kit w Case
Paypal   US $5,995.00
16mm Film Editing Kit Stand Kodak Cine Viewer Franklin Splicer Craig Rewinders
16mm Film Editing Kit Stand Kodak Cine Viewer Franklin Splicer Craig Rewinders
Paypal   US $29.99
Ampex reel to reel accessory kit head demagnetizer tape splicer leader
Ampex reel to reel accessory kit head demagnetizer tape splicer leader
Paypal   US $50.00
S122A Fusion Splicer Kit w S325A Cleaver 250 and 900 Micron Clamps
S122A Fusion Splicer Kit w S325A Cleaver 250 and 900 Micron Clamps
Paypal   US $5,000.00
Klein Tools Cable Splicers Kit Catalog no 46037
Klein Tools Cable Splicers Kit Catalog no 46037
Paypal   US $19.95
Fujikura FSM 50S Fusion Splicer Kit Used
Fujikura FSM 50S Fusion Splicer Kit Used
Paypal   US $5,900.00
Fitel S121M Fusion Splicer Kit One fiber to 4 ribbon
Fitel S121M Fusion Splicer Kit One fiber to 4 ribbon
Paypal   US $3,845.00
Klein Tools 46039 Cable Splicer Kit w Free Fall Snips
Klein Tools 46039 Cable Splicer Kit w Free Fall Snips
Paypal   US $35.22
RARE UNIVEX FILM SPLICING KIT FOR 8mm MOVIE FILM SPLICER W BOTTLES BOX
RARE UNIVEX FILM SPLICING KIT FOR 8mm MOVIE FILM SPLICER W BOTTLES BOX
Paypal   US $9.99
Cable Splicers Kit
Cable Splicers Kit
Paypal   US $15.95
Fujikura FSM 60S Fusion Splicer Kit Band New
Fujikura FSM 60S Fusion Splicer Kit Band New
Paypal   US $8,900.00
Klein cable splicers kit
Klein cable splicers kit
Paypal   US $.99
Extra Splicing Tabs for Kinyo or 1 2 Splicer Kits
Extra Splicing Tabs for Kinyo or 1 2 Splicer Kits
Paypal   US $4.95
FITEL ELECTRODE KIT S182A FUSION SPLICER
FITEL ELECTRODE KIT S182A FUSION SPLICER
   US $75.00
Sumitomo Type 39 Fusion Splicer Kit Brand New
Sumitomo Type 39 Fusion Splicer Kit Brand New
Paypal   US $8,600.00
EZ FIT 3 16 Hose Repair Kit 2 Hose Clamps 1 Splicer
EZ FIT 3 16 Hose Repair Kit 2 Hose Clamps 1 Splicer
Paypal   US $10.00
Sumitomo Type 63 Fusion Splicer Kit
Sumitomo Type 63 Fusion Splicer Kit
Paypal   US $4,695.00
Sumitomo Type 45s Fusion Splicer Kit
Sumitomo Type 45s Fusion Splicer Kit
Paypal   US $5,545.00
Fujikura FSM 60S Fusion Splicer Kit Band New free shipping
Fujikura FSM 60S Fusion Splicer Kit Band New free shipping
Paypal   US $9,630.00
Sumitomo Type 39 Fusion Splicer Kit Brand New free shipping
Sumitomo Type 39 Fusion Splicer Kit Brand New free shipping
Paypal   US $7,790.00
Ericsson FSU975FA Fusion Splicer Recoater ER2000 Kit
Ericsson FSU975FA Fusion Splicer Recoater ER2000 Kit
Paypal   US $4,995.00
Stanley Bostitch 851393K 3 8 Airline Splicing Kit Hose Splicer 2 Clamps NEW
Stanley Bostitch 851393K 3 8 Airline Splicing Kit Hose Splicer 2 Clamps NEW
Paypal   US $7.71
Sumitomo Type 39FH Kit 2 Fusion Splicer USA Model
Sumitomo Type 39FH Kit 2 Fusion Splicer USA Model
Paypal   US $15,495.00
Sumitomo Type 39 KIT 2 Fusion Splicer USA Model
Sumitomo Type 39 KIT 2 Fusion Splicer USA Model
Paypal   US $15,495.00
FSM 60S Fujikura Fusion Splicer KIT w cleaver
FSM 60S Fujikura Fusion Splicer KIT w cleaver
Paypal   US $15,795.00
Sumitomo Type 25ES Kit 3 Fusion Splicer USA Model
Sumitomo Type 25ES Kit 3 Fusion Splicer USA Model
Paypal   US $7,995.00
Fitel S153A EX 900 Splicer Extended Kit
Fitel S153A EX 900 Splicer Extended Kit
Paypal   US $9,850.00
Fitel S153A EX 10 Splicer Extended Kit
Fitel S153A EX 10 Splicer Extended Kit
Paypal   US $9,465.00
Fitel S153A VK 900 Splicer Value Kit
Fitel S153A VK 900 Splicer Value Kit
Paypal   US $9,315.00
Fitel S123C Value Kit Fusion Splicer USA Model
Fitel S123C Value Kit Fusion Splicer USA Model
Paypal   US $7,185.00
Fitel S123C Basic Kit Fusion Splicer USA Model
Fitel S123C Basic Kit Fusion Splicer USA Model
Paypal   US $6,975.00
Fitel S123C Extended Kit Fusion Splicer USA Model
Fitel S123C Extended Kit Fusion Splicer USA Model
Paypal   US $7,895.00
Fitel S153A VK 250 Splicer Value Kit
Fitel S153A VK 250 Splicer Value Kit
Paypal   US $9,315.00
Fitel S153A VK 10 Splicer Value Kit
Fitel S153A VK 10 Splicer Value Kit
Paypal   US $9,315.00
Fitel S153A BK 900 Splicer Basic Kit
Fitel S153A BK 900 Splicer Basic Kit
Paypal   US $9,100.00
Fitel S153A BK 250 Splicer Basic Kit
Fitel S153A BK 250 Splicer Basic Kit
Paypal   US $9,100.00
^ MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT
^ MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT
Paypal   US $71.96
FSM 60R12 Fujikura Fusion Splicer KIT USA Model
FSM 60R12 Fujikura Fusion Splicer KIT USA Model
Paypal   US $17,995.00
FSM 60S Fujikura Fusion Splicer KIT w cleaver battery cord
FSM 60S Fujikura Fusion Splicer KIT w cleaver battery cord
Paypal   US $15,995.00
SPECIAL SELLING FREE SHIPPINGOrienTek T35 Digital Fusion Splicer Kit
SPECIAL SELLING FREE SHIPPINGOrienTek T35 Digital Fusion Splicer Kit
Paypal   US $3,399.00
Keyence 96M0179 FIBER SPLICER MOUNTING KIT
Keyence 96M0179 FIBER SPLICER MOUNTING KIT
Paypal   US $16.99
Fitel S153A BK 10 Splicer Basic Kit
Fitel S153A BK 10 Splicer Basic Kit
Paypal   US $9,100.00
Fitel S123M12 KIT Hand Held Fusion Splicer Kit
Fitel S123M12 KIT Hand Held Fusion Splicer Kit
Paypal   US $17,255.00
Fitel S123M4 Kit 4 Ribbon Fusion Splicer Kit
Fitel S123M4 Kit 4 Ribbon Fusion Splicer Kit
Paypal   US $9,760.00
Sumitomo Type 65 Mass Fiber Fusion Splicer Kit In Case
Sumitomo Type 65 Mass Fiber Fusion Splicer Kit In Case
Paypal   US $6,995.00
Sumitomo Type 36 Fusion Splicer Kit In Case
Sumitomo Type 36 Fusion Splicer Kit In Case
Paypal   US $3,795.00
BN UP B606 Cable Splicer Kit Snips Cable Knife Pouch
BN UP B606 Cable Splicer Kit Snips Cable Knife Pouch
   US $29.99
Sumitomo Type 39 Kit 1 Fusion Splicer USA Model
Sumitomo Type 39 Kit 1 Fusion Splicer USA Model
Paypal   US $14,850.00
Klein Tools 409 46037 94051 Cable Splicer Kit
Klein Tools 409 46037 94051 Cable Splicer Kit
Paypal   US $53.02
KLEIN TOOLS 46039SEN Telco Cable Splicer Kit 46039 NEW
KLEIN TOOLS 46039SEN Telco Cable Splicer Kit 46039 NEW
Paypal   US $35.21
Sumitomo Type 61 Fusion Splicer Kit
Sumitomo Type 61 Fusion Splicer Kit
Paypal   US $2,550.00
ALCOA FUJIKURA FSM 30R KIT RIBBON FIBER ARC FUSION SPLICER SM MM DS NZ DS OPTIC
ALCOA FUJIKURA FSM 30R KIT RIBBON FIBER ARC FUSION SPLICER SM MM DS NZ DS OPTIC
   US $5,850.00
KLEIN TOOLS 46037 Telco Cable Splicer Kit NEW
KLEIN TOOLS 46037 Telco Cable Splicer Kit NEW
Paypal   US $34.98
Sumitomo Type 25ES Splicer Kit Brand New
Sumitomo Type 25ES Splicer Kit Brand New
Paypal   US $6,200.00
Klein 46037 Cable Splicers Kit
Klein 46037 Cable Splicers Kit
Paypal   US $49.14
New FSM 60R Fusion Splicer Kit
New FSM 60R Fusion Splicer Kit
Paypal   US $17,900.00
Jonard TK 400 Three Piece Splicers Kit
Jonard TK 400 Three Piece Splicers Kit
Paypal   US $26.25
Emitor EFS 150 Fusion Splicer Kit In Case
Emitor EFS 150 Fusion Splicer Kit In Case
Paypal   US $4,850.00
DVP 730 Fiber Fusion Splicer Optical Cable Tool Kit
DVP 730 Fiber Fusion Splicer Optical Cable Tool Kit
Paypal   US $4,200.00
Klein Tools 46037 cable splicer kit NEW
Klein Tools 46037 cable splicer kit NEW
Paypal   US $35.00
18 piece Heater Hose Splicer Assortment Kit
18 piece Heater Hose Splicer Assortment Kit
Paypal   US $11.95
INNOTEK BOUNDARY KIT 500FT18GA WIRE2 SPLICER 50 FLAGS
INNOTEK BOUNDARY KIT 500FT18GA WIRE2 SPLICER 50 FLAGS
Paypal   US $46.99
Fujikura FSM 60S Fusion Splicer NEW Full Kit 1 Year Warranty
Fujikura FSM 60S Fusion Splicer NEW Full Kit 1 Year Warranty
Paypal   US $9,300.00
Fitel Furukawa S174H Fiber Optic Fusion Splicer Kit
Fitel Furukawa S174H Fiber Optic Fusion Splicer Kit
   US $4,999.99
Free ShippingJilong KL 300T Digital Fusion Splicer Kit w Fiber Cleaver
Free ShippingJilong KL 300T Digital Fusion Splicer Kit w Fiber Cleaver
Paypal   US $4,726.00
KEYENCE 96M0179 FIBER SPLICER MOUNTING KIT for SENSOR NEW
KEYENCE 96M0179 FIBER SPLICER MOUNTING KIT for SENSOR NEW
Paypal   US $18.00
NEW KEYENCE 96M0179 FIBER SPLICER MOUNTING KIT
NEW KEYENCE 96M0179 FIBER SPLICER MOUNTING KIT
Paypal   US $7.00
FITEL S178A Fusion Splicer New Full KIT1 Year Warranty
FITEL S178A Fusion Splicer New Full KIT1 Year Warranty
Paypal   US $8,400.00
KLEIN TOOLS 46037 Cable Splicers Kit
KLEIN TOOLS 46037 Cable Splicers Kit
Paypal   US $36.62
Ericsson FSU995 PM Splicer Full Kit with Cleaver Heater Fiber holders Manual
Ericsson FSU995 PM Splicer Full Kit with Cleaver Heater Fiber holders Manual
Paypal   US $19,995.00
Fitel S178A Fusion Splicer Kit Brand New
Fitel S178A Fusion Splicer Kit Brand New
Paypal   US $8,500.00
Fujikura FSM 40S Fusion Splicer Kit USED
Fujikura FSM 40S Fusion Splicer Kit USED
Paypal   US $4,500.00
Sumitomo Type 39 Splicer Kit Brand New
Sumitomo Type 39 Splicer Kit Brand New
Paypal   US $7,500.00
JILONG KL 300T PAS Technology Fusion Splicer Kit w Fiber CleaverFREE SHIPPING
JILONG KL 300T PAS Technology Fusion Splicer Kit w Fiber CleaverFREE SHIPPING
Paypal   US $4,550.00
DVP 730 Core Alignment Fusion Splicer Kit w Fiber Cleaver Free Shipping By DHL
DVP 730 Core Alignment Fusion Splicer Kit w Fiber Cleaver Free Shipping By DHL
Paypal   US $3,550.00
OrienTek T35 Core Alignment Fiber Fusion Splicer Kit w Fiber Cleaver
OrienTek T35 Core Alignment Fiber Fusion Splicer Kit w Fiber Cleaver
Paypal   US $3,400.00
FREE SHIPPING OrienTek T35 Core Alignment Fusion Splicer Kit w Fiber Cleaver
FREE SHIPPING OrienTek T35 Core Alignment Fusion Splicer Kit w Fiber Cleaver
Paypal   US $3,400.00
Sumitomo Type 61 Ribbon Mass Fusion Splicer Kit Extra
Sumitomo Type 61 Ribbon Mass Fusion Splicer Kit Extra
Paypal   US $2,990.00
Sumitomo Type 39 Fusion Splicer NEW Full Kit 1 Year Warranty
Sumitomo Type 39 Fusion Splicer NEW Full Kit 1 Year Warranty
Paypal   US $7,400.00
Sumitomo Type 39 Fusion Splicer Kit
Sumitomo Type 39 Fusion Splicer Kit
Paypal   US $14,900.00
New FSM 60S Fusion Splicer Kit Genuine
New FSM 60S Fusion Splicer Kit Genuine
Paypal   US $15,900.00
Keyence 96M0179 Fiber Splicer and Mounting Kit NEW
Keyence 96M0179 Fiber Splicer and Mounting Kit NEW
Paypal   US $10.00
Fujikura FSM 30PF Fusion Splicer Kit USED
Fujikura FSM 30PF Fusion Splicer Kit USED
Paypal   US $2,500.00
Fujikura FSM 50R Fusion Splicer Kit USED
Fujikura FSM 50R Fusion Splicer Kit USED
Paypal   US $9,900.00
Vintage CINE KODAK Duo Film Splicer Outfit Kit Old Eastman Kodak Rochester NY
Vintage CINE KODAK Duo Film Splicer Outfit Kit Old Eastman Kodak Rochester NY
Paypal   US $3.99
Cable Splicers Kit Klein 46037
Cable Splicers Kit Klein 46037
Paypal   US $34.00
Corning OptiSplice One Kit W Corning OV MiniOS 400 OM 600 Splicer Kit MINT
Corning OptiSplice One Kit W Corning OV MiniOS 400 OM 600 Splicer Kit MINT
Paypal   US $16,999.95
MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT
MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT
Paypal   US $77.95
Fitel S123C Extended Kit Fusion Splicer US Model with 1 year warranty
Fitel S123C Extended Kit Fusion Splicer US Model with 1 year warranty
Paypal   US $7,890.00
Fitel S123C Value Kit Fusion Splicer US Model with 1 year warranty
Fitel S123C Value Kit Fusion Splicer US Model with 1 year warranty
Paypal   US $7,180.00
Fitel S123C Basic Kit Fusion Splicer US Model with 1 year warranty
Fitel S123C Basic Kit Fusion Splicer US Model with 1 year warranty
Paypal   US $6,970.00
Sumitomo Type 66 Ribbon KIT Fusion Splicer USA Model
Sumitomo Type 66 Ribbon KIT Fusion Splicer USA Model
Paypal   US $17,095.00
Sumitomo Type 25EM Kit 2R Ribbon Fusion Splicer USA
Sumitomo Type 25EM Kit 2R Ribbon Fusion Splicer USA
Paypal   US $9,945.00
Sumitomo Type 66 Kit 2 Fusion Splicer USA Model
Sumitomo Type 66 Kit 2 Fusion Splicer USA Model
Paypal   US $17,795.00
Sumitomo Type 25EU KIt 2 Fusion Splicer USA
Sumitomo Type 25EU KIt 2 Fusion Splicer USA
Paypal   US $5,695.00
Sumitomo Type 25ES Kit 2 Fusion Splicer USA Model
Sumitomo Type 25ES Kit 2 Fusion Splicer USA Model
Paypal   US $7,395.00
Sumitomo QUANTUM Fusion Splicer KIT 1 USA model
Sumitomo QUANTUM Fusion Splicer KIT 1 USA model
Paypal   US $15,284.00

Simple Antirootkit

1. SST: references
2. Algorithm
3. Memory mapped files
4. Implementation
5. Demonstration
6. How to build

Written by:
Victor Milokum, Development Leader of Network Security Team.

http://www.apriorit.com

1. SST: references

This article is a logical continuation to the article "Driver to Hide Processes and Files" http://www.codeproject.com/KB/system/hide-driver.aspx by Ivan Romananko. You can find all necessary information about System Service Table (SST) and its hooking in it.

In this article I would like to present how to write your own unhooker that will restore original SST hooked by drivers like Ivan's one.

2. Algorithm

My goal is to write a simple driver for SST hooking detection and removing purposes.

This means that our driver should not use various Zw-functions and SST table because I suppose that SST table is corrupted by unknown rootkits.

I do not care about filter drivers and function code splicers for now, but maybe I will come back to them in future.

The simplest way to detect and remove hooks is to compare SST that is placed in memory with the initial SST from ntoskernel.exe file.

So the goal is:

  1. to find ntoskernel module in memory;
  2. to find the section of ntoskernel where SST is placed and to calculate relative offset of SST in the section;
  3. to find this section in the ntoskernel.exe file;
  4. to calculate real address of SST in the file;
  5. to read values from the file and to compare them with SST.

But before the implementation I would like to present some additional information.

3. Memory mapped files in kernel mode

"A memory-mapped file is a segment of virtual memory which has been assigned a direct byte-for-byte correlation with some portion of a file or file-like resource". (c) Wiki

Yeah, we want to parse the PE file and memory mapped files are very useful for this task.

And it is easy enough to use mapped files API from the kernel mode, because it is very similar to Win32 API. Instead of CreateFileMapping and MapViewOfSection functions in kernel mode driver should access

NTSTATUS ZwCreateSection( OUT PHANDLE SectionHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize OPTIONAL, IN ULONG SectionPageProtection, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL );

and

NTSTATUS ZwMapViewOfSection( IN HANDLE SectionHandle, IN HANDLE ProcessHandle, IN OUT PVOID *BaseAddress, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset OPTIONAL, IN OUT PSIZE_T ViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Win32Protect );

functions.

But if we use these functions we will break our own rule not to use SST. Also, it is good for antirootkit to use extremely low level functions in the hope of being invisible to the possible rootkits.

With regard to this we can use undocumented functions of Memory Manager (Mm), of course at our own risk:

NTSTATUS
MmCreateSection ( OUT PVOID *SectionObject, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL, IN PLARGE_INTEGER MaximumSize, IN ULONG SectionPageProtection, IN ULONG AllocationAttributes, IN HANDLE FileHandle OPTIONAL, IN PFILE_OBJECT File OPTIONAL ); NTSTATUS
MmMapViewOfSection( IN PVOID SectionToMap, IN PEPROCESS Process, IN OUT PVOID *CapturedBase, IN ULONG_PTR ZeroBits, IN SIZE_T CommitSize, IN OUT PLARGE_INTEGER SectionOffset, IN OUT PSIZE_T CapturedViewSize, IN SECTION_INHERIT InheritDisposition, IN ULONG AllocationType, IN ULONG Protect ); NTSTATUS
MmUnmapViewOfSection( IN PEPROCESS Process, IN PVOID BaseAddress ); NTSTATUS drv_MapAllFileEx(HANDLE hFile OPTIONAL, drv_MappedFile * pMappedFile, LARGE_INTEGER * pFileSize, ULONG Protect)
{ NTSTATUS status = STATUS_SUCCESS; PVOID section = 0; PCHAR pData=0; LARGE_INTEGER offset; offset.QuadPart = 0; // check zero results if (!pFileSize->QuadPart) goto calc_exit; status = MmCreateSection (&section, SECTION_MAP_READ, 0, // OBJECT ATTRIBUTES pFileSize, // MAXIMUM SIZE Protect, 0x8000000, hFile, 0 ); if (status!= STATUS_SUCCESS) goto calc_exit; status = MmMapViewOfSection(section, PsGetCurrentProcess(), (PVOID*)&pData, 0, 0, &offset, &pFileSize->LowPart, ViewUnmap, 0, Protect); if (status!= STATUS_SUCCESS) goto calc_exit; calc_exit: if (NT_SUCCESS(status)) { pMappedFile->fileSize.QuadPart = pFileSize->QuadPart; pMappedFile->pData = pData; pMappedFile->section = section; } else { if (pData) MmUnmapViewOfSection(PsGetCurrentProcess(), pData); if (section) { ObMakeTemporaryObject(section); ObDereferenceObject(section); } } return status;
}

This example demonstrates an alternative approach to the usage of mapped files through MmCreateSection/MmMapViewOfSection functions.

The presented approach is pretty good because it doesn't utilize Zw* functions and even handles at all, but it has one restriction. If you start this sample from DriverEntry it will work fine, but if you start it from the IRP_MJ_DEVICE_CONTROL handler you will see that MmCreateSection function fails with STATUS_ACCESS_DENIED. Why?

The answer is: Zw* functions do one good thing - they set previous mode to KernelMode and this allows to utilize kernel mode pointers and handles as parameters for them (for more information see Nt vs. Zw - Clearing Confusion On The Native API article - http://www.osronline.com/article.cfm?id=257)

So, the presented above function can be called only from DriverEntry or from the system thread.

4. Algorithm implementation

I designed the following structure to save all ntoskernel parsing results:

#define IMAGE_SIZEOF_SHORT_NAME 8
typedef struct _Drv_VirginityContext
{ drv_MappedFile m_mapped; HANDLE m_hFile; UCHAR m_SectionName[IMAGE_SIZEOF_SHORT_NAME+1]; ULONG m_sstOffsetInSection; char * m_mappedSST; ULONG m_imageBase; char * m_pSectionStart; char * m_pMappedSectionStart; char * m_pLoadedNtAddress;
}Drv_VirginityContext;

And I implemented the chosen algorithm as follows:

static NTSTATUS ResolveSST(Drv_VirginityContext * pContext, SYSTEM_MODULE * pNtOsInfo)
{ PIMAGE_SECTION_HEADER pSection = 0; PIMAGE_SECTION_HEADER pMappedSection = 0; NTSTATUS status = 0; PNTPROC pStartSST = KeServiceDescriptorTable->ntoskrnl.ServiceTable; char * pSectionStart = 0; char * pMappedSectionStart = 0; // Drv_ResolveSectionAddress function detects // to which section pStartSST belongs // pSection will contain the section of ntoskernel.exe that contains SST pContext->m_pLoadedNtAddress = (char*)pNtOsInfo->pAddress; status = Drv_ResolveSectionAddress(pNtOsInfo->pAddress, pStartSST, &pSection); if (!NT_SUCCESS(status)) goto clean; // save section name to context memcpy(pContext->m_SectionName, pSection->Name, IMAGE_SIZEOF_SHORT_NAME); // calculate m_sstOffsetInSection - offset of SST in section pSectionStart = (char *)pNtOsInfo->pAddress + pSection->VirtualAddress; pContext->m_sstOffsetInSection = (char*)pStartSST - pSectionStart; // find section in mapped file - on disk! status = Drv_FindSection(pContext->m_mapped.pData, pSection->Name, &pMappedSection); if (!NT_SUCCESS(status)) goto clean; pMappedSectionStart = (char *)pContext->m_mapped.pData + pMappedSection->PointerToRawData; pContext->m_mappedSST = pMappedSectionStart + pContext->m_sstOffsetInSection; { // don´t forget to save ImageBase PIMAGE_DOS_HEADER dosHeader = (PIMAGE_DOS_HEADER)pContext->m_mapped.pData; PIMAGE_NT_HEADERS pNTHeader = (PIMAGE_NT_HEADERS)((char*)dosHeader + dosHeader->e_lfanew); pContext->m_imageBase = pNTHeader->OptionalHeader.ImageBase; } pContext->m_pSectionStart = pSectionStart; pContext->m_pMappedSectionStart = pMappedSectionStart;
clean: return status;
}

And here is the function that returns real value of SST:

void Drv_GetRealSSTValue(Drv_VirginityContext * pContext, long index, void ** ppValue)
{ char * pSST = pContext->m_mappedSST; ULONG * pValue = ((ULONG *) pSST) + index; // now pValue points to the mapped SST entry // but entry contains offset from the beginning of ntoskernel file, // so correct it *ppValue = (void*)(*pValue + (ULONG)pContext->m_pLoadedNtAddress – pContext->m_imageBase);
}

After that it is quite simple to implement main functionality:

virtual NTSTATUS ExecuteReal()
{ CAutoVirginity initer; NT_CHECK(initer.Init(&m_virginityContext)); // now we are ready to scan :)  for(int i = 0, sstSize = Drv_GetSizeOfNtosSST(); i < sstSize; ++i) { void ** pCurrentHandler = Drv_GetNtosSSTEntry(i); void * pRealHandler = 0; Drv_GetRealSSTValue(&m_virginityContext, i, &pRealHandler); if (pRealHandler != *pCurrentHandler) { // oops, we found the difference! // unhook this entry Drv_HookSST(pCurrentHandler, pRealHandler); } } return NT_OK;
}

This tiny cycle completely removes all SST hooks and brings SST to its initial state.

6. Demonstration

For testing purposes I developed simple console utility named unhooker.exe. This utility can be started without parameters; in this case it shows information about its abilities:

  1. "stat" command shows statistics about SST hooking;
  2. "unhook" command cleans SST;

This sample demonstrates how to use utility to detect and erase hooks:

Have fun!

6. How to build

Build steps are the same as in the "Hide Driver" article. They are:

  1. Install Windows Driver Developer Kit 2003 - http://www.microsoft.com/whdc/devtools/ddk/default.mspx
  2. Set global environment variable "BASEDIR" to path of installed DDK. Go here: Computer -> Properties -> Advanced -> Environment variables ->System Variables -> New

And set it like this: BASEDIR -> c:winddk3790
(You have to restart your computer after this.)

If you choose Visual Studio 2003, then you can simply open UnhookerMain.sln and build all.

Downloads (solution and sources)

About the Author

Apriorit is worldwide provider of professional consulting and software development services.

Company operates in the advanced IT fields like Virtualization, Corporate Security, Driver Development.

www.apriorit.com


Klein Tools 94051 Cable Splicer Kit. 1 Kit


Klein Tools 94051 Cable Splicer Kit. 1 Kit


$37.49


Manufacturer: Klein Tools. 1 Kit. Includes = Scissors, Splicer's Knife, Pouch Customers also search for: Discount 94051 Cable Splicer Kit, Buy 94051 Cable Splicer Kit, Wholesale 94051 Cable Splicer Kit, 092644940514, 46037, Scissors Shears and Trimmers

Klein Tools 40946037 94051 Cable Splicer Kit


Klein Tools 40946037 94051 Cable Splicer Kit


$58.6


Includes: Scissors Splicer s Knife Pouch. Many designs available match your personal style. Satisfaction ensured.

Turning Point Cruiser and Shears Cable Splicer Kit


Turning Point Cruiser and Shears Cable Splicer Kit


$38.99


This professional cable-stripping set includes an innovative knife that electricians and telecom engineers can use to remove the plastic jacket from cable up to 50 mm OD. The tools have high-carbon stainless steel blades.Set includes one (1) cable-stripping knife and one (1) pair of shearsErgonomic modern handles and finger holders allow for both right- and left-handed usersVersatile blade guardKnife strips wires of varying size, from gauge AWG 10 to 20Vacuum-hardened and precision-ground blade for long-lasting edgeOne-hand operationModel: OSNU993CE Blade materials: High-carbon stainless steelHandle materials: Nylon, fiberglassCruiser dimensions: 6.8 inches deepShears dimensions: 3 inches wide x 5.5 inches deepCase dimensions: 1.5 inches high x 7.2 inches wide x 4.3 inches deep

Campbell Hausfeld MP3314 3/8-in Hose Repair Kit


Campbell Hausfeld MP3314 3/8-in Hose Repair Kit


$3.99


3/8-in Hose Repair Kit - MP3314. (1) Hose Splicer. (1) Hose End. (3) Hose Clamps

Plews lubrimatic Plews lubrimatic Hose Splicer 21-467


Plews lubrimatic Plews lubrimatic Hose Splicer 21-467


$1.34


Hose splicer Barb-type 1 per card 3/8? i.d. hose Brand #: Plews/Lubrimatic 21-467 UPC: 028893214670 Keywords: air hose repair fitting splicer

Western Enterprises 31235 Splicer Spiral


Western Enterprises 31235 Splicer Spiral


$19.01


Connection Type: Barb/Barb. Hose I.D.: 3/16 [Min] 3/16 [Max]. Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Spiral Hex. Type: Splicer.

Western Enterprises 31248 Splicer Barb


Western Enterprises 31248 Splicer Barb


$22.04


Connection Type: Barb/Barb. Hose I.D: 1/2 [Min] 1/2 [Max]. Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Barb Round. Type: Splicer.

Western Enterprises Splicer Spiral. Each


Western Enterprises Splicer Spiral. Each


$9.69


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 3/16 in [Min], 3/16 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Spiral Hex Packing Type = Splicer Customers also search for: Discoun

Western Enterprises Splicer Barb. Each


Western Enterprises Splicer Barb. Each


$8.29


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 3/8 in [Min], 3/8 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Round Packing Type = Splicer Customers also search for: Discount

Western Enterprises Barb Splicer. Each


Western Enterprises Barb Splicer. Each


$8.29


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 1/4 in [Min], 1/4 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Round Packing Type = Splicer Customers also search for: Discount

Western Enterprises 3/16-inch Splicer Barb


Western Enterprises 3/16-inch Splicer Barb


$10.79


Brass Hose SplicerConnection type: Barb/barbHose I.D: 3/16 inch minimum, 3/16 inch maximumPressure: 200.00 PSIG maximumWeight: 0.03 poundMaterial: BrassShape: StraightStyle: Barb roundType: SplicerModel: 312-45

Western Enterprises 1/4-inch Splicer Barb


Western Enterprises 1/4-inch Splicer Barb


$9.09


Brass Hose SplicerConnection type: Barb/barbHose ID: 1/4 inch minimum, 1/4 inch maximumPressure: 200.00 PSIG maximumWeight: 0.03 poundMaterial: BrassShape: StraightStyle: Barb roundType: SplicerModel: 312-44

Western Enterprises 3/8-inch Splicer Barb


Western Enterprises 3/8-inch Splicer Barb


$8.79


Brass Hose SplicerConnection type: Barb/barbHose I.D: 3/8 inch minimum, 3/8 inch maximumPressure: 200.00 PSIG maximumWeight: 0.05 poundMaterial: BrassShape: StraightStyle: Barb roundType: SplicerModel: 312-47

Thomas & Betts Thomas & Betts Cable Splicer reducer ASR2506


Thomas & Betts Thomas & Betts Cable Splicer reducer ASR2506


$13.44


Cable splicer/reducer Splicer/reducer with solid barrier wire stop, all aluminum body, tin plated for low contact resistance For copper and aluminum conductors UL listed 250 kcmil to 6 Str AWG Brand #: Thomas & Betts ASR2506 UPC: 783786133239 Keywords: reducer splicer cable wire stop

Plews lubrimatic Plews lubrimatic 1 4 inid Hose Splicer 21-423


Plews lubrimatic Plews lubrimatic 1 4 inid Hose Splicer 21-423


$1.04


1/4?id hose splicer Barb-type 1 per card 1/4? i.d. hose Brand #: Plews/Lubrimatic 21-423 UPC: 028893214236 Keywords: air hose repair fitting splicer

Western Enterprises 312238 We 238 Splicer


Western Enterprises 312238 We 238 Splicer


$19.38


Connection Type: Barb/Barb. Hose I.D.: 3/8 [Min] 3/8 [Max]. Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Spiral Hex. Type: Splicer.

Western Enterprises 31234 We 34 Splicer


Western Enterprises 31234 We 34 Splicer


$18.85


Material: Brass. Connection Type: Barb/Barb. Shape: Straight. Style: Spiral Hex. Type: Splicer. Hose I.D.: 1/4 in. [Min] 1/4 in. [Max]. Pressure: 200.00 PSIG [Max].

Western Enterprises 31238 We 38 Splicer


Western Enterprises 31238 We 38 Splicer


$18.01


Connection Type: Barb/Barb. Hose I.D.: 3/16 [Min] 3/16 [Max]. Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Barb Hex. Type: Splicer.

Western Enterprises 31253 We 53 Splicer


Western Enterprises 31253 We 53 Splicer


$18.68


Material: Brass. Connection Type: Barb/Barb. Pressure: 200.00 PSIG [Max]. Shape: Straight. Style: Barb No Stop. Type: Splicer. Hose I.D.: 1/8 in. [Min] 1/8 in. [Max].

Western Enterprises 312C38 We C38 Splicer


Western Enterprises 312C38 We C38 Splicer


$21.63


Connection Type: Barb/Barb. Hose I.D.: 1/2 1/2 . Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Barb Hex. Type: Splicer.

Western Enterprises 312139 We 139 Splicer


Western Enterprises 312139 We 139 Splicer


$17.88


Connection Type: Barb/Barb. Hose I.D.: 5/16 in [Min] 5/16 in [Max]. Pressure: 200.00 PSIG [Max]. Material: Brass. Shape: Straight. Style: Barb Hex. Type: Splicer.

Bioshock 2: Series 2 Lady Smith Splicer Action Figure


Bioshock 2: Series 2 Lady Smith Splicer Action Figure


$15.99


The second assortment from the #1 selling video game includes the Ladysmith Splicer with removable mask, tommygun, and rolling pin accessories.

Gardner Bender 1410 AWG Aluminum Splicer  Reducer GSPA0


Gardner Bender 1410 AWG Aluminum Splicer Reducer GSPA0


$24.96


Dual rated aluminum splicer/reducer made from high strength aluminum alloy

Klein Tools 55070 Splicer Pouch. Each


Klein Tools 55070 Splicer Pouch. Each


$14.79


Manufacturer: Klein Tools. Each. Riveted and stitched for extra durability Specially designed to hold a pair of electrician?s scissors (Klein No. 2100-5 or 2100-7), and Cat. No. 44200 cable-splicer?s knife Height = 7 1/4 in Width = 2 in No. of Compartmen

Western Enterprises We 238 Splicer. Each


Western Enterprises We 238 Splicer. Each


$10.29


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 3/8 in [Min], 3/8 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Spiral Hex Packing Type = Splicer Customers also search for: Discount

Western Enterprises We 34 Splicer. Each


Western Enterprises We 34 Splicer. Each


$9.59


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 1/4 in [Min], 1/4 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Spiral Hex Packing Type = Splicer Customers also search for: Discount

Western Enterprises We 37 Splicer. Each


Western Enterprises We 37 Splicer. Each


$8.19


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 1/4 in [Min], 1/4 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Hex Packing Type = Splicer Customers also search for: Discount We

Western Enterprises We 38 Splicer. Each


Western Enterprises We 38 Splicer. Each


$8.79


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 3/16 in [Min], 3/16 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Hex Packing Type = Splicer Customers also search for: Discount

Western Enterprises We 39 Splicer. Each


Western Enterprises We 39 Splicer. Each


$10.79


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 3/16 in [Min], 1/4 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Hex Packing Type = Splicer Customers also search for: Discount W

Western Enterprises We C-38 Splicer. Each


Western Enterprises We C-38 Splicer. Each


$12.29


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 1/2 in [Min], 1/2 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Hex Packing Type = Splicer Customers also search for: Discount We

Western Enterprises We 46 Splicer. Each


Western Enterprises We 46 Splicer. Each


$8.39


Manufacturer: Western Enterprises. Each. Connection Type = Barb/Barb Hose I.D. = 5/16 in [Min], 5/16 in [Max] Pressure = 200.00 PSIG [Max] Material = Brass Case Shape = Straight Style = Barb Round Packing Type = Splicer Customers also search for: Discoun