在Android Kitkat 4.4上登上ENCFS -- 4.4-kitkat 领域 和 encryption 领域 android 相关 的问题

Mount EncFS on Android KitKat 4.4


简体版||繁體版
1
vote

问题

中文

在旧的(rooted)android版本中,Cryptonite是一个很好的解决方案,可以将ENCFS加密的文件夹安装,但在我的新的Android Kitkat手机上具有仿真存储,这失败了。

我可以在 /storage/emulated/legacy 中成功将加密文件夹安装到 /storage/emulated/legacy 中的另一个文件夹上,但是其他应用程序不可见解密文件。如何以正确的方式挂载ENCFS文件夹?

英文原文

On older (rooted) Android versions, Cryptonite was a great solution to mount EncFS encrypted folders, but on my new Android KitKat phone with an emulated storage, that fails.

I can successfully mount the encrypted folder in /storage/emulated/legacy onto another folder in /storage/emulated/legacy, but then the decrypted files are not visible to other apps. How do I mount an EncFS folder the right way?

     
     
     

回答列表

2
 
vote

问题在于Kitkat中的一个新的安全功能。默认情况下的应用程序有自己的挂载命名空间,这意味着由一个应用程序创建的安装寄存器对不同的应用程序不可见。

其次,没有真正的SD卡的Android手机使用仿真为假SD卡,这给了我一些问题。

来自链轮的Supersu可以选择访问允许程序到装入文件系统的根挂载命名空间,并将它们与所有其他程序可见。不幸的是,Cryptonite不知道这个选项。一个解决方案是在 encfs 二进制文件中插入一个脚本。

您需要一个根shell来运行这些命令,可能是使用 adb 通过USB连接到手机的计算机。 (但是使用终端应用程序也可以工作。)

步骤:

移动到Cryptonite数据目录:

  cd /data/data/csh.cryptonite   

注意加密onite用户ID:

  ll -d -n .   

这将提供类似于 drwxr-x--x 11 10133 10133 4096 Feb 14 23:51 . 10133是加密onite的用户标识(第二个副本是加密onite组ID,但这应该是相同的)。

创建一个文件夹以存储原始ENCFS二进制文件,并为其提供正确的欠立姓名

  mkdir original chown 10133:10133 original   

(用手机上的用户id cryptonite替换10133)

将原始ENCFS移走

  mv encfs original/   

创建一个名为 encfs 的脚本来实现真正的ENCF。我更愿意使用 nano 命令,但您也可以以不同的方式创建文件并使用命令 cp /path/to/encfs/replacement/file/here /data/data/csh.cryptonite/encfs

移动它
  adb0  

将以下内容放入替换ENCFS脚本

  adb1  

使用ctrl-x保存文件(某些终端仿真器应用程序上的音量下降+ x),应答 adb2 保存。

使替换脚本可执行

  adb3  

设置合适的所有者

  adb4  

(再次用手机上的用户ID密码替换为10133)

应该是它。将ENCFS文件夹从 adb5 安装到 adb6 中的其他文件夹上,现在应该工作。

替换脚本有两件事:将文件夹的路径从 abcdefghijklmn17 替换为存储仿真SD卡数据的实际位置,并在根挂载命名空间中调用Real ENCF,以便安装在内ENCFS文件夹对AL应用程序可见。

更改文件夹路径是必要的,因为由于某种原因安装在模拟的SD卡上不起作用(至少对我)。实际上,模拟的SD卡将其数据存储在 adb8 中。通过安装在实际存储位置上,SDCard仿真层不需要知道涉及有不同的文件系统。

直接安装文件 adb9 从加密onite不起作用,因为Cryptonite应用程序无法访问THA文件夹,因此替换脚本将挂载点和加密文件夹的路径更改为点到底层SD卡存储。

 

The problem turns out to be a new security feature in KitKat. Apps by default have their own mount namespace, which means that mounts created by one app are not visible to a different app.

Secondly, Android phones without a real SD card use emulation for the fake SD card, and that gave me some problems.

SuperSU from Chainfire has an option to access the root mount namespace that allows a program to mount filesystems and have them visible to all other programs. Unfortunately, Cryptonite doesn't know bout this option. One solution is to interpose a script before the encfs binary that Cryptonite uses.

You will need a root shell to run these commands, probably from a computer using adb to connect to your phone over usb. (But using a terminal app could also work.)

Steps:

Move to the cryptonite data directory:

cd /data/data/csh.cryptonite 

Note the Cryptonite user id:

ll -d -n . 

This will give output similar to drwxr-x--x 11 10133 10133 4096 Feb 14 23:51 . The 10133 is the user id of Cryptonite (the second copy is the Cryptonite group id, but that should be the same).

Create a folder to store the original encfs binary in, and give it the right owership

mkdir original chown 10133:10133 original 

(replace the 10133 with the user id cryptonite has on your phone)

Move the original encfs away

mv encfs original/ 

Create a script named encfs to interpose for the real encfs. I prefer to use the nano command for this, but you could also create the file in a different way and move it using the command cp /path/to/encfs/replacement/file/here /data/data/csh.cryptonite/encfs

nano encfs 

Put the following content into the replacement encfs script

#!/system/bin/sh  cmd=/data/data/csh.cryptonite/original/encfs  for param in "$@" do     replaced=`echo "$param" | sed 's:^/storage/emulated/:/data/media/:'`     cmd="$cmd $replaced" done  su -mm -c $cmd 

Save the file with ctrl-x (volume down + x on some terminal emulator apps), answer y to save.

Make the replacement script executable

chmod +x encfs 

Set the right owner

chown 10133:10133 encfs 

(Again replace the 10133 with the user id Cryptoite has on your phone)

That should be it. Mounting an encfs folder from /storage/emulated/0/ onto a different folder in /storage/emulated/0 should work now.

What it does

The replacement script does two things: replace paths to folders from /storage/emulated/something to the actual place where the emulated SD card data is stored, and call the real encfs in the root mount namespace so that the mounted encfs folder is visible to al apps.

Changing the folder paths is necessary because for some reason mounting on the emulated SD card doesn't work (at least for me). The emulated SD card in fact stores its data in /data/media/0. By mounting on the actual storage location the SDcard emulation layer doesn't need to know that there is a different filesystem involved.

Directly mounting a file on /data/media/0 from Cryptonite doesn't work because the Cryptonite app doesn't have access to tha folder, so the replacement script changes the paths of the mountpoint and encrypted folder to point to the underlying SD card storage.

 
 
-1
 
vote

我没有问题将容器装入 eds 应用程序正确使用所有Android版本

 

I have no problems to mount containers with EDS App correct work with all Android version

 
 
 
 

相关问题

0  Nexus 4加密  ( Nexus 4 encryption ) 
我加密了我的nexus,现在忘记电源耗尽后的密码可以告诉我所需的数字和规则(大写,数字等)? ...

0  从Galaxy Tab4中删除密码  ( Remove password from galaxy tab4 ) 
我的妻子将密码设置为平板电脑,并要求我删除它。我打开 settings -> security -> device encryption 输入密码,但选项 none (即没有密码)被禁用(具有消息 turned off by administrator, policy... )。如我了解的是,如果我能够将密码设置为 ...

21  如何将/加密SD卡数据透明到应用程序?  ( How do i secure encrypt sd card data transparent to apps ) 
是否有用于保护SD卡内容的现成选项,以便加密应用程序写入SD的文件的文件?如果是这样,最好的选择是什么? 我正在寻找所有应用程序的东西。我强烈更喜欢在没有生根的情况下做到这一点。 ...

0  在三星Galaxy 2上锁定SDHC存储卡  ( Locking sdhc memory card on samsung galaxy 2 ) 
我在SAMSUNG GALAXY 2手机上存储了一个重要文件(所以我可以在GO上编辑)。未经我的权限,我不希望别人访问此文件或文件。 我知道我可以锁手机,但这个选项意味着除非被解锁,否则无法在手机上完成。 我希望别人仍可从手机拨打电话,但不能访问存储卡。 (让别人使用我的手机是一个内部安排,即在我们一起旅行时有一个接...

1  从COS 12.1更新到Cyanogen OS 13后,密码无法正常工作/更改  ( Password not working changes after update from cos 12 1 to cyanogen os 13 ) 
很久以前我已经加密了我的onlyplus。现在我想用新的释放紫绀型操作系统13来执行更新。问题是手机不想从上一个版本验证密码。 PIN或图案在TWRP(v2.8.x)中完美工作。通过使用cos 13引导,它不再工作了。闪烁旧的COS版本后,密码或模式正在正常工作。我已经改变了几次PIN,也试图使用锁定模式,但没有区别...

7  如何使用设置加密的SD卡上解密文件?  ( How do i decrypt files on my sd card that i encrypted using the settings ) 
我有文件,我用来使用"USB Connection" 弹出窗口下的USB大容量存储选项从SD卡复制到我的PC。我在设置下检查了标志 - >位置& Security->数据加密 - >存储加密,现在我无法读取这些类型的新文件(例如,.jpg和.txt文件)。我尝试过,取消选中框 - 出现一条消...

1  Android 4.2“Partition ......具有比其磁盘不同的主要专业!” logcat中的错误  ( Android 4 2 partition has a different major than its disk error in logcat ) 
我正在使用Samsung i9100运行Android 4.2.2,通过Sentinelrom_v4_75_I9100。没有更改内核外面的内核。 我尝试加密许多不同的4.2.2 roms,并且始终在几个重新启动之后sdcard0未安装。 在再次加密之前(并且可能具有相同的问题),我正在尝试在时间提前拍摄问题。 lo...

24  什么Android Sync'd数据被加密?  ( What android syncd data is encrypted ) 
释放 firefex插件for firefox 它已成为在开放Wi-Fi网络上浏览网站浏览的微不足道被第三方听众劫持。 Android提供方便的自动同步选项。但是,我担心我的数据可能是自动同步的,而我在当地咖啡店或购物中心连接到开放的Wi-Fi网络时。 是使用SSL或类似加密机制加密的所有数据Android自动同步...

13  如何使用完整的设备加密正确执行备份和更新?  ( How to do backups and updates properly with full device encryption ) 
我想考虑以下用例: '完全'反向加密而不失去设置 更新roms。即使/系统,/数据,/ sdcard(内部)也被加密 使用CWM备份备份。当SDCard分区也加密时。 紧急访问我的数据(屏幕破碎,软砖...) 如何在Linux上挂载加密转储(知道密码上) 是否有一些盐值与存储在设备上的密码一起进入键? 我目前在我...

11  如何将格式化为内部存储的损坏SD卡进行解密?  ( How to decrypt the corrupt sd card formatted as internal storage ) 
所以我在棉花糖上,并将我的SD卡格式化为内部存储。它的文件系统出于某种原因两周后损坏。 将其插入gparted,我看到16MB的FAT32,其余的是一个无法识别的文件系统。它不是未格式化的,只是无法识别。 gparted给出"无法读取文件系统的内容。" 两个分区的错误,尽管FAT32分区无瑕地从文件浏览器中访问。 ...

12  是否有任何WEP开裂应用程序可用于Android?  ( Is there any wep cracking application available for android ) 
是否有任何用于Android的WEP开裂应用程序? 如果不是在技术上可以在平均Android手机上提供的API和硬件在技术上开裂? 这是一个纯粹的学术问题,请留出伦理的论点。 ...

9  如何加密运行CyanogenMod 12.1的设备?  ( How do you encrypt your device running cyanogenmod 12 1 ) 
cyanogenmod 12和12.1 '加密电话'设置破碎,并已相当长。有没有办法以其他方式加密手机? CM可以使用加密/数据目录侧面侧面通往电话?是否有其他方法可以保持数据安全和声音?我正在努力的设备是verizon lg g3。 ...

0  Google照片在公共WiFi上是安全的  ( Is google photos synchronisation secure on public wifi ) 
可以有人(公共NW或入侵者的所有者)在中间攻击中执行男人,并在他们在公共WiFi同步时窃取照片吗? 假设他们在我的手机上没有任何控制,只是通过嗅着包装器,有人可以偷看照片吗? ...

3  设置/查找Android 7加密密码  ( Setting finding android 7 encryption password ) 
一些麻烦我将2016年的2016年固件更新到了我的联想P2到Android 7(我认为我的运营商决定自己的应用程序比安全更新更重要)。 现在我现在想把TWRP恢复到手机而不是股票中,我发现手机被加密,这不是之前。我没有要求它(现在默认为Android 7默认情况下谷歌这样做),我从未明确输入密码以进行加密。 但是,...

3  三星Galaxy S10E每隔几天需要密码,可以安全禁用吗?  ( Samsung galaxy s10e requires password every few days is it possible to disable ) 
Galaxy S10E,受非常长密码和指纹。 我专门用于一个非常长的密码,打击手机后仅在键入它。 事实上,手机需要每2只ISH天输入密码,即我读取,是一个使用Android的标准练习 但是,在安全设置中,我能够找到"其他安全设置 - 强保护" ,读取: 使用安全锁定类型加密手机 重新启动后,您需要使用您的模式,...

1  解密三星S2文件?  ( Decrypt samsung s2 files ) 
我的三星S2刚刚用加密的SD卡才死了,我发现kies没有备份内存。手机被修复但现在我无法读取SD上的文件。 任何设法恢复加密文件的人? ...

9  有没有办法讲述他们的Android设备是否已加密或不进行加密?  ( Is there a way for a user to tell if their android device is encrypted or not ) 
上有一个半相关线程 https://stackoverflow.com/问题/ 12640708 / check-if-android-filesystem-in-cregrypted 这解释了开发人员如何确定是否启用了全磁盘加密,但有没有用户知道的简单方法?我尝试加密(我在4.4.2),似乎在某些时候失败,但没有...

26  自动连接到Wi-Fi节点,但通过加密路由所有内容  ( Automatically connect to wi fi nodes but route everything through encryption ) 
与我关于VPNS 的问题,有没有办法让我的手机自动连接到未加密的接入点,但通过家庭网络路由所有流量? 这将是一种类似的间歇性,但是自由,数据计划的替代方案,只需同步我的电子邮件并且在看到开放接入点时会自动同步,但没有应用程序发送密码 cookie 在清除a htth://en.wikipedia.org/wiki/r...

6  OpenVPN与Android 2.3.x - 安全问题  ( Openvpn with android 2 3 x security concerns ) 
我需要使用我的Android 2.3.x手机来访问OpenVPN服务器。我有cm 7,支持openvpn和tun。我的主要关注点是我不知道将钥匙放在哪里。如果我的手机掌握在错误的手中,我就会把钥匙留在开放状态,我不能拥有它。 如果我有一个IC电话,我会有完整的文件系统加密,我会安全(r)。所以有另一种还是一些技术,我...

3  挂载加密仿真AVD userData-qemu.img.qcow2  ( Mount encrypted emulated avd userdata qemu img qcow2 ) 
我正在尝试备份我的AVD。要加快速度,我喜欢制作增量备份。备份 *.img.qcow2 文件效率低下。我希望能够安装驻留在虚拟块设备上的文件系统,然后备份其内容。 我的设备是使用Google服务和播放商店运行Android Oreo 8.1 x86系统映像的模拟Nexus 5x。没有选项不为全磁盘加密userdata...

4  Droid Razr MAXX加密降级最大相机分辨率  ( Droid razr maxx encryption downgrades max camera resolution ) 
将我的Droid Razr Maxx提交给我公司OLA的突发事件,以便访问工作邮件,日历和联系人,它被加密,包括存储。加密通知我,然后在继续之前,我的高清视频录制分辨率将从1080p降级到720.果然,在完成后,最大视频录制分辨率选项是"DVD(720 x480)" 。但是,我的前置相机仍然可以做720p。 这是否记...

13  如果我设置了一个VPN,那么*一切*越过它?  ( If i set up a vpn does everything go over it ) 
如果我为Android设置了VPN连接,则会通过VPN路由的内容?只是网浏览?所有应用程序的所有互联网连接? 在Cyanogenmod中,在Add OpenVPN配置中,"高级" 设置中,有一个选项"重定向网关 - 强制所有流量通过VPN隧道释放" ,默认情况下。 用它,哪个应用程序/通信通过它进行路由? 其他VPN...

41  加密手机的内部存储  ( Encrypt the phones internal storage ) 
有没有办法加密我的手机的内存,同样地是加密计算机的分区的方式? 理想情况下,手机将始终在引导时询问密码,即使有人对手机进行了物理访问并将其插入计算机时,除非他/她知道加密密码,否则这个人永远不会看到手机内部。 我正在寻找一种加密内部存储的方法(这是敏感数据的保留位置)。加密SD卡很好但没有必要。 在摩托罗拉里程碑上...

1  如何在诺基亚6.1上加密SD卡?  ( How to encrypt sd card on nokia 6 1 ) 
是否有任何方法可以在诺基亚6.1上加密SD卡? 我没有找到任何选择来做。 (当前的Android版本是Android一个8.1.0) 产品页面:诺基亚6.1 ...

2  我的联系人是否在我的Android上加密?  ( Are my contacts encrypted on my android ) 
是我的android加密的联系人,它们在哪里? 如何访问它们?任何公共API? (来自PC) ...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有