author | Pengguang Zhu <pengguang.zhu@amlogic.com> | 2017-07-12 08:17:41 (GMT) |
---|---|---|
committer | Pengguang Zhu <pengguang.zhu@amlogic.com> | 2017-07-13 07:36:02 (GMT) |
commit | fe472407a001970e5ad8fffc997e799f31891e10 (patch) | |
tree | a96c8fe41b431b29c113969522c1e4c3e4355495 | |
parent | 966db9832bf291adb07331f2ba8adbcf1c43efe4 (diff) | |
download | tdk-fe472407a001970e5ad8fffc997e799f31891e10.zip tdk-fe472407a001970e5ad8fffc997e799f31891e10.tar.gz tdk-fe472407a001970e5ad8fffc997e799f31891e10.tar.bz2 |
update bl32.img README.md and ta_export
1. update TA sign and verify flow
2. support watermark
3. update README for TA sign
bl32 commit: dc2b2aa0c4d0efaa8cdc4348e8b85b40ed24c76b
Change-Id: I507a4e425d4f7e58ce6d8a475ee0ab15cab3f312
Signed-off-by: Pengguang Zhu <pengguang.zhu@amlogic.com>
41 files changed, 7284 insertions, 6953 deletions
@@ -4,7 +4,8 @@ TA_GEN_CERT_TOOL := $(TDK_TOP_DIR)/ta_export/scripts/gen_cert_key.py TA_ROOT_PRIV_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/root_rsa_prv_key.pem TA_USER_PUB_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/ta_rsa_pub_key.pem TA_USER_PRIV_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/ta_rsa_prv_key.pem -TA_ROOT_AES_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/ta_aes_key.bin +TA_ROOT_AES_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/root_aes_key.bin TA_USER_AES_KEY ?= $(TDK_TOP_DIR)/ta_export/keys/ta_aes_key.bin +TA_USER_AES_IV ?= $(TDK_TOP_DIR)/ta_export/keys/ta_aes_iv.bin include $(call all-subdir-makefiles) @@ -13,3 +13,22 @@ $ make driver ## How to build Android CA/driver $ mm + +## How to sign TA +$ ./ta_export/scripts/gen_cert_key.py + --root_rsa_key=ta_export/keys/root_rsa_prv_key.pem + --ta_rsa_key=ta_export/keys/ta_rsa_pub_key.pem + --uuid=8aaaf200-2450-11e4-abe2-0002a5d5c51b + --ta_rsa_key_sig=ta_rsa_key.sig + --root_aes_key=ta_export/keys/root_aes_key.bin + --ta_aes_key=ta_export/keys/ta_aes_key.bin + --ta_aes_iv=ta_export/keys/ta_aes_iv.bin + --ta_aes_key_iv_enc=ta_aes_key_enc.bin +$ ./ta_export/scripts/sign_ta.py + --ta_rsa_key=ta_export/keys/ta_rsa_prv_key.pem + --ta_rsa_key_sig=ta_rsa_key.sig + --ta_aes_key=ta_export/keys/ta_aes_key.bin + --ta_aes_iv=ta_export/keys/ta_aes_iv.bin + --ta_aes_key_iv_enc=ta_aes_key_enc.bin + --in=8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta + --out=8aaaf200-2450-11e4-abe2-0002a5d5c51b.ta diff --git a/demos/hello_world/ta/Android.mk b/demos/hello_world/ta/Android.mk index 7a77a20..f882e04 100644 --- a/demos/hello_world/ta/Android.mk +++ b/demos/hello_world/ta/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/aes_perf/Android.mk b/demos/optee_test/ta/aes_perf/Android.mk index c00c3f8..e93da9b 100644 --- a/demos/optee_test/ta/aes_perf/Android.mk +++ b/demos/optee_test/ta/aes_perf/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/concurrent/Android.mk b/demos/optee_test/ta/concurrent/Android.mk index 9aa6e19..fe75f0d 100644 --- a/demos/optee_test/ta/concurrent/Android.mk +++ b/demos/optee_test/ta/concurrent/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/concurrent_large/Android.mk b/demos/optee_test/ta/concurrent_large/Android.mk index ace9853..2e882f1 100644 --- a/demos/optee_test/ta/concurrent_large/Android.mk +++ b/demos/optee_test/ta/concurrent_large/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/create_fail_test/Android.mk b/demos/optee_test/ta/create_fail_test/Android.mk index 62c372a..447addd 100644 --- a/demos/optee_test/ta/create_fail_test/Android.mk +++ b/demos/optee_test/ta/create_fail_test/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/crypt/Android.mk b/demos/optee_test/ta/crypt/Android.mk index 3bbd5cc..8cc2724 100644 --- a/demos/optee_test/ta/crypt/Android.mk +++ b/demos/optee_test/ta/crypt/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/os_test/Android.mk b/demos/optee_test/ta/os_test/Android.mk index 754057f..d8fe2c3 100644 --- a/demos/optee_test/ta/os_test/Android.mk +++ b/demos/optee_test/ta/os_test/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/rpc_test/Android.mk b/demos/optee_test/ta/rpc_test/Android.mk index 3e2b9a3..0d3a002 100644 --- a/demos/optee_test/ta/rpc_test/Android.mk +++ b/demos/optee_test/ta/rpc_test/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/sdp_basic/Android.mk b/demos/optee_test/ta/sdp_basic/Android.mk index 3416ed1..8e1ad09 100644 --- a/demos/optee_test/ta/sdp_basic/Android.mk +++ b/demos/optee_test/ta/sdp_basic/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/sha_perf/Android.mk b/demos/optee_test/ta/sha_perf/Android.mk index a6c3a3b..a7a7fb3 100644 --- a/demos/optee_test/ta/sha_perf/Android.mk +++ b/demos/optee_test/ta/sha_perf/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/sims/Android.mk b/demos/optee_test/ta/sims/Android.mk index 156fa77..acf2b3a 100644 --- a/demos/optee_test/ta/sims/Android.mk +++ b/demos/optee_test/ta/sims/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/socket/Android.mk b/demos/optee_test/ta/socket/Android.mk index d152635..d9dc8d5 100644 --- a/demos/optee_test/ta/socket/Android.mk +++ b/demos/optee_test/ta/socket/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/storage/Android.mk b/demos/optee_test/ta/storage/Android.mk index 899e918..22762fd 100644 --- a/demos/optee_test/ta/storage/Android.mk +++ b/demos/optee_test/ta/storage/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/storage2/Android.mk b/demos/optee_test/ta/storage2/Android.mk index 42bbe8f..f00c1e6 100644 --- a/demos/optee_test/ta/storage2/Android.mk +++ b/demos/optee_test/ta/storage2/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/demos/optee_test/ta/storage_benchmark/Android.mk b/demos/optee_test/ta/storage_benchmark/Android.mk index a4b0b24..4a7cdb4 100644 --- a/demos/optee_test/ta/storage_benchmark/Android.mk +++ b/demos/optee_test/ta/storage_benchmark/Android.mk @@ -20,11 +20,13 @@ $(info $(shell $(TA_GEN_CERT_TOOL) --root_rsa_key=$(TA_ROOT_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --root_aes_key=$(TA_ROOT_AES_KEY) \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin )) $(info $(shell $(TA_SIGN_TOOL) --ta_rsa_key=$(TA_USER_PRIV_KEY) \ --ta_rsa_key_sig=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig \ --ta_aes_key=$(TA_USER_AES_KEY) \ - --ta_aes_key_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ + --ta_aes_iv=$(TA_USER_AES_IV) \ + --ta_aes_key_iv_enc=$(LOCAL_PATH)/$(OUTPUT_DIR)/ta_aes_key_enc.bin \ --in=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta \ --out=$(LOCAL_PATH)/$(OUTPUT_DIR)/$(TA_BINARY).ta )) $(info $(shell rm -f $(LOCAL_PATH)/$(OUTPUT_DIR)/ta_rsa_key.sig )) diff --git a/secureos/axg/bl32.img b/secureos/axg/bl32.img index 54ab627..d194375 100644 --- a/secureos/axg/bl32.img +++ b/secureos/axg/bl32.img @@ -1,45 +1,44 @@ e4' -o - +o + # -# - - -" - -" -UxNE F -vN? -YI +# + + +" +" +YI SI -۲F -FFBKhBK -'%j -F -3.iJa (F$ +۲F +FFBKhBK +
4 +G4 F
" +G # +I#FGF FI +G F$ Kka -KZh*b5`]`HH +KZh*b5`]`HH BohXXP K" -H@( - -;` -!F2F -+ F9Fj +H@( + +;` +!F2F ++ F9Fj Q Q -Q -KEsa#a +Q +KEsa#a -A$ʹ# F3`K+` +A$# F3`K+` -E +E , -E""@ -CB`V" B3B`pG - -p +E""@ +CB`V" B3B`pG + +p @@ -48,122 +47,119 @@ CB`V" B3B`pG / / / -/F FF -Zh:x"p -Z` +/F FF +Zh:x"p +Z` K SBSL B3S -FF!30F
KBS,BSL:B +FF!30F
KBS,BSL:B #
'wF?
?K P 5 AF - + PCFSS, -CCL - -H@_!J +CCL + +H@_!J -k@F!hhر +k@F!hhر BV8/ "h8XB&`hhzhBhbhyhB4FF h{`B, -0`#ahEX +0`#ahE> i
=
'w-?
#-?? F3h @h+- - JEEE0iB@ L\CCP`L}B``ap + JEEE0iB@ L\CCP`L}B``ap Z B`E E DG`1 )H3+Ѣkh0 -C`eck" c8xG3-GFFFF +C`eck"c8PG3-GFFFF -kBYCh8FIFhBpk +kBYCh8FIFh(pk -kXYZQhFk@F![h
@k]hCD -KB - +kXYZQhFk@F![h@k]hCD +KB + ?O 2?#?#P?@j k@i :_вRB@` - -F ` F!(FK Fg``@?t2C-
p -M
- -K"! H(F|K``cb -FG + +M
+ +K"! H(FbK``cb +FG Eѝ -0 -JOq
H -22G3 +0 +JOq
H - -#hG8" - -+hD$F]#DBB3$+ + +#hG8" + +hD$F]#DBB3$+ K" -H! -F( -F( - -+F( +H! +F( +F( + +F( -H[ - -}F( -8F(I -ZF( -WK"HOq - -Fl6K -Hh -(` +H[ + +cF( +8F(I +@F( +WK"HOq + +FR6K +Hh +2\c(2hcE2lca2pcx2tc2c2̈c2Ȉc2c2c2c 2c52HcL2Dca2@c}2Lc2?K!?J@Hh +q(` (JhK
"`JhK`pG0 -pYp p p -K -
K -K -K -K -K -K -K +pYp p p +K +
K +K +K +K +K +K +K K -H! -"!cd"Add x22kF:* K +H! +"!cd"Add p22kF:* K *( -@j@h -5-hh O -K`0FK`Zh"p""?B +@j@h +K`0FK`Zh"p""?B J``KhB `"h dbhJdhdhdL -"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` jx5K``js3K`jn2K`ji0K`k#lak +"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` j^5K``jY3K`jT2K`jO0K`k#lak hsl"@rB#`rj -hsl"@rB#`sj2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b -'O 'O'O@"'BFB I"FFIF"F QF*K -! ! +hsl"@rB#`sj2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b +'O 'O'O@"'BFB /"FFIF"F QF*K +! ! O O -!FJF - "h -K@b -5 -3o0+pOpѫ~(F!Cvp(F! +!FJF + "h +K@b +5 +3o0+pOpѫ~(F!Cvp(F! C## *)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)hC*C##*` -K" -HF@ K" Hb! -H IF" F5H0 F)F"8@*8! -HF HFP0F9-4*F" -O4 F! -HwAFF:F(F +K" +HF@ K" Hb! +H IF" FH0 F)F"8@8! +HF HFP0F9-4*F"O4 F! +HwAFF:F(F - + - + ` -+h ++h ca4Kh a3Kh -a1KhhB#`C"c.KhhB#`C*KhB"h"* h+0$KhhB#`C"F +a1KhhB#`C"c.KhhB#`C*KhB"h"* h+0$KhhB#`C"F
h #EGFFOqhCo d! @@ -171,54 +167,54 @@ ca4Kh +0+Op`1F8F(̿0 * 1+l"F+F 0w6pEڴF -3@P2@o(F<#(Fkheb -HI+h3K`Kh2`KhBє,0%ei +3@P2@o(F<#(Fkheb +HI+h3K`Kh2`KhBє,0%ei HF3h+`'x F0 F:FhGFHFeMO - ` F -J -F)Fhh$iG8[38FK -F)FhhdiG8[3KXh - + ` F +J +F)Fhh$iG8[38FK +F)FhhdiG8[3KXh + FB!
<B @@# - + "FHF 1F O - + kGFx@FeF 5F OF9(F!F KFG -=F O=F O +=F O=F O ?(F 1FG @#G`*$ -JF%OD%E +JF%OD%E IF FF - - + + @ * -O0!XFF +O0!XFF * -+++h0Fй` ++++h0Fй`
,
#iˎ -SF +SF FY 6FEKFK -KKF -GKGHhZh
#B% +KKF +GKGHhZh
#B% FF #FF$eF4 aF ]F -@+"i QF +@+"i QF h +ED3BO OF# @@ -227,112 +223,112 @@ OF# E B FFFFUFWF6"h#KB/FAF -4Eѳh JB2Bѥb +4Eѳh JB2Bѥb -h
FChB10+h -OO h34ڈj rRiGzBӽ2-CFjӱhF -OO h34ڈj riGzBӽ2 +h
FChB10+h +OO h34ڈj rRiGzBӽ2-CFjӱhF +OO h34ڈj riGzBӽ2 Hh! -3ڈj9FBFG04zBH +3ڈj9FBFG04zBH Ohj 3ڈj@YiG )KB -8( -K[nKnKoK[o{)FGO3`5a +8( +K[nKnKoK[o{)FGO3`5a - + 3CEрLYF -t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FzLL +t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FzLL -L L)FF - -**JhiGiipjj JjkLhihGH +L L)FF + +**JhiGiipjj JjkLhihGH ** -Ji JVkFi*F#FGFH +Ji JVkFi*F#FGFH FFFF 1hiaF uAF(FJF#FF RB@7! OqOq@ ! -jGF`YFO@B +jGF`YFO@B 2h+< 2hFYF - + AF"nF -pF +p8F KB -"h -F +"h +F AF F,GF)@;Iph+z9F2F(F5KFp @ F,CF0(XB3+I - F - - -F + F + + +F XF N N -N(F:N - +N(F:N + F `bF -L -F/#;F"#" +L +F/#;F"#" KB E)F L -L +L F O F !i$#c
ai.Kh$#jk -N F N -$h -. *F -"`+` +N F N +$h +. *F +"`+` 0F !h+1 !h[ 1!+i[h1!! !ii!p"iڱ Kh:F3F*F - + # -K!O +K!O !"0#F"jF -L#LK"h@ > F&p[32 -L +L#LK"h@ > F&p[32 +L PO 3E -[k= +[k= 03CD 0 F -!"` 0*SFF -FFF& +!"` 0*SFF +FFF& O -TPH - -LH:(F F L3[3 -+FIFS:F@D +TPH + +LH:(F F L3[3 ++FIFS:F@D IFh W(h - + -7O*9_D?%_4]FOU_IF"FU -FP8FI"F#F +7O*9_D?%_4]FOU_IF"FU +FP8FI"F#F V!F(hJF3FF -
+
(,D#2`!F!B{"(Fw!c>#XCC7B#7` -A +A #F -l0F!F8hBI0F!*FKFnh5QFB"00B)L+F +l0F!F8hBI0F!*FKFnh5QFB"00B)L+F " # @@ -340,57 +336,57 @@ LH:(F F L3[3 E $ EEF@_@F5q)FF@#@Fspd -GF0k0FI:F #GF0FL +GF0k0FI:F #GF0FL [F #GF0eiPF9I #GFPF -iI)GFPF -",0, B - +iI)GFPF +",0, B + Oc@DcOHsOhs` KBOsOss` - + hch
#ihMKBSBSB@0@@F @FlG -@FyG -"KB"KB !H!H!H!H!H +@FyG +"KB"KB !H!H!H!H!H F -lGB.(FFPK"H@Q - - +lGB.(FFPK"H@Q + + hch`Hh
#iciii-KBS(F5 -L F"0( -hkh`Hh
+ikiii>KB"أ@SBЌ:K -khF +L F"0( +hkh`Hh
+ikiii>KB"أ@SBЌ:K +khF +KlG+h(`B(LH0FZF
K"LOa -HM F +HM F (ر(("J@AAH *I"F -3h2`BL!)F(F -K L" -KL" -p#3M3 -Gih
Gi)iG0F8F - -pM3 +3h2`BL!)F(F +K L" +KL" +p#3M3 +Gih
Gi)iG0F8F + +pM3 -pM3 -GiiG0Fo8F -KBsBHH +pM3 +GiiG0Fo8F +KBsBHH - +
-KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F )F2F#F&O4c A - -*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I + +*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I -L(+ +L(+ F, FFKBsB% @@ -403,18 +399,18 @@ L(+ KB%PAq)KB3B3B F@O@@ F( -2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O - - +2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O + + @FlG -@FqG +@FqG o?L khh 5LT a H@^K" U@F9F2FF`K@f
H" -@L +@L B1 @@ -422,45 +418,45 @@ F( O -O
x2xixBH +O
x2xixBH zOj O -O
x3xixBHFȱ 1"9F#O FCF}0F" +O
x3xixBHFȱ 1"9F#O FCF0F" zOj O -O
x3xixBHBIF -hDzXFQF"(HFQF"#HFa"#)F# +O
x3xixBH\IF +hDzXFQF"(HFQF"#HFa"#)F# DHFQF:F
Fq] - J@qUZU5-< + J@qUZU5-< - + 03 -"F +"F CC<# -҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 -JOp3FR#0"FiG -l#c\2l#\32l# #*#OpFY" i"FG #52< # +҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 +JOp3FR#0"FiG +l#c\2l#\32l# #*#OpFY" i"FG #52< # '' 7''7' '' 3F' -T'5J@ 3+:hB;`0Fa FX4-GFFF -%DOS +T'5J@ 3+:hB;`0Fa F04-GFFF +%DOS F F@
H @q@ T@L Z#@ LLD]3+ hFDF F!F @
HT@LDY#@\D7L3 + f.F F!F4FZ#`^D
Hu `3V@l0+ 5DeF&D!F4F.FddP
Hf U@\DZ#PMD8 P3@+ b -F5D +F5D K Fհ F*F#F8LOe,M@e @@ -479,7 +475,7 @@ J
p6P.WDO D*FF -ODaED[D``aDa +ODaED[D``aDa Kb` K` Ka @@ -487,10 +483,10 @@ KCa Ka Ka Kb -KCbFpG pG +KCbFpG pG FF;FZFOU pU - + Kb` K` Ka @@ -498,7 +494,7 @@ KCa Ka Ka Kb -KCbFpG pG +KCbFpG pG y Okqx0 #JK CxJ$ E C4y)Cx$
#ECC Cty)C$y6#fE@ 2O@p# A; @@ -512,53 +508,53 @@ CckCs{Cs#O OHEh A OBjJOCjJ Eg G -E -HFLI +E +HFLI O
-PF -KS&0h FF +PF +KS&0h FF O viHFYF -_J@! - - +_J@! + + 4 ,
J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH 4 ,HO4 -J -ah -G - - -IQ" )FjFG +KC$PH 4 ,HO4 +J +ah +G + + +IQ" )FjFG -Eѻ -IQ" )FiFGFPF\\J@T3+0F FpX4-OFFFF { +Eѻ +IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF { AF"6?
(i@FYFG Eѹ JAFR#0FrjG!8F +FoйF;|\#T34tLE\U4,1F -+FW ++FW i
bi 1F
>d -hi +hi iIF
ci"3F@FF ci
3F&`F;#iO -l iGch +l iGch qH 0 -F -& F - .F -!CZF" - .i
nii.ji#F"uF@T KhkG -l5m FG9 FADGF -i
IF8FCFF[i
GG#40!hGh"ah8F +& F + .F +!CZF" + .i
nii.ji#F"uF@T KhkG +l5m FG9 FADGF +i
IF8FCFF[i
GG#40!hGh"ah8F lF QFZFKFF GF @@ -569,35 +565,35 @@ IQ" )FiFGFPF\\J@T3+0F FpX4-OFFFF { FGF GF *jGF0iGFpi)iGF@iiiGF#+`+j - -T8FIFBF( + +T8FIFBF( m O
-
< d ! "()+ ,lxhG F +
< d ! "()+ ,lxhG F -Sh +Sh J+@XFF -F --FB?P{B?LXFX4M3F@h K[iG -@:F -4JUmFGF +F +-FB?P{B?LXF04M3F@h K[iG +@:F +4JUmFGF GF GF -GF +GF F -Qi"GF +Qi"GF LlGF#mGF (`h` .0;@<EAF``,u,a(bke
cg*clc0 <@c0PeBed@,fx@@@ @@@ y#
c -F -PFC +F +PFC $Ꭽ!#)``b:+c -`,u,ablc<@cȃCD - +`,u,ablc<@cȃCD + 2`"bB"b5k`F`*cbOcje" @@ -607,23 +603,23 @@ PFC sF - -' - + +' + x F)F( F!F*F;hcXhF!F8F Kh+F ? F -@ +@ OepS%`%UiFu@FS&`u@&S&`Fu@.qq.Nq. =qS%`_*%iFu@FS&` 'Prih@P@S$ P@S* B ssJs -s +s OepS%`%eiFu@FS&`u@&S&`Fu@.qq.Nq. =GqS%`ղ%iFu@FS&`*u@&S&`Fu@.rr.Nr. S"P rE ssJs -s +s ? ?\'pX+'FMOW+pGFIOjW+pEOW* 'V'pGU'piT)ph3h1_@? X* @@ -633,34 +629,34 @@ X* BU" gT'p $J'R'p"J GR'piJ -R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` +R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` @% @$ 2* 7 28* @$?~p?P%`Q"pG -@%2*3+ - - +@%2*3+ + + 40 F9FG8O B80 FGC6F.O+pnp.#pkp5?҂#pkp3 p5 ҃#.qkp3p3 p5 F -GFk FGEѳk FGFNAF3lG K[iG!FmFG -3 +GFk FGEѳk FGFNAF3lG K[iG!FmFG +3 u a(1"0F V<VṾ+M -@]J@BP1`6%u%a(4$
#8F +@]J@BP1`6%u%a(4$
#8F Xcx :F E0F F -OO
@FU208 (KVpGd pG +OO
@FU208 (KVpGd pG !(h !p\ !p(hp\ @@ -684,9 +680,9 @@ a(1"0F !siKp\X ! t(j2 !@p\M -!`t(j8p\E#tZ ?#sbp +!`t(j8p\E#tZ ?#sbp $p҃#,qkp#p# -$pV8(O +$pV8(O FFHF BF F >F%h(F @@ -705,7 +701,7 @@ O O O O
-PF +PF @@ -729,7 +725,7 @@ hB`# ` 8F F -## +## IF0F EF0F A0F @@ -751,7 +747,7 @@ hB`# (F F -# +# 4F(F 0(F ,F(F @@ -773,63 +769,64 @@ x@Xp` |HF y v0F -s$$ +s$$ # BTPF[ - + 0GF 0F8ZF 0F HFZF HF -Y +Y PFQFZF PFQFZF PF[FR@RFPGF FFJRiGJ - G + G FGF FGF FnGF FGF FGF OFFmGF -!FKFmGF +!FKFmGF OF;nGF ~OFFmGF qOFmGF -NF3nGF +NF3nGF QO!hFmGF CO FnGF -OmFGF +OmFGF uOFmGF -`h)FmFGF +`h)FmFGF i AF
"0F#` -0F -K(F*F@KFGF -7pZ( RmG -FGF -(F)FOIX(F)F2F#F*F)F3F@F +0F +K(F*F@KFGF +7pZ( RmG +FGF +(F)FOIX(F)F2F#F*F)F3F@F MgI0F_z1F O#F{OO !^F 27OE -!F!F!F -ch" +!F!F!F +ch" F>KFFF;F -:/FF +:/FF @6K FLF +I*H -x0F -Jh0`JBZ` -FJ`Y`h```h`KhQ` F)F -Q2$ -زBؕBشB3B +x0F +Jh0`JBZ` +FJ`Y`h```h`KhQ` F)F +Q2$ +زBؕBشB3B ȿ$,($+U -+, ++, +232//-O@EFFF ; ܸ#fи*fи @X.jи0и-@_U 3h6C{j @@ -842,8 +839,7 @@ Jh0`JBZ` " " Fx<F
F " #x( ! AqFFT
ZF - - 3; 3 33H1@@8@Bddhl +3 333H1@@8@Bddhl ;< E պ @@ -853,39 +849,39 @@ Jh0`JBZ` : 2ZE{ #a -;9 +;9 -Xn`vh`mh`42,8Q8Fi#U<[j`kG#ij+U<iG8@"-CFFFF FiF F#;`#AF;`Y<pk"hjkFG!FFhF - +Xn`vh`mh`42,8Q8Fi#U<[j`kG#ij+U<iG8@"-CFFFF FiF#F#;`#AF;`Y<pk"hjkFG!FFhF + (F!F:Fsih4 oF
FFOhF -8 -) +8 +) - -C -` + +C +` FFFsi[i :*+$$**V<hFIhp`2`h zhh -7 -!iF +7 +!iF " -cj##jFpFF OqF85 +cj##jFpFF OqF85 F FF F FQ8Fh\ Fah -h!q2FQ@BF +h!q2FQ@BF php qCqˈ qˈ1q0мKx xCcxCxC#` -yKyC#yy1C#"À0 -i9F2F +yKyC#yy1C#"À0 +i9F2F pG pG z pG -B pG-AFFFF{Q)F@p"(F9F2F#FA -AFFFF۱6)F@p")FBp")FDp"(F9F2F#FA F +B pG-AFFFF{k)F@p"(F9F2F#FA -AFFFF۱P)F@p")FBp")FDp"(F9F2F#FA F '' 'T74',T7 @@ -900,10 +896,10 @@ wa U )F Z \ ] ^ )F -pbJphO"php +pbJphO"php f,h i j w)F -pbJphO"php +pbJphO"php L 4s)F pJpbhO"pbhpx @@ -1025,33 +1021,34 @@ h`:`9F"F3F""?GE Fx1BxFF3x - + GoQcpn g))/F '&&\8!.*Zm,M߳
8ScTs ew< jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5q}#w($@{2 -<L
gCB>˾L*~e)Y:o_XGJDl2m2I2u102A2222 - - - - +<L
gCB>˾L*~e)Y:o_XGJDl{2e2A2u10292222 + + + + '8!.m,M
8STs e -jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxq92 - - - -3W -3 -3 -3 - - - - - +jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxq2 + + + +3l +3 +3 +3x 3 3 +3.3k33 + + + + + |B| !\hT[:.6$g WҖO aiKwZ @@ -1178,7 +1175,7 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) - + @@ -1201,14 +1198,14 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) - + - + @@ -1234,4 +1231,4 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) aml-sha1 ;3+#>6.&=5-%
<4,$
- + diff --git a/secureos/gx/bl32.img b/secureos/gx/bl32.img index 6bc8909..b22895f 100644 --- a/secureos/gx/bl32.img +++ b/secureos/gx/bl32.img @@ -1,47 +1,44 @@ e4' -o - +o + # -# - - -" - - -" -ixNE F -vN? -YI +# + + +" +" +YI SI -۲F -FFBKhBK -'# -F -G.iJa (F# +۲F +FFBKhBK +
4 +G4 F
" +G # +I#FGF FI +G F$% Kka -KZh*b5`]`HH +KZh*b5`]`HH BohXXP K" -H@( - -;` - -!F2F -+ F9Fj +H@( + +;` +!F2F ++ F9Fj Q Q -Q -KEsa#a +Q +KEsa#a -A"# F3`K+` +A## F3`K+` -E +E , -E""@ -CB`V" B3B`pG - -p +E""@ +CB`V" B3B`pG + +p @@ -50,379 +47,398 @@ CB`V" B3B`pG / / / -/F )FF -Zh:x"p -Z` +/F FF +Zh:x"p +Z` K SBSL B3S -FF30F
KBS,BSL:B -#
'wF?
?K +FF30F
KBS,BSL:B +#
'wF?
?K P 5 AF - + PCFSS, -CCL - -H@Y!J +CCL + +H@_!J -k@F!hh*ر +k@F!hh0ر BV8/ "h8XB&`hhzhBhbhyhB4FF h{`B, -0`#ahE +0`#ahE i
=
'w-?
#-?? F3h @h+- - JEEE0iB@ L\CCP`L}B``ap + JEEE0iB@ L\CCP`L}B``ap Z B`E E DG`1 )H3+Ѣkh0 -C`eck %c8H(3-GFFFF +C`eck!+c8883-GFFFF -kBYCh8FIFhpk +kBYCh8FIFhpk -kXYZQhFk@F![h_@k]hCD -KB - +kXYZQhFk@F![he@k]hCD +KB + ?O 2?#?#P?@j k@i :_вRB@` - -M
- -K"! H(FK``cb -FG + +M
+ +K"! H(FK``cb +FG Eѝ -0 -JOq
H +0 +JOq
H - -#hG8" - + +#hG8" + +hD$F]#DBB3$+ K" -H! +H! +F( -H[ - -F6K -Hh -(` +H[ + +Fv6K +Hh +(` (JhK
"`JhK`pGJKh -pYp p p -K -
K -K -K -K -K -K -K +pYp p p +K +
K +K +K +K +K +K +K K -H! -"!cd"Add 262kF:* K +H! +"!cd"Add 22kF:* K *( -@j@h -K`0FiK`Zh"p""?B +@j@h +K`0F_K`Zh"p""?B J``KhB `"h dbhJdhdhdL -"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` j5K``j3K`j2K`j0K`k#lak -(FIF2F -! ! -K@b -5 +"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` j5K``j3K`j2K`j0K`k#lak +! ! +K@b +5 C## *)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)hC*C##*` -K" -HGF@ K" Hb! -H# IF" FAH0 F)F"8@68! -H -HAFF:F(F -HI+h3 -K`Kh2`Kh +K" +HF@ K" Hb! +H IF" FH0 F)F"8@8! +HF HFP0F9-4*F"O4 F! +HAFF:F(F + + + + +` +JF +ca4Kh +a3Kh +a1KhhB#`C"c.KhhB#`C*KhB"h"* h+0$KhhB#`C"F +
h + +#EGFFOqhCo d! +` 8OrXO0@ ++0x+Op`1F8F(̿0 * +1+Bo"F+F +0w6pEڴF +3@P2@o(F(F+(%" +HID+h34K`Kh2`Kh*Bє,0%ei HF3h+`'x F0 F:FhGFHFeMO - ` F -J -F)Fhh$iG8|938FK -F)FhhdiG8|93KXh - + ` F +J +F)Fhh$iG8lI38FK +F)FhhdiG8lI3KXh + FB!
<B @@# - + "FHF -W1F - +1F + -
O - -kGFx@FeF 5F +G? O + +kGFx@FeF 5F OF9(F!F KFG - -=F O=F O + +=F O=F O ?(F 1FG -@#G`*$ -JF@%OD%E -IF FF - - -@ +@#G`*$ +JFz%OD%E +IF FPF + + +@ * -O0!XFF +O0!XFF * -+++h0FZй` ++++h0Fй`
,
#iˎ -SF +SF - FY -6FEKFK + FYY +6FEKFK -KKF -GKGHhZh
#B% -FF #FF$F4 F F -@+"i QF +KKF +GKGHhZh
#B% +FF #FF$%F4 !F F +@+"i QF h +ED3BO OF# -1FX +1FX E B -FFFFUFWF6"h#KB/FAFe +FFFFUFWF6"h#KB/FAF -4Eѳh JB2Bѥb +4Eѳh JB2Bѥb - -h
FChB10+h -OO h34ڈj rRiGzBӽl}2-CFjӱhF -OO h34ڈj riGzBӽl}2 + +h
FChB10L+h +OO h34ڈj rRiGzBӽ,2-CFjӱhF +OO h34ڈj riGzBӽ,2 Hh! -3ڈj9FBFG04zBH +3ڈj9FBFG04zBH Ohj 3ڈj@YiG -)KB -8( -K[nKnKoK[o{)FGO3`5a - - +)KB +8( +K[nKnKoK[o{)FGO3`5a + + -3CEрLYF -t`hhGFȹ(F1FJE(F1FJ@(F1FJ;J(F1F6LL - -L L)FF - -**JhiGiipjj JjkLhihGH +3CEрLYF +t`hhGFȹ(F1FJ(F1FJz(F1FJuJ(F1FpLL + +L L)FF + +**JhiGiipjj JjkLhihGH ** -Ji JVkFi*F#FGFH +Ji JVkFi*F#FGFH FFFF -1hiaF -uAF(FJF#FF +1hiaF +uAF(FJF#FF RB@7! OqOq@ ! -jGF`YFO@B +jGF`YFO@B 2h+< -2hFYF - -AF"*F -pF +2hFYF + +AF"dF +pF KB -"$ -oF +"^ +F AF F,GF)@;Iph+z9F2F(F5KFp @ F,CF0(XB3+I - F - - -F -F + F + + +F +F N N -N(FN - -F +N(FN + +F `bF -L -F/#;F"#" +L +F/#;F"#" KB -E)FO +E)F L -L +L +282 F -O +O F -!i$#c
ai.Kh$#jk -N F N -$h -. *F -"`+` -0F +!i$#c
ai.Kh$#jk +N F? N +$h +. *F +"`+` +0F !h+1 !h[ 1!+i[h1!! -!ii!p"iڱ +!ii!p"iڱ Kh:F3F*F - -# -K!O + +# +K!O !"0#F"jF -LLK"h@ > F&p93x~2 -L - +LLK"h@ > F&pI382 +L + PO 3E -[k +[k 03CD -0 F -!"` 0*SFF -FFF& -O -TPH - -LH(Fg F *393 -+FIFS:F@D -IFh +0 F +!"` 0*SFF +FFF& +O +TPH2 +` PF=:3I3 + +LH(F F :3I3 ++FIFS:F@D +IFh W(h - - -7O*9_D?%_4]FOU_IF"FU + + +7O*9_D?%_4]FOU_IF"FU V!F(hJF3FF -
-(,D#2`!F!B"(Fw!>#XCC7B#7` -A +
+(,D#2`!F!B;"(Fw!#>#XCC7B#7` +A #F -l0F!FhBI0F!*FKFnh5QFB"00B)L+F -1 - -0p;0N +l0F!F.hBI0F!*FKFnh5QFB"0I0B)L+F + " -# -# -E +# +# +E $ -EF@_@F5)FF@#@F/pd -GF0k0FI:F #GF0FL -[F -#GF0eiPF9I #GFPF -iI)GFPF -"0, B - +E;F@_@F51)FF@#@Fipd +GF0k0FI:F #GF0FL +[F +#GF0eiPF9I #GFPF +iI)GFPF +"0, B + Oc@DcOHsOhs` KBOsOss` - -hch
#ihMKBSBSB@0@@F + +hch
#ihMKBSBSB@0@@F @FlG -@FyG -"KB"KB !H!H!H!H!H - -!F -lGB.(FFPK"H@Q - - - -hch`Hh
#iciii-KBS(F5 -L F"0( -hkh`Hh
+ikiii>KB"أ@SBЌ:K -khF -+KlG+h(`B(LH0FZF +@FyG +"KB"KB !H!H!H!H!H + +F +lGB.(FFPK"H@Q + + + +hch`Hh
#iciii-KBS(F5 +L F"0( +hkh`Hh
+ikiii>KB"أ@SBЌ:K +khF ++KlG+h(`B(LH0FZF
K"LOa -H F -6(ر(("J@AAH -*I"F -3h2`BL!)FV(F{ -K L" -KL" -p3+3 -Gih
Gi)iG0F8F - -p+3 - -p+3 -GiiG0F8F -KBsBHH - - +H F +N(ر(("J@AAH +*I"F +3h2`BL!)F~(F +K L" +KL" +px3p;3 +Gih
Gi)iG0F8F + +pp;3 + +pp;3 +GiiG0F/8F +KBsBHH + + -
-KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F**')F2F#F )F2F#F4c -A - -*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I -L(+ +
-KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#FB*')F2F#F. )F2F#F4c +A + +C*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I +L(+ F, -FFKBsB% - -(F - +FFKBsB% + +(F + --KBPJF*F +-KBPJF*F! -KB%PAq)KB3B3B F@ߺ@@' -F(E - -a)H&(H#(H 'HM'HJ&HG&HD%HA%H>$HghhF0V3xO - - +KB%PAq)KB3B3B F@@@? +F(m + +y)H>(H;(H8'He'Hb&H_&H\%HY%HV$HhhF0V3xO + + @FlG -@FqG +@FqG -Ro?L -khh -75LT - H@^K" -@F9F2F8F`K@f
H" -L - B1 +jo?L +khh +O5LT +! H@^K" +@F9F2FPF`K@f
H" + + B1 zOj O -O
x2xixBH +O
x2xixBH zOj O -O
x3xixBH&Fȱ 1"Q9F#O FCF0F"? +O
x3xixBHHFȱ 1"y9F#O FCF)0F"g zOj O -O
x3xixBHIF -ٱӱϱH4@w# -ٱӱϱH@w# +O
x3xixBHIF +DHFQF:FFq] + J@qUZU5-< + + 03 -"F +"F CC<# -҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 -JOp3FR#0"FiG -l#c\2l#\32l# #*#OpFY" i"FG #52< # +҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 +JOp3FR#0"FiG +l#c\2l#\32l# #*#OpFY" i"FG #52< # '' 7''7' '' -3F' -T'5J@ 3+:hB;`0F! F04-GFFF -%DOS +3F' +T'5J@ 3+:hB;`0F! F4-GFFF +%DOS F F@
H @q@ T@L Z#@ LLD]3+ hFDF F!F @
HT@LDY#@\D7L3 + f.F F!F4FZ#`^D
Hu `3V@l0+ 5DeF&D!F4F.FddP
Hf U@\DZ#PMD8 P3@+ b -F5D +F5D K Fհ F*F#F8LOe,M@e @@ -452,7 +468,7 @@ Kb KCbFpG pG FF;FZFOU pU - + Kb` K` Ka @@ -474,49 +490,49 @@ CckCs{Cs#O OHEh A OBjJOCjJ Eg G -E -2BE +E +2BE O -viHFYF -_J@! - - +viHFYF +_J@! + + 4 ,
J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH h 4 ,HO4 _ -ah -G - - -IQ" )FjFG - +KC$PH h 4 ,HO4 _ +ah +G + + +IQ" )FjFG + -Eѻ -IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF { -AF"6?
(i@FYFG +Eѻ +IQ" )FiFGFPF\\J@T3+0F Fp4-OFFFF { +AF"6?
(i@FYFG Eѹ JAFR#0FrjG!8F +FoйF;|\#T34tLE\U4,1F -+FW ++FW i
bi -1F
>d -hi +1F
>d +hi iIF
ci"3F@FF -ci
3F&`F;#iO -l iGch +ci
3F&`F;#iO +l iGch qH 0 -QF -& F - .F -!CZF" - .i
nii.ji#F"uF@T KhkG -l5m FG9 FADGF -i
IF8FCFF[i
GG#40!hGh"ah8F +QF +& F + .F +!CZF" + .i
nii.ji#F"uF@T KhkG +&l5m FG9 FADGF +i
IF8FCFF[i
GG#40!hGh"ah8F F QFZFKFF GF @@ -527,61 +543,60 @@ IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF { FGF GF *jGF0iGFpi)iGF@iiiGF#+`+j - -\8FIFBF( + +l8FIFBF( m O
-
< d ! "()+ ,lxhG F -F8F!h2SFB - -J+@XFF -F --FB?P{B?LXF04+3F@h K[iG -@:F -4JUmFGF - +
< d ! "()+ ,lxhG F +F8F!h2SFB + +J+@XFF +F +-FB?P{B?LXF4p;3F@h K[iG +@:F +4JUmFGF + GF GF -GF +GF F -Qi"GF +Qi"GF LlGF#mGF (`h` .0;@<EAF``,u,a(bke
cg*clc0 -<@c0PeBed@,fx@@@ @@@ -F -PFC +<@c0PeBed@,fx@@@ @@@ +F +PFC - - $Ꭽ!#)``b:+c -`,u,ablc<@cȃCD - + + $Ꭽ!#)``b:+c +`,u,ablc<@cȃCD + - -2`"bB"b5k`F`*cbOcje" + +2`"bB"b5k`F`*cbOcje" - -j`FbObbB#`+cke#e0tc<@c + +j`FbObbB#`+cke#e0tc<@c - - -/ - -_ - - F)F( F!F*F;hkXhF!F8F + + +? +o + + F)F( F!F*F;h{XhF!F8F Kh+F -G F -H +W F +X OepS%`%UiFu@FS&`u@&S&`Fu@.qq.Nq. =qS%`_*%iFu@FS&` 'Prih@P@S$ P@S* B ssJs -s +s OepS%`%eiFu@FS&`u@&S&`Fu@.qq.Nq. =GqS%`ղ%iFu@FS&`*u@&S&`Fu@.rr.Nr. S"P rE ssJs -s +s ? ?\'pX+'FMOW+pGFIOjW+pEOW* 'V'pGU'piT)ph3h1_@? X* @@ -591,225 +606,224 @@ X* BU" gT'p $J'R'p"J GR'piJ -R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` +R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` @% @$ 2* 7 28* @$?~p?P%`Q"pG -@%2*3+ - - +@%2*3+ + + 40 F9FG8O B80 FGC6F.O+pnp.#pkp5?҂#pkp3 p5 ҃#.qkp3p3 p5 F -GFk FGEѳk FGFNAF3lG K[iG!FmFG -3 +GFk FGEѳk FGFNAF3lG K[iG!FmFG +3 u -a(1"0F -$$ -F +a(1"0F +F V<VṾ+M -@]J@BP1`6%u%a(4$
#8F -$$ -eFXFF -#8F -* -F -F F -Xcx -AXF!F5FO -:F - +@]J@BP1`6%u%a(4$
#8F +$$ +uFXFF +#8F +: +*F +F F +Xcx +QXF!F5FO +:F + E0F - F -OO
@F;208 (KVpGd pG -!(h -!p\ -!p(hp\ -!phh -!p\ -! qhhp\ -!`qh -!p\ -!qhp\ -!qh -!p\ -! rhp\ -!`r(i -!p\ -!r(ip\ -!rhim -!{p\ -! shisp\x`s+jiiN -!siM -![p\` -!siSp\X -! t(j: -!Hp\M -!`t(j@p\E#tZ ?#sbp + F +OO
@FG208 (KVpGd pG +!(h +!p\ +!p(hp\ +!phh +!p\ +! qhhp\ +!`qh +!p\ +!qhp\ +!qh +!p\ +! rhp\ +!`r(i +!p\ +!r(ip\ +!rhi} +!p\ +! ship\x`s+jiiN +!si] +!kp\` +!sicp\X +! t(jJ +!Xp\M +!`t(jPp\E#tZ ?#sbp $p҃#,qkp#p# -$pV8(O -NFHF -JF F -FF%h(F -S8F -O -IYF"F 8 +$pV8(O +^FHF +ZF F +VF%h(F +c8F +_ +YYF"F 8 O -aBFYD(F - - +aBFYD(F + + +]b `i -#`O0FF -8F -(F -O +#`O0FF +8F +(F +O O O
-PF +PF E -GF0F -CF@F -?F$h F -L8F -H -BCm +WF0F +SF@F +OF$h F +\8F +X +RCm -!# +1# 0D - + (F:KAFS"0[iG@EFQ!FZF;F9 hB`# -!F -D2 +!F +D2 ` -8F - F -## -QF0F -MF0F -I0F -EF4 F -N(F -JF -E -><+# F:RFYF -@F +8F + F +## +aF0F +]F0F +Y0F +UF4 F +^(F +ZF +U +N<+# F:RFYF +@F JF - + BoR E -`.['0[mGF +`.['0[mGF aRmGF['0)FmGFH(FAFJF -U`@F - -(F - F -# -<F(F -8(F -4F(F -0FF -9F -4 -. -' -[' RmGF +U`@F + +(F + F +# +LF(F +H(F +DF(F +@FF +IF +D +> +7 +[' RmGF 1Fm"GF m GF IFmBFGF QFmGF -"IFX 0BF -8FQFoFD -xWQF -rW"U +"IFX 0BF +8FQFoFD +WQF +W"U x@Xp` -HF - -~0F -{$$ +HF + +0F +$$ # BTPF - - + + 0GF 0F8ZF 0F HFZF HF -Y +Y PFQFZF PFQFZF PF[FR@RFPGF FFJRiGJ - G + G FGF FGF FnGF FGF FGF OFFmGF -!FKFmGF +!FKFmGF OF;nGF ~OFFmGF qOFmGF -NF3nGF +NF3nGF QO!hFmGF CO FnGF -OmFGF +OmFGF uOFmGF -`h)FmFGF +`h)FmFGF i AF
"0F#` -0F -K(F*F@KFGF -7pZ( RmG -FGF -UgI0F_z1F O#F{OO +0F +K(F*F@KFGF +7pZ( RmG +FGF +egI0F_z1F O#F{OO -!fF - :7OE - -!F!F!F -ch" -FFKFFF;F -:/FF -@6K FTF -+I*H -x0F -Jh0`JBZ` -FJ`Y`h```h`KhQ` F)F -Q2$ -زBؕBشB3B +!vF + J7OE + +!F!F!F +ch" +FVKFFF;F +:/FF +@6K FdF ++I*H +x0F +Jh0`JBZ` +FJ`Y`h```h`KhQ` F)F +Q2$ +زBؕBشB3B ȿ$,($+U -+, ++, ; ܸ#fи*fи @X.jи0и-@_U 3h6C{j -`H`" -FO +`H`" +FO AEq0 " " Fx<F
F " #x( ! AqFFT
ZF - +3333H1@@8@Bddhl ;< E պ @@ -819,100 +833,101 @@ Jh0`JBZ` : 2ZE{ #a -;9 +;9 -Xn`vh`mh`42,8Y8Fi - +Xn`vh`mh`42,8i8Fi +@F>(F!F:FO3A-CFO F(F&h. + (F!F:Fsih4 -oF
FFOhF -8 -) - - -C -` +oF
FFOhF +8 +) + + +C +` FFFsi[i -:*+$$**V<hFhp`2`h +:*+$$**V<hFhp`2`h zhh -7 -!+F +7 +!F " -cj##jFCpFF OqdF85 -F FF -F F8Fh\ FPah -h!q2FQ@BF +cj##jF=pFF OqdF85 +0F\3+F +F FF +F F[8Fh\ Fah +h!q2FQ@BF php qCqˈ qˈ1q0Kx xCcxCxC#` -yKyC#yy1C#"À0z -i9F2F --AFFFF- F9F2F+FApG pG +yKyC#yy1C#"À0 +i9F2F ü pG } pG D pG - pG-AFFFF{)F@p"~(F9F2F#FA -AFFFF۱)F@p"c)FBp"])FDp"W(F9F2F#FAj F - + pG-AFFFF{)F@p"~(F9F2F#FA -AFFFF۱)F@p"c)FBp"])FDp"W(F9F2F#FAj F + '' 'T74',T7 Tu8F)F 73T+7T8FYF - -O -wa + +O +wa wa YW V -U )F +U )F Z \ ] -^ !)F -pbJphO"php +^ )F +pbJphO"php f,h i -j m)F -pbJphO"php +j ])F +pbJphO"php + L - 4c)F + 4S)F pJpbhO"pbhpx -qbJq"hO"qT+q -` 8kh --GFFF -萇Fpi -FBO --GFFFF@:7. -7 !.Fp +qbJq"hO"qT+q +` 8kh +-GFFF +萇Fpi +FBO +-GFFFF@:7. +7 !.Fp +3ah?+VF -86 -%D
iF - BFIF0F Fm -(BF0F FdHF ! -8 -1FFH(FF ` -*)(F"F -*4..2 F*F +86 +%D
iF + BFIF0F Fm +(BF0Fx FdHF ! +8 +*)(F"F +*4..2 F*F pq"qbq -q +q pq"qbq -q +q pq"qbq -q +q pq"qbq -q -FFUFZ +q +FFUFZ ( EѨ
- ?+߀k"hB#`
+1#0#-3pOup#-#psp#?҂#psp+ p# ҃#5qsp+p+ p#"h -#`;hhxh - +#`;hhxh + "FF -3 -%F +3 +%F - a -%aeF -+8(x0lxвB$ + a +%aUF ++8(x0lxвB$ ?҂"pbp* p" ?҂"pbp* @@ -924,15 +939,15 @@ ZO O LɲѡT2 -D +D &p҃#%qcp+&p+ -p +p =F<F C p#(!rh 3h ;#*FFO p҃#,qkp#!p# -p\T2Bъ2`(0(0?00` +p\T2Bъ2`(0(0?00` &p҃#%qcp+&p+ -p +p Jh01 F B FAFh @@ -968,7 +983,7 @@ F Y' &v OD - *F6MFW + *F6MFW @BF 74 @@ -980,7 +995,7 @@ B 1 FFF!F9FBF#F1F FFF!F9FBF#F}1F -FFF!F9FBF#FN1F +FFF!F9FBF#FN1F ڰG Z6:h 8X'O (F OI @@ -992,30 +1007,32 @@ h`:`9F"F3F""?GE 3FE !FXF -Fx1BxFF3x - +Fx1BxFF3x + GoQcpn g))/F '&&\8!.*Zm,M߳
8ScTs ew< jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5q}#w($@{2 -<L
gCB>˾L*~e)Y:o_XGJDl11q1u101i1;111 - - - +<L
gCB>˾L*~e)Y:o_XGJDl222u1022S222 + +1 1}110k2 + + '8!.m,M
8STs e -jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxqƯ2 - - - - - - - - -2 +jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxqz2 + + + + + + + +3 +3033 + |B| !\hT[:.6$g WҖO aiKwZ @@ -1076,7 +1093,7 @@ o/Dyeڜ FSR 0x%x PC 0x%x TTBR0 0x%X CONTEXIDR 0x%X -CPUID 0x%x CPSR 0x%x (read from SPSR) +CPUID 0x%x CPSR 0x%x (read from SPSR) @@ -1142,14 +1159,37 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) - + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1175,4 +1215,5 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) SECP112R1 ;3+#>6.&=5-%
<4,$
- + +2 diff --git a/secureos/txlx/bl32.img b/secureos/txlx/bl32.img index 5f641e6..d194375 100644 --- a/secureos/txlx/bl32.img +++ b/secureos/txlx/bl32.img @@ -1,45 +1,44 @@ e4' -o - +o + # -# - - -" - -" -[xNE F -vN? -YI +# + + +" +" +YI SI -۲F -FFBKhBK -'$` -F -9.iJa (F$y +۲F +FFBKhBK +
4 +G4 F
" +G # +I#FGF FI +G F$ Kka -KZh*b5`]`HH +KZh*b5`]`HH BohXXP K" -H@( - -;` -!F2F -+ F9Fj +H@( + +;` +!F2F ++ F9Fj Q Q -Q -KEsa#a +Q +KEsa#a -A## F3`K+` +A$# F3`K+` -E +E , -E""@ -CB`V" B3B`pG - -p +E""@ +CB`V" B3B`pG + +p @@ -48,392 +47,416 @@ CB`V" B3B`pG / / / -/F FF -Zh:x"p -Z` +/F FF +Zh:x"p +Z` K SBSL B3S -FF30F
KBS,BSL:B -#
'wF?
?K +FF!30F
KBS,BSL:B +#
'wF?
?K P 5 AF - + PCFSS, -CCL - -H@Y!J +CCL + +H@_!J -k@F!hhر +k@F!hhر BV8/ "h8XB&`hhzhBhbhyhB4FF h{`B, -0`#ahEN +0`#ahE> i
=
'w-?
#-?? F3h @h+- - JEEE0iB@ L\CCP`L}B``ap + JEEE0iB@ L\CCP`L}B``ap Z B`E E DG`1 )H3+Ѣkh0 -C`eck!c873-GFFFF +C`eck"c8PG3-GFFFF -kBYCh8FIFh8pk +kBYCh8FIFh(pk -kXYZQhFk@F![h@k]hCD -KB - +kXYZQhFk@F![h@k]hCD +KB + ?O -2?#?#P?@j +2?#?#P?@j k@i :_вRB@` - -M
- -K"! H(FK``cb -FG + +M
+ +K"! H(FbK``cb +FG Eѝ -0 -JOq
H +0 +JOq
H - -#hG8" - -FT 2D (F H!F " )K -[hD$F]#DBB3$+ + +#hG8" + +hD$F]#DBB3$+ K" -H! +H! +F( +F( + +F( -H[ -8F(I F( - -Fr6K -Hh -(` -232Tc2Xc42cK2|c`2xc|2c2c2c2c2 +H[ + +cF( +8F(I +@F( +WK"HOq + +FR6K +Hh +2\c(2hcE2lca2pcx2tc2c2̈c2Ȉc2c2c2c 2c52HcL2Dca2@c}2Lc2?K!?J@Hh +q(` (JhK
"`JhK`pG0 -pYp p p -K -
K -K -K -K -K -K -K +pYp p p +K +
K +K +K +K +K +K +K K -H! -"!cd"Add 2&2kF:* K +H! +"!cd"Add p22kF:* K *( -@j@h -K`0FK`Zh"p""?B +@j@h +K`0FK`Zh"p""?B J``KhB `"h dbhJdhdhdL -"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` j~5K``jy3K`jt2K`jo0K`k#lak +"i+J`bi`٣iBJ`iS`k+ѣl=J`#jbcjcjScjc+6K "` j^5K``jY3K`jT2K`jO0K`k#lak hsl"@rB#`rj -hsl"@rB#`sj2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b -'O 'O'O@"'BFB O"FFIF"F QF*K -j(FIF2FC -! ! +hsl"@rB#`sj2Ks`2K`2K`2K3a2KsaZ0Ks`0K`0K`0K3a0Ksa0Ka0Ka.Ks`.K`.K`.K3a.Ksa.Ka.Ka.K3b +'O 'O'O@"'BFB /"FFIF"F QF*K +! ! O O -!FJF - "h -K@b -5 +!FJF + "h +K@b +5 +3o0+pOpѫ~(F!Cvp(F! C## *)OU1O1!K!J)!KO2` JO2Z`"K)OU1O1`Y`J)hC*C##*` -K" -HQF@ K" Hb! -H- IF" FH$0 F)F"8@v8! -H -F HFP0F9-4*F"VO4 F! -HAFF:F(F -HIr+h3bK`Kh2`KhXBє,0%ei +K" +HF@ K" Hb! +H IF" FH0 F)F"8@8! +HF HFP0F9-4*F"O4 F! +HwAFF:F(F + + + + +` ++h +ca4Kh +a3Kh +a1KhhB#`C"c.KhhB#`C*KhB"h"* h+0$KhhB#`C"F +
h + +#EGFFOqhCo d! +` 8OrXO0@ ++0+Op`1F8F(̿0 * +1+l"F+F +0w6pEڴF +3@P2@o(F<#(Fkheb +HI+h3K`Kh2`KhBє,0%ei HF3h+`'x F0 F:FhGFHFeMO - ` F -J -F)Fhh$iG8K38FK -F)FhhdiG8K3KXh - + ` F +J +F)Fhh$iG8[38FK +F)FhhdiG8[3KXh + FB!
<B @@# - + "FHF -1F - +1F + -ME O - -kGFx@FeF 5F + O + +kGFx@FeF 5F OF9(F!F KFG - -=F O=F O + +=F O=F O ?(F 1FG -@#G`*$ -JF%OD%E -IF FVF - - -@ +@#G`*$ +JF%OD%E +IF FF + + +@ * -O0!XFF +O0!XFF * -+++h0Fdй` ++++h0Fй`
,
#iˎ -SF +SF - FY_ -6FEKFK + FY +6FEKFK -KKF -GKGHhZh
#B% -FF #FF$+F4 'F #F -@+"i QF -L Fp +KKF +GKGHhZh
#B% +FF #FF$eF4 aF ]F +@+"i QF h +ED3BO OF# -1FX +1FX E B -FFFFUFWF6"h#KB/FAFo +FFFFUFWF6"h#KB/FAF -4Eѳh JB2Bѥb +4Eѳh JB2Bѥb - -h
FChB10R+h -OO h34ڈj rRiGzBӽ$2-CFjӱhF -OO h34ڈj riGzBӽ$2 + +h
FChB10+h +OO h34ڈj rRiGzBӽ2-CFjӱhF +OO h34ڈj riGzBӽ2 Hh! -3ڈj9FBFG04zBH +3ڈj9FBFG04zBH Ohj 3ڈj@YiG -)KB -8( -K[nKnKoK[o{)FGO3`5a - - +)KB +8( +K[nKnKoK[o{)FGO3`5a + + -3CEрLYF -t`hhGFȹ(F1FJO(F1FJJ(F1FJEJ(F1F@LL - -L L)FF - -**JhiGiipjj JjkLhihGH +3CEрLYF +t`hhGFȹ(F1FJ(F1FJ(F1FJJ(F1FzLL + +L L)FF + +**JhiGiipjj JjkLhihGH ** -Ji JVkFi*F#FGFH +Ji JVkFi*F#FGFH FFFF -1hiaF -uAF(FJF#FF +1hiaF +uAF(FJF#FF RB@7! OqOq@ ! -jGF`YFO@B +jGF`YFO@B 2h+< -2hFYF - -F -AF"4F -pF +2hFYF + +AF"nF +p8F KB -". -F +"h +F AF F,GF)@;Iph+z9F2F(F5KFp @ F,CF0(XB3+I - F - - -F -F + F + + +F +XF N N -N(F - -F +N(F:N + +F `bF -L -F/#;F"#" +L +F/#;F"#" KB -E)FY +E)F L -L +L F -O +O F -!i$#c
ai.Kh$#jk -N FE N -$h -. *F -"`+` -0F +!i$#c
ai.Kh$#jk +N F N +$h +. *F +"`+` +0F !h+1 !h[ 1!+i[h1!! -!ii!p"iڱ +!ii!p"iڱ Kh:F3F*F - -# -K!O + +# +K!O !"0#F"jF -LLK"h@ > F&pL302 -L - +L#LK"h@ > F&p[32 +L + PO 3E -[k +[k= 03CD -0 F -!"` 0*SFF -FFF& -O -TPH` - -LH(F F =3L3 -+FIFS:F@D -IFh +0 F +!"` 0*SFF +FFF& +O +TPH + +LH:(F F L3[3 ++FIFS:F@D +IFh W(h - - -7O*9_D?%_4]FOU_IF"FU + + +7O*9_D?%_4]FOU_IF"FU +FP8FI"F#F V!F(hJF3FF -
-(,D#2`!F!BA"(Fw!)>#XCC7B#7` -A +
+(,D#2`!F!B{"(Fw!c>#XCC7B#7` +A #F -l0F!FhBI0F!*FKFnh5QFB"0O0B)L+F - +l0F!F8hBI0F!*FKFnh5QFB"00B)L+F + " -# -FP -# -E +# +# +E $ -EF@_@F57)FF@#@F9pd -GF0k0FI:F #GF0FL -[F -#GF0eiPF9I #GFPF -iI)GFPF -"0, B - +EEF@_@F5q)FF@#@Fspd +GF0k0FI:F #GF0FL +[F +#GF0eiPF9I #GFPF +iI)GFPF +",0, B + Oc@DcOHsOhs` KBOsOss` - -hch
#ihMKBSBSB@0@@F + +hch
#ihMKBSBSB@0@@F @FlG -@FyG -"KB"KB !H!H!H!H!H - -!F -lGB.(FFPK"H@Q - - - -hch`Hh
#iciii-KBS(F5 -L F"0( -2 -hkh`Hh
+ikiii>KB"أ@SBЌ:K -khF -+KlG+h(`B(LH0FZF +@FyG +"KB"KB !H!H!H!H!H + +F +lGB.(FFPK"H@Q + + + +hch`Hh
#iciii-KBS(F5 +L F"0( +hkh`Hh
+ikiii>KB"أ@SBЌ:K +khF ++KlG+h(`B(LH0FZF
K"LOa -H5 F -(ر(("J@AAH -*I"F -3h2`BL!)F(F -K L" -KL" -p3=3 -Gih
Gi)iG0F8F - -p=3 - -p=3 -GiiG0FG8F -KBsBHH - - +HM F +(ر(("J@AAH +*I"F +3h2`BL!)F(F +K L" +KL" +p#3M3 +Gih
Gi)iG0F8F + +pM3 + +pM3 +GiiG0Fo8F +KBsBHH + + -
-KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*')F2F#Fn )F2F#F'4c -A - -[*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I -L(+ +
-KB%ңsBO3B3BIaE $KB@aE-!KB8)F2F#F*3')F2F#F )F2F#F&O4c +A + +*hiFK@F`jh[m"aJFGhQF:Fz>hFh'I +
+L(+ F, -FFKBsB% - -(F - +FFKBsB% + +(F' + --KBPJF*F +-KBPJF*F# -KB%PAq)KB3B3B F@7@ݼ@ -F( - -2HZ1HW1HT0H0H~.H.Hx-Hu,H+Ho+Hl)H)Hf(Hc(H`'HhhF0V3x"O - - +KB%PAq)KB3B3B F@O@@ +F( + +2Hr1Ho1Hl0H0H.H.H-H,H+H+H)H)H~(H{(Hx'HhhF0V3x"O + + @FlG -@FqG +@FqG -o?L -khh -w5LT -I H@^K" -=@F9F2FxF`K@f
H" -(L - B1 +o?L +khh +5LT +a H@^K" +U@F9F2FF`K@f
H" +@L + B1 zOj O -O
x2xixBH +O
x2xixBH zOj O -O
x3xixBH~Fȱ 1"y9F#O FCF_0F"g +O
x3xixBHFȱ 1"9F#O FCF0F" zOj O -O
x3xixBH$IF -ٱӱϱH@w# -ٱӱϱH`@w# +O
x3xixBH\IF +hDzXFQF"(HFQF"#HFa"#)F# +DHFQF:F
Fq] + J@qUZU5-< + + 03 -"F +"F CC<# -҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 -JOp3FR#0"FiG -l#c\2l#\32l# #*#OpFY" i"FG #52< # +҂"<#=#S@=3#!C<#=#C=#>#b>#?#B?#@#"@#A#S@A3# 3$#SCL3 +JOp3FR#0"FiG +l#c\2l#\32l# #*#OpFY" i"FG #52< # '' 7''7' '' -3F' -T'5J@ 3+:hB;`0Fa F4-GFFF -%DOS +3F' +T'5J@ 3+:hB;`0Fa F04-GFFF +%DOS F F@
H @q@ T@L Z#@ LLD]3+ hFDF F!F @
HT@LDY#@\D7L3 + f.F F!F4FZ#`^D
Hu `3V@l0+ 5DeF&D!F4F.FddP
Hf U@\DZ#PMD8 P3@+ b -F5D +F5D K Fհ F*F#F8LOe,M@e @@ -452,7 +475,7 @@ J
p6P.WDO D*FF -ODaED[D``aDa +ODaED[D``aDa Kb` K` Ka @@ -460,10 +483,10 @@ KCa Ka Ka Kb -KCbFpG pG +KCbFpG pG FF;FZFOU pU - + Kb` K` Ka @@ -471,7 +494,7 @@ KCa Ka Ka Kb -KCbFpG pG +KCbFpG pG y Okqx0 #JK CxJ$ E C4y)Cx$
#ECC Cty)C$y6#fE@ 2O@p# A; @@ -485,54 +508,53 @@ CckCs{Cs#O OHEh A OBjJOCjJ Eg G -E -HFLI +E +HFLI O
-PF -DKEI -KS&0h FyF +PF +KS&0h FF O -viHFYF -_J@! - - +viHFYF +_J@! + + 4 ,
J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH 4 ,HO4 +KC$PH 4 ,HO4 4 ,J -KC$PH 4 ,HO4 -J -ah -G - - -IQ" )FjFG - +KC$PH 4 ,HO4 +J +ah +G + + +IQ" )FjFG + -Eѻ -IQ" )FiFGFPF\\J@T3+0F Fp4-OFFFF { -AF"6?
(i@FYFG +Eѻ +IQ" )FiFGFPF\\J@T3+0F Fp04-OFFFF { +AF"6?
(i@FYFG Eѹ JAFR#0FrjG!8F +FoйF;|\#T34tLE\U4,1F -+FW ++FW i
bi -1F
>d -hi +1F
>d +hi iIF
ci"3F@FF -ci
3F&`F;#iO -l iGch +ci
3F&`F;#iO +l iGch qH 0 --F -& F - .F -!CZF" - .i
nii.ji#F"uF@T KhkG -l5m FG9 FADGF -i
IF8FCFF[i
GG#40!hGh"ah8F +-F +& F + .F +!CZF" + .i
nii.ji#F"uF@T KhkG +l5m FG9 FADGF +i
IF8FCFF[i
GG#40!hGh"ah8F lF QFZFKFF GF @@ -543,62 +565,61 @@ IQ" )FiFGFPF\\J@T3+0F Fp4-OFFFF { FGF GF *jGF0iGFpi)iGF@iiiGF#+`+j - -D8FIFBF( + +T8FIFBF( m O
-
< d ! "()+ ,lxhG uF - -Ch -J+@XFF -F --FB?P{B?LXF4=3F@h K[iG -@:F -4JUmFGF - +
< d ! "()+ ,lxhG F + +Sh +J+@XFF +F +-FB?P{B?LXF04M3F@h K[iG +@:F +4JUmFGF + GF GF -GF +GF F -Qi"GF +Qi"GF LlGF#mGF (`h` .0;@<EAF``,u,a(bke
cg*clc0 <@c0PeBed@,fx@@@ @@@ -i#
c -F -@F+mQGFP`8"F
-PFC +y#
c +F +PFC - - $Ꭽ!#)``b:+c -`,u,ablc<@cȃCD - + + $Ꭽ!#)``b:+c +`,u,ablc<@cȃCD + - -2`"bB"b5k`F`*cbOcje" + +2`"bB"b5k`F`*cbOcje" - -j`FbObbB#`+cke#e0tc<@c + +j`FbObbB#`+cke#e0tc<@c -cF - - - -h F)F( F!F*F;hSXhF!F8F +sF + +' + +x F)F( F!F*F;hcXhF!F8F Kh+F -/ F -0 +? F +@ OepS%`%UiFu@FS&`u@&S&`Fu@.qq.Nq. =qS%`_*%iFu@FS&` 'Prih@P@S$ P@S* B ssJs -s +s OepS%`%eiFu@FS&`u@&S&`Fu@.qq.Nq. =GqS%`ղ%iFu@FS&`*u@&S&`Fu@.rr.Nr. S"P rE ssJs -s +s ? ?\'pX+'FMOW+pGFIOjW+pEOW* 'V'pGU'piT)ph3h1_@? X* @@ -608,217 +629,217 @@ X* BU" gT'p $J'R'p"J GR'piJ -R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` +R)pBOr1K@J@Os$b@$33Z@AK@A2S@C`` @% @$ 2* 7 28* @$?~p?P%`Q"pG -@%2*3+ - - +@%2*3+ + + 40 F9FG8O B80 FGC6F.O+pnp.#pkp5?҂#pkp3 p5 ҃#.qkp3p3 p5 F -GFk FGEѳk FGFNAF3lG K[iG!FmFG -3 +GFk FGEѳk FGFNAF3lG K[iG!FmFG +3 u -a(1"0F +a(1"0F V<VṾ+M -@]J@BP1`6%u%a(4$
#8F -F F -Xcx -:Fu - +@]J@BP1`6%u%a(4$
#8F +Xcx +:F + E0F - F -OO
@FyI208 (KVpGd pG -!(h -!p\ -!p(hp\ -!phh -!p\ -! qhhp\ -!`qh -!p\ -!qhp\ -!qh{ -!p\ -! rhp\ -!`r(ih -!vp\ -!r(inp\ -!rhiU -!cp\ -! shi[p\x`s+jiiN -!si5 -!Cp\` -!si;p\X -! t(j" -!0p\M -!`t(j(p\E#tZ ?#sbp + F +OO
@FU208 (KVpGd pG +!(h +!p\ +!p(hp\ +!phh +!p\ +! qhhp\ +!`qh +!p\ +!qhp\ +!qh +!p\ +! rhp\ +!`r(ix +!p\ +!r(i~p\ +!rhie +!sp\ +! shikp\x`s+jiiN +!siE +!Sp\` +!siKp\X +! t(j2 +!@p\M +!`t(j8p\E#tZ ?#sbp $p҃#,qkp#p# -$pV8(O -6FHF -2F F -.F%h(F -;8F -7 -1YF"F 8 +$pV8(O +FFHF +BF F +>F%h(F +K8F +G +AYF"F 8 O -aBFYD(F - +aBFYD(F + +]b `i -#`O0FF -8F -(F -O +#`O0FF +8F +(F +O O O
-PF +PF E -/F0F -+F@F -'F$h F -48F -0 -*Cm +?F0F +;F@F +7F$h F +D8F +@ +:Cm - # +# 0D - + (F:KAFS"0[iG@EFQ!FZF;F9 hB`# -!F -D2 +!F +D2 ` -8F - F -## -9F0F -5F0F -10F --F4 F -6(F -2F -- -&<+# F:RFYF -@F +8F + F +## +IF0F +EF0F +A0F +=F4 F +F(F +BF += +6<+# F:RFYF +@F JF - + BoR E -`.['0[mGF +`.['0[mGF aRmGF['0)FmGFH(FAFJF -vU`@F - -(F - F -# -$F(F - (F -F(F -FF -!F - - - -[' RmGF +U`@F + +(F + F +# +4F(F +0(F +,F(F +(FF +1F +, +& + +[' RmGF 1Fm"GF m GF IFmBFGF QFmGF -"IFX 0BF -8FQFoFD -`WQF -ZW"U +"IFX 0BF +8FQFoFD +pWQF +jW"U x@Xp` -lHF -i -f0F -c$$ +|HF +y +v0F +s$$ # BTPF[ - - + + 0GF 0F8ZF 0F HFZF HF -Y +Y PFQFZF PFQFZF PF[FR@RFPGF FFJRiGJ - G + G FGF FGF FnGF FGF FGF OFFmGF -!FKFmGF +!FKFmGF OF;nGF ~OFFmGF qOFmGF -NF3nGF +NF3nGF QO!hFmGF CO FnGF -OmFGF +OmFGF uOFmGF -`h)FmFGF +`h)FmFGF i AF
"0F#` -0F -K(F*F@KFGF -7pZ( RmG -FGF -=gI0F_z1F O#F{OO +0F +K(F*F@KFGF +7pZ( RmG +FGF +(F)FOIX(F)F2F#F*F)F3F@F +MgI0F_z1F O#F{OO -!NF - "7OE - -!F!F!F -ch" -F.KFFF;F -:/FF -@6K F<F -+I*H -x0F -Jh0`JBZ` -FJ`Y`h```h`KhQ` F)F -Q2$ -زBؕBشB3B - +!^F + 27OE + +!F!F!F +ch" +F>KFFF;F +:/FF +@6K FLF ++I*H +x0F +Jh0`JBZ` +FJ`Y`h```h`KhQ` F)F +Q2$ +زBؕBشB3B ȿ$,($+U -+, ++, +232//-O@EFFF ; ܸ#fи*fи @X.jи0и-@_U 3h6C{j -`H`" -FO +`H`" +FO AEq0 " " Fx<F
F " #x( ! AqFFT
ZF -O33H373H1@@8@Bddhl +3 333H1@@8@Bddhl ;< E պ @@ -828,99 +849,98 @@ Jh0`JBZ` : 2ZE{ #a -;9 +;9 -Xn`vh`mh`42,8A8FiU<[j`kG#ij+U<iG8@-CFFFF - +Xn`vh`mh`42,8Q8Fi#U<[j`kG#ij+U<iG8@"-CFFFF FiF#F#;`#AF;`Y<pk"hjkFG!FFhF + (F!F:Fsih4 -oF
FFOhF -8 -) - - -C -` +oF
FFOhF +8 +) + + +C +` FFFsi[i -:*+$$**V<hFYhp`2`h +:*+$$**V<hFIhp`2`h zhh -7 -!yF +7 +!iF " -cj##jFpFF OqF85 -F FF -F F8Fh\ FFah -h!q2FQ@BF +cj##jFpFF OqF85 +F FF +F FQ8Fh\ Fah +h!q2FQ@BF php qCqˈ qˈ1q0мKx xCcxCxC#` -yKyC#yy1C#"À0p -i9F2F +yKyC#yy1C#"À0 +i9F2F pG pG z pG -B pG-AFFFF{[)F@p"(F9F2F#FA -AFFFF۱@)F@p")FBp")FDp"(F9F2F#FA F - +B pG-AFFFF{k)F@p"(F9F2F#FA -AFFFF۱P)F@p")FBp")FDp"(F9F2F#FA F + '' 'T74',T7 Tu8F)F 73T+7T8FYF - -O -wa + +O +wa wa YW V -U )F +U )F Z \ ] -^ /)F -pbJphO"php +^ )F +pbJphO"php f,h i -j )F -pbJphO"php +j w)F +pbJphO"php L - 4)F + 4s)F pJpbhO"pbhpx -qbJq"hO"qT+q -` 8kh --GFFF -萇Fpi -FBO --GFFFF@:7. -7 !.Fp +qbJq"hO"qT+q +` 8kh +-GFFF +萇Fpi +FBO +-GFFFF@:7. +7 !.Fp +3ah?+VF -86 -%D
iF - BFIF0F Fm -(BF0F FdHF ! -8 -*)(F"F -*4..2 F*F +86 +%D
iF + BFIF0F Fm +(BF0F FdHF ! +8 +*)(F"F +*4..2 F*F pq"qbq -q +q pq"qbq -q +q pq"qbq -q -hF q +q pq"qbq -q -FFUFZ +q +FFUFZ ( EѨ
- ?+߀k"hB#`
+1#0#-3pOup#-#psp#?҂#psp+ p# ҃#5qsp+p+ p#"h -#`;hhxh - +#`;hhxh + "FF -3 -%F +3 +%F - a -%a}F -+8(x0lxвB$ + a +%amF ++8(x0lxвB$ ?҂"pbp* p" ?҂"pbp* @@ -932,15 +952,15 @@ ZO O LɲѡT2 -D +D &p҃#%qcp+&p+ -p +p =F<F C p#(!rh 3h ;#*FFO p҃#,qkp#!p# -p\T2Bъ2`(0(0?00` +p\T2Bъ2`(0(0?00` &p҃#%qcp+&p+ -p +p Jh01 F B FAFh @@ -988,7 +1008,7 @@ B 1 FFF!F9FBF#F1F FFF!F9FBF#F}1F -FFF!F9FBF#FN1F +FFF!F9FBF#FN1F ڰG Z6:h 8X'O (F OI @@ -1000,33 +1020,35 @@ h`:`9F"F3F""?GE 3FE !FXF -Fx1BxFF3x - +Fx1BxFF3x + GoQcpn g))/F '&&\8!.*Zm,M߳
8ScTs ew< jvG.;5,rdL迢0BKfpK0TQlReU$* qW5ѻ2pjҸSAQl7LwH'Hᵼ4cZų9ˊAJNscwOʜ[o.h]t`/CocxrxȄ9dnj(c#齂lPyƲ+SrxqƜa&>'!Ǹ}xnO}orgȢ}c
?G5q}#w($@{2 -<L
gCB>˾L*~e)Y:o_XGJDl2y2U2u102M2222 - - - - +<L
gCB>˾L*~e)Y:o_XGJDl{2e2A2u10292222 + + + + '8!.m,M
8STs e -jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxq~2 - - - - - -3[33 - - -3 -383 - +jv.,r迢KfpK£Ql$օ5pjl7LwH'49JNOʜ[o.htocxxȄnjlPxq2 + + + +3l +3 +3 +3x 3 3 +3.3k33 + + + + + |B| !\hT[:.6$g WҖO aiKwZ @@ -1087,7 +1109,7 @@ o/Dyeڜ FSR 0x%x PC 0x%x TTBR0 0x%X CONTEXIDR 0x%X -CPUID 0x%x CPSR 0x%x (read from SPSR) +CPUID 0x%x CPSR 0x%x (read from SPSR) @@ -1153,14 +1175,37 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) - + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1186,5 +1231,4 @@ CPUID 0x%x CPSR 0x%x (read from SPSR) aml-sha1 ;3+#>6.&=5-%
<4,$
- -2 + diff --git a/ta_export/host_include/conf.h b/ta_export/host_include/conf.h index c44f648..fe1158b 100644 --- a/ta_export/host_include/conf.h +++ b/ta_export/host_include/conf.h @@ -90,6 +90,7 @@ #define CFG_TEE_TA_LOG_LEVEL 1 /* CFG_TEE_TA_MALLOC_DEBUG is not set */ /* CFG_ULIBS_GPROF is not set */ +#define CFG_WATERMARK 1 #define CFG_WITH_ARM_TRUSTED_FW 1 #define CFG_WITH_DEBUG 1 /* CFG_WITH_PAGER is not set */ diff --git a/ta_export/host_include/conf.mk b/ta_export/host_include/conf.mk index c143c2f..076a55f 100644 --- a/ta_export/host_include/conf.mk +++ b/ta_export/host_include/conf.mk @@ -1,5 +1,5 @@ # auto-generated TEE configuration file -# TEE version ATOS-V2.4-1-ga4c5f13 +# TEE version ATOS-V2.4-7-gdc2b2aa ARCH?=arm PLATFORM=meson PLATFORM_FLAVOR=gx @@ -93,6 +93,7 @@ CFG_TEE_PANIC_DEBUG=y CFG_TEE_TA_LOG_LEVEL=1 CFG_TEE_TA_MALLOC_DEBUG=n CFG_ULIBS_GPROF=n +CFG_WATERMARK=y CFG_WITH_ARM_TRUSTED_FW=y CFG_WITH_DEBUG=y CFG_WITH_PAGER=n diff --git a/ta_export/host_include/signed_hdr.h b/ta_export/host_include/signed_hdr.h index c6e61e7..684a99f 100644 --- a/ta_export/host_include/signed_hdr.h +++ b/ta_export/host_include/signed_hdr.h @@ -39,8 +39,7 @@ enum shdr_img_type { enum img_key_type { IMG_KEY_NONE = 0, - IMG_KEY_AES256, - IMG_KEY_AES256_ENCRYPT, + IMG_KEY_AES256_ENCRYPT = 2, }; #define TA_SIGN_RSA_PUB_KEY_SIZE (256) @@ -72,6 +71,7 @@ struct shdr { uint32_t key_type; uint32_t rsv[8]; + uint8_t nonce[TA_ENC_AES_IV_SIZE]; uint8_t aes_key[TA_ENC_AES_KEY_SIZE]; uint8_t aes_iv[TA_ENC_AES_IV_SIZE]; diff --git a/ta_export/host_include/tee_watermark_api.h b/ta_export/host_include/tee_watermark_api.h new file mode 100644 index 0000000..5e5c28a --- a/dev/null +++ b/ta_export/host_include/tee_watermark_api.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2014-2017 Amlogic, Inc. All rights reserved. + * + * All information contained herein is Amlogic confidential. + * + * This software is provided to you pursuant to Software License Agreement + * (SLA) with Amlogic Inc ("Amlogic"). This software may be used + * only in accordance with the terms of this agreement. + * + * Redistribution and use in source and binary forms, with or without + * modification is strictly prohibited without prior written permission from + * Amlogic. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _TEE_WATERMARK_API_H_ +#define _TEE_WATERMARK_API_H_ + +#include <stdlib.h> + +typedef enum VM_HW_Err { + VM_HW_OK = 0, + VM_HW_PARAM_ERROR, + VM_HW_FAIL, +} VM_HW_Err_t; + +// WaterMark Core Parameters +typedef struct VMX_CORE_PARAMETERS_REND { +//versioning + uint8_t version_major; + uint8_t version_minor; +//embedding part + uint8_t watermark_on; + uint8_t frequency_distance[3][3]; + uint8_t background_embedding_on; + uint16_t embedding_strength_threshold_8[3]; + uint16_t embedding_strength_threshold_bg_8[3]; + uint16_t embedding_strength_threshold_10[12]; + uint16_t embedding_strength_threshold_bg_10[12]; + uint16_t embedding_strength_threshold_12[48]; + uint16_t embedding_strength_threshold_bg_12[48]; + uint16_t direction_max; + int8_t strength_multiply; +//rendering part + uint8_t payload_symbols[1920]; + uint8_t symbols_rows; + uint8_t symbols_cols; + uint8_t symbols_xpos; + uint8_t symbols_ypos; + uint8_t symbol_size; + uint16_t spacing_vert; + uint16_t spacing_horz; + uint8_t symbol_scale_control; +} vmx_hw_soc_rend_t; + +VM_HW_Err_t VM_HW_Init(void); +VM_HW_Err_t VM_HW_Term(void); + +VM_HW_Err_t VM_HW_OpenSession(uint8_t bServiceIdx); +VM_HW_Err_t VM_HW_CloseSession(uint8_t bServiceIdx); + +VM_HW_Err_t VM_HW_SetParameters_Rend(uint8_t bServiceIdx, vmx_hw_soc_rend_t *hwParameters); +#endif // _TEE_WATERMARK_API_H_ diff --git a/ta_export/host_include/utee_type_extensions.h b/ta_export/host_include/utee_type_extensions.h index 6e7661f..3e85f35 100644 --- a/ta_export/host_include/utee_type_extensions.h +++ b/ta_export/host_include/utee_type_extensions.h @@ -41,7 +41,8 @@ #define TEE_EXTEND_CRYP_EXPORT_KEY 12 #define TEE_EXTEND_CRYP_IMPORT_KEY 13 #define TEE_EXTEND_MEMSET 14 -#define TEE_EXTEND_MAX 14 +#define TEE_EXTEND_WM_SET_PARA_REND 15 +#define TEE_EXTEND_MAX 15 struct tee_vdec_info_param { paddr_t pa; @@ -135,4 +136,11 @@ struct tee_memset_param { uint32_t size; }; +#if defined(CFG_WATERMARK) +typedef struct { + void *para; + uint32_t para_len; +} tee_wm_param; +#endif + #endif /* UTEE_TYPE_EXTENSIONS_H */ diff --git a/ta_export/include/tee_watermark_api.h b/ta_export/include/tee_watermark_api.h new file mode 100644 index 0000000..5e5c28a --- a/dev/null +++ b/ta_export/include/tee_watermark_api.h @@ -0,0 +1,74 @@ +/* + * Copyright (C) 2014-2017 Amlogic, Inc. All rights reserved. + * + * All information contained herein is Amlogic confidential. + * + * This software is provided to you pursuant to Software License Agreement + * (SLA) with Amlogic Inc ("Amlogic"). This software may be used + * only in accordance with the terms of this agreement. + * + * Redistribution and use in source and binary forms, with or without + * modification is strictly prohibited without prior written permission from + * Amlogic. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef _TEE_WATERMARK_API_H_ +#define _TEE_WATERMARK_API_H_ + +#include <stdlib.h> + +typedef enum VM_HW_Err { + VM_HW_OK = 0, + VM_HW_PARAM_ERROR, + VM_HW_FAIL, +} VM_HW_Err_t; + +// WaterMark Core Parameters +typedef struct VMX_CORE_PARAMETERS_REND { +//versioning + uint8_t version_major; + uint8_t version_minor; +//embedding part + uint8_t watermark_on; + uint8_t frequency_distance[3][3]; + uint8_t background_embedding_on; + uint16_t embedding_strength_threshold_8[3]; + uint16_t embedding_strength_threshold_bg_8[3]; + uint16_t embedding_strength_threshold_10[12]; + uint16_t embedding_strength_threshold_bg_10[12]; + uint16_t embedding_strength_threshold_12[48]; + uint16_t embedding_strength_threshold_bg_12[48]; + uint16_t direction_max; + int8_t strength_multiply; +//rendering part + uint8_t payload_symbols[1920]; + uint8_t symbols_rows; + uint8_t symbols_cols; + uint8_t symbols_xpos; + uint8_t symbols_ypos; + uint8_t symbol_size; + uint16_t spacing_vert; + uint16_t spacing_horz; + uint8_t symbol_scale_control; +} vmx_hw_soc_rend_t; + +VM_HW_Err_t VM_HW_Init(void); +VM_HW_Err_t VM_HW_Term(void); + +VM_HW_Err_t VM_HW_OpenSession(uint8_t bServiceIdx); +VM_HW_Err_t VM_HW_CloseSession(uint8_t bServiceIdx); + +VM_HW_Err_t VM_HW_SetParameters_Rend(uint8_t bServiceIdx, vmx_hw_soc_rend_t *hwParameters); +#endif // _TEE_WATERMARK_API_H_ diff --git a/ta_export/include/utee_type_extensions.h b/ta_export/include/utee_type_extensions.h index 6e7661f..3e85f35 100644 --- a/ta_export/include/utee_type_extensions.h +++ b/ta_export/include/utee_type_extensions.h @@ -41,7 +41,8 @@ #define TEE_EXTEND_CRYP_EXPORT_KEY 12 #define TEE_EXTEND_CRYP_IMPORT_KEY 13 #define TEE_EXTEND_MEMSET 14 -#define TEE_EXTEND_MAX 14 +#define TEE_EXTEND_WM_SET_PARA_REND 15 +#define TEE_EXTEND_MAX 15 struct tee_vdec_info_param { paddr_t pa; @@ -135,4 +136,11 @@ struct tee_memset_param { uint32_t size; }; +#if defined(CFG_WATERMARK) +typedef struct { + void *para; + uint32_t para_len; +} tee_wm_param; +#endif + #endif /* UTEE_TYPE_EXTENSIONS_H */ diff --git a/ta_export/keys/root_aes_key.bin b/ta_export/keys/root_aes_key.bin new file mode 100644 index 0000000..8ce85b6 --- a/dev/null +++ b/ta_export/keys/root_aes_key.bin @@ -0,0 +1 @@ +3x⌦ʣ_П0Y&;C~yh
\ No newline at end of file diff --git a/ta_export/keys/ta_aes_iv.bin b/ta_export/keys/ta_aes_iv.bin new file mode 100644 index 0000000..8bc1bb6 --- a/dev/null +++ b/ta_export/keys/ta_aes_iv.bin @@ -0,0 +1 @@ +b5!݁r>W
\ No newline at end of file diff --git a/ta_export/keys/ta_aes_key.bin b/ta_export/keys/ta_aes_key.bin new file mode 100644 index 0000000..e5cff83 --- a/dev/null +++ b/ta_export/keys/ta_aes_key.bin @@ -0,0 +1 @@ +'^ C785V=#
\ No newline at end of file diff --git a/ta_export/lib/libmpa.a b/ta_export/lib/libmpa.a index fad7104..e1250e6 100644 --- a/ta_export/lib/libmpa.a +++ b/ta_export/lib/libmpa.a @@ -1,13 +1,14 @@ !<arch> -/ 1495506546 0 0 0 1608 ` - +/ 1499930199 0 0 0 1608 ` + mpa_montgomery.o/ mpa_mem_static.o/ -mpa_misc.o/ 1495506544 7574 7000 100644 38856 ` -ELF -Jh01 - - +mpa_misc.o/ 1499930197 7574 7000 100644 38892 ` +ELF +Jh01 + + +6 @@ -18,45 +19,48 @@ mpa_misc.o/ 1495506544 7574 7000 100644 38856 ` B B - - - - - - - - -s - - - -3 - - -. #[!)2/V# Y`"D + + + + + + + + + + + +s + + + + + + +. #[!)2/V# Y`"D A -*D - - +*D + + - + F I H - -ELF + +ELF F - B FAFh - - -K -. - - - + B FAFh + + +K +. + + + - - + + @@ -72,28 +76,27 @@ F - - - - - -9 - - - - + + + + + + + + + - - - - - -f#> + + + + + +f#> A -*D - +*D + - + H E E @@ -150,8 +153,8 @@ S - -ELF + +ELF 8A0F_z1F O#F{OO !F @@ -177,13 +180,13 @@ S o/Dyeڜ - - - -@ -# - -a + + + +@ +# + +a O!Pv @@ -199,23 +202,23 @@ O!Pv - + - - + + - - - + + + - + - + @@ -240,26 +243,27 @@ O!Pv - -"a
- - - - -9 - - - - - - - -thKhi!K=2%!/].t/hKKKLK~X4.$F%uK!< <
+ +( +"a
+ + + + + + + + + + + + +thKhi!K=2%!/].t/hKKKLK~X4.$F%uK!< <
A -*D - +*D + - + K L M @@ -301,11 +305,11 @@ X - -ELF - - -7 + +ELF + + +7 @@ -313,29 +317,27 @@ X B -B - - - +B + + - - - - - -x - -E - - - -X + + + + + +x + + + + +X A -*D +*D - - -ELF + + +ELF D; O GYh @@ -351,21 +353,21 @@ X : ? E; O -DEмB - +DEмB + -V -9 - +V +9 + - + f - + - + @@ -382,25 +384,25 @@ X - - + + - - - + + + - - + + - + - + @@ -415,26 +417,27 @@ X - - - - - - - - - -4 - - - - + + + + + + +9 + + + + + + + + A -*D +*D - + - + D G E @@ -492,20 +495,20 @@ V - -ELF + +ELF *Fch - + -@ -# - +@ +# + - + - - - + + + @@ -520,29 +523,27 @@ V - - - - - - - -, - - - - - - -- - - + + + + + + + + + + + + + + + -XgggLggdf!J!K!KZKKKKKKKC..r../KKL1!/9PzX f;j;[hg/[0r<JYKKK..4z 5$ggMZ//? !-!W +XgggLggdf!J!K!KZKKKKKKKC..r../KKL1!/9PzX f;j;[hg/[0r<JYKKK..4z 5$ggMZ//? !-!W A -*D +*D - + E E F @@ -642,18 +643,18 @@ G - -ELF -FHhFhR<R`R,FhS`i`HiG - - + +ELF +FHhFhR<R`R,FhS`i`HiG + + -a -D - +a +D + $ - - + + @@ -666,40 +667,39 @@ FHhFhR<R`R,FhS`i`HiG B - - - -! - - - - - - - - - - - + + + + + + + + + + + + + + +/ A -*D - +*D - + N - -ELF + +ELF R#F -O - +O + -K -. - - - - - +K +. + + + + + @@ -710,29 +710,26 @@ N B - - - -< - - - - - -# - - - - - - - -- + + + + + + + + + + + + + + + A -*D - +*D + - + F F D @@ -748,11 +745,11 @@ K L - -ELF -ch" - -< + +ELF +ch" + +< @@ -761,42 +758,43 @@ L B - -"Y - - -, -X - - - - - - -. - -.$ + +" + +| + +X +< + + +3 + + + + + +.$ A -*D - - +*D + + - + R S T -R - -ELF +R + +ELF T!8 B T! Bت - gE5T% - - + gE5T% + + @@ -805,64 +803,61 @@ T!8 - - - - - - -: - - - -1 - - - -> - - -C - -.!; .x ; J!!!Yh!G<9.G:tF.;J0/DJ>. + + + + + + + + + ++ + + + + +> + +.!; .x ; J!!!Yh!G<9.G:tF.;J0/DJ>. A -*D - +*D + - + C G H C G H - -ELF + +ELF F Y%:F5PFshB Y' &v OD - *F6MFW + *F6MFW -K -. - - - +K +. + + + - + - - - - + + + + - - + + @@ -876,36 +871,37 @@ Y%:F5PFshB - - - - - - - - - - - - - - - - - + + + + + + + + +I + + + + + + + + + fm !! <0!N/-!OgL\OgPK=NX5< <Rx w (MdM[ <//-!NNg]gk1Ir"@0NK=LX7< < !/ J<P!@=!3KMY=Z#0! - = + = A -*D +*D - + - + G I E @@ -962,52 +958,50 @@ N - -ELF -@BF - + +ELF +@BF + B - - - - - -% - - - - - -^ - - - - -< y 5Y + + + + + + + + + + +^ + + + +< y 5Y A -*D - - - +*D + + + - + B B B - -ELF + +ELF FKFFF;F -:/FF - -@ -# - - +:/FF + +@ +# + + @@ -1016,28 +1010,29 @@ FKFFF;F B - - -8 - - + + +! + + - -0 - - - - - - - - + + + + + + +# + + + + A -*D - - +*D + + - + D D D @@ -1056,11 +1051,11 @@ F J J J -J -ELF - -f -Q2$9 Q0Pu +J +ELF + +f +Q2$9 Q0Pu @@ -1068,29 +1063,35 @@ J B - - - - - - - - - - -~ - - - -( + + + + + + + + + +1 +E + + +F + +~ + + + + + A -*D - +*D + - + D - -ELF + +ELF 74 50_( @@ -1102,20 +1103,19 @@ D B 0\>HFQ2F1) 1 - - -, + + - + 4 - - + + - -C -b - + +C +b + @@ -1125,11 +1125,11 @@ B -0 - +0 + - - + + | @@ -1156,39 +1156,36 @@ B - - -< - - - - - -` - - - -1 - - - -& - - -% + + + + + + +, +9 +` + + + + +; + + + ./w. -. +. A -*D +*D - - + + - + _ ` _ @@ -1204,19 +1201,19 @@ g - -ELF + +ELF FFF!F9FBF#F1F FFF!F9FBF#F1F -FFF!F9FBF#F1F - - +FFF!F9FBF#F1F + + -@ -# - - - +@ +# + + + @@ -1226,29 +1223,30 @@ g - - - - -: - - - - - - - + + + + + + + + + + + + +? .M#>gvK ..M#>gvK -..M#>gvK .Pz &z 4K\Y=Z"LZ=gMP)L +..M#>gvK .Pz &z 4K\Y=Z"LZ=gMP)L A -*D +*D - - + + - + C E F @@ -1273,4 +1271,4 @@ G G F M - + diff --git a/ta_export/lib/libpng.a b/ta_export/lib/libpng.a index 43a82b9..70285a6 100644 --- a/ta_export/lib/libpng.a +++ b/ta_export/lib/libpng.a @@ -1,7 +1,7 @@ !<arch> -/ 1495506546 0 0 0 8436 ` - -ELF +/ 1499930199 0 0 0 8436 ` + +ELF CiHiBۀB̿ TT KF!hF{D FiF @@ -117,103 +117,104 @@ Copyright (c) 1996-1997 Andreas Dilger Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. - - -/ - - - + +; + +/ + + + - - - - - - - k -1 -y + + + + + + + k + +y - - - - - - - - - - - - - - - - - - - - - - -PS -Q~ -Uf -Vf -W -X$ -Zq -[ + + + + + + + + + + + + + + + + + + + + + + +PS +Q~ +Uf +Vf +W +X$ +Zq +[ \$ -^e -_ -aH -bs -c< -e) +^e +_ +aH +bs +c< +e) f$ -g$ - -) +g$ + +) h -j - - +j + + #Py - - - + + + - - + + $#Py $#Qy#Pu -$#Q0#Py +$#Q0#Py #Q0#Pt - - - - + + + + #Pu #Q0 - - - + + + - + - + #Qt #Qu - - - + + + @@ -224,70 +225,70 @@ $#Q0#Py - - - + + + - - - - + + + + - + - - - - - -) -Y - -z - + + + + + +) +Y + +z + ) - -) -) -Y - -) - - + +) +) +Y + +) + + - - -& - - - - - - - - - - - + + +& + + + + + + + + + + + $ - - - + + + - - - - - -@$ - -|) -!$ - - + + + + + +@$ + +|) +!$ + + & @@ -415,26 +416,27 @@ $ R$ - - - - - -) - -` - - - - - - - -: - - - - + + + + +() + + + +p + + +n + +2 + +ڜ +: + + + + .v.=>+=>6u. u.0 !%.YKf .(.O M9<s!M#j`q%11/G%
f !/h1,%1##>xX .%J " @@ -450,14 +452,14 @@ X!1u4z P!Rfjjf(Jc. <mk73?<`y .g n."=!,Y!,K4/y7 ." K#{. #+?. - v.Kft %) 1E < ... + v.Kft %) 1E < ... A -*D +*D - - + + @@ -474,7 +476,7 @@ X!1u4z P!Rfjjf(Jc. - + @@ -706,10 +708,10 @@ c < S W - + - -ELF + +ELF !QHF !QDf |,4F&HF @@ -719,111 +721,104 @@ W #\ *3+G FF FF -F@ - - - - - -% -R +F@ + + + + + - - -R - - - - -i - - - 3 - - -`v + + + + + +i + 3 + +wv - - - - - - - - - - - - - -{ - - - - - - - - + + + + + + + + + + + + + +{ + + + + + + + + - + P - -Q/ -U -V -W -X -Z" -[ + +Q/ +U +V +W +X +Z" +[ \ -^n -_E -a -b$ -c -e) +^n +_E +a +b$ +c +e) f g - -E -) -hF - - - - - - - - + +E +) +hF + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + % - - + + % - -& - - + +& + + & @@ -849,47 +844,48 @@ hF - - - - -\ - - -m' - - - - - - -9 -@ - -k -g - -E -, - -' - - + + + + + +' + + + + + +; + + +Y +T +0 +k +~ + +E +@ + + +' + + 1s./ z 0# .J v. q , Y l.#*+ j.j h<% <vJ .L0 -.5z4~. !-![ +.5z4~. !-![ A -*D - +*D + - + w w x @@ -939,10 +935,10 @@ v - + - -ELF + +ELF J0FF @FOrF# F@FOrF# F@ @@ -954,119 +950,119 @@ m Hl` k`Kk;`k3`
k+`,l#`F hIr #h` - - - - - - + + + + + + - - - + + + - - - -v + + + +w - - - - - - - - - -$ -RPt - - - - - - - - + + + + + + + + + +$ +RPt + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + Pt - - - + + + Pt - - - - + + + + - -
- - - - - - - - - + +
+ + + + + + + + + - + - - -$ -% + + +$ +% - - - + + + - - - + + + - + - + - + - + - + - - - - - - - - - - - -) + + + + + + + + + + + +) - + +- & @@ -1091,33 +1087,39 @@ $ - - - -M( - - - - - -Y - -H - -%: - - - - -.Z5YA + + + + +d( + + + +m + + + +p + +_ +ȫ +<: + + + +Q + + +.Z5YA A -*D - +*D + +k - + c c p @@ -1146,53 +1148,55 @@ s # ( * - + - -ELF + +ELF GF@FpFF I(FyDO0FB(Fp@ - -#, - - - - -# - - - - -l - 6 -r + +:, + + + + +I + + +I +& + + +l + 6 +r - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + $Qt -$Q0Pt - -9 - - -# +$Q0Pt + +9 + + +# & @@ -1207,38 +1211,35 @@ $Q0Pt B - -WN - + +N + - - -C - -d% -H - - - - - - - - -qh - - -C -~ -q -` - - + += +{% + + + + + + + +t + +h + +2 +C + + + + J!001i!J -<#/ +<#/ A -*D - +*D + @@ -1248,7 +1249,7 @@ J!001i!J - + q o q @@ -1287,10 +1288,10 @@ t - + - -ELF + +ELF -!*-!* ؝-=$- UIB 2B?t F)FOIB @@ -1306,119 +1307,122 @@ t 2B? F)F$IB"B? F)FFKB2љB? F)FB?w F)F ҚI FyDBЗI FyDh1 @ F1 F=єi1+:%i1+ F - - -. - - - - - - - -T - -x + + +/ + + + + + + + + +T + + +x - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + - - + + - - - - - - + + + + + + + - + - - + + ^r) - - - - - -Y* -~* -O* - + + + + + +Y* +~* +O* + * - + + - + \) - + Rb+ + - + + - + (+ - + - + 79, - + d, - + 2, - + F, - + , - + - - + #;- - + f- - + - - + -- - + A- - + <. - + K=. - + h. - -. + +. e. -. - +. + D/ ) }/ - + & @@ -1484,44 +1488,41 @@ e. - - - - -( - - - -& -0 -Zm -} -&O -4; -߱ - - - - -h - -c -m + + + +B + + +( + +Y + +G +qm + +RO +K; + + + + + fi,!!=YZ fgYY}fz &?/X !-$,5@F>0:>> t,<-?M0-/M"K[YK0>u>K|!A!.u./3K% --0!-/ /i.. !/$M- n /Xs ^<" /gK0/>?0!!!?+3?=!!:3!=3!=y.t. .3YKg=Y//k>0=^KL X XK9 ? -JM##6z.KA +JM##6z.KA A -*D - +*D + - + @@ -1660,10 +1661,10 @@ JM##6z.KA " - + - -ELF + +ELF O ԧBѻ# @@ -1760,77 +1761,75 @@ D)++ K F1FB FI FyDIyD #3SCB2Ӹ -IyDF -- -. - - - - +IyDF +/ + + + - - + + - - - - -{ + + + + +{ - - - - - - - - - -% - -9 - - - - - - - - -9 -U -P -Q -U -V -Wg -Xs -Z -[g + + + + + + + + + +% + +9 + + + + + + + + +9 +U +P +Q +U +V +Wg +Xs +Z +[g \s -^ -_ -a -b -c -e4 -fs -gs - -4 +^ +_ +a +b +c +e4 +fs +gs + +4 h -j - - - - +j + + + + - - + + - - - + + + " $ %z "?%1$" @@ -1840,80 +1839,82 @@ j " $ %#Q1#Pv " $ %"<%1$" " $ % -x +x - + F - -F -5 -i + +F +5 +i -F - - - - - +F + + + + + z -8 - -* - - - - - - - - - - - - - - +8 + +* + + + + + + + + + + + + + + + +u U U - - - - + + + + U - - - + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - + + + + - - -4 - + + +4 + - - - + + + & @@ -2001,27 +2002,30 @@ $ - - -' - - - -h - - - - - - -N -;: - - -k - - - + + E + +U +' + +$ + + +" + + +D + + +ҩ + +N +R: + +w + + + 106=0=>!?." ^J" 2[+X !"!"!"!" J? 3!z #"#t J!"/C=S6QQ @@ -2039,14 +2043,14 @@ J0 < / <0 <0 <0=^0B0B0C0C0B0 -<BNg<Y#+B+o.[+? +<BNg<Y#+B+o.[+? A -*D +*D - - + + @@ -2065,7 +2069,7 @@ J0 - + @@ -2303,40 +2307,32 @@ G C D H - + - -ELF - - - -D -d -| - + +ELF + + + + - - -| - -& - -M - -| -tr + + + +M + +r - - - - - - - - - -j - + + + + + + + + + + & @@ -2352,33 +2348,30 @@ j - -} -{% - - - - - - - - -+ -# -, -
-= -|7 -? - - - + +x% + + + + + + + ++ + + +d +y7 +S + + + A -*D +*D - + d f @@ -2398,10 +2391,10 @@ f - + - -ELF + +ELF Eђ IyD @@ -2524,58 +2517,53 @@ OHHHOJ xAy8 -0+hҲ -. - - - -y - - - - - - -w +0+hҲ +5. + + + + + + + + +w - - - - - - - - - -2 - - - - - - - - -z + + + + + + + + + +2 + + + + + + + +z w -w +w - + -&Pt - -0 +&Pt + +0 - - - - - - - - -: + + + + + + +: @@ -2587,16 +2575,16 @@ w - - 0 + + 0 o> - - + + - - - + + + @@ -2611,7 +2599,7 @@ w - + D $ $ @@ -2626,32 +2614,31 @@ E -S +S d-P - - - - - - - + + + + + + + ^Q - -0 -0 - -. -* -WR -2wR -R + +0 +0 + +. +* +WR +2wR +R R -R -F -R +R +R -S +S & @@ -2893,30 +2880,27 @@ $ . - - - -" - -3 -' - - -O - - -w - - -. - - -M -U9 - - - - + + + +; + + +' + + + + + + +E +ߣ + +;M +l9 + + + w.&)=~.<" 26tuO<jgSf. $1Kd%$g^gd##_?-/N3#i,2/KL!M%t<[1[h .zXL0 @@ -2935,12 +2919,12 @@ Xi)'#YAYv#[KL=! .x..x .u<x .x ]"0><z.#<$v22v22vJz <]"1?<z.#"v22v22vJz <y,":X,"v-G
XrY//4I/Ihv5y.5yt"/1-<J{.HC],"v-GJv/0y X}J }.X } !0e1=/< .+"//KKz.<*"///KKK0,/Lu.<1>%y. .,#K*<*"////-0y.<kL> -f="="[# +f="="[# A -*D - +*D + - + @@ -3048,10 +3032,10 @@ f="="[# & 6 < - + - -ELF + +ELF K "{D FiF 0-PF*F"F2 AF Fo @@ -3109,55 +3093,56 @@ v M}D M}DR4P$@FFFGp .l1+@ -k!*(@ (* *0 - -f - - - - - - - - - -{ +k!*(@ (* *0 + +} + + + + + + + + + +~ +{ - - - - - - - - - + + + + + + + + + ) -) +) - - - -) -%( - - - - + + + +) +%( + + + + - + - + - + - + @@ -3167,110 +3152,110 @@ M}DR4P$@FFFGp - - - - - + + + + + - - + + - - - - - - - - - - + + + + + + + + + + - -T -I -I - - - - -) - - - + +T +I +I + + + + +) + + + - - - -K -) -0 - - -WX - + + + +K +) +0 + + +WX + x - - - - -Y -SY - + + + + +Y +SY + - - + + Z ;Z - + - + ) ) - + ) - + =[ - + - + ) - + ) - + - - + + - + - + - -) + +) - + - + <) - + ^g^ - -^ -n^ - + +^ +n^ + & @@ -3406,25 +3391,25 @@ $ + + - - - - - - -' -! - - -9 -r -U -9 -\ - - - - + + + + + +' + + +G +& +` + +| +9 +p + +v + + < </?1![rJLJf@*.@2#/.0=3!..u.(1$%>w<Xw< .bf ?!2-4/Z![ X!-? @@ -3441,15 +3426,15 @@ J003!(0L3$##=(0v1!!! .Q>@*2/wXJ .Y0/+C(-4= J22"0#>gh - r.!/M/JKLf@"//6YZ + r.!/M/JKLf@"//6YZ A -*D +*D - + @@ -3473,7 +3458,7 @@ J22"0#>gh - + @@ -3794,10 +3779,10 @@ O $ 2 S - + - -ELF + +ELF "hC `0FFjF# ,
(FQF @@ -3814,88 +3799,88 @@ S zFC'F 8FIF" IyD8@0B F) -74 .5F5F'FkN,,<; - -. - - - - - - - - - - - -w +74 .5F5F'FkN,,<; + +. + + + + + + + + + + +w - - - - - - - - - -5 - + + + + + + + + + + +5 + - + 5 - + - + - + - + - + - + - -) + +) - + - - + + - + - - + + - + - + - + - + - + - + - + - + - - + + - + @@ -3903,63 +3888,63 @@ F) - - - + + + - + - + - + - + - + ^4 - - -5 + + +5 ) - + c5 - + ) - + 5 - + - + - + 6 - -) + +) &7 - + ) - + ) - + d7 - - + + n8 - + x - + - - + + - -^9 -8-9 + +^9 +8-9 CW9 Gv9 @@ -4039,37 +4024,39 @@ Gv9 - - - - -( - - -X - -b -l - - -: - - - - + + + + +%( + +B + + +y +l + +¬ +*: + + + + + +A XA x !/////0LhK+. # <v<v. Xz[?!\,/0,"0 # <.Qy ' -<?;!/ +<?;!/ A -*D +*D - + @@ -4099,7 +4086,7 @@ Xz[?!\,/0,"0 # - + @@ -4235,10 +4222,10 @@ Xz[?!\,/0,"0 # ) - + - -ELF + +ELF xC+B@B Bh x<Sx2<B+F"r"rz*< @@ -4249,44 +4236,45 @@ hz@A[BSCJhi)f<eVeeeb% x:AO P@IyD0@ 00 J*jZ:zF&fV6vN.n^>~A!aQ1q I)iY9yE%eU5u
M-m]=}C#cS3sK+k[;{G'gW7wO/o_? JZ*j:zN^.n>~CS#c3sGW'g7wK[+k;{O_/o? -*:JZjz+;K[k{,<L\l|
-=M]m}.>N^n~/?O_opng_set_filler is invalid for low bit depth gray output - -, - - +*:JZjz+;K[k{,<L\l|
-=M]m}.>N^n~/?O_opng_set_filler is invalid for low bit depth gray output + +, + + - - - -j - - -j - -T - 5 -b -t + + + +& + + + + + +T + 5 +Q +t - - - - - - + + + + + + - - - - - - + + + + + + - - - - - + + + + + d & @@ -4311,38 +4299,40 @@ d - - - - -#& - - - - - - -< -$ - -, -% -@ -P8 -N - - - - - + + + +:& +| +K +} + + + + +I + + + +f + +, +< +g +g8 +b + + +^ + J#K{##/K` X0 -->- +->- A -*D +*D - + s u @@ -4365,33 +4355,34 @@ u - + - -ELF - - - - + +ELF + + + + - - -| - -M - -r + + + +M + +r - - - - - - - - - - + + + + + + + +M + + + +b & @@ -4407,33 +4398,31 @@ u - -y% - - - - - - - - -. -+ - -I -7 -K - -O -M - - + + +v% + + + + + + +m ++ ++ + + +7 +_ + + + A -*D +*D - + d @@ -4452,10 +4441,10 @@ d - + - -ELF + +ELF b~(F (F0C B(F6 @@ -4466,54 +4455,53 @@ D)++ F -F* F F( Fi F F F1Fp@p -3- - - - - -> - +F* F F( Fi F F F1Fp@p +_- + + + + + - - + + - - - -ox + + + +x - - - - - - - - - + + + + + + + + + - - - - - - - - + + + + + + + + - + 0 - -( + +( ) - + - + - - + + @@ -4523,50 +4511,50 @@ F* F F( Fi F F F1Fp@p - + - -v+ -+ + +v+ ++ ^+ - -
+ -+ - , -@, -p, - -, -!, -& - -A3- -Fq- -W- -L- -R- -. -69. -1c. -,. - -. + +
+ ++ + , +@, +p, + +, +!, +& - +A3- +Fq- +W- +L- +R- +. +69. +1c. +,. + +. - -`D/ -\_/ -/ -i/ -/ -/ -H0 -c0 -^0 - - -0 - + +`D/ +\_/ +/ +i/ +/ +/ +H0 +c0 +^0 + + +0 + dA1 - + & @@ -4647,47 +4635,44 @@ dA1 - - - -a - - -& - - - - - - -| -k - - -l -} -vL -(9 -H - -( - - - + + + + + + + +' + + + + +. + + m + +L +T9 +\ + +H + + + . .c.PJ///!O/L`fe&.X # <=j=j==&==>YkX.r. < <=P -X / +X / A -*D +*D - + @@ -4708,7 +4693,7 @@ X / - + @@ -4826,45 +4811,45 @@ X / % - + - -ELF + +ELF !iz6C,C jz*4ؔ1ih+* *+ Q ,Q QQ ,, QB -<,7E00TX*z@1*(jz)h*O - - - - - - - - - -H - - - ) -r +<,7E00TX*z@1*(jz)h*O + + + + + + + + + +H + + + ) +r - - - - - - - - - - - - -; + + + + + + + + + + + + +; @@ -4872,11 +4857,11 @@ X / - - - - -! + + + + +! & @@ -4892,37 +4877,39 @@ X / - - - -C -% -v - - - - - - - -, -K - -7 - -\ - - -r - + + +x + +" + +% + + + + + + + +> + +, +b ++ +7 +( +, + + .!=!Kk}X }.AL .v !#*%$*$!50!%0h-BC,"Q*K+ .} .}<9.} 2$91z.&z< .o.X$*&?Q1d ~ >!?z.&z<v..m.<~ >N11c/"+.~.!?z.&z<6!n..o<.O~X ~. ~."Cy. ."!!/! ~ <#!!!///"!" ~ <0Cy. .,#/-+X#!!!!! -.+#9Xy '/
<k +.+#9Xy '/
<k A -*D +*D +[ - + ` a b @@ -4965,10 +4952,10 @@ c - + - -ELF + +ELF ,m= + @@ -5035,30 +5022,29 @@ F#A FIF:F+FDa!ou FIF:F+FB H1DaD1HaF F9F*FDa F9F*FB H1DaD1HaF@ FIF:F+FDa @ FIF:F+FB H1DaD1HaF FIF:F+F Da FIF:F+FBH1DaD1Ha - -, - - -w - - -^ - - - - -bv + ++- + +m + + + + + + + +yv - - - - - - - - - - + + + + + + + + + + @@ -5066,51 +5052,53 @@ w - - - + + + - - - + + + - + - -
-$ -( -) - - - -F -F - - - - + +( +
+$ + +( +) + + + +F +F + + + + -cI +cI 0 - -WJ + +WJ x - -.K -IK -nK - - - - + +.K +IK +nK + + + + ^VL - - + + & @@ -5252,31 +5240,24 @@ x - - - - - - -& - - -2 -9 - - -d - -ء -$ -K -7 - - - - -; - + + + + +& + + +8 +Q + + +P +K +#8 + + + + Jv.#/4"/-5 .u. .11u - @@ -5288,16 +5269,16 @@ J J v </>>/Z1>,N,04z ( -.v +.v A -*D +*D - - - + + + @@ -5314,7 +5295,7 @@ J - + @@ -5467,6 +5448,6 @@ J & ) 6 - + diff --git a/ta_export/lib/libutee.a b/ta_export/lib/libutee.a index c55d21e..128cf3e 100644 --- a/ta_export/lib/libutee.a +++ b/ta_export/lib/libutee.a @@ -1,150 +1,58 @@ !<arch> -/ 1495506546 0 0 0 7166 ` - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +/ 1499930199 0 0 0 7270 ` + tee_api_property.o/ tee_api_objects.o/ tee_api_operations.o/ tee_tcpudp_socket.o/ tee_socket_pta.o/ +tee_api_watermark.o/ utee_syscalls_a32.o/ default_regular.o/ -/0 1495506544 7574 7000 100644 80036 ` -ELF + +/0 1499930197 7574 7000 100644 80068 ` +ELF ## H K" -H@{DxD -S +H@{DxD +S } -l - - +l + + -0 -m +0 +m -}t -7 +7 L}u -Y - +Y + -g}u +g}u - + }u - + }u - -}u + +}u }t -B -}u -B}u -%) +B +}u +B}u +%) @@ -166,28 +74,29 @@ B}u - -* - - -j - - -^ - - - -\ - -.##"3KL"2 + +)* + + + +j +< +d + + +M + + + +.##"3KL"2 A -*D - - - +*D + + + - + @@ -244,21 +153,21 @@ j - - -ELF + + +ELF HxD - -len - + +len + WP4} -B}u +B}u Pw Pw Qw -}u - +}u + @@ -266,13 +175,13 @@ B}u - + Qu - - -"# + + +"# ! @@ -286,28 +195,28 @@ B}u B -F -o - - +G + + - - + + - - - -{ - - - - -$K~.K=!.#m !-/J + + +\ + + +{ +% + + + +$K~.K=!.#m !-/J A -*D - +*D - + | | | @@ -347,54 +256,52 @@ o - - -ELF - + + +ELF + - + B - - + + + - -Q - - -5 - -_ - - - - - - - + + + +Y + +/ + + + + + + A -*D - +*D + - + C D - - -ELF + + +ELF - - - - + + + N \ p - + 4 1 B @@ -403,32 +310,29 @@ p - -p - -X - - - - - -F - - -$ - - - -9 - -! + +S + +5 + + + + + + + + +' + + + A -*D - +*D + - + B F A @@ -437,109 +341,108 @@ H E I J -E - -ELF -E +E + +ELF +F B .?:;'< - - - - - - - - -C - - -r - - -m - -$ - + + + + + +z + + + + + + + + + + +$ + A -*D +*D - + K -M - -ELF - -q - +M + +ELF + +~ + 4 B - - - - - - - - - - - - -.$#o !/<!@J.i .>ef.n f!K!"!Z!0b :#!"!Z!0X ) :#!"!Y!X + + + + + + + + + + + + + + + +.$#o !/<!@J.i .>ef.n f!K!"!Z!0b :#!"!Z!0X ) :#!"!Y!X A -*D - +*D + - + - + ) * - -ELF + +ELF K" H!{DxD F{D FpF
FF!F H LxD K" HA!{D - - - - + + + + - - - - - -Y - -Y -Y - -Y - + + + + + + + + - + - - + + - - + + I @@ -560,37 +463,35 @@ Y B - - - - - -@ - - - -9 - -& -j - - -U + + +: + + + + + + +h + +Z + + J/4=
.% <."?/$N" .$ . 565#/P#/./R/Q6/Q=` . -f'{<.> +f'{<.> A -*D +*D - + - + @@ -702,9 +603,9 @@ f'{<.> - - -ELF + + +ELF O K" @@ -716,24 +617,26 @@ K" H@{DxD KB K" H@{DxD K" -HOq{DxD +HOq{DxD a -b -buf -x - - - +b +` +buf +x + + + -}t - +}t + -}t -$}t - -2}t -<}t -O +}t +$}t + +2}t +<}t + +O @@ -749,32 +652,34 @@ O B B B - -~@ - - - - -a - - - - - - + +@ + + + +a + +@ +( + + + + + +P + +1 o ./K"/pJJ20B+!" -l q<J! <.37%/"P!0"01!!0/:0m<O7%/#Z!"1 +l q<J! <.37%/"P!0"01!!0/:0m<O7%/#Z!"1 A -*D - - - - - +*D + + + - + v y w @@ -828,9 +733,9 @@ w - - -ELF + + +ELF K" H\!{DxD K" @@ -843,80 +748,79 @@ H@ K" H@S!{DxD K" -HOq{DxD - -i - - -R - +HOq{DxD + +i + + +R + - + -}t +}t }t }t -}t +}t $}u (}u ,}u -1}t +1}t 9}t -;}v +;}v E}t -G}v +G}v r}t u}t x}t -}t - -_}t +}t + +_}t - - - + + + -}t +}t -}t +}t }t -}t +}t }t - + -}t - + - + D}t - - + + -S}t -`}t +S}t +`}t -p}t -}t -}t -}t -}t -}t -U +p}t +}t +}t +}t +}t +}t :; @@ -1005,26 +909,27 @@ U -": - - - -n - -Q - - - - +"> + + +i +n + +_ + + +{ + + . #0/K/!!!!"w#0 1 -. +. A -*D +*D - + @@ -1035,7 +940,7 @@ Q - + @@ -1190,9 +1095,9 @@ Q - - -ELF + + +ELF FFk˱gk1FjB4B(/F:Fkak8c BDckk<[BD 1[BD1F @@ -1222,33 +1127,33 @@ LH"@^q{DxD K" H@q{DxD K" -H@q{DxD - -k -o - +H@q{DxD + +k +o + w$}v $}w -$}y - +$}y + $}u - + -w$}t +w$}t b$}u - + $}u -$}t - - - +$}t + + + $}u @@ -1258,9 +1163,9 @@ b$}u $}u $}t -$}u - - +$}u + + @@ -1268,85 +1173,85 @@ b$}u P$}u - -$}u + +$}u $}v $}v $}v $}v $}w -$}t +$}t $}u - $}t -@$}t + $}t +@$}t M$}t P$}u T$}u -]$}u -$}u ->$}t -$}t +]$}u +$}u +>$}t +$}t $}t $}u -$}u +$}u $}w $}w $}w $}w -$}t +$}t $}t - + &$}t - + ]$}t - + i$}w l$}w o$}w -v$}t -$}t -$}t -9$}t -$}t +v$}t +$}t +$}t +9$}t +$}t $}{ $}x $}{ $}{ $}{ -$}t +$}t $}{ $}x . $}{ $}{ $}{ -$}t +$}t $}y $}v $}y $}y $}y -$}t - +$}t + $}x $}v $}x $}x $}x -($}t +($}t :$}{ <$}v >$}{ A$}{ C$}{ -L$}t +L$}t ^$}z `$}v b$}z e$}z g$}z -n$}t +n$}t ~$}y $}v $}y @@ -1357,29 +1262,29 @@ n$}t $}y $}y $}y -$}t -$}t -$}t -$}t -o -l -h -k -p -r -u -v -x - - - - - +$}t +$}t +$}t +$}t +o +l +h +k +p +r +u +v +x + + + + + -/ +/ | - + :; @@ -1457,33 +1362,30 @@ x -& -؆ - -u - -f - - - -( -, - -P - - +& +7 + + + + +f + +P + + + + + X .Z=!!#=%"1 <!!/"'Y0#=?1/=/-!!/#/""PJ7 J -<!!/!!#=-/42;K2!L/"",A +<!!/!!#=-/42;K2!L/"",A A -*D +*D - - -j -j + + @@ -1503,7 +1405,7 @@ j - + @@ -1808,49 +1710,49 @@ j -@ - -ELF +@ + +ELF 3#
p$K"$HY!{DxD h{"K h{"K -FFF'K"'H@{DxD - -D -QJ - - - +FFF'K"'H@{DxD + +D +PJ + + +q U - - + + -< - -y -L -{ - - - +b + +y +w +a +e + + }u }t - + }t }u -}t +}t #}t -#}t - +#}t + .?:;'I@B @@ -1865,30 +1767,34 @@ j - -~7 - - - - - -^ - -H - -i - + +7 + + + + +s + +, + + + + + + +- + - + A -*D - +*D + - - + + - + x y z @@ -1994,38 +1900,39 @@ x - - -ELF -n -PP -PP + + +ELF +PP +PP B - - - -M - - -
- - - - -H - - - + + + + +4 +i + +
+ +C + + + + +f + + A -*D +*D - + : : - - -ELF + + +ELF p 3 @@ -2034,20 +1941,20 @@ H u - -x - - - - + +x + + + + - - - + + + O -z -~@ +z +~@ @@ -2058,29 +1965,31 @@ z -m< - - - - - -$ - -W - - - -u - - +G< + + +& + + + +! + +6 +V + +z + + + + A -*D +*D - + n o n @@ -2133,15 +2042,17 @@ o - - -ELF -F + + +ELF +F + +> a -b -Q!P1 -QP3 - +b +Q!P1 +QP3 + @@ -2149,23 +2060,24 @@ QP3 B - - - - - - - - - - -' - -.0#!0,"" zJ&/!E'[.'[;!/2. <w< 4"E1#/03.Dx<(4"71#/02.R^"z<$"#/0 + + + + + +a + + + + +N + + +.0#!0,"" zJ&/!E'[.'[;!/2. <w< 4"E1#/03.Dx<(4"71#/02.R^"z<$"#/0 A -*D +*D - + R S U @@ -2174,13 +2086,13 @@ U U U U - - -ELF -pa -pa -va -pa + + +ELF +pa +pa +va +pa @@ -2189,87 +2101,80 @@ pa B - - - - - - - - -o -G - - - -/ - - -8 -I -v -] + + + + + +: + + + + + + + + + + +$ + A -*D +*D - + C C C C - - -ELF -P -} -rP -tC -P -y -rP -tC -P - + + +ELF +P +C +nP +z +P +C +nP + B - -+ - - -n - - - - -< -? -W - - - - - - -B + ++ + + +F + + + +5 + + + + +o + + A -*D +*D - + C C - - -ELF -?? -S -r^ -?? -S -r^ + + +ELF +F? +S +^ +F? +S +^ @@ -2279,32 +2184,34 @@ r^ - -9, - - - - - - - -_ - - - - - - + +S, + +S +V +M +[ + + + + + + +N + + + + A -*D +*D - + C C - - -ELF - + + +ELF + 4 @@ -2312,87 +2219,136 @@ C B - -+ - - - -M - - -u -P -$ - - - - + +, + + + + + +u +k +g + + + + + +@ A -*D +*D - + C - - -ELF - - + + +ELF + + + + + + +! +B +B + +B + + + + +& + %% +!fU +#^H + +! +X + + +d + +F + +b + + +Q +e + + +s + + + +@ + +A +*D + + +E + + +ELF + + h -& +& -4 - - - - - - - - - - - - - - +4 + + + + + + + + + + + + + A -*D - +*D + - -ELF -hBhB -e( + +ELF +hBhB +u( B - - - - - - - - - - -` - -E - - - - + + + + + +; + +A + + + + + + + + + A -*D +*D - + 8 8 9 @@ -2404,12 +2360,13 @@ E < - -ELF + +ELF K"(F3!{D - -s6 - + +o +h6 + @@ -2417,22 +2374,22 @@ K"(F3!{D - -O + +O - + - + - + - + - - - + + + & @@ -2444,34 +2401,37 @@ O - - -n - -C- - - - -1 - - -Q - -s9 - - -^ - - -F -2 - - + + +} + + +S +G- + +O +: + + + + + + +h9 + + +^ +# + +| + + + A -*D +*D - + g h @@ -2515,10 +2475,10 @@ s - + - -ELF + +ELF H"IKxDyD{D\B
bF@F
hB4B0FJ @@ -2526,14 +2486,14 @@ s hIh h SXFF !F0 B - -b - -= + +b + += W -h - -) +h + +) #p @@ -2548,31 +2508,30 @@ h -B - - - - - - - -& - - - - - - - -A +B + + + + + + + + + + + + + + + <L//+$<<@!'x !]0kK-!""/$3!&0u"/ - u J + u J A -*D - +*D + - + ^ _ ` @@ -2581,25 +2540,25 @@ c e c e - -ELF + +ELF `HxDA`hF ` JzDh;`3@h - -^ -H- - + +^ +H- + - -[9. -E - + +[9. +E + - + - + @@ -2611,31 +2570,30 @@ E - - - - - - - - + + + + + + + + - - - - - - - -> - - -J>1< /.?fi#xX #/~.f<(.= + +x + + + + +f +y + +J>1< /.?fi#xX #/~.f<(.= A -*D - +*D + - + h l m @@ -2655,56 +2613,55 @@ x y - - -ELF -B -C -PP + + +ELF +PP QQ -PP +PP QP -PQ -PP +PQ +PP QQ -PP +PP B B B -B -
$ -; - - - -! - - - - -1 - - - +B +$ +^ + + +N +; + + + + + + + + + A -*D - +*D + - - - + + + ELF p A *D -gprof_a32.o/ 1495506544 7574 7000 100644 618 ` +gprof_a32.o/ 1499930197 7574 7000 100644 618 ` ELF A -*D -ELF +*D +ELF @@ -2719,75 +2676,71 @@ gprof_a32.o/ 1495506544 7574 7000 100644 618 ` - - - - - - - - - - - - - - + + + + + + + + + +
+
+ + + -* -,* - -+, -< -F -P -Z -d -?( - - -r -2 - - - - - - - - ++* +@* +" +?, +I +S +] +g +q +\( + + + +&2 + + + + + + + + 4 - - - - - - - - - -5 - - - - - -5 - + + + + + + + + + +5 + + + A -*D +*D - - -ELF + + +ELF @@ -2806,65 +2759,63 @@ r - - - - - - - - -
-
-
-
- - -s + + + + + + + +
+
+
+"
+,
+ + + -* - * -6 -, -] -g -q -{ - -3( - - - -2 - - - - - - - - +* +4* +C +%, +j +t +~ + + +P( + + + +(2 + + + + + + + + 4 - - - - - - - - -1 -5 - - -9 - - + + + + + + + + +5 + + + +, A -*D +*D @@ -2872,5 +2823,5 @@ q - - + + diff --git a/ta_export/lib/libutils.a b/ta_export/lib/libutils.a index 2e4ac47..385efd8 100644 --- a/ta_export/lib/libutils.a +++ b/ta_export/lib/libutils.a @@ -1,18 +1,18 @@ !<arch> -/ 1495506547 0 0 0 3136 ` - -W -W -Z -Z -Z -Z -Z -Z -d -d - - +/ 1499930199 0 0 0 3136 ` + +Z +Z +] +] +] +] +] +] + + + + arm32_aeabi_divmod_a32.o/ arm32_aeabi_divmod.o/ arm32_aeabi_ldivmod_a32.o/ @@ -49,8 +49,8 @@ s_propagateNaNF64UI.o/ s_commonNaNToF32UI.o/ buf_compare_ct.o/ -bget_malloc.o/ 1495506546 7574 7000 100644 66348 ` -ELF +bget_malloc.o/ 1499930199 7574 7000 100644 66384 ` +ELF [h l2 d@VH@E2UIVKxDyD{DP, @@ -59,39 +59,39 @@ BIKxDyD{D`O BlH@kIlKxDyD{DB3&.gHOrfIgKxDyD{DS,8S<AhB`H@`I`KxDyD{DC`D<D,1FD,MWK{Dh "*I*KxDyD{DN3A F)FF V5p -تBؑBبB3B - - +تBؑBبB3B + + -/ - -( -4 -
- - +/ + +( +W4 +
+ + 2 - -5 - - - - - - + +5 + + + + + + - + - - + + :; @@ -376,36 +376,36 @@ BIKxDyD{D`O - -" -9 - - - - - - - - - - - - - - + +" + +% + + + + + + +7 + + + + +$ + /<?" .= X#",0!=//=! <<n.{.J=f y /v..10 -.
+.
A -*D - +*D + - + @@ -475,28 +475,26 @@ BIKxDyD{D`O - -ELF - - - -! - - - -1 - - - - - - - - -A -*D - - + +ELF + + + + + + + + + + + + + + +A +*D + + @@ -963,6 +961,7 @@ BIKxDyD{D`O + @@ -1135,121 +1134,120 @@ BIKxDyD{D`O - -ELF + +ELF D -"F8F +"F8F Pv Rx -Pw +Pw B - - - - - - - - - - - - - -A -*D + + + + + + + + + + + + + + +A +*D - + 7 8 9 - -ELF + +ELF -(
( (аXBXApG pGa+A8( - +(
( (аXBXApG pGa+A8( +o B .?:;'I@B B B -B - -& - - - - - - - - - - - - - - -A -*D - +B +( + + + + + + + + + + + + + + +A +*D + - -ELF - - - + +ELF + + + 4 B - - - - - - - - - - - - - - -A -*D - - + + + + + + + + + + + + + + +A +*D + + " " - -ELF - + +ELF + B - - - - - - - - - - - - - - -A -*D - -ELF + + + + + + + + + +* + + + +A +*D + +ELF ڰG Z6:h 8X'O (F OI @@ -1260,10 +1258,10 @@ h`:`9F"F3F""?GE BEBF 3FE !FXF"FF(FE@F!F F - + t i - t + t B @@ -1277,27 +1275,29 @@ h`:`9F"F3F""?GE - - - - - - - - - -" - - - - + +- + + + + + + + + + + + + + +! - + A -*D - +*D + - + 3 4 3 @@ -1343,441 +1343,444 @@ h`:`9F"F3F""?GE - -ELF + +ELF Pv Pt Rt Qv -Pu +Pu B - -?' - - - - - - - - - - - - -A -*D + +y' + + + + + + + + + + +A +*D - + 4 5 6 - -ELF - + +ELF + B 1 - -' - - - - - - - - - - - - -A -*D + +I' + + + + + + + + + + + + +A +*D - + 4 5 6 - -ELF - + +ELF + B - - - - - -" - - - - - - - - - - -A -*D - + + + +2 + + +' + + + + + + + + + + + + +A +*D + - - -ELF - + + +ELF + -& - - - - - - - - - - - - - - - -A -*D - - -ELF - +& + + + + + + + + + + + + + +A +*D + + +ELF + - - - - -& - - - - - - - - - - - -A -*D - - -ELF + + + + + + + + + + + + + + + +A +*D + + +ELF - + - - - - - - - - - - - - - - - - v .! -A -*D - - - -ELF - + + + + + + + + + + + + + +/ + v .! +A +*D + + + +ELF + B - -* - - - - - -\ - - - - - -A -*D - - - - -ELF -Fx1Bx - - - - - - - - -v - - - - - -A -*D - - + + +* + + + + + + +K + +) + + + +A +*D + + + + +ELF +Fx1Bx + + +0 + + + + +v + + + + +A +*D + + - - -ELF - - - - - - -e - - - - - - -A -*D - - - -ELF -B - - - - - - - - - -" - - - - -A -*D - - + + +ELF + + + + + +e + + + + +A +*D + + + +ELF +B + + + + + + + + + + + + + +A +*D + + - - -ELF - - - - - - - - - -? - - - - -A -*D - - -ELF -B -' - - - -& - - - - - - - - - - - -A -*D - + + +ELF + + + + + + +" + + + +? + + + + +A +*D + + +ELF +B +' + + + + ++ + + +* +$ + + +: +, + + +A +*D + - - -ELF + + +ELF B - - - - - - - - - - - - -A -*D - + + +, + + + + + + + +# + + + +" +A +*D + - - -ELF - + + +ELF + B - - - - -& - - - - -X - - - - - -A -*D - - + +' + + + +$ + + + +X + +. + + + + +A +*D + + - - -ELF + + +ELF -& - - - - - -W - -# - - - -A -*D - - - - -ELF - - - - -- - - -f - -# - - - - - -A -*D - - +& + + + + + + +W + + + + +A +*D + + + + +ELF + + + + + + + + + +S + + + + + + + +A +*D + + - - -ELF + + +ELF JOO;K? -&PF +&PF v -L +L & B - -" - - - - - - - - - - -A -*D - + + + + + + + + + + + + + + + +A +*D + - + 6 3 4 7 8 9 - + ELF A *D -/26 1495506546 7574 7000 100644 24732 ` -ELF - - - - - - - - - - - - - - - +/26 1499930199 7574 7000 100644 24768 ` +ELF + + + + + + + + + + + + + + + @@ -1786,31 +1789,31 @@ L B - - - - - - - - - - - + + + + + + + + + + + + + - - - -.! /=/N./Z[?./Z[?./ZZK1./Z + + + +.! /=/N./Z[?./Z[?./ZZK1./Z A -*D +*D - -E -E - + + @@ -1819,15 +1822,15 @@ E ! - + ELF A -*D -ELF - - +*D +ELF + + i -q +q 4 @@ -1839,79 +1842,79 @@ q - - - - - - - - - - - - + + + + + + + + + + + + + <=0#/> -./u//tKK +./u//tKK A -*D - +*D + - - - + + + - -ELF - -) -) -4 - - - - - - - - - - -! - - -A -*D - - - + +ELF + +) +) +4 + + + + + + + + + + + + +A +*D + + + ELF A *D -/119 1495506546 7574 7000 100644 41292 ` -ELF - -V -V -V -V - - +/119 1499930199 7574 7000 100644 41328 ` +ELF + +v +v +v +v + + - + - + - + - + B @@ -1923,25 +1926,23 @@ V - - - - - - - - -( - -$ - - - - - - -A -*D + + + + + ++ + + + + + + + + + +A +*D @@ -1950,7 +1951,7 @@ $ - + @@ -1959,7 +1960,7 @@ $ - + % ' ) @@ -2023,169 +2024,164 @@ i - -ELF - - + +ELF + + a -b +b - -/r - - - - - - -s - - - - -6 - -A -*D - - -ELF + +/ + + + + + + +s + + + + +A +*D + + +ELF ~SED<]RF F)F -EE2FFXF HO{@Op - -Oe - +EE2FFXF HO{@Op +Oe + :; B - -&< - - - - - - - - - - -.u .Y 2//1!//A/A!!/="x!/{/,2@!//00! -A -*D - - - + +&< + + + +9 +# + + + + + + + + + +.u .Y 2//1!//A/A!!/="x!/{/,2@!//00! +A +*D + + + - . . + / 0 -- -ELF - +- +ELF + -a +n % -6 +6 ( B - - - - - - - - - - - - - - - - - -A -*D - + + + + +- + + + + + + + + + +A +*D + , - -ELF - + +ELF + -5 +B % -2 +2 ( B - - - - - - - - -4 - - - - -1 - - -A -*D + + + + + + + +& +) + + + + + + + + +A +*D - + ( - -ELF - - -I + +ELF + +A - + % -2 +2 ( B - - - - - - - - - - - - - -! - -A -*D + + + + + + + + + + + + +A +*D - + ( - -ELF -Oe - - + +ELF +Oe + + :; @@ -2193,56 +2189,58 @@ I B - - - - - - - - - - - - -A -*D - - - + + +& + + + + + + + + + + +2 +A +*D + + + , , - . / -0 -ELF - - +0 +ELF + + a -b +b - -/r - - - - - - - - - - - -A -*D - - -ELF + +/ + + + + + + + + + + + +A +*D + + +ELF FI -FhF - +FhF + @@ -2250,193 +2248,195 @@ FhF B - - - - - - - - - - - -t - - - -A -*D + + +" + + + + + + + + + +t + + + + +A +*D , - -. -ELF - -L +. +ELF +- +D - + % -
3 +!3 ( B - - - - -, - -$ - - - - - - - -A -*D - -) -ELF + + + + + + +3 + + + + +' + + + +A +*D + +) +ELF -KXxBpg@BaA - - +KXxBpg@BaA + + + 0 - + A -3 +3 - - + + ( B - - - - - -' -# - - - - - - -A -*D - + + + + + +# + + + + + + +A +*D + * -( -ELF - +( +ELF + - + -| + -2 +2 ( B - - - - -" - -7 - - - - - - - - v.
:u.
! -A -*D - -) -ELF -KXxBp O0O1 - + + + + + + + + + +2 + +1 + + + v.
:u.
! +A +*D + +) +ELF +KXxBp O0O1 + - + -J +W -2 +2 ( B - - - - -* - - - - - - - - - - - 0t
.,0s
! -A -*D - + + + + +0 + + + +/ + + + + + + 0t
.,0s
! +A +*D + ( -* -ELF -yDO - -a +* +ELF +yDO + +a B - -/ - - - - - - - - - - - - - -A -*D - - -ELF + +/- + + + + + + + + + + + + + + +A +*D + +ELF #O #e OyOxIi -#i O sOrCc -OZ - +#i O sOrCc +OZ + :; @@ -2446,134 +2446,131 @@ a B - -&< - - -, - - - - - - - -" - - - - - - - - - -A -*D + +&< + + + + + +- + + + + + + + + + +A +*D - . . + / 0 -- -ELF - +- +ELF + -% +2 A -5 +5 ( B - - -0 - - - - - - - - - - -. -A -*D - + + + + + + + + +$ + + + + + ++ +. +A +*D + , - -ELF - + +ELF + + - + A -E2 +Y2 ( B - - - -/ - - - - - - - - - - - -A -*D + + + + + + + + + + + +
+ + +A +*D - -) -ELF - + +) +ELF + + - + A -K2 +_2 ( B - - - - - - -( - - - - -5 - - - -A -*D + + + + + + + + + + + + + + +A +*D - -) -ELF + +) +ELF C# CO :C I -IOs - -Ow +IOs + +Ow :; @@ -2584,475 +2581,473 @@ IOs B - -4 - - - - - - - - - - - - - -A -*D - - - + + + + + +% + + + + + + + +6 + + +A +*D + + + , , - . / -0 -ELF -yDO +0 +ELF +yDO + + -a +a B - -/ - - - - - -# - - - - - - - -A -*D - - -ELF - -H + +/+ + + + + + + + + + + +A +*D + +ELF + +U B - - -" - - - - - -# - - - - - -A -*D - + + + + + + + + +. + + + +A +*D + , - . / - -ELF + +ELF O4D;@4 -KY0xBp6 - -e +KY0xBp6 + +
+] - + & -r + ( B - - - - - - -$ - - - - - - - -A -*D - - + + + + + + + + + + + +' + + + +A +*D + + + + ( -) -ELF +) +ELF
@t 4K -dBeEO4o - - - +dBeEO4o + + + D - + A -2 +2 ( B - - - - - -7 -* - - - - - -.
-A -*D - - + + + + + + +7 + + + + +.
+A +*D + + + ( ) -( -ELF - K[0xBpTF - - +( +ELF + K[0xBpTF + + -J +W -2 +2 ( B - - - - - - - - - - - - - - - - - + + + + + + + + +* + + + + + + .!-vJ .!/I0s.
.+/0! - + A -*D - - +*D + + + ( -) -ELF -
@t -| +) +ELF +
@t +# +t -< +I -2 +2 ( B - - - - - - - - - -5 - - - - - ht..,#,>s. L! -A -*D - + + + + + + + + + + + + + ht..,#,>s. L! +A +*D + ( ) ( -+ -ELF - - -a ++ +ELF + + +a B - -/ - - - -2 - - - - - - - - -A -*D - + +/ + + +- + +
+ + + +8 + + + + + + +A +*D + ( - -ELF - - -a + +ELF + + +a B - -/ - - - - - - -b -6 - - - - - -.0 -A -*D - + +/ + + + + +b + + + + + +.0 +A +*D + ) ' - -ELF - - -a + +ELF + + +a B - -/ - - - - -( -4 - - - - - - -A -*D - + +/ + + + + + + + + + + + +A +*D + ( ) * - -ELF + +ELF K"F+F -RBcC -a -<Pv +RBcC +a +<Pv B - -/ - - - - - - - - - -0 - - - -A -*D - -) -ELF - - -a + +/ + + + + +
+ +8 + + + +1 +& + + +A +*D + +) +ELF + + +a B - -/ - - - - - - - - - - -A -*D - + +/ + + +" + + + + +. + + + + +A +*D + ( ) - -ELF - - -a + +ELF + + +a B - -/C - - - - - - - - - - -A -*D - + +/P + + + + + + + + + + + + +A +*D + ) ' - -ELF -TМ@ - - - -a - + +ELF +TМ@ + + + +a + B - -/- - - - - - - - - - - -A -*D - + +/: + + + + + + + + + + + +A +*D + ( ) * - -ELF + +ELF +
a =
Q0
Pt -<
Q0
} +<
Q0
} B - -/ - - - -3 - -4 - - - - - - - - -A -*D -M -M - + +/ + + + + + + + + + + + + + +A +*D + ( ) * - -ELF - - -V( -8& -' -v + +ELF + + +s( +E& +2' +n s -n +{ -" -
-Pu +" +Pu ( @@ -3060,48 +3055,50 @@ n B - - - - - - - - - - - - - -A -*D + + + + + + + +5 + + + + + + +: + +A +*D , - - . -/ -ELF +/ +ELF TOPO:@ ET@ eF"BZ%. -F
FKk2 -* - - -U( -/& -' - +F
FKk2 + + +R( +& +' +p e -y +f u -|" +i" @$@& -@$@& +@$@& ( @@ -3125,30 +3122,31 @@ u - - - - - - - - -
- - - -A -*D + + + + + + + +
+ + + + + +A +*D , - - . -/ -ELF +/ +ELF uiA -uiB +uiB Pv -0)( +0)( @@ -3162,41 +3160,38 @@ uiB - - - -- - -# - -
- - - - -3 - - - - - -A -*D - + + + + + + + +' + + + + + + +A +*D + + + , - - -ELF + +ELF 0 \oGWOV O8Pf E@
@Oq Ao CS -PFYF#FF -uiA +PFYF#FF + +uiA @@ -3209,144 +3204,138 @@ uiA - - - - - - - - - - - - -A -*D + + + + + + + + + + + + + +A +*D , , - -. -ELF - +. +ELF + + z -4 - - - - -# - - - - - - -7 - - -A -*D +4 + +5 + +$ + + + + + + + + + +A +*D + - + ) ' - -ELF - - - -z + +ELF + + + +z 4 B - - - - - -) -_ -' - - - - -7 - -% - -A -*D - + + + + + +_ + + + + + +A +*D - + ( - -ELF + +ELF 8O + -dCOx!FDD` - -; - - - - -P$ -% - +dCOx!FDD` + +H + + + + +]$ +7% + ) -W +d A - -Pt + +Pt ( B - - - - - - - -/ - - - - - - - - -A -*D - + + + + + + + + + + + + + + +A +*D + ) * -* -ELF +* +ELF -@P_ - -
-I -4 -E - -$ -$ -~ +@P_ + +
+V +A +R + +$ +$ + ) - + A -e +r ( @@ -3354,446 +3343,446 @@ e B - - - - - - - - - - - - - - -A -*D - - + + + + + + + + + + + + +A +*D + + ) * -* -ELF -- +* +ELF - - - - - - - - -O - - - - -A -*D - + + + + + + + + + +O + + + +/ + +A +*D + - -ELF -KB @ - + +ELF +KB @ B - - - - - - - - -! - - - - -A -*D - - - -ELF - - - + + + + + + + + + + +! + + + + +A +*D + + + +ELF + + + B - - - - - - - - - - - - -A -*D - + + + +% + + + + + + + + +A +*D + ( ) - -ELF -: - - + +ELF +: + + B - - - - -" - - - - - - -, - - - -A -*D - - - + + + + + + + +1 + + +4 + + +A +*D + + + ) ' ' * - -ELF - - - - - - - - - - - -
- -A -*D + +ELF + + + + + + + + + + + +A +*D - -ELF - - -& - - - - -D - - - - -A -*D + +ELF +' + + + + + + + + + +D + + + + +A +*D - + - -ELF - -* + +ELF + +* B 4 - - - - - - - - -_ - - - -A -*D + +% + +
+ + + + + +_ + + + +, + + +A +*D - -ELF - - - + +ELF + + + B ! - - - - - -- - - - - - - - -! - - - -A -*D + + + + + + + + + + + + + + +A +*D - -ELF + +ELF 5DO -D EE - - +D EE + a32 a0 -z +z mid 4 - - - - - - - - - - - - - - -A -*D - - -ELF - -& - - - - - - - - - - - -A -*D - + + +, + + + + + +) + + +. + + + +/ + +A +*D + + +ELF + +& + + + + + + + + + + + + +: +, +A +*D + - + - -ELF -B - - -* - - - - - -- - - - - - -A -*D - - - -ELF - -6 + +ELF +B + + + + + + +0 +- + + + + + +A +*D + + + +ELF + +6 1 B - -& - - - - - - - - - - - -A -*D - -, -ELF -N! + +&
+ + + + + + + +( +0 + + +A +*D + +, +ELF +$ +[! .?:;'@B B - - - - - - - - - -^ - - - -A -*D - + + + + + + + + +^ + + + +A +*D + + & - -ELF + +ELF - - - - - - - - - -H - - - - - -A -*D - - -ELF -
IO0 @)@P - - + + + + + + + + + +H + +1 + + + +A +*D + + +ELF +
IO0 @)@P + + .?:;'@B B - - - - -5 -* - - - -_ - - - - -A -*D - - -& -ELF + ++ +. + + + + + + +_ + + + + +A +*D + +& +ELF O O FO - - - + + + 1 B - -& - - - -9 - -8 - - - - - - -A -*D - -, -ELF -@p@@@ + +& + + + + + + + + + + +A +*D + +, +ELF +@p@@@ B - - - - -/ - - - - - -. -0 - - - -A -*D - - - -ELF + + + + + + + + + +. + + + +A +*D + + + +ELF ; ܸ#fи*fи @X.jи0и-@_U 3h6C{j @@ -3814,18 +3803,18 @@ O 8 1YE{ # -;: - - - +;: + + + @ -H +X - + 4 @@ -3845,23 +3834,27 @@ H - -" - - - - - - - - -p - - - -A -*D - + +" + + + + + +" + + + + +p +
+ + + + +A +*D + 2 3 4 @@ -3873,100 +3866,94 @@ p 1 5 - -ELF -F - - -PQ + +ELF +F + + +PQ B - - -! - -) - - - - - - - - - - - -5 - - -A -*D - + + +! + + + + + + + + + + + + +A +*D + - + . - -ELF - + +ELF + -& - -!g - - - - -& -0 - - - - - - -( - - -A -*D +& + +!t + + + + + + + + + + + + + + +A +*D + - - -ELF - + + +ELF + -& - - - - - - - - - - - - - - - - -A -*D - - -ELF +& +$ + + + + + + + + + + + + + +A +*D + + +ELF q1JzD ȿ$,($+U -+, - - ++, + + @@ -3976,7 +3963,7 @@ p } - + 4 B @@ -3987,22 +3974,22 @@ p B - - - - - - - - - - - - -A -*D + + + + +( + + + + + + + +A +*D - + P Q P @@ -4010,7 +3997,7 @@ P P P R -S +S ELF A *D diff --git a/ta_export/lib/libzlib.a b/ta_export/lib/libzlib.a index 1a8b00b..d7c2af6 100644 --- a/ta_export/lib/libzlib.a +++ b/ta_export/lib/libzlib.a @@ -1,12 +1,15 @@ !<arch> -/ 1495506546 0 0 0 1050 ` - -ELF -DD{DwDD8wDA8A3B FOqF(FFOq
FARB;F - - -rem - +/ 1499930199 0 0 0 1050 ` + +ELF +DD{DwDD8wDA8A3B FOqF(FFOq
FARB;F + + + +rem + + + 4 B @@ -21,25 +24,23 @@ rem 4 " -[ - - - - - - - - - - - - - -/ - +[ + + + + + + + + + + + + + A -*D - +*D + ' ( ( @@ -47,17 +48,16 @@ rem ( ( ( - - -ELF + + +ELF 5lBɻ@l2u\E
Y=ѫ0&: |
<qPA' %hWo fa^)"а=Y
.;\l ұt9Gwҝ≻d>jm
Zjz ' }Dңhi]Wbgeq6lknv+ӉZzJgo߹ホCՎ`~ѡ8ROggW?K6H+
L J6`zA`Ugn1yiFafo%6hRwG"/&U;(Z+j\1е,[d&c윣ju m ?6grW -
TN³9a&g`MGiIwn>JjѮZf@;7SŞϲG0º0S$6к)WTg#.zfJah]+o*7Z- -@ - +
TN³9a&g`MGiIwn>JjѮZf@;7SŞϲG0º0S$6к)WTg#.zfJah]+o*7Z- +- B .:;'@B B @@ -66,23 +66,23 @@ rem B B - - - - - - - - -| - - - + + + + + + + +| + + + + A -*D - - -ELF +*D + + +ELF T\h3UCa-Opnjko|oeE < PiT l `l 0o9g @@ -113,27 +113,28 @@ Taa FF.l ThhPT3 ThhPTz3hPTca F F)(Fi`i -O c `!ZbBce d:Be - -{ - - - - - +O c `!ZbBce d:Be +# + +{ + + + + + - - + + - + - - - + + + @@ -141,16 +142,16 @@ FF.l - - + + - + - -+Q1 + ++Q1 +Q1 -+Qv ++Qv ' @@ -203,19 +204,19 @@ FF.l - ->2 -) - - - -4 - - - - -n - + +R2 +' + + +9 + + + + +N +; + ! .B)3 f?5w/?O#[KBy. ""=!K"Y=====!<.<.b <;v.= @@ -224,16 +225,16 @@ fXuJ= ."hE!$ J-/wJ=Y0A==!-!"$FYKYKYKh>^[$>L/=@//>=!/u -<M02"-V... +<M02"-V... A -*D +*D - + - + ? ? @ @@ -322,9 +323,9 @@ W - - -ELF + + +ELF C3f(82$nmB C " d5{DIfcmOl;;@[E5GF lL @@ -341,22 +342,24 @@ W - - -j& - -B# - + + +g& + + + +/# + { - -!Q1 - -t + +!Q1 + +t ' @@ -377,49 +380,50 @@ W - - - - - - - - - - - - + + + + +9 + + +* + + + + + + . < o . -<!!+/0v!@":!/!A2 +<!!+/0v!@":!/!A2 A -*D - +*D + ? @ @ @ A - - -ELF + + +ELF &hmj 8>P* `xx4@2
->D - - - - - - -[ +>D + + + + + +" +H - + - -) - + + ' @@ -429,27 +433,26 @@ A - - -* - - - - - - - - - -" - - + + + + +$ + + + + + + + +% + A -*D - - - -ELF +*D + + + +ELF @-c0o cbB:={D " @@ -490,25 +493,25 @@ DOs+ - - -#( - -# + + + ( + +# $ - -$Q1 - - - + +$Q1 + + + $Q1 -$Qu +$Qu ' @@ -614,30 +617,29 @@ $ - -; - - - - - - -; - - - - - - - + + +6 + + + + + + +; + + + + + $!!!u/#:# w "!!!*&=/Lo .$ .4 //-5# X0KK>!/K<>-2/?!M!\= -<
.% +<
.% A -*D - +*D + I I I @@ -676,18 +678,20 @@ I - - -ELF + + +ELF <O6 \FFO N7
E p6` q7YE8E, - + - - + + + + .?:;'I@B @@ -695,27 +699,28 @@ I - - - - - - - - - - - - - - - -. + + +. + + + + + + + + + + + + + + A -*D - - -ELF +*D + + +ELF ,ܰJ4JJ4J}BO GahL @@ -774,29 +779,27 @@ CaizTO1hO.iaa
:A@21CaSi - - - - - - -| -( - + + + + + +| + + - - - - - + + + + - + - + ' @@ -887,19 +890,22 @@ CaizTO1hO.iaa
:A@21CaSi 3% - - - - - - - - - - - - - + + + + +( + + + + + + + + + += + .G600n .! .@ `XCy '\JX! q.!=g= @@ -907,13 +913,13 @@ CaizTO1hO.iaa
:A@21CaSi X!@ X>!'y<5 <-!Kg"v"&x C=e/;=-/XO - + A -*D - - - - +*D + + + + G @@ -946,66 +952,69 @@ G - - -ELF - - - + + +ELF +# + + ' B - - - - - - - - - -b - - + + + + + + + + + + + +b + + A -*D - - +*D + + " # $ $ - - -ELF -err -len -s1 -len + + +ELF +err +len +s1 +len B B B - - - - - - - - - - - - - - - + + + + + + +, + + + + + + + + + A -*D - +*D + diff --git a/ta_export/scripts/gen_aes_iv.py b/ta_export/scripts/gen_aes_iv.py new file mode 100755 index 0000000..fb00a4e --- a/dev/null +++ b/ta_export/scripts/gen_aes_iv.py @@ -0,0 +1,55 @@ +#!/usr/bin/env python +# +# Copyright (c) 2015, Linaro Limited +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# +# 1. Redistributions of source code must retain the above copyright notice, +# this list of conditions and the following disclaimer. +# +# 2. Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. +# + +def get_args(): + from argparse import ArgumentParser + + parser = ArgumentParser() + parser.add_argument('--out', required=True, help='Name of out file') + return parser.parse_args() + +def main(): + import uuid + import md5 + + args = get_args() + + uuid = uuid.uuid4() + + h = md5.new() + h.update(uuid.bytes_le) + + f = open(args.out, 'wb') + f.write(h.digest()) + f.close() + + print 'Generate Custom Key...' + print ' Output: ta aes iv = ' + args.out + +if __name__ == "__main__": + main() diff --git a/ta_export/scripts/gen_aes_key.py b/ta_export/scripts/gen_aes_key.py index 18dfe4e..0159dd0 100755 --- a/ta_export/scripts/gen_aes_key.py +++ b/ta_export/scripts/gen_aes_key.py @@ -48,5 +48,8 @@ def main(): f.write(h.digest()) f.close() + print 'Generate Custom Key...' + print ' Output: ta aes key = ' + args.out + if __name__ == "__main__": main() diff --git a/ta_export/scripts/gen_cert_key.py b/ta_export/scripts/gen_cert_key.py index 57b2fbe..443ca50 100755 --- a/ta_export/scripts/gen_cert_key.py +++ b/ta_export/scripts/gen_cert_key.py @@ -23,29 +23,39 @@ def get_args(): parser.add_argument('--ta_rsa_key_sig', type=str, default='null', help='Name of TA key signature file') parser.add_argument('--root_aes_key', type=str, default='null', help='Name of root aes file') - parser.add_argument('--ta_aes_key', type=str, default='null', help='Name of ta aes file') - parser.add_argument('--ta_aes_key_enc', type=str, default='null', help='Name of encrypted ta aes key file') + parser.add_argument('--ta_aes_key', type=str, default='null', help='Name of ta aes key file') + parser.add_argument('--ta_aes_iv', type=str, default='null', help='Name of ta aes iv file') + parser.add_argument('--ta_aes_key_iv_enc', type=str, default='null', help='Name of encrypted ta aes key iv file') return parser.parse_args() -def aes256_cbc_enc(key, text): +def aes256_cbc_enc(key, iv, text): import struct from Crypto.Cipher import AES - iv = struct.pack('<IIII', \ - 0x0, 0x0, 0x0, 0x0) - cipher = AES.new(key, AES.MODE_CBC, iv) #if text is not a multiple of 16, return x = len(text) % 16 if x != 0: - return 'null' + text_pad = text + '0'*(16 - x) + else: + text_pad = text msg = cipher.encrypt(text) return msg +def gen_aes256_iv(): + import md5 + import uuid + + uuid = uuid.uuid4() + + h = md5.new() + h.update(uuid.bytes_le) + return h.digest() + def main(): import struct import array @@ -67,12 +77,24 @@ def main(): ta_aes_key = f.read() f.close() - ta_aes_key_enc = aes256_cbc_enc(root_aes_key, ta_aes_key) + f = open(args.ta_aes_iv, 'rb') + ta_aes_iv = f.read() + f.close() + + root_aes_iv = gen_aes256_iv() + + ta_aes_key_enc = aes256_cbc_enc(root_aes_key, root_aes_iv, ta_aes_key) if (ta_aes_key_enc == 'null'): sys.exit(1) - f = open(args.ta_aes_key_enc, 'wb') + ta_aes_iv_enc = aes256_cbc_enc(root_aes_key, root_aes_iv, ta_aes_iv) + if (ta_aes_iv_enc == 'null'): + sys.exit(1) + + f = open(args.ta_aes_key_iv_enc, 'wb') + f.write(root_aes_iv) f.write(ta_aes_key_enc) + f.write(ta_aes_iv_enc) f.close() f = open(args.root_rsa_key, 'rb') @@ -91,8 +113,9 @@ def main(): print ' uuid = ' + args.uuid print ' root_aes_key = ' + args.root_aes_key print ' ta_aes_key = ' + args.ta_aes_key + print ' ta_aes_iv = ' + args.ta_aes_key print ' Output: ta_rsa_key.sig = ' + args.ta_rsa_key_sig - print ' ta_aes_key_enc = ' + args.ta_aes_key_enc + print ' ta_aes_key_enc = ' + args.ta_aes_key_iv_enc h_key = SHA256.new() for x in array.array("B", long_to_bytes(key_ta.publickey().n)): diff --git a/ta_export/scripts/nosign.py b/ta_export/scripts/nosign.py index 7a2b5f9..dcdfc39 100755 --- a/ta_export/scripts/nosign.py +++ b/ta_export/scripts/nosign.py @@ -58,6 +58,8 @@ def main(): magic, version, 0, algo, 0, img_type, img_size, 0,\ 0, 0, 0, 0, 0, 0, 0, 0) + nonce = struct.pack('<IIII', \ + 0, 0, 0, 0) aes_key = struct.pack('<IIIIIIII', \ 0, 0, 0, 0, 0, 0, 0, 0) aes_iv = struct.pack('<IIII', \ @@ -66,6 +68,7 @@ def main(): f = open(args.out, 'wb') f.write(shdr) + f.write(nonce) f.write(aes_key) f.write(aes_iv) f.write(h.digest()) diff --git a/ta_export/scripts/pack_kpub.py b/ta_export/scripts/pack_kpub.py index f848ab9..ea02256 100755 --- a/ta_export/scripts/pack_kpub.py +++ b/ta_export/scripts/pack_kpub.py @@ -17,7 +17,8 @@ def get_args(): from argparse import ArgumentParser parser = ArgumentParser() - parser.add_argument('--key', required=True, help='root public key') + parser.add_argument('--rsk', required=True, help='root signing key') + parser.add_argument('--rek', required=True, help='root encrypt key') parser.add_argument('--in', required=True, dest='inf', help='input Secure OS image file') parser.add_argument('--out', type=str, default='null', help='output Secure OS image file') return parser.parse_args() @@ -28,23 +29,43 @@ def main(): from Crypto.PublicKey import RSA from Crypto.Util.number import long_to_bytes + key_size_max = 1024 + args = get_args() if args.out == 'null': args.out = args.inf - kf = open(args.key, 'rb+') - key = RSA.importKey(kf.read()) + kf = open(args.rsk, 'rb+') + rsk = RSA.importKey(kf.read()) + kf.close + + kf = open(args.rek, 'rb+') + rek = kf.read() kf.close - key_count = 1 - key_magic = 0x534F5441 # KEY_MAGIC - key_type = 0x70004830 # KEY_TYPE - key_size = (key.size() + 1) / 8 + # key count + key_count = 2 + + key_hdr = struct.pack('<I', key_count) + key_hdr_len = len(key_hdr) - bl32_hdr = struct.pack('<IIII', \ - key_count, key_magic, key_type, key_size) + # root sign key + rsk_magic = 0x534F5441 # KEY_MAGIC + rsk_type = 0x70004830 # KEY_TYPE + rsk_size = (rsk.size() + 1) / 8 - bl32_hdr_len = len(bl32_hdr) + rsk_hdr = struct.pack('<III', \ + rsk_magic, rsk_type, rsk_size) + rsk_hdr_len = len(rsk_hdr) + + # root encrypt key + rek_magic = 0x534F5441 # KEY_MAGIC + rek_type = 0x70004830 # KEY_TYPE + rek_size = len(rek) + + rek_hdr = struct.pack('<III', \ + rek_magic, rek_type, rek_size) + rek_hdr_len = len(rek_hdr) inf = open(args.inf, 'rb+') raw = inf.read() @@ -59,20 +80,27 @@ def main(): outf = open(args.out, 'wb+') outf.write(raw) outf.seek(key_offset, 0) - outf.write(bl32_hdr) + outf.write(key_hdr) + outf.write(rsk_hdr) - print 'Packing root public key ...' - print ' Input: key.name = ' + args.key - print ' key.size = {}'.format(8 * key_size) - print ' Input: image.name = ' + args.inf - print ' Output: image.name = ' + args.out - - outf.seek(key_offset+bl32_hdr_len) - for x in array.array("B", long_to_bytes(key.publickey().n)): + outf.seek(key_offset + key_hdr_len + rsk_hdr_len) + for x in array.array("B", long_to_bytes(rsk.publickey().n)): pub_n_root = struct.pack("B", x) outf.write(pub_n_root) + outf.seek(key_offset + key_hdr_len + rsk_hdr_len + key_size_max) + outf.write(rek_hdr) + outf.write(rek) + outf.close() + print 'Packing root public key ...' + print ' Input: rsk.name = ' + args.rsk + print ' rsk.size = {}'.format(8 * rsk_size) + print ' rek.name = ' + args.rek + print ' rek.size = ' + str(len(rek)) + print ' Input: image.name = ' + args.inf + print ' Output: image.name = ' + args.out + if __name__ == "__main__": main() diff --git a/ta_export/scripts/sign_ta.py b/ta_export/scripts/sign_ta.py index cf1719f..c52c223 100755 --- a/ta_export/scripts/sign_ta.py +++ b/ta_export/scripts/sign_ta.py @@ -20,7 +20,8 @@ def get_args(): parser.add_argument('--ta_rsa_key', required=True, help='Name of TA rsa private key file') parser.add_argument('--ta_rsa_key_sig', required=True, help='Name of TA rsa public key signature file') parser.add_argument('--ta_aes_key', type=str, default='null', help='Name of aes key file') - parser.add_argument('--ta_aes_key_enc', type=str, default='null', help='Name of encryped aes key file') + parser.add_argument('--ta_aes_iv', type=str, default='null', help='Name of aes iv file') + parser.add_argument('--ta_aes_key_iv_enc', type=str, default='null', help='Name of encryped aes key iv file') parser.add_argument('--in', required=True, dest='inf', help='Name of input file') parser.add_argument('--out', type=str, default='null', help='Name of output file') @@ -72,23 +73,17 @@ def main(): 0x0, 0x0, 0x0, 0x0) enc_aes_key = aes_key else: - h = md5.new() - h.update(uuid.uuid4().bytes_le) - aes_iv = h.digest() - if args.ta_aes_key_enc == "null": - aes_key_type = 1 - f = open(args.ta_aes_key, 'rb') - aes_key = f.read() - f.close() - enc_aes_key = aes_key - else: - aes_key_type = 2 - f = open(args.ta_aes_key, 'rb') - aes_key = f.read() - f.close() - f = open(args.ta_aes_key_enc, 'rb') - enc_aes_key = f.read() - f.close() + aes_key_type = 2 + f = open(args.ta_aes_key, 'rb') + aes_key = f.read() + f.close() + f = open(args.ta_aes_iv, 'rb') + aes_iv = f.read() + f.close() + f = open(args.ta_aes_key_iv_enc, 'rb') + enc_aes_key = f.read() + f.close() + enc_aes_key_len = len(enc_aes_key) # ta private key f = open(args.ta_rsa_key, 'rb') @@ -109,15 +104,13 @@ def main(): f = open(args.inf, 'rb+') shdr_len = struct.calcsize('<IIIIIIIIIIIIIIII') - aes_key_len = struct.calcsize('<IIIIIIII') - aes_iv_len = struct.calcsize('<IIII') shdr_check = f.read(shdr_len) magic_check, version, flags, algo_check, arb_cvn, img_type_check,\ img_size_check,rsv0_check, rsv1_check, rsv2_check, rsv3_check, rsv4_check,\ rsv5_check, rsv6_check, rsv7_check, rsv8_check = struct.unpack('<IIIIIIIIIIIIIIII', shdr_check) if img_type_check == 1: - skip_len = shdr_len+digest_len+aes_key_len+aes_iv_len + skip_len = shdr_len+digest_len+enc_aes_key_len elif img_type_check == 2: print 'TA has been signed, exit.' sys.exit(0) @@ -145,7 +138,6 @@ def main(): h_elf.update(img) h_hdr.update(shdr) h_hdr.update(enc_aes_key) - h_hdr.update(aes_iv) h_hdr.update(h_elf.digest()) sig_ta = signer_ta.sign(h_hdr) shdr_len = struct.calcsize('<IIIIIIIIIIIIIIII') @@ -155,18 +147,18 @@ def main(): print ' ta_rsa_key.size = {}'.format(ta_key.size() + 1) print ' ta_rsa_key.sig = ' + args.ta_rsa_key_sig print ' ta_aes_key.name = ' + args.ta_aes_key - print ' ta_aes_key_enc.name = ' + args.ta_aes_key_enc + print ' ta_aes_iv.name = ' + args.ta_aes_iv + print ' ta_aes_key_iv_enc.name = ' + args.ta_aes_key_iv_enc print ' ta.name = ' + args.inf print ' Output: ta.name = ' + args.out f = open(args.out, 'wb') f.write(shdr) f.write(enc_aes_key) - f.write(aes_iv) f.write(h_elf.digest()) f.write(sig_ta) - skip_len = shdr_len + aes_key_len + aes_iv_len + digest_len + sig_len + skip_len = shdr_len + enc_aes_key_len + digest_len + sig_len f.seek(skip_len) for x in array.array("B", long_to_bytes(ta_key.publickey().n)): pub_n_ta = struct.pack("B", x) @@ -177,13 +169,13 @@ def main(): uuid = uuid.UUID(uuidStr) h_key.update(uuid.bytes_le) - skip_len = shdr_len + aes_key_len + aes_iv_len + digest_len + sig_len + key_len + skip_len = shdr_len + enc_aes_key_len + digest_len + sig_len + key_len f.seek(skip_len, 0) f.write(ta_key_sig) - skip_len = shdr_len + aes_key_len + aes_iv_len + digest_len + sig_len + key_len + sig_key_len + skip_len = shdr_len + enc_aes_key_len + digest_len + sig_len + key_len + sig_key_len f.seek(skip_len, 0) - if aes_key_type == 1 or aes_key_type == 2: + if aes_key_type == 2: f.write(aes256_cbc_enc(aes_key, aes_iv, img)) else: f.write(img) |