NAME Proc::Memory - Peek/Poke into processes' address spaces SYNOPSIS use Proc::Memory; my $mem = Proc::Memory->new(pid => $$); my $byte = $mem->peek(0x1000); my $u32 = $mem->read(0x1000, 4); $mem->poke(0x1000, 'L') = 12; DESCRIPTION PEEK/POKE are a BASIC programming language extension for reading/writing memory at a specified address. This module brings similiar capability to Perl. Eventually, Memory searching capability will also be added. IMPLEMENTATION The module is a Perlish wrapper for Alien::libvas and doesn't expose any extra functionality. libvas currently supports Win32, macOS and Linux. METHODS AND ARGUMENTS new(pid) Constructs a new Proc::Memory instance. peek(addr [, 'pack-string']) Peeks at the given memory address. pack-string defaults to 'C' (A single byte) poke(addr [, 'pack-string']) = $value # or = ($a, $b) Pokes a given memory address. If no pack-string is given, the rvalue is written as is read(addr, size) Reads size bytes from given memory address. write(addr, buf [, count]) Writes buf to addr tie(addr, 'pack-string') Returns a tied variable which can be used like any other variable. To be implemented search('pack-string') To be implemented when libvas provides it GIT REPOSITORY http://github.com/athreef/Proc-Memory SEE ALSO libvas Alien::libvas AUTHOR Ahmad Fatoum , http://a3f.at COPYRIGHT AND LICENSE Copyright (C) 2016 Ahmad Fatoum This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.