NAME Memory::Process - Peek/Poke other processes' address spaces SYNOPSIS use Memory::Process; my $mem = Memory::Process->new(pid => 123); 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 the contents of a memory cell at a specified address. This module brings similiar semantics to Perl. Eventually, Memory searching capability will also be added. IMPLEMENTATION The module leverages libvas for accessing the other virtual address spaces. METHODS AND ARGUMENTS new(pid) Constructs a new Memory::Process instance. peek(addr [, 'pack-string']) Peeks at the given memory address. If no pack-string is specified, a single byte is read. read(addr, size) Reads size bytes from given memory address. 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 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/Memory-Process SEE ALSO 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.