Compare commits

..

No commits in common. "master" and "v0.5" have entirely different histories.

5 changed files with 11 additions and 10 deletions

View file

@ -1,4 +1,4 @@
""" VERSION defintion. THIS FILE IS MANUALLY PARSED BY setup.py and REQUIRES A SPECIFIC FORMAT """ """ VERSION defintion. THIS FILE IS MANUALLY PARSED BY setup.py and REQUIRES A SPECIFIC FORMAT """
__version__ = ''' __version__ = '''
0.6 0.5
'''.strip() '''

View file

@ -13,6 +13,7 @@ from . import utils
from .utils import ctypes_buffer_t from .utils import ctypes_buffer_t
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)

View file

@ -15,6 +15,7 @@ from .abstract import Process as AbstractProcess
from .utils import ctypes_buffer_t, MemEditError from .utils import ctypes_buffer_t, MemEditError
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -58,9 +59,7 @@ class Process(AbstractProcess):
def close(self): def close(self):
os.kill(self.pid, signal.SIGSTOP) os.kill(self.pid, signal.SIGSTOP)
os.waitpid(self.pid, 0)
ptrace(ptrace_commands['PTRACE_DETACH'], self.pid, 0, 0) ptrace(ptrace_commands['PTRACE_DETACH'], self.pid, 0, 0)
os.kill(self.pid, signal.SIGCONT)
self.pid = None self.pid = None
def write_memory(self, base_address: int, write_buffer: ctypes_buffer_t): def write_memory(self, base_address: int, write_buffer: ctypes_buffer_t):
@ -95,14 +94,14 @@ class Process(AbstractProcess):
def get_pid_by_name(target_name: str) -> Optional[int]: def get_pid_by_name(target_name: str) -> Optional[int]:
for pid in Process.list_available_pids(): for pid in Process.list_available_pids():
try: try:
logger.debug('Checking name for pid {}'.format(pid)) logger.info('Checking name for pid {}'.format(pid))
with open('/proc/{}/cmdline'.format(pid), 'rb') as cmdline: with open('/proc/{}/cmdline'.format(pid), 'rb') as cmdline:
path = cmdline.read().decode().split('\x00')[0] path = cmdline.read().decode().split('\x00')[0]
except FileNotFoundError: except FileNotFoundError:
continue continue
name = os.path.basename(path) name = os.path.basename(path)
logger.debug('Name was "{}"'.format(name)) logger.info('Name was "{}"'.format(name))
if path is not None and name == target_name: if path is not None and name == target_name:
return pid return pid

View file

@ -14,6 +14,7 @@ from .abstract import Process as AbstractProcess
from .utils import ctypes_buffer_t, MemEditError from .utils import ctypes_buffer_t, MemEditError
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -228,18 +229,18 @@ class Process(AbstractProcess):
def get_pid_by_name(target_name: str) -> Optional[int]: def get_pid_by_name(target_name: str) -> Optional[int]:
for pid in Process.list_available_pids(): for pid in Process.list_available_pids():
try: try:
logger.debug('Checking name for pid {}'.format(pid)) logger.info('Checking name for pid {}'.format(pid))
with Process.open_process(pid) as process: with Process.open_process(pid) as process:
path = process.get_path() path = process.get_path()
name = os.path.basename(path) name = os.path.basename(path)
logger.debug('Name was "{}"'.format(name)) logger.info('Name was "{}"'.format(name))
if path is not None and name == target_name: if path is not None and name == target_name:
return pid return pid
except ValueError: except ValueError:
pass pass
except MemEditError as err: except MemEditError as err:
logger.debug(repr(err)) logger.info(repr(err))
logger.info('Found no process with name {}'.format(target_name)) logger.info('Found no process with name {}'.format(target_name))
return None return None

View file

@ -15,7 +15,7 @@ setup(name='mem_edit',
long_description=long_description, long_description=long_description,
long_description_content_type='text/markdown', long_description_content_type='text/markdown',
author='Jan Petykiewicz', author='Jan Petykiewicz',
author_email='jan@mpxd.net', author_email='anewusername@gmail.com',
url='https://mpxd.net/code/jan/mem_edit', url='https://mpxd.net/code/jan/mem_edit',
keywords=[ keywords=[
'memory', 'memory',