System File Checker: The savior for Windows 7 and 8

When a Windows 7 or Windows 8 starts to behave weirdly, this is the general-purpose command that can save your day (in the Command Prompt): sfc /scannow It scans all system files and fixes whatever looks bad. In my case, it started off as a “Limited” Wireless connection on a laptop (after it had been [...]

Resetting a Windows XP/7/8 password, the Linux way

What happens if a Windows user loses his or her password? No problem, Windows was never meant to be secure. Only appear as if it was. There are several automatic tools out there. I preferred running my Fedora-based LiveUSB and fix it while actually seeing what I’m doing. The whole thing is about modifying the [...]

Windows: Tracking process launches and ends

I’m sure there’s a saner way to do this than the Perl script below, but jotting it down was so easy, that it wasn’t worth looking for another tool to do it. The idea is the simplest ever: Grab the list of processes 10 times a second or so, and write a line to standard [...]

A dissection of WDK’s PCIDRV sample driver’s IRP juggling

Scope The WDK arrives with sample code for a PCI driver, known as PCIDRV. It demonstrates the recommended old-school methods for avoiding mishaps when maintaining your own IRP queue. Frankly speaking, I’ve written this post as I learned the different corners of IRP juggling, so pretty much like certain operating systems, it’s a bit of [...]

An FPGA-based PCI Express peripheral for Windows: It’s easy

To make a long story short… There is really no need to work hard to make your FPGA talk with a PC.  Xillybus gives you the end-to-end connection interfacing FPGAs with both Linux and Windows computers. The challenge At times, FPGA engineers are faced with the need to transfer data to or from a regular [...]

Windows device driver loading logs

The log level is set in the registry at HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel. The key may need to be created (DWORD). The default on my computer turned out to be 0x2000ff00, which means maximal logging is achieved. The set bit 29 tells the logger not to flush data into the file after each entry (faster logging, but data [...]

Bug check on IoConnectInterruptEx()

If you’re reading this, it’s likely that you’ve experienced a bug check (blue screen of death, BSOD, if you like) as a result of calling IoConnectInterruptEx(). It’s also likely that you used this function to support MSI (Message Signaling Interrupt). You may have attempted to follow the horribly misleading example given by Microsoft itself. The [...]

Mangling win32 executables with a hex editor

This is a short note about how to make small manipulations in executables or DLLs in order to get rid of malware behaviour. For example, if some application pops up a dialog box which I’d like to eliminate. It can also be the final step in cracking (which is very recommended as an educational experience). [...]

Tracing API calls on Windows

Linux has ltrace. Windows has…? I was looking for applications to trace DLL calls, so I could tell why a certain application goes wrong. The classic way is to get hints from library calls. Or system calls. Or both. In the beginning, I was turned down by they idea, that most trackers only support those [...]

DCM loses lock on Virtex-4: It’s all about auto calibration

The whole story began when I decided to be kind enough to tell the Xilinx tools (ISE 9.2 in my case) that the Virtex-4 I’m targeting is a grown-up. Stepping 2, to be precise. I added CONFIG STEPPING = “2″; to the UCF file. It must have been one of those moments where I believed [...]