#!/usr/bin/perl use warnings; use strict; use Win32::API; my $STANDARD_RIGHTS_REQUIRED = (0x000F0000); my $SECTION_QUERY = 0x0001; my $SECTION_MAP_WRITE = 0x0002; my $SECTION_MAP_READ = 0x0004; my $SECTION_MAP_EXECUTE = 0x0008; my $SECTION_EXTEND_SIZE = 0x0010; my $SECTION_ALL_ACCESS = ($STANDARD_RIGHTS_REQUIRED|$SECTION_QUERY| $SECTION_MAP_WRITE |$SECTION_MAP_READ| $SECTION_MAP_EXECUTE |$SECTION_EXTEND_SIZE); Win32::API->Import('kernel32', 'HANDLE OpenFileMapping(DWORD dwDesiredAccess, BOOL bInheritHandle, LPCTSTR lpName)'); Win32::API->Import('kernel32', 'LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, SIZE_T dwNumberOfBytesToMap)'); my $C3_mem = "Creatures 3_mem"; my $mem_handle = OpenFileMapping($SECTION_ALL_ACCESS, 0, $C3_mem); my $mem_ptr = MapViewOfFile($mem_handle, $SECTION_ALL_ACCESS, 0, 0, 0);