7/18/2005

Keyboard Spy: Implementation and Counter Measures

Nice article from Codeguru site. It explains how to hide an EXE (file and process) in NTFS. Also a Spy-safe password edit control.

CodeGuru: Keyboard Spy: Implementation and Counter Measures

A Tour of the Win32 Portable Executable File Format

Here are some articles I found regarding PE file format. This knowledge can be useful in API hooking when we need to modify the import address table.
Article here.

Inside Windows: An In-Depth Look into the Win32 Portable Executable File Format- Part 1

Inside Windows: An In-Depth Look into the Win32 Portable Executable File Format, Part 2
This is a great web site. Windows programming in Assembly!!! Look for PE view tool.
WJR Programming Etc.

7/10/2005

Auto Testing Browser Control Applications

I always wondered how to send messages to UI elements inside a Browser control.
Article

7/06/2005

Difference between Mutex and Semaphore

This seems to pop up every now and then during interviews. So here is a nice Power Point presentation on the topic.
Link here

Just to confuse you, here are more description:A user-mode semaphore gates access to resources, allowing some maximum number of threads, as specified when the semaphore object was created, to access the resources protected by the semaphore.
Each user-mode semaphore also has an associated current count, representing how many additional threads can acquire the semaphore. When the current count is zero, a thread attempting to acquire the semaphore waits until the count is incremented when another thread releases that semaphore. Every user-mode semaphore object is implemented through the use of a kernel-mode semaphore object.

A kernel-mode semaphore is an instance of a kernel-defined dispatcher object type.

Any semaphore object has either of two uses:

A counting semaphore gates access to a resource by allowing some number of threads up to a specified limit to access the resource while the semaphore is set to the Signaled state (semaphore count is nonzero).
A binary semaphore gates access to a single resource, if and only if the limit is set to one and it is not possible for the semaphore to be over-Signaled (set to the Signaled state when it is already in the Signaled state). A binary semaphore gates exclusive access to a resource.

However, using a semaphore with a limit of one to gate access is not the same thing as using a mutex: semaphores have no ownership, deadlocks are possible, and the owner's priority is unaffected.

7/01/2005

Design Patterns

I got frustrated being asked about different design patterns so here is web site explaining this subject.
Design Patterns

Useful netsh commands

To see blocked ports on your system:  netsh interface ipv4 show excludedportrange protocol=tcp For more info visit: https://ardalis.com/atte...