forked from jan/mem_edit
		
	improve error handling
This commit is contained in:
		
							parent
							
								
									42c69867b8
								
							
						
					
					
						commit
						fec96b92a7
					
				@ -341,7 +341,7 @@ class Process(metaclass=ABCMeta):
 | 
				
			|||||||
                self.read_memory(start, region_buffer)
 | 
					                self.read_memory(start, region_buffer)
 | 
				
			||||||
                found += [offset + start for offset in search(needle_buffer, region_buffer)]
 | 
					                found += [offset + start for offset in search(needle_buffer, region_buffer)]
 | 
				
			||||||
            except OSError:
 | 
					            except OSError:
 | 
				
			||||||
                logger.error('Failed to read in range  0x{} - 0x{}'.format(start, stop))
 | 
					                logger.exception(f'Failed to read in range  0x{start} - 0x{stop}')
 | 
				
			||||||
        return found
 | 
					        return found
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @classmethod
 | 
					    @classmethod
 | 
				
			||||||
 | 
				
			|||||||
@ -161,8 +161,8 @@ class Process(AbstractProcess):
 | 
				
			|||||||
                ctypes.sizeof(write_buffer),
 | 
					                ctypes.sizeof(write_buffer),
 | 
				
			||||||
                None
 | 
					                None
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
        except (BufferError, ValueError, TypeError):
 | 
					        except (BufferError, ValueError, TypeError) as err:
 | 
				
			||||||
            raise MemEditError(f'Error with handle {self.process_handle}:  {self._get_last_error()}')
 | 
					            raise MemEditError(f'Error with handle {self.process_handle}:  {self._get_last_error()}') from err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def read_memory(self, base_address: int, read_buffer: ctypes_buffer_t) -> ctypes_buffer_t:
 | 
					    def read_memory(self, base_address: int, read_buffer: ctypes_buffer_t) -> ctypes_buffer_t:
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
@ -173,8 +173,8 @@ class Process(AbstractProcess):
 | 
				
			|||||||
                ctypes.sizeof(read_buffer),
 | 
					                ctypes.sizeof(read_buffer),
 | 
				
			||||||
                None
 | 
					                None
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
        except (BufferError, ValueError, TypeError):
 | 
					        except (BufferError, ValueError, TypeError) as err:
 | 
				
			||||||
            raise MemEditError(f'Error with handle {self.process_handle}: {self._get_last_error()}')
 | 
					            raise MemEditError(f'Error with handle {self.process_handle}: {self._get_last_error()}') from err
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return read_buffer
 | 
					        return read_buffer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -274,8 +274,7 @@ class Process(AbstractProcess):
 | 
				
			|||||||
                if success == 0:
 | 
					                if success == 0:
 | 
				
			||||||
                    raise MemEditError('Failed VirtualQueryEx with handle '
 | 
					                    raise MemEditError('Failed VirtualQueryEx with handle '
 | 
				
			||||||
                                       + f'{self.process_handle}: {self._get_last_error()}')
 | 
					                                       + f'{self.process_handle}: {self._get_last_error()}')
 | 
				
			||||||
                else:
 | 
					                raise MemEditError('VirtualQueryEx output too short!')
 | 
				
			||||||
                    raise MemEditError('VirtualQueryEx output too short!')
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            return mbi
 | 
					            return mbi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user