GithubHelp home page GithubHelp logo

edslite's Introduction

EDS Lite

EDS (Encrypted Data Store) is a virtual disk encryption software for Android which allows you to store your files in an encrypted container. EDS Lite is an open source edition of EDS. Visit EDS web site to learn about EDS features and capabilities.

You can download and install the latest version from Google Play.

Please support the development of the open source version of EDS by making a donation: Donation or by purchasing the full version.

Building

Download and extract NDK v13b. Clone the project to a local folder. In the root folder of the project create the local.properties file and add the following line: ndk.dir=/path/to/ndk-bundle. Replace /path/to/ndk-bundle with the actual path. Import the project to Android Studio. Select Build->Build APK.

License

GPLv2+

edslite's People

Contributors

sovworks avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

edslite's Issues

LUKS2

Do you plan to support the subject? It allows for the memory-hard key derivation function Argon2.

Support for other other container formats

Great work on the app, there are far too few encryption apps for android. Would it be an idea to add support for cryfs or gocryptfs considering the security concerns with encfs?

write in readme, faq or website where to find the logs, and/or add a 'view logs' option from in the app settings.

This app works perfectly, thank you so much!
but i recently purchased the full version and it doesnt work for me :'( i make the container fine, but when entering password to enter it i get something like "wrong password or unsupported file system, check program logs" but i cannot find them.
OnePlus 5T - OxygenOS - android 9.0 - Magisk 20.4 stable - selinux permissive - latest busybox - adb insecure - no DMverity - no forced encryption my setup should give no denials, where would i find the logs?

Open contained .kdbx file in KeePassDroid fails

Hello,

on my Android Smartphone since a long time I use 'EDS Lite' to open a specific TrueCrypt container containing several .kdbx (KeePass) files. When clicking one of the KeePass container files in 'EDS Lite' the 'KeePassDroid' app is opened for this file and I have to enter the corresponding KeePass password there to get access to the contained passwords.

Today I recognized that after the last 'EDS Lite' update (the one including UI changes) the step to confirm the password in 'KeePassDroid' results in a BufferedInputStream is closed error. The .kdbx file cannot be accessed by KeePassDroid. Last week (before the update) I was still able to open it.

Did the mechanism change how files in TrueCrypt containers are being made available by 'EDS Lite' to other apps? Any hints how to solve the problem?

Thanks and kind regards,
Alex

Request: Name of volume to be available through Storage Access Framework

I can access the opened containers from other apps without issue - they can be selected through the Tree selection system window. And that has the correct names (the name of the container).

But once it's open in the app through a Tree URI, the name no longer appears to be available. Once a DocumentFile has been obtained, the name is just "". The name of the root document file should be the name of the container.

Note: this is my own app which is accessing the opened container, so if there's another way to get the name, that would be OK.

Cannot add files

Is EDS only useful for viewing files in a container? I'd also like to add files to a decrypted container from my phone but can only find the function to "create a file" with nothing in it. How do I add other types of files?

exception during build

in building process, i get below exception.
Build command failed.
Error while executing process D:\android-sdk\android-sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build D:\projects\edslite-master\edslite-master\app\.externalNativeBuild\cmake\liteLicCheckNoneNoinetNofsmlDebug\x86 --target fdraio} [1/1] Linking C shared library ..\..\..\..\build\intermediates\cmake\liteLicCheckNoneNoinetNofsml\debug\obj\x86\libfdraio.so FAILED: cmd.exe /C "cd . && D:\android-sdk\android-sdk\ndk-bundle\toolchains\llvm\prebuilt\windows-x86_64\bin\clang.exe --target=i686-none-linux-android --gcc-toolchain=D:/android-sdk/android-sdk/ndk-bundle/toolchains/x86-4.9/prebuilt/windows-x86_64 --sysroot=D:/android-sdk/android-sdk/ndk-bundle/sysroot -fPIC -isystem D:/android-sdk/android-sdk/ndk-bundle/sysroot/usr/include/i686-linux-android -D__ANDROID_API__=14 -g -DANDROID -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -mstackrealign -Wa,--noexecstack -Wformat -Werror=format-security -DDEBUG -O0 -fno-limit-debug-info -Wl,--exclude-libs,libgcc.a -Wl,--exclude-libs,libatomic.a --sysroot D:/android-sdk/android-sdk/ndk-bundle/platforms/android-14/arch-x86 -Wl,--build-id -Wl,--warn-shared-textrel -Wl,--fatal-warnings -Wl,--no-undefined -Wl,-z,noexecstack -Qunused-arguments -Wl,-z,relro -Wl,-z,now -shared -Wl,-soname,libfdraio.so -o ..\..\..\..\build\intermediates\cmake\liteLicCheckNoneNoinetNofsml\debug\obj\x86\libfdraio.so CMakeFiles/fdraio.dir/src/main/native/fdraio/fdraio.c.o -llog -latomic -lm && cd ." D:\projects\edslite-master\edslite-master\app\src\main\native\fdraio/fdraio.c:92: error: undefined reference to 'fstat64' clang.exe: error: linker command failed with exit code 1 (use -v to see invocation) ninja: build stopped: subcommand failed.

low key derivation function performance

I measured that my tablet is 20 times slower than my desktop when computing a key derivation function. I've done this by creating a LUKS container with cryptsetup --type luks1 --iter-time 10000 --hash sha512 luksFormat $CONTAINER and measuring the time for opening the container with a watch. The clock frequencies of processors are not that different:

  • 2.36 GHz Cortex-A53 in the tablet
  • and AMD Ryzen 3 2200G 3.7 GHz in the desktop.

I suppose that the computation is single-threaded. Maybe, edslite uses an inefficient cryptographic library?

Content provider pannot handle multiple containers

I use the content provider feature to add EDS containers to file managers like Material Files via SAF. This works well as long as I only have one container open at a time. Any containers after the first open correctly within EDS, but the content provider feature just duplicates the first container. So I cannot use DocumentsUI, Material Files, or any other SAF aware app to use more than one container at a time.

Screenshot_20201009-122415
EDS has opened both containers.
Screenshot_20201009-122343
DocumentsUI lists the first container twice.

Edit to add: this is true for the paid version as well.

Delete files by closing

I'm using the full version v2.0.0.226 to mount a container in the standard eds-folder.
After closing the container the files in the sub-folder is still there. I think that's not desired!?

Empty VeraCrypt container

When opening an AES / SHA-512 standard VeraCrypt volume, the app shows the message "The list is empty".

Opening the same volume using VeraCrypt on my computer properly shows the contained files.

Mount As Device Or In Mount Folder

I would like to suggest two options for making the mounting of encrypted containers or SD cards be easier to read and access from file manager apps and apps that read/write files such as music players, photo galleries, video players, etc.

  1. Mount as a device instead of a content folder. It will be displayed as a mounted SD card
  2. Have mounted containers be accessed from the /internal storage/mount/mycontainer001/ directory (Not sure if this is possible on Android) Linux does something similar to this by having mounted items in the /mount/username/harddrive001/ directory

Key file support

I usually use a pretty weak pw in combination with a key file saved on a stick for convenience reasons. I don't know if I haven't found that option somewhere or is isn't actually implemented. It would be awesome having this possibility though.

use SU privileges without rooting? (mounting using eds paid version)

I've paid for the full version of EDS that I used for years on rooted devices, I'm changing phone using /e/os and don't want to root it because there are few app that really require root access.

I've some apps like https://f-droid.org/fr/packages/com.asksven.betterbatterystats/ that require some privilege, so I moved the app as system app and granted access to what was required

I wonder if it's possible to do the same with eds? will a move as system app will allow all required access to mount veracrypt volume on android? is there a way to grant "root" only for EDS without having to root the phone?

if you have any adb instructions I will be gratefull
thanks and regards

Files saved inside a mounted exFAT container do not show on desktop

Expected

Files saved inside of a mounted exFAT container within the EDS Lite Android app will show in the container when it is mounted on the desktop.

Observed

Files saved inside a mounted container within the EDS Lite Android app only show in the mobile container and not on the desktop when the container is mounted.

This has been tested by creating a hello_world.txt file in the mounted container in EDS Lite. Then, after dismounting through the app, the same container is mounted on the desktop. However, the newly created hello_world.txt does not show.

Attempted solution

When using FAT32 format instead of exFAT, changes made within the mobile app do show on desktop. However, as the FAT32 format is limited in size, exFAT is preferrable.

Environment details

Container format: VeraCrypt
File type: exFAT
Device: Pixel One
Android version: 10
EDS Lite version: 2.0.0.231

Mounting entire encrypted drive/partition: 'Undefined or not supported file system'

Expected

The entire drive has been encrypted in exFAT format as a VeraCrypt partition/drive. It's expected to connect the drive to the Android phone and mount the drive in order to mount the container within EDS Lite.

Observed

Total Commander Is unable to mount the encrypted partition/drive. Therefore, the container cannot be mounted within EDS Lite.

Error

Undefined or not supported file system. If you wish to read this volume via another application please close this application and reattach your drive to device.

Screenshot

Environment details

Container format: VeraCrypt
File type: exFAT
Device: Pixel One
Android version: 10
EDS Lite version: 2.0.0.231
Total Commander version: 2.91

Auto-populate file container size with value large enough to contain files being shared to EDS Lite

When sharing files to EDS Lite, it would be very convenient for the user to auto-populate the size of the container with a value that would be large enough to accommodate the files that are being shared to EDS Lite.

Consider where a user may share from an app where size information is not readily available. Say they multi-select a number of files, having the new container being setup with the right size would be awesome.

Content resolver, contract, manifest

Most open source text editors don't work at all with EDS, no matter the settings. I'm thinking about convincing Acode to play nice with EDS. Does anyone have a specific, open source, bug free example of a content resolver, contract, manifest that work with EDS?

No SMBv2 Support

Hello,

Please add support for SMBv2. I had to enable SMBv1 in order to access a network share via the EDS full app.

Cryptographic APIs misuses

I'm a PhD student interested in finding security vulnerabilities in open source projects.

We found a total of 19 warnings (indicating potential vulnerabilities) when running the CogniCrypt static analyzer (*) on edslite (or its library dependencies). We documented each one of these issues in private gists for the sake of confidentiality (non-disclosure).

Can you please let us know whether we can share these gists with you? We are eager to evaluate the perception of developers (e.g. severity of these warnings) and improve edslite's security, and the quality of the reports of static analysis tools.

(*) https://github.com/CROSSINGTUD/CryptoAnalysis

Application crashed while writing as content provider

[Environment]
Android 6.0.1 (kernel 3.10.84)
ESD Lite v2.0.0.237
andOTP v0.8.0-play

[Steps to Reproduce]

  1. Mount a container (VeraCrypt, AES, SHA-512, exFAT), and there is a banner showing "EDS service is running" in notification area.
  2. Open andOTP, make a backup
  3. Select destination from content provider - ESD lite mounted container, and save

[Issue]
andOTP said "Exported to external storage successfully." but system said "EDS Lite has stopped." There is a banner in notification area kept showing "ESDLite saving changes" . The "EDS services is running" disappeared. And when I open the ESDLite, it asked me to unlock the container again. No changes were made to the container after I unlock it. And the "Saving changes" notification kept there.

I also tried mounting the container and copy a file from file system to it using Total Commander and met the same issue.

And I don't think I mount it in read-only mode. I copy a file using ESDLite's internal file manager and the operation succeed with the message "start processing".

And here is the error log eds-log-20210409102824.txt

Thanks

Magisk module causes problem since latest OnePlus update

Since latest OnePlus 7t update to 10.0.11 the eds module don't lets me decrypt after reboot. So using the phone with this module isn't possible anymore. Only solution was to remove the module from recovery adb.

I'm using the non lite version of EDS.

Tradução para português

Oi! Seria legal ter na próxima atualização tradução para português porque eu não sei falar e nem lê em inglês. O app não uso faz tempo por causa disso! Pode resolver isso por gentileza? Obrigado.

Mount Encrypted SD Cards

Please allow for mounting entire encrypted SD cards just like how Veracrypt can mount a entire USB stick or harddrive and not just container files.

Eds full version and VeraCrypt

Hi

I'm using the full version of EDS.

Tried to make a container Veracrypt AES+twofish on EDS

work well on EDS but I can't open it on veracrypt (windows version)

I tried create the container on windows, but when I try to open it on EDS, EDS look like to be lost on derivation key algorithm

Maybe a 80 characters password is too big?

Thanks for your help!

help ... Duplicate class found and Class 'FormatInfo' must either be declared abstract or implement abstract method 'getMaxPasswordLength()

when I clone your project,it's show errors:😂
E:\WORK\edslite\app\src\lite\java\com\sovworks\eds\android\locations\LUKSLocation.java
Error:(11, 8) Error: Duplicate class found in the file: com.sovworks.eds.android.locations.LUKSLocation
E:\WORK\edslite\app\src\lite\java\com\sovworks\eds\android\tasks\ChangeContainerPasswordTask.java
Error:(8, 8) Error: Duplicate class found in the file: com.sovworks.eds.android.tasks.ChangeContainerPasswordTask
E:\WORK\edslite\app\src\lite\java\com\sovworks\eds\android\tasks\ChangeEDSLocationPasswordTask.java
Error:(3, 17) Error: Duplicate class found in the file: com.sovworks.eds.android.tasks.ChangeEDSLocationPasswordTask
E:\WORK\edslite\app\src\lite\java\com\sovworks\eds\luks\FormatInfo.java
Error:(4, 8) Error: Duplicate class found in the file: com.sovworks.eds.luks.FormatInfo
E:\WORK\edslite\app\src\main\java\com\sovworks\eds\luks\FormatInfo.java
Error:(17, 8) Error: Class 'FormatInfo' must either be declared abstract or implement abstract method 'getMaxPasswordLength()' in 'ContainerFormatInfo
Error:Execution failed for task ':app:compileLiteLicCheckNoneNoinetNofsmlDebugJavaWithJavac'.

Compilation failed; see the compiler error output for details.

Remember password doesn't work, also, more information needed

Hello team,

The remember password option doesn't work, I tried multiple scenarios and all of them didn't work. e.g. for a Veracrypt container.

Also, if you can provide some information about how "remember password" actually work, of course, you don't save the actual password I guess?

I will go ahead and dig deep into the code too.

Thank you so much for your extraordinary efforts.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.