编译truecrypt for android
来源:互联网 发布:java 转义字符 处理 编辑:程序博客网 时间:2024/05/21 11:35
编译truecrypt for android
作者:金海建
Truecrypt介绍:TrueCrypt是一款免费开源的绿色虚拟加密盘加密软件,不需要生成任何文件即可在硬盘上建立虚拟磁盘,用户可以按照盘符进行访问,所有虚拟磁盘上的文件都被自动加密,需要通过密码来进行访问。TrueCrypt提供多种加密算法,包括:AES-256, Blowfish (448-bit key), CAST5, Serpent, Triple DES, andTwofish,其他特性还有支持FAT32和NTFS分区、隐藏卷标、热键启动等。他支持多个平台,Windows、linux、Unix、MacOSX等主流操作系统。
一、下载truecrypt
到truecrypt网站上下载即可。下载地址:http://www.truecrypt.org/downloads2
选择Mac OS X/Linux(.tar.gz), 点击Download下载到本地。
二、编译truecrypt
要编译在arm linux上,需要确保你的linux有arm-linux的交叉编译环境。如果没有需要下载armlinux的交叉编译器,关于如何下载交叉编译器,可以直接google下就可以找到相应的资料。
编译truecrypt需要确认已经有fuse和wxWidget,一般情况下,wxWidget已经在系统中存在了。
truecrypt要用到fuse库,fuse指用户空间文件系统(Filesystemin Userspace,簡稱FUSE)是操作系统中的概念,指完全在用户态实现的文件系统。目前Linux通过内核模块对此进行支持。一些文件系统如ZFS,glusterfs和luster使用FUSE实现。
Linux用于支持用户空间文件系统的内核模块名叫FUSE,FUSE一词有时特指Linux下的用户空间文件系统。文件系统是一个通用操作系统重要的组成部分。传统上操作系统在内核层面上对文件系统提供支持。而通常内核态的代码难以调试,生产率较低。Linux从2.6.14版本开始通过FUSE模块支持在用户空间实现文件系统。
2.1编译FUSE
l 下载FUSE: http://sourceforge.net/projects/fuse/
l 对下载后的文件,进行解压缩。
l 编译:
./configureCC=arm-none-linux-gnueabi-gcc -host=arm-linux –enable-static_link
Make
make install
完成make install后,会放到系统的库中去,truecrypt就可以引用了。
关于如何调用fuse,请参考”使用FUSE开发自己的文件系统http://www.ibm.com/developerworks/cn/linux/l-fuse/
2.2编译truecrypt
准备好arm linux交叉编译环境后,原来truecrypt默认指向的是系统的编译环境,即x86下的编译环境,我们需要修改Makefile,来指向arm linux。打开truecrypt下的Make file.我们可以看到
export CC ?= gcc
export CXX ?= g++
truecrypt的Makefile已经为我们准备好了修改编译配置的选项。我们修改为
#export CC ?= gcc
exportCC := arm-none-linux-gnueabi-gcc
#exportCXX ?= g++
exportCXX := arm-none-linux-gnueabi-g++
#exportAS := nasm
好了,Makefile已经配置OK, 直接make就可以编译出arm linux的truecrypt了。
Truecrypt是带GUI的程序,使用wxWidgets库,那么我们如果要把编译出来truecrypt push到android上肯定是不行运行的。它里面调用了wxWidget的库,很显然android上不支持。那我们只能把所有有关gui的代码都去掉。truecrypt的代码写的还比较的清晰,直接把Main下面的代码全部删除。然后自己把创建加密分区、加载加密分区、修改密码的相关代码抽取出来,做下封装。
- 编译truecrypt for android
- 编译truecrypt for android
- 怎么编译TrueCrypt
- TrueCrypt编译记录
- 工作笔记:TrueCrypt编译记录
- truecrypt加密分区的编译
- 如何编译TrueCrypt 7.0a源码
- 如何编译TrueCrypt 7.0a源码
- 如何编译TrueCrypt 7.0a源码
- 如何编译TrueCrypt 7.0a源码
- vs2010 编译 TrueCrypt-7.1a-Source
- 如何编译TrueCrypt 7.0a源码
- opencv for android 编译
- Chrome for android 编译
- xbmc for android 编译
- vlc-for-android编译
- 编译 chromium for android
- 编译librtmp for Android
- ZJUT1012 勘探油田
- 不带缓存的I/O和标准(带缓存的)I/O
- [转载]web.config connectionStrings 数据库连接字符串的解释
- Hibernate的学习总结(映射类之间的继承关系)
- CentOS上yum安装nginx+mysql+php+php-fastcgi [经本人整理后亲自测试]
- 编译truecrypt for android
- wamp5下的虚拟主机的配置
- Linux内核抢占实现机制分析
- java播放视频
- C++资源之不完全导引(完整版)
- dom4j的一个问题 element.setData(Object data)
- LinuxThread VS NPTL
- PDF安全性选项
- C语言下extern static用法一结,及C++下extern “C”的用法