about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2018-03-28 15:22:51 +0200
committerGitHub <noreply@github.com>2018-03-28 15:22:51 +0200
commit5b07d8c8828bdaba0c9a4ce63e978441d5dab525 (patch)
treeaa61c08b6da9a914c0ec5d4f0a516d6f365d5da3
parent92e508bc505fc8c23cc2a50ee6abfb03ccfa3ce4 (diff)
parent719266807687e0a9a5b4f194d7c2220974a2e83f (diff)
downloadmiasm-5b07d8c8828bdaba0c9a4ce63e978441d5dab525.tar.gz
miasm-5b07d8c8828bdaba0c9a4ce63e978441d5dab525.zip
Merge pull request #707 from serpilliere/fix_bp_memory_name
Fix memory breakpoint name
-rw-r--r--miasm2/analysis/debugging.py2
-rw-r--r--miasm2/jitter/csts.py4
-rw-r--r--miasm2/jitter/jitload.py4
-rw-r--r--miasm2/jitter/vm_mngr.c10
-rw-r--r--miasm2/jitter/vm_mngr.h4
-rw-r--r--miasm2/jitter/vm_mngr_py.c2
-rw-r--r--test/jitter/test_post_instr.py6
7 files changed, 18 insertions, 14 deletions
diff --git a/miasm2/analysis/debugging.py b/miasm2/analysis/debugging.py
index d970f848..fc03eb17 100644
--- a/miasm2/analysis/debugging.py
+++ b/miasm2/analysis/debugging.py
@@ -87,7 +87,7 @@ class Debugguer(object):
         self.myjit.add_breakpoint(addr, func)
 
     def init_memory_breakpoint(self):
-        "Set exception handler on EXCEPT_BREAKPOINT_INTERN"
+        "Set exception handler on EXCEPT_BREAKPOINT_MEMORY"
         raise NotImplementedError("Not implemented")
 
     def add_memory_breakpoint(self, addr, size, read=False, write=False):
diff --git a/miasm2/jitter/csts.py b/miasm2/jitter/csts.py
index 56179c92..9c9919fc 100644
--- a/miasm2/jitter/csts.py
+++ b/miasm2/jitter/csts.py
@@ -9,7 +9,9 @@ EXCEPT_CODE_AUTOMOD = (1 << 0)
 EXCEPT_SOFT_BP = (1 << 1)
 EXCEPT_INT_XX = (1 << 2)
 EXCEPT_SPR_ACCESS = (1 << 3)
-EXCEPT_BREAKPOINT_INTERN = (1 << 10)
+EXCEPT_BREAKPOINT_MEMORY = (1 << 10)
+# Deprecated
+EXCEPT_BREAKPOINT_INTERN = EXCEPT_BREAKPOINT_MEMORY
 
 EXCEPT_ACCESS_VIOL = ((1 << 14) | EXCEPT_DO_NOT_UPDATE_PC)
 EXCEPT_DIV_BY_ZERO = ((1 << 16) | EXCEPT_DO_NOT_UPDATE_PC)
diff --git a/miasm2/jitter/jitload.py b/miasm2/jitter/jitload.py
index a14334cb..499d6c47 100644
--- a/miasm2/jitter/jitload.py
+++ b/miasm2/jitter/jitload.py
@@ -149,7 +149,7 @@ class ExceptionHandle():
 
     @classmethod
     def memoryBreakpoint(cls):
-        return cls(EXCEPT_BREAKPOINT_INTERN)
+        return cls(EXCEPT_BREAKPOINT_MEMORY)
 
     def __eq__(self, to_cmp):
         if not isinstance(to_cmp, ExceptionHandle):
@@ -256,7 +256,7 @@ class jitter(object):
             return ExceptionHandle.memoryBreakpoint()
 
         self.add_exception_handler(EXCEPT_CODE_AUTOMOD, exception_automod)
-        self.add_exception_handler(EXCEPT_BREAKPOINT_INTERN,
+        self.add_exception_handler(EXCEPT_BREAKPOINT_MEMORY,
                                    exception_memory_breakpoint)
 
     def add_breakpoint(self, addr, callback):
diff --git a/miasm2/jitter/vm_mngr.c b/miasm2/jitter/vm_mngr.c
index 3c324a08..8e50a6dd 100644
--- a/miasm2/jitter/vm_mngr.c
+++ b/miasm2/jitter/vm_mngr.c
@@ -220,7 +220,7 @@ static uint64_t memory_page_read(vm_mngr_t* vm_mngr, unsigned int my_size, uint6
 		if ((b->access & BREAKPOINT_READ) == 0)
 			continue;
 		if ((b->ad <= ad) && (ad < b->ad + b->size))
-			vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_INTERN;
+			vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_MEMORY;
 	}
 
 
@@ -306,7 +306,7 @@ static void memory_page_write(vm_mngr_t* vm_mngr, unsigned int my_size,
 		if ((b->access & BREAKPOINT_WRITE) == 0)
 			continue;
 		if ((b->ad <= ad) && (ad < b->ad + b->size))
-			vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_INTERN;
+			vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_MEMORY;
 	}
 
 	addr = &((unsigned char*)mpn->ad_hp)[ad - mpn->ad];
@@ -495,13 +495,13 @@ void check_memory_breakpoint(vm_mngr_t* vm_mngr)
 
 	/* Check memory breakpoints */
 	LIST_FOREACH(memory_bp, &vm_mngr->memory_breakpoint_pool, next) {
-		if (vm_mngr->exception_flags & EXCEPT_BREAKPOINT_INTERN)
+		if (vm_mngr->exception_flags & EXCEPT_BREAKPOINT_MEMORY)
 			break;
 		if (memory_bp->access & BREAKPOINT_READ) {
 			for (i=0;i<vm_mngr->memory_r.num; i++) {
 				if ((memory_bp->ad < vm_mngr->memory_r.array[i].stop) &&
 				    (vm_mngr->memory_r.array[i].start < memory_bp->ad + memory_bp->size)) {
-					vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_INTERN;
+					vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_MEMORY;
 					break;
 				}
 			}
@@ -510,7 +510,7 @@ void check_memory_breakpoint(vm_mngr_t* vm_mngr)
 			for (i=0;i<vm_mngr->memory_w.num; i++) {
 				if ((memory_bp->ad < vm_mngr->memory_w.array[i].stop) &&
 				    (vm_mngr->memory_w.array[i].start < memory_bp->ad + memory_bp->size)) {
-					vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_INTERN;
+					vm_mngr->exception_flags |= EXCEPT_BREAKPOINT_MEMORY;
 					break;
 				}
 			}
diff --git a/miasm2/jitter/vm_mngr.h b/miasm2/jitter/vm_mngr.h
index d114d8f0..8528eb3f 100644
--- a/miasm2/jitter/vm_mngr.h
+++ b/miasm2/jitter/vm_mngr.h
@@ -147,7 +147,9 @@ struct memory_breakpoint_info {
 #define EXCEPT_SOFT_BP (1<<1)
 #define EXCEPT_INT_XX (1<<2)
 
-#define EXCEPT_BREAKPOINT_INTERN (1<<10)
+#define EXCEPT_BREAKPOINT_MEMORY (1<<10)
+// Deprecated
+#define EXCEPT_BREAKPOINT_INTERN (EXCEPT_BREAKPOINT_MEMORY)
 
 #define EXCEPT_NUM_UPDT_EIP (1<<11)
 // interrupt with eip at instr
diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c
index fa69fab5..24f9dd9a 100644
--- a/miasm2/jitter/vm_mngr_py.c
+++ b/miasm2/jitter/vm_mngr_py.c
@@ -679,7 +679,7 @@ static PyMethodDef VmMngr_methods[] = {
 	{"check_invalid_code_blocs",(PyCFunction)vm_check_invalid_code_blocs, METH_VARARGS,
 	 "check_invalid_code_blocs() -> Set the AUTOMOD flag in exception in case of automodified code"},
 	{"check_memory_breakpoint",(PyCFunction)vm_check_memory_breakpoint, METH_VARARGS,
-	 "check_memory_breakpoint() -> Set the BREAKPOINT_INTERN flag in exception in case of memory breakpoint occurred"},
+	 "check_memory_breakpoint() -> Set the BREAKPOINT_MEMORY flag in exception in case of memory breakpoint occurred"},
 
 	{NULL}  /* Sentinel */
 };
diff --git a/test/jitter/test_post_instr.py b/test/jitter/test_post_instr.py
index 8dc27dc2..3e68d58e 100644
--- a/test/jitter/test_post_instr.py
+++ b/test/jitter/test_post_instr.py
@@ -1,5 +1,5 @@
 from miasm2.analysis.machine import Machine
-from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_BREAKPOINT_INTERN, EXCEPT_ACCESS_VIOL
+from miasm2.jitter.csts import PAGE_READ, PAGE_WRITE, EXCEPT_BREAKPOINT_MEMORY, EXCEPT_ACCESS_VIOL
 import sys
 
 machine = Machine("x86_32")
@@ -29,8 +29,8 @@ jitter.jit.log_regs = True
 def do_not_raise_me(jitter):
     raise ValueError("Should not be here")
 
-jitter.exceptions_handler.callbacks[EXCEPT_BREAKPOINT_INTERN] = []
-jitter.add_exception_handler(EXCEPT_BREAKPOINT_INTERN,
+jitter.exceptions_handler.callbacks[EXCEPT_BREAKPOINT_MEMORY] = []
+jitter.add_exception_handler(EXCEPT_BREAKPOINT_MEMORY,
                              do_not_raise_me)
 jitter.vm.add_memory_breakpoint(0x11000-4, 4, PAGE_READ | PAGE_WRITE)