Splicer Kit

Splicer Kit

FSM 30S Fujikura Complete Splicer Kit 2 Year Warranty FSM 30S Fujikura Complete Splicer Kit 2 Year Warranty Paypal US $5,500.00 12h 17m
Fujikura FSM 30R Fusion Splicer KIt Refurbished Fujikura FSM 30R Fusion Splicer KIt Refurbished Paypal US $6,595.00 15h 57m
Fujikura FSM 50S Arc Fusion Splicer Full kit low Arc co Fujikura FSM 50S Arc Fusion Splicer Full kit low Arc co Paypal US $8,900.00 16h 54m
Fitel Furukawa S174H Fiber Optic Fusion Splicer Kit Fitel Furukawa S174H Fiber Optic Fusion Splicer Kit US $4,999.99 1d 16h 46m
Fujikura FSM 40 KIT Fusion Splicer USA Model Fujikura FSM 40 KIT Fusion Splicer USA Model Paypal US $8,695.00 2d 1h 46m
New Klein cable splicer kit and screwdrivers New Klein cable splicer kit and screwdrivers Paypal 0 Bid US $20.00 2d 5h 20m
BRAND NEW Benner Nawman UP B606 Cable Splicers Kit BRAND NEW Benner Nawman UP B606 Cable Splicers Kit US $19.99 2d 16h 33m
Demo Unit PRO 730 Core Alignment Fusion Splicer Kit Demo Unit PRO 730 Core Alignment Fusion Splicer Kit Paypal US $8,500.00 2d 18h 14m
Fujikura FSM 30R Ribbon Fusion Splicer Kit USA Model Fujikura FSM 30R Ribbon Fusion Splicer Kit USA Model Paypal US $8,995.00 2d 18h 26m
Fujikura FSM 30S Fusion Splicer Kit USA Model Fujikura FSM 30S Fusion Splicer Kit USA Model Paypal US $5,395.00 2d 18h 34m
Fujikura FSM 20CS Fusion Splicer Kit USA Model Fujikura FSM 20CS Fusion Splicer Kit USA Model Paypal US $2,395.00 2d 18h 40m
KLEIN TOOLS 46039 Cable Splicer Kit FREE SHIPPING KLEIN TOOLS 46039 Cable Splicer Kit FREE SHIPPING Paypal US $31.69 2d 19h 33m
Sumitomo Type 39 Fiber Optic Fusion Splicer Kit NEW Sumitomo Type 39 Fiber Optic Fusion Splicer Kit NEW Paypal US $9,599.00 2d 20h 52m
Sumitomo Type 39 Fusion Splicer Kits NEW Lot of 2 Sumitomo Type 39 Fusion Splicer Kits NEW Lot of 2 Paypal US $19,198.00 2d 20h 57m
Sumitomo Type 39 Fusion Splicer Kits NEW Lot of 4 Sumitomo Type 39 Fusion Splicer Kits NEW Lot of 4 Paypal US $38,396.00 2d 20h 58m
KLEIN TOOLS CABLE SPLICERS KIT 46037 SEN NEW PACKAGE KLEIN TOOLS CABLE SPLICERS KIT 46037 SEN NEW PACKAGE Paypal US $29.99 2d 21h 30m
Sumitomo Type 36 Fusion Splicer Kit Sumitomo Type 36 Fusion Splicer Kit Paypal US $4,995.00 3d 1h 35m
FIBER OPTICS TOOL KIT SIECOR TKT 025 SPLICER FIBER OPTICS TOOL KIT SIECOR TKT 025 SPLICER Paypal 0 Bid US $98.99 3d 14h 17m
FSM 60S Brand New Fujikura Splicer Kit 2 Year Warranty FSM 60S Brand New Fujikura Splicer Kit 2 Year Warranty Paypal US $10,800.00 4d 14h 16m
Qty2 NEW Fujikura FSM 60S Splicer Kits 2 Year Warranty Qty2 NEW Fujikura FSM 60S Splicer Kits 2 Year Warranty Paypal US $21,600.00 4d 14h 16m
Fujikura FSM 60S New Complete Splicer Kit 2 Year Warran Fujikura FSM 60S New Complete Splicer Kit 2 Year Warran Paypal US $10,800.00 4d 14h 16m
Qty 2 FSM 40S Fujikura Complete Splicer Kit 2 Year Warr Qty 2 FSM 40S Fujikura Complete Splicer Kit 2 Year Warr Paypal US $13,800.00 4d 18h 15m
FSM 40S Fujikura Complete Splicer Kit 2 Year Warranty FSM 40S Fujikura Complete Splicer Kit 2 Year Warranty Paypal US $6,900.00 4d 18h 16m
Fujikura Master Installers Kit Brand New Fusion Splicer Fujikura Master Installers Kit Brand New Fusion Splicer Paypal US $16,995.00 4d 19h 9m
Ericsson RSU 12 Ribbon Fusion Splicer Kit Ericsson RSU 12 Ribbon Fusion Splicer Kit Paypal US $5,000.00 4d 23h 3m
Klein 46037 Cable Splicers Kit Klein 46037 Cable Splicers Kit Paypal US $34.99 5d 1h 11m
Kinyo Super 8mm Film Splicer Kit SV620 Kinyo Super 8mm Film Splicer Kit SV620 Paypal 0 Bid US $9.99 5d 3h 26m
Qty 2 TYPE 39 New Sumitomo Splicer Kit 2 Year Warranty Qty 2 TYPE 39 New Sumitomo Splicer Kit 2 Year Warranty Paypal US $18,400.00 5d 11h 32m
TYPE 39 Brand New Sumitomo Splicer Kit 2 Year Warranty TYPE 39 Brand New Sumitomo Splicer Kit 2 Year Warranty Paypal US $9,200.00 5d 11h 33m
Fujikura 30S Fusion Splicer Kit Fujikura 30S Fusion Splicer Kit Paypal US $4,995.00 5d 15h 13m
KLEIN TOOLS 46037 Telco Cable Splicer Kit FREE FLAT SH KLEIN TOOLS 46037 Telco Cable Splicer Kit FREE FLAT SH Paypal US $39.45 5d 16h 30m
New FSM 60R Fusion Splicer Kit New FSM 60R Fusion Splicer Kit Paypal US $17,900.00 5d 17h 5m
Ericsson 995FA Fiber Optic Fusion Splicer Kit Ericsson 995FA Fiber Optic Fusion Splicer Kit Paypal US $5,995.00 5d 17h 17m
New AFL S014528 FSM 18S Fusion Splicer Kit with Cleaver New AFL S014528 FSM 18S Fusion Splicer Kit with Cleaver Paypal US $6,999.99 5d 21h 35m
New AFL S014563 FSM 60R12 Fusion Splicer Kit New AFL S014563 FSM 60R12 Fusion Splicer Kit Paypal US $17,999.99 5d 21h 35m
New AFL S014534 FSM 60R12 Fusion Splicer Kit New AFL S014534 FSM 60R12 Fusion Splicer Kit Paypal US $17,499.99 5d 21h 35m
New AFL S014560 FSM 18S Fusion Splicer Kit New AFL S014560 FSM 18S Fusion Splicer Kit Paypal US $7,399.99 5d 21h 35m
New AFL S014532 FSM 60S Fusion Splicer Kit with Cleaver New AFL S014532 FSM 60S Fusion Splicer Kit with Cleaver Paypal US $15,499.99 5d 21h 36m
New AFL S014562 FSM 60S Fusion Splicer Kit New AFL S014562 FSM 60S Fusion Splicer Kit Paypal US $15,999.99 5d 21h 36m
INNOTEK PETSAFE WIRE KIT 20ga WIRE 50 FLAGS SPLICERS INNOTEK PETSAFE WIRE KIT 20ga WIRE 50 FLAGS SPLICERS Paypal US $23.88 5d 23h 19m
FSM 30R Fujikura Ribbon Splicer Kit 2 Year Warranty FSM 30R Fujikura Ribbon Splicer Kit 2 Year Warranty Paypal US $7,000.00 6d 15h 26m
FSM 50S Fujikura Complete Splicer Kit 2 Year Warranty FSM 50S Fujikura Complete Splicer Kit 2 Year Warranty Paypal US $9,250.00 6d 15h 27m
Sumitomo Type 39FH Kit 2 Fusion Splicer USA Model Sumitomo Type 39FH Kit 2 Fusion Splicer USA Model Paypal US $15,495.00 6d 17h 25m
Sumitomo Type 39 KIT 2 Fusion Splicer USA Model Sumitomo Type 39 KIT 2 Fusion Splicer USA Model Paypal US $15,495.00 6d 17h 33m
VHS Beta Splicer Kit by Kinyo Kit 45 Splicing Tabs VHS Beta Splicer Kit by Kinyo Kit 45 Splicing Tabs Paypal US $14.95 6d 18h 24m
Sumitomo Type 39 Fusion Splicer Kit Sumitomo Type 39 Fusion Splicer Kit Paypal US $9,495.00 6d 18h 35m
Fujikura FSM 60S Fusion Splicer Kit Fujikura FSM 60S Fusion Splicer Kit Paypal US $10,850.00 6d 18h 42m
Fujikura FSM 60S Fusion Splicer Kits NEW Lot of 2 Fujikura FSM 60S Fusion Splicer Kits NEW Lot of 2 Paypal US $21,750.00 6d 18h 46m
Fujikura FSM 60S Fusion Splicer Kits NEW Lot of 4 Fujikura FSM 60S Fusion Splicer Kits NEW Lot of 4 Paypal US $43,500.00 6d 18h 48m
Fitel S178 New Complete Fusion Splicer Kit BestWarranty Fitel S178 New Complete Fusion Splicer Kit BestWarranty Paypal US $12,500.00 7d 10h 8m
Fitel S121A Hand Held Fusion Splicer Kit Fitel S121A Hand Held Fusion Splicer Kit Paypal US $4,750.00 7d 17h 54m
Fitel S121M Hand Held Ribbon Fusion Splicer Kit Fitel S121M Hand Held Ribbon Fusion Splicer Kit Paypal US $4,895.00 7d 17h 56m
TYPE 66 New Sumitomo Mass Ribbon Splicer Kit 2 Year War TYPE 66 New Sumitomo Mass Ribbon Splicer Kit 2 Year War Paypal US $13,000.00 7d 22h 4m
Cable Splicers Kit Klein 46037 Cable Splicers Kit Klein 46037 Paypal US $34.00 7d 22h 17m
4 Four New Fujikura FSM 60S Fusion Splicer Kit 4 Four New Fujikura FSM 60S Fusion Splicer Kit Paypal US $42,000.00 8d 5h 16m
Fujikura FSM 40S Fusion Splicer Kit Fujikura FSM 40S Fusion Splicer Kit Paypal US $6,995.00 8d 14h 13m
Fujikura FSM 60S Fusion Splicer Kit Refurbished Fujikura FSM 60S Fusion Splicer Kit Refurbished Paypal US $10,395.00 8d 14h 43m
NEW KLEIN TOOLS LOT SPLICERS KIT LEVEL TAPE PLIERS NEW KLEIN TOOLS LOT SPLICERS KIT LEVEL TAPE PLIERS Paypal US $72.00 8d 17h 59m
Fitel S122C KIT 1 KIT Fusion Splicer USA Model Fitel S122C KIT 1 KIT Fusion Splicer USA Model Paypal US $7,095.00 9d 1h 9m
Sumitomo Type 25EM Kit 2R Ribbon Fusion Splicer USA Sumitomo Type 25EM Kit 2R Ribbon Fusion Splicer USA Paypal US $9,945.00 9d 9h 32m
Sumitomo Type 25ES Kit 2 Fusion Splicer USA Model Sumitomo Type 25ES Kit 2 Fusion Splicer USA Model Paypal US $7,395.00 9d 12h 40m
Sumitomo Type 25ES Kit 3 Fusion Splicer USA Model Sumitomo Type 25ES Kit 3 Fusion Splicer USA Model Paypal US $7,995.00 9d 12h 42m
Sumitomo Type 25EU KIT 1 Fusion Splicer USA Model Sumitomo Type 25EU KIT 1 Fusion Splicer USA Model Paypal US $4,875.00 9d 12h 43m
Sumitomo Type 25EU KIt 2 Fusion Splicer USA Sumitomo Type 25EU KIt 2 Fusion Splicer USA Paypal US $5,695.00 9d 12h 44m
Fitel S122C KIT 2 KIT Fusion Splicer USA Model Fitel S122C KIT 2 KIT Fusion Splicer USA Model Paypal US $8,295.00 9d 12h 49m
Sumitomo Type 66 Kit 2 Fusion Splicer USA Model Sumitomo Type 66 Kit 2 Fusion Splicer USA Model Paypal US $17,795.00 9d 12h 49m
Sumitomo Type 39 Kit 1 Fusion Splicer USA Model Sumitomo Type 39 Kit 1 Fusion Splicer USA Model Paypal US $14,850.00 9d 12h 57m
Sumitomo Type 66 Ribbon KIT Fusion Splicer USA Model Sumitomo Type 66 Ribbon KIT Fusion Splicer USA Model Paypal US $17,095.00 9d 14h 32m
CABLE SPLICER KITS NIP CABLE SPLICER KITS NIP Paypal US $20.00 12d 13h 37m
Extra Splicing Tabs for Kinyo Splicer Kit Extra Splicing Tabs for Kinyo Splicer Kit Paypal US $5.95 13d 47m
Splicer Kit for VHS Beta Tapes NIB Complete Kit Splicer Kit for VHS Beta Tapes NIB Complete Kit Paypal US $14.95 13d 47m
Keyence 96M0179 FIBER SPLICER MOUNTING KIT Keyence 96M0179 FIBER SPLICER MOUNTING KIT Paypal US $17.05 13d 2h 32m
Klein Cable Splicer Knife scissors pouch Kit 46037 Klein Cable Splicer Knife scissors pouch Kit 46037 Paypal US $25.00 13d 9h 29m
Cable splicer kit Klein Tools 46037 Cable splicer kit Klein Tools 46037 Paypal US $33.00 14d 16h 55m
PRO 730 Core Alignment Fusion Splicer Kit PRO 730 Core Alignment Fusion Splicer Kit Paypal US $10,995.00 14d 17h 36m
Fiber Optic Splicers Kit Fiber Optic Splicers Kit Paypal US $29.99 14d 22h 46m
Fujikura FSM 30R Ribbon Fusion Splicer Kit New Fujikura FSM 30R Ribbon Fusion Splicer Kit New Paypal US $9,595.00 15d 15h 29m
Sumitomo Type 65 Mass Fusion Splicer Kit Sumitomo Type 65 Mass Fusion Splicer Kit Paypal US $6,995.00 15d 17h 26m
Fujikura FSM 60S Fusion Splicer Kit Brand New Fujikura FSM 60S Fusion Splicer Kit Brand New Paypal US $9,800.00 16d 12m
Extra Splicing Tabs for Kinyo or 1 2 Splicer Kits Extra Splicing Tabs for Kinyo or 1 2 Splicer Kits Paypal US $5.95 16d 15h 36m
FITEL ELECTRODE KIT S182A FUSION SPLICER FITEL ELECTRODE KIT S182A FUSION SPLICER US $75.00 17d 16h 9m
Sumitomo Type 39 Fast Cat Core Alignment Splicer Kit Sumitomo Type 39 Fast Cat Core Alignment Splicer Kit Paypal US $10,500.00 18d 15h 35m
Fujikura FSM 40SB KIT Fusion Splicer USA Model Fujikura FSM 40SB KIT Fusion Splicer USA Model Paypal US $8,995.00 18d 22h 22m
Sumitomo Type 39 Fusion Splicer Kit Brand New Sumitomo Type 39 Fusion Splicer Kit Brand New Paypal US $8,600.00 19d 2h 34m
Fujikura FSM 60S Fusion Splicer Kit w New CT 30A Fujikura FSM 60S Fusion Splicer Kit w New CT 30A Paypal US $10,875.00 20d 19h 33m
MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT MASTERCRAFT 253005 BOAT MUFFLER HOSE and SPLICER KIT Paypal US $59.95 20d 20h 52m


Bishock 2 tips...............?

Any tips on how to beat the game on hard I set it hard so it would be more challenging and last longer but them F*cking splincers(or whatever there called) man wipe me out I use about 4 medic kits when there about10 splicers and they take a beating to kill especially big sisters:|

any tips would be nice. Cheers;)

I beat it on Hard and it wasn't that hard for me. The drill is your friend! I fully upgraded the drill as soon as possible. The final upgrade for the drill allows you to reflect projectiles back at the enemy while you are drilling. When you drill an enemy, they become temporarily stunned (the stun is significantly shorter on big daddies and big sisters). This is an easy way to knock off a big chunk of their health. You can then either finish them off by drilling them again, melee them down quickly, or shooting them down. The drill becomes a very powerful weapon once you get the charge ability. With damage increases from research I was able to kill enemies in 1 hit with the charge (with the exception of brute splicers, big daddies, big sisters, and security turrets). If you run out of drill fuel, go for headshots. A headshot does nearly double the normal damage and even more if you purchase the tonic that increases the damage done by headshots. You also need to conserve as much ammo as possible (that's why I melee splicers) so that you have enough money to buy health, eve, or even ammo. Out of all the plasmids available, I used the Hypnosis and the Telekinesis ones the most. Hypnosis lets you sit back and watch splicers kill each other which is nice and I used Telekinesis since there are so many explosive barrels lying around on each level.

Remember to purchase health upgrade in EACH level to help you out. As you progress through the game, buy up the armor tonic (research the brute splicers for the upgraded version) and the tonic that reduces fire damage (for big sisters and houdini splicers). It is important that you research whenever you can since the bonuses are essential for beating the game on Hard mode.

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

3M™ Scotchcast™ Inline Resin Splice Kit 82-A1 - Training

Splicer Kit