Vivid Abstractions Where Programming Becomes An Abstraction

6Apr/118

Video Tutorial – Calling Conventions

This is my video tutorial on calling conventions in C++. This tutorial is divided into 4 parts, covering cdecl, stdcall, fastcall and thiscall.

Calling Conventions - Part 1 - Introduction
Calling Conventions - Part 2 - cdecl and stdcall
Calling Conventions - Part 3 - fastcall
Calling Conventions - Part 4 - thiscall

Enjoy.

18Feb/1138

Video Tutorial – Send Keys To An Inactive Window – Windows Messages

This tutorial will show you how to send keys to an inactive window by using Windows Messages. The code sample is in C# but can easily be translated into C++ and VB.

Part 1 - Grabbing the Messages!
Part 2 - Writing the Application!

Source Code!
Enjoy.

10Jan/117

Video Tutorial – Writing Code Caves

This is my video tutorial on writing Code Caves.

Click here for part 1 - Finding the Values!
Click here for part 2 - Writing the Code Cave!

Enjoy.

5Jan/112

Video Tutorial – Patch Worms Reloaded To Bypass CRC

This is my video tutorial on how to bypass the CRC check inside Worms Reloaded. With this you can create new effects, test weapon changes and use other language files!

Click here for the tutorial!

Enjoy.

15Dec/107

Video Tutorial – Structures In Memory

This is my video tutorial on structures in memory. We are going to focus on player structures which can be found in many commercial games and how to reverse them

Click here for the tutorial!

Click here for the program and source code!

Enjoy.

19May/1013

Video Tutorial – Function Hooking

This is my video tutorial on function hooking.

Click here for the tutorial!

The hooking function:

 void WriteJMP(byte* location, byte* newFunction)
{
DWORD dwOldProtection;
VirtualProtect(location, 5, PAGE_EXECUTE_READWRITE, dwOldProtection);
location[0] = 0xE9;
 *((dword*)(location + 1)) = (dword)(newFunction - location) - 5;
VirtualProtect(location, 5, dwOldProtection, &dwOldProtection);
} 

Complete Source:

// dllmain.cpp : Defines the entry point for the DLL application.
#include "stdafx.h"
#include <windows.h>
typedef unsigned char byte;
typedef unsigned short word;
typedef unsigned int dword;
byte countSwitch = 0;
DWORD UpdateTimeCall = 0x01001D6C; //This call calls the UpdateTime function
DWORD UpdateTimeRetn = 0x01001D71; //This is the place where we will return     0x01001D6C + 0x05
DWORD UpdateTimeFunc = 0x01002FE0; //This is the updateTime function
void WriteJMP(byte* location, byte* newFunction){
	DWORD dwOldProtection;
	VirtualProtect(location, 5, PAGE_EXECUTE_READWRITE, &dwOldProtection);
		location[0] = 0xE9;
		*((dword*)(location + 1)) = (dword)(newFunction - location) - 5;
	VirtualProtect(location, 5, dwOldProtection, &dwOldProtection);
}
void _declspec(naked) hTimeFunc(){
	if(countSwitch == 0)
	{
		countSwitch = 1;
		_asm
		{
			JMP UpdateTimeRetn
		}
	}
	else
	{
		countSwitch = 0;
		_asm
		{
			CALL UpdateTimeFunc
			JMP UpdateTimeRetn
		}
	}
}
void initHooks(){
	WriteJMP((byte*)UpdateTimeCall,(byte*)hTimeFunc); //Writes a jump from the original call to our custom function
}
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
		initHooks();
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
	return TRUE;
}

Enjoy.

10Apr/103

Video Tutorial – Memory Pattern Scanning

This is my video tutorial on scanning memory patterns to find addresses in memory that change during recompilation.

Click here for the tutorial!

The pattern scanning function:

bool bDataCompare(const BYTE* pData, const BYTE* bMask, const char* szMask)
{
	for(;*szMask;++szMask,++pData,++bMask)
		if(*szMask=='x' && *pData!=*bMask )
			return false;
	return (*szMask) == NULL;
}
DWORD dwFindPattern(DWORD dwAddress,DWORD dwLen, BYTE *bMask, char * szMask) {
	for(DWORD i=0;i<dwLen;i++)
		if( bDataCompare( (BYTE*)( dwAddress+i ),bMask,szMask) )
			return (DWORD)(dwAddress+i);
	return NULL;
}

SigMaker 0.3 by P47R!CK
Enjoy.

21Mar/1012

VAMemory – Video Tutorial – How To Create A Trainer in C#

For this tutorial you will need the VAMemory DLL. You can download the newest version.
Download: VAMemory (v. 1.3)

Part 1 - Finding The Value

Part 2 - Writing The Trainer

Enjoy.

6Dec/092

How to bypass: “This video is not available in your country due to copyright restrictions.”

or for the Germans: "Dieses Video ist aufgrund von Urheberrechtsbeschränkungen in deinem Land nicht verfügbar.".

To get around this you can use a Proxy Server. A Proxy is basically a computer where you detour your internet through. So instead of the website seeing your computer, it will see the detoured computer. This computer resides in another country and might not be restricted to watch the YouTube video!

To find these Proxys you can just Google them. Most of the videos on YouTube are not restricted in America so you try to find an American Proxy Server.

Here is one that has always worked for me: http://www.tubemirror.com/


Where it says "Enter the URL Address:" just copy and paste your YouTube video link in and click surf! Done.

This is completely legal!

   
SEO Powered by Platinum SEO from Techblissonline

Page optimized by WP Minify WordPress Plugin