diff --git a/ChangeLog b/ChangeLog index 339e11c4..2573431d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,23 @@ This file details the changelog of Unicorn Engine. ---------------------------------- -[Version 1.0-rc2]: Janyary 4th, 2017 +[Version 1.0-rc3]: Janyary 25st, 2017 + +- Rename API uc_context_free() to uc_free(). +- ARM: + - uc_reg_write() now can modify CPSR register. + - Add some ARM coproc registers. +- ARM64: uc_reg_read|write() now handles W0-W31 registers. +- Windows: fix a double free bug in uc_close(). +- New VB6 binding. +- Java: update to support new APIs from v1.0-rc1. +- Python: + - Fix memory leaking that prevents UC instances from being GC. + - Remove some dependencies leftover from glib time. + - Add new method mem_regions() (linked to uc_mem_regions() API) + +---------------------------------- +[Version 1.0-rc2]: January 4th, 2017 - Remove glib & pkconfig dependency. - Python: fix an issue to restore support for FreeBSD (and other *BSD Unix). diff --git a/bindings/dotnet/UnicornManaged/Const/Arm.fs b/bindings/dotnet/UnicornManaged/Const/Arm.fs index 34eb91b6..00e511e8 100644 --- a/bindings/dotnet/UnicornManaged/Const/Arm.fs +++ b/bindings/dotnet/UnicornManaged/Const/Arm.fs @@ -120,7 +120,10 @@ module Arm = let UC_ARM_REG_S29 = 108 let UC_ARM_REG_S30 = 109 let UC_ARM_REG_S31 = 110 - let UC_ARM_REG_ENDING = 111 + let UC_ARM_REG_C1_C0_2 = 111 + let UC_ARM_REG_C13_C0_2 = 112 + let UC_ARM_REG_C13_C0_3 = 113 + let UC_ARM_REG_ENDING = 114 // alias registers let UC_ARM_REG_R13 = 12 diff --git a/bindings/go/unicorn/arm_const.go b/bindings/go/unicorn/arm_const.go index 60b57d20..e2cb8e8c 100644 --- a/bindings/go/unicorn/arm_const.go +++ b/bindings/go/unicorn/arm_const.go @@ -115,7 +115,10 @@ const ( ARM_REG_S29 = 108 ARM_REG_S30 = 109 ARM_REG_S31 = 110 - ARM_REG_ENDING = 111 + ARM_REG_C1_C0_2 = 111 + ARM_REG_C13_C0_2 = 112 + ARM_REG_C13_C0_3 = 113 + ARM_REG_ENDING = 114 // alias registers ARM_REG_R13 = 12 diff --git a/bindings/java/unicorn/ArmConst.java b/bindings/java/unicorn/ArmConst.java index b2c4644a..e3484ca3 100644 --- a/bindings/java/unicorn/ArmConst.java +++ b/bindings/java/unicorn/ArmConst.java @@ -117,7 +117,10 @@ public interface ArmConst { public static final int UC_ARM_REG_S29 = 108; public static final int UC_ARM_REG_S30 = 109; public static final int UC_ARM_REG_S31 = 110; - public static final int UC_ARM_REG_ENDING = 111; + public static final int UC_ARM_REG_C1_C0_2 = 111; + public static final int UC_ARM_REG_C13_C0_2 = 112; + public static final int UC_ARM_REG_C13_C0_3 = 113; + public static final int UC_ARM_REG_ENDING = 114; // alias registers public static final int UC_ARM_REG_R13 = 12; diff --git a/bindings/python/unicorn/arm_const.py b/bindings/python/unicorn/arm_const.py index 703dce33..fc74742c 100644 --- a/bindings/python/unicorn/arm_const.py +++ b/bindings/python/unicorn/arm_const.py @@ -113,7 +113,10 @@ UC_ARM_REG_S28 = 107 UC_ARM_REG_S29 = 108 UC_ARM_REG_S30 = 109 UC_ARM_REG_S31 = 110 -UC_ARM_REG_ENDING = 111 +UC_ARM_REG_C1_C0_2 = 111 +UC_ARM_REG_C13_C0_2 = 112 +UC_ARM_REG_C13_C0_3 = 113 +UC_ARM_REG_ENDING = 114 # alias registers UC_ARM_REG_R13 = 12 diff --git a/bindings/ruby/unicorn_gem/lib/unicorn/arm_const.rb b/bindings/ruby/unicorn_gem/lib/unicorn/arm_const.rb index 2a80d44c..50e7852e 100644 --- a/bindings/ruby/unicorn_gem/lib/unicorn/arm_const.rb +++ b/bindings/ruby/unicorn_gem/lib/unicorn/arm_const.rb @@ -115,7 +115,10 @@ module Unicorn UC_ARM_REG_S29 = 108 UC_ARM_REG_S30 = 109 UC_ARM_REG_S31 = 110 - UC_ARM_REG_ENDING = 111 + UC_ARM_REG_C1_C0_2 = 111 + UC_ARM_REG_C13_C0_2 = 112 + UC_ARM_REG_C13_C0_3 = 113 + UC_ARM_REG_ENDING = 114 # alias registers UC_ARM_REG_R13 = 12 diff --git a/include/unicorn/arm.h b/include/unicorn/arm.h index 1293be0d..2bf053e2 100644 --- a/include/unicorn/arm.h +++ b/include/unicorn/arm.h @@ -24,9 +24,6 @@ typedef enum uc_arm_reg { UC_ARM_REG_FPSCR_NZCV, UC_ARM_REG_FPSID, UC_ARM_REG_ITSTATE, - UC_ARM_REG_C1_C0_2, - UC_ARM_REG_C13_C0_2, - UC_ARM_REG_C13_C0_3, UC_ARM_REG_LR, UC_ARM_REG_PC, UC_ARM_REG_SP, @@ -129,6 +126,10 @@ typedef enum uc_arm_reg { UC_ARM_REG_S30, UC_ARM_REG_S31, + UC_ARM_REG_C1_C0_2, + UC_ARM_REG_C13_C0_2, + UC_ARM_REG_C13_C0_3, + UC_ARM_REG_ENDING, // <-- mark the end of the list or registers //> alias registers