From 4eca40d7d8ff6968ed68a24686093cfb6f5f6373 Mon Sep 17 00:00:00 2001 From: Ethan Yonker Date: Tue, 11 Nov 2014 14:52:28 -0600 Subject: Add lollipop decrypt support Kang in cryptfs.c and cryptfs.h from vold. Use TW_INCLUDE_L_CRYPTO := true to enable. Ramdisk must contain the normal fstab file in the root in the usual format of: fstab.{ro.hardware} For examble for Nexus 5: fstab.hammerhead Or on many Qualcomm devices: fstab.qcom Tested against Android 5.0 lollipop on Nexus 7 2012 grouper. Not sure if or how this will work when we are dealing with a device with a hardware keystore. Long term we need to add a GUI element to allow entering a pattern. For now you can decrypt a pattern unlock by converting the dots to numbers in the following format: 123 456 789 So an upper-case L would translate to 14789 as a password entered on the keyboard. Change-Id: I02c29e1f1c2eb29bf002c9fe0fc118357300b5b3 --- crypto/lollipop/Android.mk | 52 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 crypto/lollipop/Android.mk (limited to 'crypto/lollipop/Android.mk') diff --git a/crypto/lollipop/Android.mk b/crypto/lollipop/Android.mk new file mode 100644 index 000000000..cce070b56 --- /dev/null +++ b/crypto/lollipop/Android.mk @@ -0,0 +1,52 @@ +LOCAL_PATH := $(call my-dir) +ifeq ($(TW_INCLUDE_L_CRYPTO), true) +include $(CLEAR_VARS) + +common_c_includes := \ + system/extras/ext4_utils \ + system/extras/f2fs_utils \ + external/openssl/include \ + external/stlport/stlport \ + bionic \ + external/scrypt/lib/crypto \ + frameworks/native/include \ + system/security/keystore \ + hardware/libhardware/include/hardware \ + system/security/softkeymaster/include/keymaster + +common_shared_libraries := \ + libsysutils \ + libstlport \ + libbinder \ + libcutils \ + liblog \ + libdiskconfig \ + libhardware_legacy \ + liblogwrap \ + libext4_utils \ + libf2fs_sparseblock \ + libcrypto \ + libselinux \ + libutils \ + libhardware \ + libsoftkeymaster + +LOCAL_MODULE := libcryptfslollipop +LOCAL_MODULE_TAGS := eng optional +LOCAL_CFLAGS := +LOCAL_SRC_FILES = cryptfs.c +#LOCAL_C_INCLUDES += \ +# system/extras/ext4_utils \ +# external/openssl/include \ +# system/extras/f2fs_utils \ +# external/scrypt/lib/crypto \ +# system/security/keystore \ +# hardware/libhardware/include/hardware \ +# system/security/softkeymaster/include/keymaster +#LOCAL_SHARED_LIBRARIES += libc liblog libcutils libcrypto libext4_utils +LOCAL_SHARED_LIBRARIES := $(common_shared_libraries) +LOCAL_C_INCLUDES := external/openssl/include $(common_c_includes) +LOCAL_STATIC_LIBRARIES += libfs_mgr libscrypt_static liblogwrap libmincrypttwrp + +include $(BUILD_SHARED_LIBRARY) +endif -- cgit v1.2.3