mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2026-08-29 04:07:37 +00:00
Compare commits
109
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8e4a68af3b | ||
|
|
4a8040735b | ||
|
|
ae28d51016 | ||
|
|
32f11001c0 | ||
|
|
a0ebc22d1f | ||
|
|
9159a0777d | ||
|
|
0718a4ec20 | ||
|
|
f2cda804dc | ||
|
|
b68fec97ea | ||
|
|
eefaefccc0 | ||
|
|
2784652ab8 | ||
|
|
a284922ce4 | ||
|
|
c4d30b34ba | ||
|
|
a5203dd006 | ||
|
|
474505d704 | ||
|
|
d3db2548b5 | ||
|
|
f397f70fbe | ||
|
|
ae5867f8b1 | ||
|
|
ec4be21492 | ||
|
|
ed604cf0f3 | ||
|
|
ef196b5ca5 | ||
|
|
279c99fdf8 | ||
|
|
f80f7d47d5 | ||
|
|
8e6707cc22 | ||
|
|
f09f8e3a31 | ||
|
|
21be04cb6e | ||
|
|
ba1e9c8f4d | ||
|
|
6e73a8a393 | ||
|
|
176bec1bb2 | ||
|
|
31b238872e | ||
|
|
b730e965c5 | ||
|
|
a916135f3c | ||
|
|
b2020c9fb7 | ||
|
|
188b459d28 | ||
|
|
39bf211ebe | ||
|
|
06af5ce7fd | ||
|
|
7fb5af6ada | ||
|
|
cb9859fa0e | ||
|
|
717ffadf93 | ||
|
|
419586d4a2 | ||
|
|
450cde5fac | ||
|
|
b2d119f781 | ||
|
|
7818c0e0e3 | ||
|
|
86529dadde | ||
|
|
544c55debc | ||
|
|
2b826843de | ||
|
|
b920bb2a6a | ||
|
|
5012e0941a | ||
|
|
1eb8aec9fa | ||
|
|
2b8aa2df16 | ||
|
|
5f252f2c50 | ||
|
|
d5f34ad49d | ||
|
|
608e86c7bc | ||
|
|
516da2229d | ||
|
|
28a9eaf0e3 | ||
|
|
de0c30dded | ||
|
|
1ab00f3e3c | ||
|
|
651bea29b4 | ||
|
|
4e03adc2e7 | ||
|
|
d1a3316e44 | ||
|
|
2c96d17748 | ||
|
|
ad4af09d88 | ||
|
|
96b39a5973 | ||
|
|
b16cfa959d | ||
|
|
f98a691933 | ||
|
|
35497f87a7 | ||
|
|
d01fa11983 | ||
|
|
3d8d088b06 | ||
|
|
89a9763b11 | ||
|
|
1efb782666 | ||
|
|
38f3fc816a | ||
|
|
3794df4f31 | ||
|
|
3502681f77 | ||
|
|
8252cc3ec7 | ||
|
|
6a254778e2 | ||
|
|
41607d126a | ||
|
|
f53554a46a | ||
|
|
03e64e842a | ||
|
|
2894bade88 | ||
|
|
cc02c78a8c | ||
|
|
4f56a0a53d | ||
|
|
cbc28bd4fe | ||
|
|
9a31c23881 | ||
|
|
55b3400afa | ||
|
|
8f5fd67ff3 | ||
|
|
ad9b40d599 | ||
|
|
271d39d942 | ||
|
|
696166c9d4 | ||
|
|
aba8840625 | ||
|
|
ac981c62c5 | ||
|
|
41c12afefd | ||
|
|
7c050d681d | ||
|
|
c178e325b8 | ||
|
|
8d787dcd71 | ||
|
|
25c3d15ed7 | ||
|
|
ec9ff0fc1d | ||
|
|
9a228ff045 | ||
|
|
a8cc93f995 | ||
|
|
2b1a166d23 | ||
|
|
a27792cfcf | ||
|
|
e18f3cf381 | ||
|
|
f4c864e88e | ||
|
|
a8112b8373 | ||
|
|
2dbbd6b9d2 | ||
|
|
c92d51e040 | ||
|
|
258ba629a2 | ||
|
|
d90d9f0c40 | ||
|
|
bbcc944855 | ||
|
|
e1157ea935 |
@@ -123,6 +123,7 @@ Requirements for Building VeraCrypt for Linux and Mac OS X:
|
||||
- Apple Xcode (Mac OS X only)
|
||||
- NASM assembler 2.08 or compatible (x86/x64 architecture only)
|
||||
- pkg-config
|
||||
- makeself (Linux only)
|
||||
- wxWidgets 3.0 shared library and header files installed or
|
||||
wxWidgets 3.0 library source code (available at http://www.wxwidgets.org)
|
||||
- FUSE library and header files (available at http://fuse.sourceforge.net
|
||||
@@ -160,12 +161,14 @@ Instructions for Building VeraCrypt for Linux and Mac OS X:
|
||||
'Main'.
|
||||
|
||||
By default, a universal executable supporting both graphical and text user
|
||||
interface is built. To build a console-only executable, which requires no GUI
|
||||
library, use the 'NOGUI' parameter:
|
||||
interface (through the switch --text) is built.
|
||||
On Linux, a console-only executable, which requires no GUI library, can be
|
||||
built using the 'NOGUI' parameter:
|
||||
|
||||
$ make NOGUI=1 WXSTATIC=1 WX_ROOT=/usr/src/wxWidgets wxbuild
|
||||
$ make NOGUI=1 WXSTATIC=1
|
||||
|
||||
On MacOSX, building a console-only executable is not supported.
|
||||
|
||||
Mac OS X specifics:
|
||||
-----------------------------------------------------------
|
||||
@@ -232,7 +235,7 @@ Copyright Information
|
||||
---------------------
|
||||
|
||||
This software as a whole:
|
||||
Copyright (c) 2013-2014 IDRIX. All rights reserved.
|
||||
Copyright (c) 2013-2015 IDRIX. All rights reserved.
|
||||
|
||||
Portions of this software:
|
||||
Copyright (c) 2003-2012 TrueCrypt Developers Association. All rights reserved.
|
||||
|
||||
+286
@@ -0,0 +1,286 @@
|
||||
@echo off
|
||||
|
||||
setlocal
|
||||
|
||||
call :freedrive mydriveletter && goto :cont
|
||||
echo ERROR: No free drive letter found.
|
||||
goto :exit
|
||||
:cont
|
||||
|
||||
echo Using drive letter %mydriveletter%: for our tests
|
||||
echo.
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount SHA-512 container (Normal)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.sha512.hc /hash sha512 /l %mydriveletter% /password test /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo SHA-512 (Normal) = %hh%:%mm%:%ss%,%cc%
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount SHA-512 container (Hidden)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.sha512.hc /hash sha512 /l %mydriveletter% /password testhidden /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo SHA-512 (Hidden) = %hh%:%mm%:%ss%,%cc%
|
||||
echo.
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount Whirlpool container (Normal).
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.whirlpool.hc /hash whirlpool /l %mydriveletter% /password test /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo Whirlpool (Normal) = %hh%:%mm%:%ss%,%cc%
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount Whirlpool container (Hidden).
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.whirlpool.hc /hash whirlpool /l %mydriveletter% /password testhidden /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo Whirlpool (Hidden) = %hh%:%mm%:%ss%,%cc%
|
||||
echo.
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount SHA-256 container (Normal)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.sha256.hc /hash sha256 /l %mydriveletter% /password test /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo SHA-256 (Normal) = %hh%:%mm%:%ss%,%cc%
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount SHA-256 container (Hidden)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.sha256.hc /hash sha256 /l %mydriveletter% /password testhidden /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo SHA-256 (Hidden) = %hh%:%mm%:%ss%,%cc%
|
||||
echo.
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount RIPEMD-160 container (Normal)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.ripemd160.hc /hash ripemd160 /l %mydriveletter% /password test /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo RIPEMD-160 (Normal) = %hh%:%mm%:%ss%,%cc%
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Mount RIPEMD-160 container (Hidden)
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.ripemd160.hc /hash ripemd160 /l %mydriveletter% /password testhidden /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo RIPEMD-160 (Hidden) = %hh%:%mm%:%ss%,%cc%
|
||||
echo.
|
||||
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /dismount %mydriveletter% /silent /q
|
||||
|
||||
rem Get start time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "start=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Try to mount with a wrong password and PRF autodetection
|
||||
"c:\Program Files\VeraCrypt\veracrypt.exe" /volume test.sha512.hc /l %mydriveletter% /password wrongpassword /q /silent /m ro
|
||||
|
||||
rem Get end time:
|
||||
for /F "tokens=1-4 delims=:.," %%a in ("%time%") do (
|
||||
set /A "end=(((%%a*60)+1%%b %% 100)*60+1%%c %% 100)*100+1%%d %% 100"
|
||||
)
|
||||
|
||||
rem Get elapsed time:
|
||||
set /A elapsed=end-start
|
||||
|
||||
rem Show elapsed time:
|
||||
set /A hh=elapsed/(60*60*100), rest=elapsed%%(60*60*100), mm=rest/(60*100), rest%%=60*100, ss=rest/100, cc=rest%%100
|
||||
if %hh% lss 10 set hh=0%hh%
|
||||
if %mm% lss 10 set mm=0%mm%
|
||||
if %ss% lss 10 set ss=0%ss%
|
||||
if %cc% lss 10 set cc=0%cc%
|
||||
echo Wrong Password (PRF Auto-detection)= %hh%:%mm%:%ss%,%cc%
|
||||
echo.
|
||||
|
||||
|
||||
goto :exit
|
||||
|
||||
rem Finds a free drive letter.
|
||||
rem
|
||||
rem Parameters:
|
||||
rem %1 = Output variable name.
|
||||
rem
|
||||
rem Example:
|
||||
rem call :freedrive mydriveletter && goto :cont
|
||||
rem echo ERROR: No free drive letter found.
|
||||
rem goto :EOF
|
||||
rem :cont
|
||||
rem echo Found drive letter: %mydriveletter%
|
||||
:freedrive
|
||||
setlocal EnableDelayedExpansion
|
||||
set exitcode=0
|
||||
set "output_var=%~1"
|
||||
for %%i in (C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z) do (
|
||||
set "drive=%%i:"
|
||||
rem If 'subst' fails, the drive letter is already in use.
|
||||
rem This way we can even detect optical drives that have a drive
|
||||
rem letter but no media in them, a case that goes undetected when
|
||||
rem using 'if exist'.
|
||||
subst !drive! %SystemDrive%\ >nul
|
||||
if !errorlevel! == 0 (
|
||||
subst !drive! /d >nul
|
||||
set "drive=%%i"
|
||||
goto :freedrive0
|
||||
)
|
||||
)
|
||||
set exitcode=1
|
||||
set drive=
|
||||
:freedrive0
|
||||
endlocal & set "%output_var%=%drive%" & exit /b %exitcode%
|
||||
|
||||
:exit
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ar" name="العربية" en-name="Arabic" version="0.1.0" translators="Ahmad Gharbeia, Khaled Hosny" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ar" key="IDC_SHOW_PASSWORD_CHPWD_ORI">أظهر كلمة السر</control>
|
||||
<control lang="ar" key="IDC_TRAVEL_OPEN_EXPLORER">افتح &نافذة إكسبلورر للمجلدات الموصولة</control>
|
||||
<control lang="ar" key="IDC_TRAV_CACHE_PASSWORDS">خزّن كلمات السرّ &مؤقتا في ذاكرة المُشغِّل</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ar" key="IDC_UNMOUNTALL">ا&فصل الكل</control>
|
||||
<control lang="ar" key="IDC_VOLUME_PROPERTIES">خ&صائص المجلد…</control>
|
||||
<control lang="ar" key="IDC_VOLUME_TOOLS">أ&دوات المجلد…</control>
|
||||
<control lang="ar" key="IDC_WIPE_CACHE">ا&مح المخبئية</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="ar" key="IDD_HOTKEYS_DLG">تروكرِبت - أزرار الاختصار العامة للنظام</control>
|
||||
<control lang="ar" key="IDD_MOUNT_DLG">تروكرِبت</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ar" key="IDM_CREATE_RESCUE_DISK">أنشئ قرص إنقاذ…</control>
|
||||
<control lang="ar" key="IDM_CREATE_VOLUME">أنشئ مجلدا جديدا…</control>
|
||||
<control lang="ar" key="IDM_DEFAULT_KEYFILES">الملفات المفاتيح المبدئية…</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="ar" key="IDM_ENCRYPT_SYSTEM_DEVICE">عمّ قسم\\سواقة النظام…</control>
|
||||
<control lang="ar" key="IDM_FAQ">الأسئلة المتكررة</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ar" key="IDM_UNMOUNT_VOLUME">افصل المجلد</control>
|
||||
<control lang="ar" key="IDM_VERIFY_RESCUE_DISK">اختبر قرص الإنقاذ</control>
|
||||
<control lang="ar" key="IDM_VERSION_HISTORY">تأريخ الإصدارات</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">توسعة المجلد</control>
|
||||
<control lang="ar" key="IDM_VOLUME_PROPERTIES">خصائص المجلد</control>
|
||||
<control lang="ar" key="IDM_VOLUME_WIZARD">مرشد إنشاء المجلدات</control>
|
||||
<control lang="ar" key="IDM_WEBSITE">موقع تروكرِبت على الوب</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ar" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">طرأ عطل أثناء جلب حالة تعمية النظام.</string>
|
||||
<string lang="ar" key="INIT_SYS_ENC">تعذّر استبداء مكونات التطبيق لتعمية النظام.</string>
|
||||
<string lang="ar" key="INIT_RAND">فشل استبداء مُولِّد الأرقام العشوائيّة!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ar" key="INIT_REGISTER">تعذَّر استبداء التطبيق. فشل تسجيل فئة الحوار.</string>
|
||||
<string lang="ar" key="INIT_RICHEDIT">عطل: تعذَّر تحميل مكتبة التحرير الغني.</string>
|
||||
<string lang="ar" key="INTRO_TITLE">مرشِد تروكرِبت لإنشاء المجلدات</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ar" key="MOUNT_BUTTON">&أوصل</string>
|
||||
<string lang="ar" key="NEW_VERSION_REQUIRED">مطلوب إصدارة أحدث من تروكرِبت لوصل هذا المجلد.</string>
|
||||
<string lang="ar" key="VOL_CREATION_WIZARD_NOT_FOUND">عُطل: تعذَّر إيجاد مساعد إنشاء المجلدات. من فضلك تحقق من وجود الملف 'VeraCrypt Format.exe' في ذات دليل الذي شُغَّل منه VeraCrypt.exe. إن لم يكن موجودا فأعد تنصيب تروكرِبت أو ابحث عن 'VeraCrypt Format.exe' في ملفاتك و شغله.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ar" key="NEXT">ال&لاحق></string>
|
||||
<string lang="ar" key="FINALIZE">ا&نهِ</string>
|
||||
<string lang="ar" key="INSTALL">&نصِّب</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="ar" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">تحذير: توجد مساحة غير مخصصة بين قسم النظام و القسم الذي يليه. بعد إنشاء نظام التشغيل المخفي ينبغي ألا تنشئ أية أقسام جديدة في هذه المساحة غير المخصصة و إلا فلن يمكن إقلاع نظام التشغيل (حتى تحذف تلك الأقسام المنشأة حديثا).</string>
|
||||
<string lang="ar" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">هذه الخوارزمية ليست مدعومة حاليا لتعمية النظام.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="ar" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">لا يمكن حاليا استخدام الملفات المفاتيح عند تعمية النظام.</string>
|
||||
<string lang="ar" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">تنبيه: تعذَّر على تروكربت استعادة النسق الأصلي للوحة المفاتيح مما قد يؤدي إلى أن تُدخلَ كلمة السر على نحو غير صحيح.</string>
|
||||
<string lang="ar" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">عطل: تعذّر ضبط هيئة لوحة المفاتيح لتروكربت إلى التوزيع القياسي للولايات المتحدة. لاحظ أن كلمة السر يجب أن تدخل في بيئة ما قبل الإقلاع (قبل أن يبدأ ويندوز) حيث لا يتاح سوى لوحات مفاتيح ويندوز الولايات المتحدة. لذا يجب أن تدخل كلمة السر دوما باستخدام هيئة لوحة مفاتيح الولايات المتحدة القياسية.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="be" name="Беларуская" en-name="Belarusian" version="0.1.0" translators="Aleg Azarousky" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="be" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Паказаць пароль</control>
|
||||
<control lang="be" key="IDC_TRAVEL_OPEN_EXPLORER">Адчыніць змантаваны том у акне Аглядальніка</control>
|
||||
<control lang="be" key="IDC_TRAV_CACHE_PASSWORDS">Кэшаваць пароль у памяці драйвера</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="be" key="IDC_UNMOUNTALL">Размантаваць усе</control>
|
||||
<control lang="be" key="IDC_VOLUME_PROPERTIES">Уласцівасці тома...</control>
|
||||
<control lang="be" key="IDC_VOLUME_TOOLS">Аперацыі...</control>
|
||||
<control lang="be" key="IDC_WIPE_CACHE">Ачысціць кэш</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="be" key="IDD_HOTKEYS_DLG">VeraCrypt - агульнасістэмныя хуткія клавішы</control>
|
||||
<control lang="be" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="be" key="IDM_CREATE_RESCUE_DISK">Стварыць дыск узнаўлення...</control>
|
||||
<control lang="be" key="IDM_CREATE_VOLUME">Стварыць новы том...</control>
|
||||
<control lang="be" key="IDM_DEFAULT_KEYFILES">Прадвызначаныя ключавыя файлы...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="be" key="IDM_ENCRYPT_SYSTEM_DEVICE">Зашыфраваць сістэмны падзел/дыск...</control>
|
||||
<control lang="be" key="IDM_FAQ">Пытанні і адказы</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="be" key="IDM_UNMOUNT_VOLUME">Размантаваць том</control>
|
||||
<control lang="be" key="IDM_VERIFY_RESCUE_DISK">Праверыць дыск узнаўлення</control>
|
||||
<control lang="be" key="IDM_VERSION_HISTORY">Гісторыя версій</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="be" key="IDM_VOLUME_PROPERTIES">Налады тома</control>
|
||||
<control lang="be" key="IDM_VOLUME_WIZARD">Майстар стварэння тамоў</control>
|
||||
<control lang="be" key="IDM_WEBSITE">Сайт VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="be" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Памылка атрымання стану сістэмнага шыфравання.</string>
|
||||
<string lang="be" key="INIT_SYS_ENC">Немагчыма ініцыялізаваць кампаненты прыкладання для сістэмнага шыфравання.</string>
|
||||
<string lang="be" key="INIT_RAND">Памылка ініцыялізацыі генератара выпадковых лікаў.</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="be" key="INIT_REGISTER">Памылка ініцыялізацыі прыкладання. Немагчыма зарэгістраваць клас Dialog.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="be" key="INTRO_TITLE">Майстар стварэння шыфраванага тома</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="be" key="MOUNT_BUTTON">Змантаваць</string>
|
||||
<string lang="be" key="NEW_VERSION_REQUIRED">Для мантавання гэтага тома патрабуецца навейшая версія VeraCrypt.</string>
|
||||
<string lang="be" key="VOL_CREATION_WIZARD_NOT_FOUND">Памылка: Майстар стварэння шыфраванага тома не знойдзены.\n\nУпэўніцеся, што файл 'VeraCrypt Format.exe' існуе побач з 'VeraCrypt.exe'. Калі не - усталюйце VeraCrypt ізноў, ці знайдзіце 'VeraCrypt Format.exe' і запусціце яго.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="be" key="NEXT">Далей ></string>
|
||||
<string lang="be" key="FINALIZE">&Гатова</string>
|
||||
<string lang="be" key="INSTALL">Усталяваць</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="be" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">У дадзены момант гэты алгарытм для шыфравання сістэмы не падтрымліваецца.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="be" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Памылка! Немагчыма ўсталяваць раскладку клавіятуры для VeraCrypt у стандартную амерыканскую (US).\n\nЗвярніце ўвагу, што пароль уводзіцца ДА загрузкі Windows, калі любыя раскладкі клавіятуры, адрозныя ад амерыканскай, яшчэ недаступныя. Таму пароль заўсёды павінен уводзіцца пры стандартнай амерыканскай раскладцы.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="bg" name="Български" en-name="Bulgarian" version="0.1.0" translators="Lachezar Gorchev" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="bg" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Видима парола</control>
|
||||
<control lang="bg" key="IDC_TRAVEL_OPEN_EXPLORER">Отваряне на &Explorer прозорец за монтирания том</control>
|
||||
<control lang="bg" key="IDC_TRAV_CACHE_PASSWORDS">&Кеширане на паролата в паметта на драйвера</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="bg" key="IDC_UNMOUNTALL">&Демонтиране - всички</control>
|
||||
<control lang="bg" key="IDC_VOLUME_PROPERTIES">&Свойства на тома...</control>
|
||||
<control lang="bg" key="IDC_VOLUME_TOOLS">&Инструменти за том...</control>
|
||||
<control lang="bg" key="IDC_WIPE_CACHE">&Заличаване на кеша</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="bg" key="IDD_HOTKEYS_DLG">VeraCrypt - Системни клавиши</control>
|
||||
<control lang="bg" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="bg" key="IDM_CREATE_RESCUE_DISK">Създаване на Спасителен Диск...</control>
|
||||
<control lang="bg" key="IDM_CREATE_VOLUME">Създаване на нов том...</control>
|
||||
<control lang="bg" key="IDM_DEFAULT_KEYFILES">Ключ-файлове по подразбиране...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDC_DONATE">Donate now...</control>
|
||||
<control lang="bg" key="IDM_ENCRYPT_SYSTEM_DEVICE">Криптиране на системен дял/устройство...</control>
|
||||
<control lang="bg" key="IDM_FAQ">Често задавани въпроси</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="bg" key="IDM_UNMOUNT_VOLUME">Демонтиране на том</control>
|
||||
<control lang="bg" key="IDM_VERIFY_RESCUE_DISK">Проверка на Спасителен Диск</control>
|
||||
<control lang="bg" key="IDM_VERSION_HISTORY">История на версиите</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="bg" key="IDM_VOLUME_PROPERTIES">Свойства на тома</control>
|
||||
<control lang="bg" key="IDM_VOLUME_WIZARD">Помощник за създаване на томове</control>
|
||||
<control lang="bg" key="IDM_WEBSITE">VeraCrypt уебстраница</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="bg" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Грешка при опит за получаване на статуса на системното криптиране.</string>
|
||||
<string lang="bg" key="INIT_SYS_ENC">Компонентите за систено криптиране не могат да бъдат инициализирани .</string>
|
||||
<string lang="bg" key="INIT_RAND">Неуспешно инициализиране на генератора за случайни числа!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="bg" key="INIT_REGISTER">Инициализацията на приложението е невъзможна. Деуспешно регистриране на Dialog класа.</string>
|
||||
<string lang="bg" key="INIT_RICHEDIT">Грешка: Не може да се зареди Rich Edit системната библиотека.</string>
|
||||
<string lang="bg" key="INTRO_TITLE">VeraCrypt помощник за създаване на томове</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="bg" key="MOUNT_BUTTON">&Монтиране</string>
|
||||
<string lang="bg" key="NEW_VERSION_REQUIRED">По-нова версия на VeraCrypt е необходима за да се монтира този том.</string>
|
||||
<string lang="bg" key="VOL_CREATION_WIZARD_NOT_FOUND">Грешка: Помощника за създаване на томове не е намерен.\n\nМоля, убедете се, че файла 'VeraCrypt Format.exe' е в директорията от която се стартира 'VeraCrypt.exe'. Ако не е, моля, преинсталирайте VeraCrypt, или намерете 'VeraCrypt Format.exe' на вашия диск и го стартирайте.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="bg" key="NEXT">&Напред ></string>
|
||||
<string lang="bg" key="FINALIZE">&Край</string>
|
||||
<string lang="bg" key="INSTALL">&Инсталация</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="bg" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Внимание: Има неразпределено пространство между системния дял и първия дял след него. След като създадете скритата операционна система, не трябва да създавате нови дялове в това неразпределено пространство. В противен случай, няма да бъде възможно да се стартира скритата операционна система (докато не изтриете такива новосъздадени дялове).</string>
|
||||
<string lang="bg" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">За момента този алгоритъм не се поддържа з системно криптиране.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="bg" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">За сега ключ-файлове не се поддържат за системно криптиране.</string>
|
||||
<string lang="bg" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Внимание: VeraCrypt не може да възстанови оригиналната подредба на клавиатурата. Заради това може да въведете някоя парола грешно.</string>
|
||||
<string lang="bg" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Грешка: Подредбата на клавиатурата за VeraCrypt не може да се зададе да бъде стандартна US клавиатурна подредба.\n\nЗабележете, че паролата трябва да бъде въведена в pre-boot средата (преди стартирането на Windows), където не-US Windows клавиатурни подредби не са достъпни. Поради тази причина, паролата винаги трябва да бъде въвеждана, като се използва стандартна US клавиатурна подредба.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ca" name="Català" en-name="Catalan" version="0.1.0" translators="CESICAT, Centre de Seguretat de la Informació de Catalunya" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ca" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Veure contrasenya</control>
|
||||
<control lang="ca" key="IDC_TRAVEL_OPEN_EXPLORER">Obrir una finestra de l'&exporador pel volum muntat</control>
|
||||
<control lang="ca" key="IDC_TRAV_CACHE_PASSWORDS">Guardar contrassenyes a la memòria del controlador</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ca" key="IDC_UNMOUNTALL">&Desmuntar-ho tot</control>
|
||||
<control lang="ca" key="IDC_VOLUME_PROPERTIES">Propietats del &volum...</control>
|
||||
<control lang="ca" key="IDC_VOLUME_TOOLS">&Eines de volum...</control>
|
||||
<control lang="ca" key="IDC_WIPE_CACHE">&Buidar la memòria cau</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="ca" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Volums favorits</control>
|
||||
<control lang="ca" key="IDD_HOTKEYS_DLG">VeraCrypt - Dreceres de teclat</control>
|
||||
<control lang="ca" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ca" key="IDM_CREATE_RESCUE_DISK">Crear un disc de recuperació...</control>
|
||||
<control lang="ca" key="IDM_CREATE_VOLUME">Crear un volum nou...</control>
|
||||
<control lang="ca" key="IDM_DEFAULT_KEYFILES">Fitxers de claus per defecte...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="ca" key="IDM_ENCRYPT_SYSTEM_DEVICE">Xifrar la partició/unitat del sistema...</control>
|
||||
<control lang="ca" key="IDM_FAQ">Preguntes més freqüents</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ca" key="IDM_UNMOUNT_VOLUME">Desmuntar el volum</control>
|
||||
<control lang="ca" key="IDM_VERIFY_RESCUE_DISK">Verificar el disc de recuperació</control>
|
||||
<control lang="ca" key="IDM_VERSION_HISTORY">Historial de versions</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="ca" key="IDM_VOLUME_PROPERTIES">Propietats del volum</control>
|
||||
<control lang="ca" key="IDM_VOLUME_WIZARD">Assistent de creació de volums</control>
|
||||
<control lang="ca" key="IDM_WEBSITE">Lloc web de VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ca" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">S'ha produït un error quan s'intentava obtenir l'estat de xifratge del sistema.</string>
|
||||
<string lang="ca" key="INIT_SYS_ENC">No s'han pogut inicialitzar els components de l'aplicació per xifrar el sistema.</string>
|
||||
<string lang="ca" key="INIT_RAND">No s'ha pogut inicialitzar el generador de números aleatòris!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ca" key="INIT_REGISTER">No es pot inicialitzar l'aplicació. No es pot registrar la classe Dialog.</string>
|
||||
<string lang="ca" key="INIT_RICHEDIT">Error: no s'ha pogut carregar la biblioteca d'edició enriquida del sistema.</string>
|
||||
<string lang="ca" key="INTRO_TITLE">Assistent de creació de volums</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ca" key="MOUNT_BUTTON">&Muntar</string>
|
||||
<string lang="ca" key="NEW_VERSION_REQUIRED">És necessària una versió més nova del VeraCrypt per muntar aquest volum.</string>
|
||||
<string lang="ca" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: No es troba l'assistent de creació de volums.\n\nSi us plau, asseguri's que el fitxer 'VeraCrypt Format.exe' és al directori des d'ón s'ha executat el 'VeraCrypt.exe'. Si no hi és, si us plau reinstal·li el TrueCrpyt o localitzi el fitxer 'VeraCrypt Format.exe' al seu disc i executi'l.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ca" key="NEXT">&Següent ></string>
|
||||
<string lang="ca" key="FINALIZE">&Acabar</string>
|
||||
<string lang="ca" key="INSTALL">&Instal·lar</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="ca" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">La partició d'arranc extra es pot eliminar abans d'instal·lar el Windows. Per a fer-ho, segueixi aquests passos:\n\n1) Arrenqui el disc d'instal·ació de Windwows.\n\n2) A la pantalla d'instal·lació faci clic a 'Install now' > 'Custom (advanced)'.\n\n3) Faci clic a 'Drive Options'.\n\n seleccioni la partició de sistema principal i elimini-la.\n\n5) seleccioni la partició reservada pel sistema i faci clic a 'Extend' per incrementar l'espai on es pot instal·lar wl Windows.\n\n6) Faci clic a 'Apply' i a 'OK'.\n\n7) Instal·li el Windows a la partició reservada.\n\n\nLi podrien preguntar perquè ha esborrat la partició d'arranc extra. Pot respondre que volia evitar qualsevol fuga de dades cap a la partició d'arranc sense xifrar.\n\nNota: Pot imprimir aquest text fent clic a 'Imprimir'. Si guarda alguna còpia d'aquest text o l'imprimeix (molt recomanat a no ser que la seva impressora guardi copies dels documents que imprimeix en una unitat interna), hauria de destruïr totes les còpies després d'esborrar la partició d'arranc extra.</string>
|
||||
<string lang="ca" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">ATENCIÓ: Hi ha espai no assignat entre la partició del sistema i la primera partició després d'ella. Després de crear el sistema operatiu ocult, no podrà crear cap nova partició en aquest espai. Si ho fa, el sistema operatiu ocult no es podrà engegar (fins que esborri aquestes noves particions).</string>
|
||||
<string lang="ca" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Aquest algorisme de xifrat no està suportat per al xifrat del sistema</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="ca" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Els fitxers de claus no estan suportats per al xifrat del sistema.</string>
|
||||
<string lang="ca" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">ATENCIÓ: El VeraCrypt no ha pogut restaurar la disposició de teclat orignal. Això pot provocar que introdueixi la contrasenya incorrectament.</string>
|
||||
<string lang="ca" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: No s'ha pogut establir la disposició de teclat estàndard als EUA pel VeraCrypt.\n\nTingui en compte que la contrasenya s'haurà d'esciure a l'entorn de prearrencada (abans que arrenqui el windows) on no hi haurà altres disposicions de teclat disponibles. Per tant, la contrasenya s'ha d'escriure sempre amb la disposició de teclat estàndard als EUA.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="cs" name="Čeština" en-name="Czech" version="1.0.0" translators="Vítek Moser" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="cs" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Zobrazit heslo</control>
|
||||
<control lang="cs" key="IDC_TRAVEL_OPEN_EXPLORER">Otevřít okno &Průzkumníka pro připojený svazek</control>
|
||||
<control lang="cs" key="IDC_TRAV_CACHE_PASSWORDS">&Ukládat hesla do mezipaměti</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="cs" key="IDC_UNMOUNTALL">O&dpojit vše</control>
|
||||
<control lang="cs" key="IDC_VOLUME_PROPERTIES">Vlastnos&ti svazku…</control>
|
||||
<control lang="cs" key="IDC_VOLUME_TOOLS">&Nástroje svazku…</control>
|
||||
<control lang="cs" key="IDC_WIPE_CACHE">Vyčistit &mezipaměť</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="cs" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Oblíbené svazky</control>
|
||||
<control lang="cs" key="IDD_HOTKEYS_DLG">VeraCrypt - Systémové klávesové zkratky</control>
|
||||
<control lang="cs" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="cs" key="IDM_CREATE_RESCUE_DISK">Vytvořit záchranný disk…</control>
|
||||
<control lang="cs" key="IDM_CREATE_VOLUME">Vytvořit nový svazek…</control>
|
||||
<control lang="cs" key="IDM_DEFAULT_KEYFILES">Výchozí souborové klíče…</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="cs" key="IDM_DONATE">Podpořte nás...</control>
|
||||
<control lang="cs" key="IDM_ENCRYPT_SYSTEM_DEVICE">Zašifrovat systémový oddíl/disk…</control>
|
||||
<control lang="cs" key="IDM_FAQ">Často kladené dotazy</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="cs" key="IDM_UNMOUNT_VOLUME">Odpojit svazek</control>
|
||||
<control lang="cs" key="IDM_VERIFY_RESCUE_DISK">Ověřit záchranný disk</control>
|
||||
<control lang="cs" key="IDM_VERSION_HISTORY">Historie verzí</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="cs" key="IDM_VOLUME_PROPERTIES">Vlastnosti svazku</control>
|
||||
<control lang="cs" key="IDM_VOLUME_WIZARD">Průvodce vytvořením svazku</control>
|
||||
<control lang="cs" key="IDM_WEBSITE">Domovská stránka VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="cs" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Nastala chyba při získávání informací o stavu zašifrovaného systému.</string>
|
||||
<string lang="cs" key="INIT_SYS_ENC">Nelze inicializovat aplikační komponenty pro systémové šifrování.</string>
|
||||
<string lang="cs" key="INIT_RAND">Selhala inicializace generátoru náhodných čísel!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="cs" key="INIT_REGISTER">Aplikace nemohla být inicializována. Selhala registrace Dialogové třídy.</string>
|
||||
<string lang="cs" key="INIT_RICHEDIT">Chyba: Systémová knihovna Rich Edit nemohla být načtena.</string>
|
||||
<string lang="cs" key="INTRO_TITLE">Průvodce vytvořením svazku VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="cs" key="MOUNT_BUTTON">&Připojit</string>
|
||||
<string lang="cs" key="NEW_VERSION_REQUIRED">Pro připojení tohoto oddílu je potřeba novější verze programu VeraCrypt.</string>
|
||||
<string lang="cs" key="VOL_CREATION_WIZARD_NOT_FOUND">Chyba: Průvodce vytvořením svazku nebyl nalezen.\n\nUjistěte se prosím, že soubor 'VeraCrypt Format.exe' je ve složce, ze které byl 'VeraCrypt.exe' spuštěn. Pokud není, přeinstalujte prosím VeraCrypt nebo najděte 'VeraCrypt Format.exe' na vašem disku a spusťte jej.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="cs" key="NEXT">&Další ></string>
|
||||
<string lang="cs" key="FINALIZE">&Dokončit</string>
|
||||
<string lang="cs" key="INSTALL">&Instalovat</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="cs" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nDodatečný bootovací oddíl může být před instalací Windows odstraněn. Abyste to mohli udělat, řiďte se následujícími kroky:\n\n1) Nabootujte váš instalační disk Windows.\n\n2) Na instalační obrazovce Windows klikněte na 'Nyní nainstalovat' > 'Volitelné (pokročilé)'.\n\n3) Klikněte na 'Volby disku'.\n\n4) Vyberte hlavní systémový oddíl a smažte ho kliknutím na 'Smazat' a 'OK'.\n\n5) Vyberte 'Rezervovaný systémový' oddíl, klikněte 'Rozšířit', a zvyšte jeho velikost, aby do něj mohl být nainstalován operační systém.\n\n6) Klikněte na 'Použít' a 'OK'.\n\n7) Nainstalujte Windows na 'Rezervovaný systémový' oddíl.\n\n\nPokud by se útočník ptal, proč jste odstranili dodatečný bootovací oddíl, můžete odpovědět, že jste chtěli předejít jakémukoliv možnému úniku dat do nezašifrovaného bootovacího oddílu.\n\nPoznámka: Tento text si můžete vytisknout kliknutím na tlačítko 'Tisknout' níže. Pokud si uschováte kopii tohoto textu nebo jej vytisknete (důrazně doporučujeme, pokud vaše tiskárna neukládá vytištěné dokumenty na svůj pevný disk ), měli byste zničit jakékoliv jeho kopie po odstranění dodatečného bootovacího svazku (pokud by se nalezla takováto kopie, mohla by naznačovat přítomnost skrytého svazku s operačním systémem).</string>
|
||||
<string lang="cs" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Varování: Mezi systémovým oddílem a prvním oddílem za ním je nealokované místo. Po vytvoření skrytého operačního systému nesmíte vytvořit žádné nové oddíly v tomto nealokovaném prostoru. Jinak nebude možné spustit skrytý operační systém (dokud nesmažete takto nově vytvořené oddíly).</string>
|
||||
<string lang="cs" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Systémové šifrování momentálně nepodporuje tento algoritmus.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="cs" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Souborové klíče aktuálně nejsou podporovány pro šifrování systémů.</string>
|
||||
<string lang="cs" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Varování: VeraCrypt nemohl obnovit původní nastavení klávesnice. To může způsobit, že heslo bude zadáno nesprávně.</string>
|
||||
<string lang="cs" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Chyba: Nelze nastavit rozvržení klávesnice na typickou americkou klávesnici.\n\nHeslo musí být nastaveno v před-bootovacím prostředí (před startem Windows), kde nejsou ne-americké klávesnice k dispozici. Proto musí být heslo vždy nastaveno s použitím rozvržení kláves jako na americké klávesnici.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="da" name="Dansk" en-name="Danish" version="0.1.0" translators="Lasse Bond" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="da" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Vis kodeord</control>
|
||||
<control lang="da" key="IDC_TRAVEL_OPEN_EXPLORER">Åben &Explorer vindue for tilsluttet bind</control>
|
||||
<control lang="da" key="IDC_TRAV_CACHE_PASSWORDS">&Gem kodeord i driver-hukommelsen</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="da" key="IDC_UNMOUNTALL">Afb&ryd Alle</control>
|
||||
<control lang="da" key="IDC_VOLUME_PROPERTIES">Bin&d Egenskaber...</control>
|
||||
<control lang="da" key="IDC_VOLUME_TOOLS">Bind V&ærktøjer...</control>
|
||||
<control lang="da" key="IDC_WIPE_CACHE">&Slet hukommelsen</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="da" key="IDD_HOTKEYS_DLG">VeraCrypt - System genvejstaster</control>
|
||||
<control lang="da" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="da" key="IDM_CREATE_RESCUE_DISK">Opret Nødhjælps Disk...</control>
|
||||
<control lang="da" key="IDM_CREATE_VOLUME">Opret nyt Bind...</control>
|
||||
<control lang="da" key="IDM_DEFAULT_KEYFILES">Standard nøglefiler...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="da" key="IDM_ENCRYPT_SYSTEM_DEVICE">Krypter System Partition/Drev...</control>
|
||||
<control lang="da" key="IDM_FAQ">FAQ - Ofte stillede spørgsmål</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="da" key="IDM_UNMOUNT_VOLUME">Afbryd Bind</control>
|
||||
<control lang="da" key="IDM_VERIFY_RESCUE_DISK">Kontroller Nødhjælps Disk</control>
|
||||
<control lang="da" key="IDM_VERSION_HISTORY">Versions Historik</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="da" key="IDM_VOLUME_PROPERTIES">Bind Egenskaber</control>
|
||||
<control lang="da" key="IDM_VOLUME_WIZARD">Bind Oprettelsesguide</control>
|
||||
<control lang="da" key="IDM_WEBSITE">VeraCrypt Hjemmeside</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="da" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">En fejl opstod under læsning af system krypterings status.</string>
|
||||
<string lang="da" key="INIT_SYS_ENC">Kan ikke initialisere applikations komponenter for system kryptering.</string>
|
||||
<string lang="da" key="INIT_RAND">Kunne ikke initialisere tilfældigheds nummergenerator!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="da" key="INIT_REGISTER">Kunne ikke initialisere applikationen. Fejl i registrering af Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="da" key="INTRO_TITLE">VeraCrypt Bind Oprettelsesguide</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="da" key="MOUNT_BUTTON">&Tilslut</string>
|
||||
<string lang="da" key="NEW_VERSION_REQUIRED">En nyere version af VeraCrypt kræves for at tilslutte dette bind.</string>
|
||||
<string lang="da" key="VOL_CREATION_WIZARD_NOT_FOUND">Fejl: Bind Oprettelsesguiden er ikke fundet.\n\nKontroller venligst at 'VeraCrypt Format.exe' er i mappen hvorfra 'VeraCrypt.exe' blev startet. Hvis den ikke er, geninstaller VeraCrypt, eller find 'VeraCrypt Format.exe' på din harddisk og start den.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="da" key="NEXT">&Næste ></string>
|
||||
<string lang="da" key="FINALIZE">&Afslut</string>
|
||||
<string lang="da" key="INSTALL">&Installer</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="da" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Advarsel: Der er uallokeret område mellem system partition og den første partition bag den. Efter du har oprettet det skjulte operativsystem, må du ikke oprette nogle nye partitioner i det uallokerede område. Ellers vil det skjulte operativsystem være umuligt at boote (indtil du sletter sådanne nyoprettede partitioner).</string>
|
||||
<string lang="da" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Denne algoritme er for tiden ikke supporteret til system kryptering.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="da" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Advarsel: VeraCrypt kunne ikke gendanne det originale keyboard layout. Dette kan medføre at du indtaster et kodeord ukorrekt.</string>
|
||||
<string lang="da" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Fejl: Kan ikke indstille keyboard layoutet for VeraCrypt til standard US keyboard layout.\n\nBemærk at kodeordet skal indtastes i før-boot miljøet (før Windows starter) hvor ikke-US Windows keyboard layouts ikke er tilgængelige. Derfor skal kodeordet altid skrives ved brug af standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="de" name="Deutsch" en-name="German" version="1.0.1" translators="Harry Haller, Alexander Schorg, Simon Frankenberger, David Arndt" />
|
||||
<language langid="de" name="Deutsch" en-name="German" version="1.1.0" translators="Harry Haller, Alexander Schorg, Simon Frankenberger, David Arndt, H. Sauer" />
|
||||
<!-- Fonts -->
|
||||
<font lang="de" class="normal" size="11" face="default" />
|
||||
<font lang="de" class="bold" size="13" face="Arial" />
|
||||
@@ -44,7 +44,7 @@
|
||||
<control lang="de" key="IDC_HIDVOL_WIZ_MODE_FULL">Kompletter Modus</control>
|
||||
<control lang="de" key="IDC_KB">&KB</control>
|
||||
<control lang="de" key="IDC_KEYFILES_ENABLE">Schlüsselda&t. verwenden</control>
|
||||
<control lang="en" key="IDC_KEYFILES_RANDOM_SIZE">Random size ( 64 <-> 1048576 )</control>
|
||||
<control lang="de" key="IDC_KEYFILES_RANDOM_SIZE">Zufällige Größe ( 64 <-> 1048576 )</control>
|
||||
<control lang="de" key="IDC_KEY_FILES">Schlüsselda&teien…</control>
|
||||
<control lang="de" key="IDC_LINK_HASH_INFO">Infos über Hash-Algorithmen</control>
|
||||
<control lang="de" key="IDC_LINK_MORE_INFO_ABOUT_CIPHER">Weitere Informationen</control>
|
||||
@@ -146,7 +146,7 @@
|
||||
<control lang="de" key="IDC_PREF_CACHE_PASSWORDS">Kennwörter im &Cache halten</control>
|
||||
<control lang="de" key="IDC_PREF_DISMOUNT_INACTIVE">Bei ausbleibendem Lese-/Schreibzugriff aut&omatisch trennen nach</control>
|
||||
<control lang="de" key="IDC_PREF_DISMOUNT_LOGOFF">Benutzerabmel&dung</control>
|
||||
<control lang="en" key="IDC_PREF_DISMOUNT_SESSION_LOCKED">User session locked</control>
|
||||
<control lang="de" key="IDC_PREF_DISMOUNT_SESSION_LOCKED">Benutzersession gesperrt</control>
|
||||
<control lang="de" key="IDC_PREF_DISMOUNT_POWERSAVING">Wechsel in Energiesparmod&us</control>
|
||||
<control lang="de" key="IDC_PREF_DISMOUNT_SCREENSAVER">Bildsc&hirmschonerstart</control>
|
||||
<control lang="de" key="IDC_PREF_FORCE_AUTO_DISMOUNT">Automatisches Trennen bei geöffneten Date&ien erzwingen</control>
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="de" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Kennwort an&zeigen</control>
|
||||
<control lang="de" key="IDC_TRAVEL_OPEN_EXPLORER">&Explorer-Fenster für eingebundenes Volumen öffnen</control>
|
||||
<control lang="de" key="IDC_TRAV_CACHE_PASSWORDS">Kennwort im Cache halten</control>
|
||||
<control lang="de" key="IDC_TRUECRYPT_MODE">TrueCrypt Modus</control>
|
||||
<control lang="de" key="IDC_UNMOUNTALL">A&lle trennen</control>
|
||||
<control lang="de" key="IDC_VOLUME_PROPERTIES">Eigenscha&ften...</control>
|
||||
<control lang="de" key="IDC_VOLUME_TOOLS">Vol.-&Operationen…</control>
|
||||
<control lang="de" key="IDC_WIPE_CACHE">&Cache sicher löschen</control>
|
||||
<control lang="de" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Parameter beim Einbinden</control>
|
||||
<control lang="de" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favoriten-Volumen</control>
|
||||
<control lang="de" key="IDD_HOTKEYS_DLG">VeraCrypt – Systemweite Tastenkombinationen</control>
|
||||
<control lang="de" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="de" key="IDM_CREATE_RESCUE_DISK">Rettungsdatenträger erstellen...</control>
|
||||
<control lang="de" key="IDM_CREATE_VOLUME">&Neues Volumen erstellen...</control>
|
||||
<control lang="de" key="IDM_DEFAULT_KEYFILES">&Standardschlüsseldateien...</control>
|
||||
<control lang="de" key="IDM_DEFAULT_MOUNT_PARAMETERS">Standardparameter beim Einbinden...</control>
|
||||
<control lang="de" key="IDM_DONATE">Jetzt spenden....</control>
|
||||
<control lang="de" key="IDM_ENCRYPT_SYSTEM_DEVICE">System-Partition/Laufwerk verschlüsseln...</control>
|
||||
<control lang="de" key="IDM_FAQ">Häufig gestellte &Fragen (FAQ)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="de" key="IDM_UNMOUNT_VOLUME">Volumen &trennen</control>
|
||||
<control lang="de" key="IDM_VERIFY_RESCUE_DISK">Rettungsdatenträger überprüfen</control>
|
||||
<control lang="de" key="IDM_VERSION_HISTORY">&Versionsverlauf</control>
|
||||
<control lang="de" key="IDM_VOLUME_EXPANDER">Volumen-Erweiterer</control>
|
||||
<control lang="de" key="IDM_VOLUME_PROPERTIES">E&igenschaften des VeraCrypt-Volumens</control>
|
||||
<control lang="de" key="IDM_VOLUME_WIZARD">VeraCrypt-Volumen &erstellen…</control>
|
||||
<control lang="de" key="IDM_WEBSITE">VeraCrypt-&Webseite</control>
|
||||
@@ -271,7 +275,7 @@
|
||||
<control lang="de" key="IDT_PARALLELIZATION_OPTIONS">Thread-basierte Parallelisierung</control>
|
||||
<control lang="de" key="IDT_PKCS11_LIB_PATH">Pfad der PKCS #11 Bibliothek</control>
|
||||
<control lang="de" key="IDT_PKCS5_PRF">PKCS-5 PRF:</control>
|
||||
<control lang="en" key="IDT_NEW_PKCS5_PRF">PKCS-5 PRF:</control>
|
||||
<control lang="de" key="IDT_NEW_PKCS5_PRF">PKCS-5 PRF:</control>
|
||||
<control lang="de" key="IDT_PW_CACHE_OPTIONS">Kennwort-Cache (im Speicher des VeraCrypt-Treibers)</control>
|
||||
<control lang="de" key="IDT_SECURITY_OPTIONS">Sicherheitsoptionen</control>
|
||||
<control lang="de" key="IDT_TASKBAR_ICON">VeraCrypt Hintergrunddienst</control>
|
||||
@@ -334,9 +338,9 @@
|
||||
<control lang="de" key="IDT_KEYFILE_GENERATOR_NOTE">WICHTIG: Den Mauszeiger in diesem Fenster zufällig hin u. her bewegen. Je länger (min. 30 Sek.) Sie die Maus bewegen desto besser. Dies trägt zu einer verbesserten Verschlüsselung bei.</control>
|
||||
<control lang="de" key="IDT_KEYFILE_WARNING">WARNUNG: Ein Volumen kann nicht mehr eingebunden werden, wenn eine der Schlüsseldateien fehlt oder in den ersten 1024 KB verändert wurde!</control>
|
||||
<control lang="de" key="IDT_KEY_UNIT">Bit</control>
|
||||
<control lang="en" key="IDT_NUMBER_KEYFILES">Number of keyfiles:</control>
|
||||
<control lang="en" key="IDT_KEYFILES_SIZE">Keyfiles size (in Bytes):</control>
|
||||
<control lang="en" key="IDT_KEYFILES_BASE_NAME">Keyfiles base name:</control>
|
||||
<control lang="de" key="IDT_NUMBER_KEYFILES">Anzahl Schlüsseldateien:</control>
|
||||
<control lang="de" key="IDT_KEYFILES_SIZE">Größe der Schlüsseldateien (in Bytes):</control>
|
||||
<control lang="de" key="IDT_KEYFILES_BASE_NAME">Name der Schlüsseldateien:</control>
|
||||
<control lang="de" key="IDT_LANGPACK_AUTHORS">Übersetzt von:</control>
|
||||
<control lang="de" key="IDT_PLAINTEXT">Klartextgröße:</control>
|
||||
<control lang="de" key="IDT_PLAINTEXT_SIZE_UNIT">Bit</control>
|
||||
@@ -347,7 +351,7 @@
|
||||
<control lang="de" key="IDT_SECURITY_TOKEN">Security-Token:</control>
|
||||
<control lang="de" key="IDT_SORT_METHOD">Sortiermethode:</control>
|
||||
<control lang="de" key="IDT_STATIC_MODELESS_WAIT_DLG_INFO">Bitte warten. Dieser Vorgang kann sehr lange dauern...</control>
|
||||
<control lang="en" key="IDT_STATIC_MODAL_WAIT_DLG_INFO">Please wait...\nThis process may take a long time and VeraCrypt may become unresponsive.</control>
|
||||
<control lang="de" key="IDT_STATIC_MODAL_WAIT_DLG_INFO">Bitte warten...\nDieser Prozess kann sehr lange dauern und VeraCrypt kann vorrübergehend hängen bleiben.</control>
|
||||
<control lang="de" key="IDT_TEST_BLOCK_NUMBER">Block Nummer:</control>
|
||||
<control lang="de" key="IDT_TEST_CIPHERTEXT">Chiffretext (hexadezimal)</control>
|
||||
<control lang="de" key="IDT_TEST_DATA_UNIT_NUMBER">Dateneinheit-Nummer (64-bit hexadezimal, die Größe einer Dateneinheit beträgt 512 Byte) </control>
|
||||
@@ -521,7 +525,8 @@
|
||||
<string lang="de" key="CONFIRM_RESTART">Ihr Computer muss Neu gestartet werden.\n\nMöchten Sie jetzt Neu starten?</string>
|
||||
<string lang="de" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Beim Status abrufen für die Systemverschlüsselung ist ein Fehler aufgetreten.</string>
|
||||
<string lang="de" key="INIT_SYS_ENC">Die Anwendungskomponenten konnten nicht Initialisiert werden.</string>
|
||||
<string lang="de" key="INIT_RAND">Der Zufallszahlengenerator konnte nicht initialisiert werden!</string>
|
||||
<string lang="de" key="INIT_RAND">Der Zufallszahlengenerator konnte nicht initialisiert werden!\n\n\n(Sollten Sie in diesem Zusammenhang einen Fehler melden, so bitten wir Sie folgende techn. Informationen im Fehlerbericht zu berücksichtigen: %hs, Letzter Fehler = 0x%.8X)</string>
|
||||
<string lang="de" key="CAPI_RAND">Windows Crypto API ist fehlgeschlagen!\n\n\n(Sollten Sie in diesem Zusammenhang einen Fehler melden, so bitten wir Sie folgende techn. Informationen im Fehlerbericht zu berücksichtigen: %hs, Letzter Fehler = 0x%.8X)</string>
|
||||
<string lang="de" key="INIT_REGISTER">Die Anwendung konnte nicht initialisiert werden. Die Registrierung der Dialogklasse ist fehlgeschlagen.</string>
|
||||
<string lang="de" key="INIT_RICHEDIT">FEHLER: Kann die 'RichEdit' Systembibliothek nicht laden.</string>
|
||||
<string lang="de" key="INTRO_TITLE">VeraCrypt-Volumen erstellen</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="de" key="MOUNT_BUTTON">E&inbinden</string>
|
||||
<string lang="de" key="NEW_VERSION_REQUIRED">Zum Einbinden dieses Volumen wird eine neuere VeraCrypt-Version benötigt.</string>
|
||||
<string lang="de" key="VOL_CREATION_WIZARD_NOT_FOUND">FEHLER: Der Assistent zum Erstellen von VeraCrypt-Volumen wurde nicht gefunden.\n\nDie Datei "VeraCrypt Format.exe" muss sich in demselben Verzeichnis befinden von welchem aus "VeraCrypt.exe" gestartet worden ist. Falls diese Datei fehlt muss VeraCrypt neu installiert, oder die Datei "VeraCrypt Format.exe" manuell gesucht und gestartet werden.</string>
|
||||
<string lang="de" key="VOL_EXPANDER_NOT_FOUND">FEHLER: Der Volumen-Expander wurde nicht gefunden.\n\nBitte stellen Sie sicher, dass sich die Datei 'VeraCryptExpander.exe' im dem Ordner befindet, von welchem aus die Datei 'VeraCrypt.exe' gestartet wurde. Andernfalls installieren Sie VeraCrypt bitte neu oder suchen Sie die Datei 'VeraCryptExpander.exe' auf Ihrer Festplatte und starten Sie diese.</string>
|
||||
<string lang="de" key="NEXT">&Weiter ></string>
|
||||
<string lang="de" key="FINALIZE">&Fertig stellen</string>
|
||||
<string lang="de" key="INSTALL">&Installieren</string>
|
||||
@@ -607,7 +613,7 @@
|
||||
<string lang="de" key="SELECT_DEST_DIR">Zielverzeichnis auswählen</string>
|
||||
<string lang="de" key="SELECT_KEYFILE">Schlüsseldatei auswählen</string>
|
||||
<string lang="de" key="SELECT_KEYFILE_PATH">Suchpfad für Schlüsseldatei auswählen. WARNUNG: Es wird lediglich der Pfad nicht aber die Dateinamen berücksichtigt!</string>
|
||||
<string lang="en" key="SELECT_KEYFILE_GENERATION_DIRECTORY">Select a directory where to store the keyfiles.</string>
|
||||
<string lang="de" key="SELECT_KEYFILE_GENERATION_DIRECTORY">Wählen Sie den Ordner, in den die Schlüsseldateien gespeichert werden sollen.</string>
|
||||
<string lang="de" key="SERPENT_HELP">Entwickelt von Ross Anderson, Eli Biham, und Lars Knudsen. 1998 herausgegeben. 256-bit Schlüssellänge, 128-bit Blockgröße. Arbeitet im XTS-Modus. Serpent war einer der AES Finalisten.</string>
|
||||
<string lang="de" key="SIZE_HELP">Bitte geben Sie die Größe des zu erstellenden Containers an.\n\nWenn sie einen dynamischen (Sparse-Datei) Container erstellen, dann gibt dieser Wert seine maximal mögliche Größe an.\n\nHinweis: die Mindestgröße eines FAT Volumen ist 292 KB. Die Mindestgröße eines NTFS Volumen ist 3792 KB.</string>
|
||||
<string lang="de" key="SIZE_HELP_HIDDEN_HOST_VOL">Bitte geben Sie die Größe des zu erstellenden äußeren Volumens (Sie erstellen erst ein äußeres Volumen und dann darin ein Verstecktes Volumen). Die Mindestgröße eines Volumen innerhalb welchem ein verstecktes Volumen erstellt werden kann ist 340 KB.</string>
|
||||
@@ -759,7 +765,7 @@
|
||||
<string lang="de" key="REMOVABLE_DISK">Wechseldatenträger</string>
|
||||
<string lang="de" key="HARDDISK">Festplatte</string>
|
||||
<string lang="de" key="UNCHANGED">Unverändert</string>
|
||||
<string lang="en" key="AUTODETECTION">Autodetection</string>
|
||||
<string lang="de" key="AUTODETECTION">Automatische Erkennung</string>
|
||||
<string lang="de" key="SETUP_MODE_TITLE">Installationsassistent - Wählen Sie eine Installationsoption</string>
|
||||
<string lang="de" key="SETUP_MODE_INFO">Wenn Sie nicht sicher sind verwenden Sie bitte die automatisch markierte Option.</string>
|
||||
<string lang="de" key="SETUP_MODE_HELP_INSTALL">Wählen Sie diese Option wenn Sie VeraCrypt auf diesem System neu installieren möchten.</string>
|
||||
@@ -873,11 +879,11 @@
|
||||
<string lang="de" key="ENTER_HIDDEN_VOL_PASSWORD">Geben Sie das Kennwort für das versteckte Volumen ein</string>
|
||||
<string lang="de" key="ENTER_HEADER_BACKUP_PASSWORD">Geben Sie das Kennwort für den, in der Sicherungsdatei abgelegten, Header ein</string>
|
||||
<string lang="de" key="KEYFILE_CREATED">Die Schlüsseldatei wurde erfolgreich erstellt.</string>
|
||||
<string lang="en" key="KEYFILE_INCORRECT_NUMBER">The number of keyfiles you supplied is invalid.</string>
|
||||
<string lang="en" key="KEYFILE_INCORRECT_SIZE">The keyfile size must be comprized between 64 and 1048576 bytes.</string>
|
||||
<string lang="en" key="KEYFILE_EMPTY_BASE_NAME">Please enter a name for the keyfile(s) to be generated</string>
|
||||
<string lang="en" key="KEYFILE_INVALID_BASE_NAME">The base name of the keyfile(s) is invalid</string>
|
||||
<string lang="en" key="KEYFILE_ALREADY_EXISTS">The keyfile '%s' already exists.\nDo you want to overwrite it? The generation process will be stopped if you answer No.</string>
|
||||
<string lang="de" key="KEYFILE_INCORRECT_NUMBER">Die Anzahl der gewählten Schlüsseldateien ist unzulässig.</string>
|
||||
<string lang="de" key="KEYFILE_INCORRECT_SIZE">Die Schlüsseldatei muss zwischen 64 und 1048576 Bytes groß sein.</string>
|
||||
<string lang="de" key="KEYFILE_EMPTY_BASE_NAME">Bitte geben Sie einen Namen für die zu generierenden Schlüsseldateien ein</string>
|
||||
<string lang="de" key="KEYFILE_INVALID_BASE_NAME">Der Name für die Schlüsseldateien ist unzulässig</string>
|
||||
<string lang="de" key="KEYFILE_ALREADY_EXISTS">Die Schlüsseldatei '%s' existiert bereits.\nMöchten Sie sie überschreiben? Der Erstellungsprozess wird abgebrochen, wenn Sie Nein wählen.</string>
|
||||
<string lang="de" key="HEADER_DAMAGED_AUTO_USED_HEADER_BAK">Warnung: Der Header von diesen Volumen ist beschädigt! VeraCrypt verwendet automatisch die Sicherung vom Volumen-Header, welche im Volumen eingebettet ist.\n\nSie sollten den Volumen-Header reparieren, indem 'Extras' > 'Volumen-Header wiederherstellen...' auswählen.</string>
|
||||
<string lang="de" key="VOL_HEADER_BACKED_UP">Der Volumen-Header wurde erfolgreich gesichert.\n\nWICHTIG: Beim Wiederherstellen des Volumen-Headers mit dieser Sicherungskopie wird gleichzeitig das momentane Volumen-Kennwort wiederhergestellt. Werden zudem Schlüsseldatei(en) zum Einbinden dieses Volumen benötigt, so werden dieselben Schlüsseldatei(en) auch dann wieder zum Einbinden des Volumens benötigt nachdem der Volumen-Header wiederhergestellt worden ist.\n\nWARNUNG: Diese Sicherungskopie des Volumen-Headers kann NUR für die Wiederherstellung von speziell diesem Volumen verwendet werden. Sollte die Header-Sicherungskopie zur Wiederherstellung des Headers eines anderen Volumen verwendet werden, so kann dann zwar das Volumen danach eingebunden werden, aber es können KEINE Daten die in diesem Volumen gespeichert sind entschlüsselt werden (weil der Hauptschlüssel geändert worden ist).</string>
|
||||
<string lang="de" key="VOL_HEADER_RESTORED">Der Volumen-Header wurde erfolgreich wiederhergestellt.\n\nWICHTIG: Möglicherweise wurde ein veraltetes Kennwort ebenfalls wiederhergestellt. Wurden zudem zum Zeitpunkt der Sicherung Schlüsseldatei(en) zum Einbinden dieses Volumen benötigt, so werden dieselben Schlüsseldatei(en) jetzt ebenfalls wieder zum Einbinden des Volumens benötigt.</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="de" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nDie extra Bootpartition kann vor der Installation von Windows entfernt werden. Um dies zu tun, befolgen sie diese Schritte:\n\n1) Starten Sie Windows von der Installations-CD. \n\n2) Im Windows-Installationsbildschirm, klicken Sie "Jetzt installieren"; > "Benutzerdefiniert (erweitert)".\n\n3) Klicken Sie auf "Laufwerksoptionen (erweitert)".\n\n4)Wählen Sie die Hauptsystempartition aus und löschen Sie diese indem Sie "Löschen" und "OK" klicken.\n\n5)Wählen Sie die "System-reservierte" Partition, klicken sie "erweitern" und vergrößern Sie diese so, dass das Betriebssystem darauf installiert werden kann.\n\n6) Klicken Sie "Anwenden" und "OK".\n\n7) Installieren Sie Windows auf der "System-reservierten" Partition.\n\n\nSollte jemand fragen warum Sie die extra Bootpartition entfernt haben können Sie antworten, dass Sie alle möglichen Datenlecks auf die unverschlüsselte Bootpartition vermeiden wollten.\n\nBitte Beachten Sie: Sie können diesen Text ausdrucken indem Sie auf den unten stehenden "Drucken"-Knopf klicken. Wenn Sie diesen Text speichern oder drucken (wird dringend empfohlen es sei denn Ihr Drucker speichert Kopien gedruckter Dokumente auf seinem internen Speicher) sollten Sie ihn und alle Kopien zerstören nachdem Sie die extra Bootpartition entfernt haben (andernfalls könnte der Text gefunden und ein Rückschluss auf ein verstecktes Betriebssystem gezogen werden).</string>
|
||||
<string lang="de" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warnung: Es gibt einen nicht zugeordneten Bereich zwischen der Systempartition und der ersten Partition dahinter. Sie dürfen nach dem Erstellen des versteckten Betriebssystems keine neuen Partitionen in dem nicht zugeordneten Bereich erstellen. Das Versteckte Betriebssystem wird andernfalls nicht starten (bis Sie solche neu erstellten Partitionen löschen).</string>
|
||||
<string lang="de" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Dieser Algorithmus wird derzeit nicht für die Systemverschlüsselung unterstützt.</string>
|
||||
<string lang="de" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">Dieser Algorithmus ist im TrueCrypt Modus nicht vothanden.</string>
|
||||
<string lang="de" key="UNSUPPORTED_TRUECRYPT_FORMAT">Das Volumen wurde mit TrueCrypt %x.%x erstellt, aber VeraCrypt unterstützt nur TrueCrypt volumes, die mit TrueCrypt 6.x erstellt wurden.</string>
|
||||
<string lang="de" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Schlüsseldateien werden derzeit nicht für die Systemverschlüsselung unterstützt.</string>
|
||||
<string lang="de" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warnung: VeraCrypt konnte das ursprüngliche Tastaturlayout nicht wiederherstellen. Dadurch könnten Sie das Passwort falsch eingeben.</string>
|
||||
<string lang="de" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Fehler: Es kann das Tastaturlayout für VeraCrypt nicht auf das Standard-US-Tastaturlayout festgelegt werden.\n\nBeachten Sie, dass das Kennwort in der Pre-Boot Umgebung eingegeben werden muss (bevor Windows startet), wo Nicht-US Windows Tastaturlayouts nicht verfügbar sind. Daher muss das Kennwort immer unter Verwendung des Standard-US-Tastaturlayout eingegeben werden.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="el" name="Ελληνικά" en-name="Greek" version="0.1.0" translators="Βασίλης Κοσμίδης" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="el" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Εμφάνιση κωδικού</control>
|
||||
<control lang="el" key="IDC_TRAVEL_OPEN_EXPLORER">Άνοιγμα &Explorer για φορτωμένους τόμους</control>
|
||||
<control lang="el" key="IDC_TRAV_CACHE_PASSWORDS">&Αποθήκευση κωδικών στη μνήμη του οδηγού</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="el" key="IDC_UNMOUNTALL">Εκ&φόρτωση όλων</control>
|
||||
<control lang="el" key="IDC_VOLUME_PROPERTIES">&Ιδιότητες τόμου...</control>
|
||||
<control lang="el" key="IDC_VOLUME_TOOLS">Εργαλεία &τόμου...</control>
|
||||
<control lang="el" key="IDC_WIPE_CACHE">&Διαγραφή μνήμης cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="el" key="IDD_HOTKEYS_DLG">VeraCrypt - Συντομεύσεις</control>
|
||||
<control lang="el" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="el" key="IDM_CREATE_RESCUE_DISK">Δημιουργία Δίσκου Ασφαλείας...</control>
|
||||
<control lang="el" key="IDM_CREATE_VOLUME">Δημιουργία νέου τόμου...</control>
|
||||
<control lang="el" key="IDM_DEFAULT_KEYFILES">Εξ'ορισμού αρχεία-κλειδιά...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="el" key="IDM_ENCRYPT_SYSTEM_DEVICE">Κρυπτογράφηση διαμερίσματος/οδηγού συστήματος...</control>
|
||||
<control lang="el" key="IDM_FAQ">Συχνές ερωτήσεις</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="el" key="IDM_UNMOUNT_VOLUME">Εκφόρτωση τόμων</control>
|
||||
<control lang="el" key="IDM_VERIFY_RESCUE_DISK">Επαλήθευση Δίσκου Ασφαλείας</control>
|
||||
<control lang="el" key="IDM_VERSION_HISTORY">Ιστορικό εκδόσεων</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="el" key="IDM_VOLUME_PROPERTIES">Ιδιότητες τόμου</control>
|
||||
<control lang="el" key="IDM_VOLUME_WIZARD">Οδηγός δημιουργίας τόμου</control>
|
||||
<control lang="el" key="IDM_WEBSITE">Ιστοτόπος VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="el" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ένα σφάλμα συνέβη κατά τη λήψη της κατάστασης κρυπτογράφησης του συστήματος.</string>
|
||||
<string lang="el" key="INIT_SYS_ENC">Αδυναμία αρχικοποίησης των στοιχείων της εφαρμογής για κρυπτογράφηση του συστήματος.</string>
|
||||
<string lang="el" key="INIT_RAND">Αποτυχία αρχικοποίησης της γεννήτριας τυχαίων αριθμών!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="el" key="INIT_REGISTER">Αδυναμία αρχικοποίησης της εφαρμογής. Αποτυχία καταχώρησης της τάξης διαλόγου.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="el" key="INTRO_TITLE">Οδηγός δημιουργίας τόμου VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="el" key="MOUNT_BUTTON">&Φόρτωση</string>
|
||||
<string lang="el" key="NEW_VERSION_REQUIRED">Μια νεότερη έκδοση του VeraCrypt χρειάζεται για να φορτώσετε αυτό τον τόμο.</string>
|
||||
<string lang="el" key="VOL_CREATION_WIZARD_NOT_FOUND">Σφάλμα: Δε βρέθηκε ο Οδηγός δημιουργίας τόμου.\n\nΠαρακαλώ σιγουρευτείτε ότι το αρχείο "VeraCrypt Format.exe" είναι στο φάκελο από τον οποίο έτρεξε το "VeraCrypt.exe". Αν δεν είναι ξαναεγκαταστήστε το VeraCrypt ή εντοπίστε το "VeraCrypt Format.exe" στο δίσκο σας και τρέξτε το.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="el" key="NEXT">&Επόμενο ></string>
|
||||
<string lang="el" key="FINALIZE">&Τέλος</string>
|
||||
<string lang="el" key="INSTALL">&Εγκατάσταση</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="el" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Αυτός ο αλγόριθμος προς το παρόν δεν υποστηρίζεται για κρυπτογράφηση συστήματος.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="el" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Προειδοποίηση: Το VeraCrypt δεν μπόρεσε να επαναφέρει την αρχική διάταξη του πληκτρολογίου. Αυτό μπορεί να προκαλέσει εσφαλμένη εισαγωγή κωδικού.</string>
|
||||
<string lang="el" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Σφάλμα: Αδυναμία ορισμού διάταξης πληκτρολογίου για το VeraCrypt σε Η.Π.Α..\n\nΣημειώστε ότι ο κωδικός πρέπει να πληκτρολογηθεί στο περιβάλλον πριν την εκκίνηση των Windows όπου μη-Η.Π.Α. διατάξεις πληκτρολογίου δεν είναι διαθέσιμες. Γι'αυτό ο κωδικός πρέπει πάντα να πληκτρολογείται με χρήση διάταξης πληκτρολογίου Η.Π.Α.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="es" name="Español" en-name="Spanish" version="1.0.0" translators="Juan Antonio Auñón Ochando" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="es" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Mostrar contraseña</control>
|
||||
<control lang="es" key="IDC_TRAVEL_OPEN_EXPLORER">Abrir en el &explorador el volumen montado</control>
|
||||
<control lang="es" key="IDC_TRAV_CACHE_PASSWORDS">Guardar &contraseña en caché</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="es" key="IDC_UNMOUNTALL">&Desmontar Todo</control>
|
||||
<control lang="es" key="IDC_VOLUME_PROPERTIES">Propiedades del &Volumen</control>
|
||||
<control lang="es" key="IDC_VOLUME_TOOLS">Herramien&tas de volumen</control>
|
||||
<control lang="es" key="IDC_WIPE_CACHE">&Borrar Caché</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="es" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Volúmenes favoritos</control>
|
||||
<control lang="es" key="IDD_HOTKEYS_DLG">VeraCrypt - Atajos de teclado para sistema completo</control>
|
||||
<control lang="es" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="es" key="IDM_CREATE_RESCUE_DISK">Crear Disco de Rescate</control>
|
||||
<control lang="es" key="IDM_CREATE_VOLUME">Crear Nuevo Volumen</control>
|
||||
<control lang="es" key="IDM_DEFAULT_KEYFILES">Archivos-llave Por Defecto</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="es" key="IDM_DONATE">Donar ahora...</control>
|
||||
<control lang="es" key="IDM_ENCRYPT_SYSTEM_DEVICE">Cifrar la Partición/Unidad del Sistema</control>
|
||||
<control lang="es" key="IDM_FAQ">Preguntas Frecuentes</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="es" key="IDM_UNMOUNT_VOLUME">Desmontar Volumen</control>
|
||||
<control lang="es" key="IDM_VERIFY_RESCUE_DISK">Verificar Disco de Rescate</control>
|
||||
<control lang="es" key="IDM_VERSION_HISTORY">Historial de Versiones</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="es" key="IDM_VOLUME_PROPERTIES">Propiedades de Volumen</control>
|
||||
<control lang="es" key="IDM_VOLUME_WIZARD">Asistente de Creación de Volumen</control>
|
||||
<control lang="es" key="IDM_WEBSITE">Sitio Web de VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="es" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ha ocurrido un error al obtener el estado del cifrado del sistema.</string>
|
||||
<string lang="es" key="INIT_SYS_ENC">No se pueden inicializar componentes de la aplicación para el cifrado del sistema.</string>
|
||||
<string lang="es" key="INIT_RAND">¡Fallo al inicializar el generador de números aleatorios!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="es" key="INIT_REGISTER">No se pudo iniciar la aplicación. Fallo al registrar la clase Dialog.</string>
|
||||
<string lang="es" key="INIT_RICHEDIT">Error: Fallo al cargar la librería de sistema Rich Edit.</string>
|
||||
<string lang="es" key="INTRO_TITLE">Asistente de Creación de Volúmenes VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="es" key="MOUNT_BUTTON">&Montar</string>
|
||||
<string lang="es" key="NEW_VERSION_REQUIRED">Se requiere una versión más reciente de VeraCrypt para montar este volumen.</string>
|
||||
<string lang="es" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Asistente para la Creación de Volumen no encontrado.\n\nVerifique que el archivo 'VeraCrypt Format.exe' este en la misma carpeta que el archivo ' VeraCrypt.exe'. Si no es así, reinstale VeraCrypt o localice el archivo 'VeraCrypt Format.exe' en su disco y ejecútelo.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="es" key="NEXT">&Siguiente ></string>
|
||||
<string lang="es" key="FINALIZE">&Finalizar</string>
|
||||
<string lang="es" key="INSTALL">&Instalar</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="es" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nLa partición de arranque adicional puede ser eliminada antes de instalar Windows. Para hacerlo, siga estos pasos:\n\n1) Arranque su disco de instalación de Windows.\n\n2) En la pantalla del instalador de Windows, haga click en 'Instalar ahora' > 'Personalizar (avanzada)'.\n\n3) Click en 'Opciones de Dispositivo'.\n\n4) Seleccione la partición del sistema principal y bórrela pulsando 'Eliminar' y 'Aceptar'.\n\n5) Seleccione la partición 'Reservada del Sistema', pulse 'Extender' y aumente su tamaño hasta que se pueda instalar en ella el sistema operativo.\n\n6) Click en 'Aplicar' y 'Aceptar'.\n\n7) Instale Windows en la partición 'Reservada del Sistema'.\n\n\nUn atacante podría preguntarle por qué eliminó la partición de arranque adicional, ud. puede responder que quería evitar cualquier posible filtración de datos en la partición de arranque no cifrada.\n\nNota: puede imprimir este texto pulsando el botón 'Imprimir'. Si guarda una copia de este texto o lo imprime (muy recomendable, salvo que su impresora almacene en su controlador interno copias de los documentos que imprime), debería destruir cualquier copia de este texto tras eliminar la partición de arranque adicional (de lo contrario, si una de estas copias fuera encontrada, indicaría que existe un sistema operativo oculto en este ordenador).</string>
|
||||
<string lang="es" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Aviso: Hay espacio no asignado entre la partición del sistema y la primera partición tras ella. Después de crear el sistema operativo oculto, no debe crear ninguna partición nueva en ese espacio sin asignar. De lo contrario, podría ser iposible arrancar el sistema operativo oculto (hasta que elimine esas particiones nuevas).</string>
|
||||
<string lang="es" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Este algoritmo no está soportado actualmente para el cifrado del sistema.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="es" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Los archivos-llave no están soportados actualmente para el cifrado del sistema.</string>
|
||||
<string lang="es" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Aviso: VeraCrypt no pudo restaurar la disposición de teclado original. Esto puede hacer que ud. introduzca incorrectamente la contraseña.</string>
|
||||
<string lang="es" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: No se puede establecer la disposición del teclado para VeraCrypt al estándar de EEUU.\n\nRecuerde que la contraseña necesita ser escrita en el entorno de pre-arranque (antes de que Windows se inicie) donde no están disponibles disposiciones de teclado distintas a la de EEUU. Por tanto, la contraseña debe ser escrita siempre usando la disposición de teclado EEUU estándar.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="et" name="Eesti" en-name="Estonian" version="0.1.0" translators="Maiko Mõtsar" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="et" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Kuva salasõna</control>
|
||||
<control lang="et" key="IDC_TRAVEL_OPEN_EXPLORER">Ava haagitud konteiner &Exploreri aknas</control>
|
||||
<control lang="et" key="IDC_TRAV_CACHE_PASSWORDS">Hoia salasõnu tüürelis vahemälus</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="et" key="IDC_UNMOUNTALL">Haagi kõik lahti</control>
|
||||
<control lang="et" key="IDC_VOLUME_PROPERTIES">Konteineri atribuudid...</control>
|
||||
<control lang="et" key="IDC_VOLUME_TOOLS">Konteineri &tööriistad...</control>
|
||||
<control lang="et" key="IDC_WIPE_CACHE">Tühjenda vahemälu</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="et" key="IDD_HOTKEYS_DLG">VeraCrypt - Süsteemi kiirklahvid</control>
|
||||
<control lang="et" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="et" key="IDM_CREATE_VOLUME">Loo uus konteiner...</control>
|
||||
<control lang="et" key="IDM_DEFAULT_KEYFILES">Vaikimisi võtmefailid...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="et" key="IDM_FAQ">Korduma Kippuvad Küsimused</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="et" key="IDM_UNMOUNT_VOLUME">Konteineri lahtihaakimine</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="et" key="IDM_VERSION_HISTORY">Versiooni ajalugu</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="et" key="IDM_VOLUME_PROPERTIES">Konteineri atribuudid</control>
|
||||
<control lang="et" key="IDM_VOLUME_WIZARD">Konteineri loomise nõustaja</control>
|
||||
<control lang="et" key="IDM_WEBSITE">VeraCrypti kodulehekülg</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="et" key="INIT_RAND">Juhunumbri generaatori initsialiseerimine ebaõnnestus!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="et" key="INIT_REGISTER">Võimetu rakendust initsialiseerima. Dialoogi klassi registreerimine ebaõnnestus.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="et" key="INTRO_TITLE">VeraCrypt konteineri loomise nõustaja</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="et" key="MOUNT_BUTTON">Haagi</string>
|
||||
<string lang="et" key="NEW_VERSION_REQUIRED">Selle konteineri haakimiseks on vajalik VeraCrypti uuem versioon.</string>
|
||||
<string lang="et" key="VOL_CREATION_WIZARD_NOT_FOUND">Viga: Konteineri loomise nõustajat ei leidnud.\n\nPalun veendu, et fail 'VeraCrypt Format.exe' on kataloogis, milles on 'VeraCrypt.exe' käivitatud. Kui ei, palun taaspaigalda VeraCrypt või näita 'VeraCrypt Format.exe' asukoht kettal ja käivita see.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="et" key="NEXT">Edasi ></string>
|
||||
<string lang="et" key="FINALIZE">&Lõpeta</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="eu" name="Euskara" en-name="Basque" version="1.0.0" translators="Ander Genua" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="eu" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Pasahitza erakutsi</control>
|
||||
<control lang="eu" key="IDC_TRAVEL_OPEN_EXPLORER">Muntatutako Bolumenak &Explorer-aren lehioak ireki</control>
|
||||
<control lang="eu" key="IDC_TRAV_CACHE_PASSWORDS">Pasahitza &gorde diskaren memorian</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="eu" key="IDC_UNMOUNTALL">&Guztiak desmuntatu</control>
|
||||
<control lang="eu" key="IDC_VOLUME_PROPERTIES">&Bolumenaren ezaugarriak...</control>
|
||||
<control lang="eu" key="IDC_VOLUME_TOOLS">Bolumenaren &Tresnak...</control>
|
||||
<control lang="eu" key="IDC_WIPE_CACHE">&Memoria ezabatu</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="eu" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Gogoko Bolumenak</control>
|
||||
<control lang="eu" key="IDD_HOTKEYS_DLG">VeraCrypt - Sistema osoaren tekla bereziak</control>
|
||||
<control lang="eu" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="eu" key="IDM_CREATE_RESCUE_DISK">Salbatze diska sortu...</control>
|
||||
<control lang="eu" key="IDM_CREATE_VOLUME">Bolumen berria sortu...</control>
|
||||
<control lang="eu" key="IDM_DEFAULT_KEYFILES">Lehenetsitako gako-fitxategiak...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="eu" key="IDM_DONATE">Orain eman...</control>
|
||||
<control lang="eu" key="IDM_ENCRYPT_SYSTEM_DEVICE">Sistemaren partizioa/diska zifratu...</control>
|
||||
<control lang="eu" key="IDM_FAQ">Maiz egindako galderak</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="eu" key="IDM_UNMOUNT_VOLUME">Bolumena desmuntatu</control>
|
||||
<control lang="eu" key="IDM_VERIFY_RESCUE_DISK">Salbatze diska egiaztatu</control>
|
||||
<control lang="eu" key="IDM_VERSION_HISTORY">Bertsioen Historia</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="eu" key="IDM_VOLUME_PROPERTIES">Bolumenaren ezaugarriak</control>
|
||||
<control lang="eu" key="IDM_VOLUME_WIZARD">Bolumenak sortzeko laguntzailea</control>
|
||||
<control lang="eu" key="IDM_WEBSITE">VeraCrypt-en web orria</control>
|
||||
@@ -524,6 +528,7 @@
|
||||
<string lang="eu" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Errore bat jazo da sistemaren enkripzio egoera irakurtzen ari zenean.</string>
|
||||
<string lang="eu" key="INIT_SYS_ENC">Ezin izan dira aplikazioaren osagaiak hasieratu sistema zifratzeko.</string>
|
||||
<string lang="eu" key="INIT_RAND">Ausazko zenbakien sortzailea hasieratzerakoan hutse egin du!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="eu" key="INIT_REGISTER">Ezin izan da aplikazioa hasieratu. 'Dialog Class'-a erregistratzerakoan huts egin du.</string>
|
||||
<string lang="eu" key="INIT_RICHEDIT">Errorea: Ezin izan da Rich Edit sistemaren liburutegia kargatu.</string>
|
||||
<string lang="eu" key="INTRO_TITLE">VeraCrypt Bolumenak Sortzeko Laguntzailea</string>
|
||||
@@ -536,6 +541,7 @@
|
||||
<string lang="eu" key="MOUNT_BUTTON">&Muntatu</string>
|
||||
<string lang="eu" key="NEW_VERSION_REQUIRED">Bolumen hau muntazteko VeraCrypt-en bertsio berriago bat behar da.</string>
|
||||
<string lang="eu" key="VOL_CREATION_WIZARD_NOT_FOUND">Errorea: Bolumenak Sortzeko Laguntzailea ez da aurkitu.\n\nZiurta zaitez 'VeraCrypt Format.exe' fitxategia 'VeraCrypt.exe' abiatu zeneko karpeta berdinean dagoela. Ez badago, VeraCrypt berriro instalatu, edo zure diskan 'VeraCrypt Format.exe' aurkitu eta exekutatu.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="eu" key="NEXT">&Hurrengoa ></string>
|
||||
<string lang="eu" key="FINALIZE">&Bukatu</string>
|
||||
<string lang="eu" key="INSTALL">&Instalatu</string>
|
||||
@@ -1035,6 +1041,8 @@
|
||||
<string lang="eu" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nAbiatze partizio gehigarria Windows instalatu aurretik kendu daiteke. Hori egitueko, hurrengo pausoak jarraitu itzazu:\n\n1) Zure Windows instalatze diska abiatu ezazu.\n\n2) Windows instalatzailearen lehioan 'Orain Instalatu' > 'Pertsonalizatua (aurreratua)' aukeratu.\n\n3) 'Unitate Aukerak' sakatu ezazu.\n\n4) Sistemaren partizio nagusia aukeratu eta ezabatu ezazu 'Ezabatu' eta 'Ados'-en klik eginez.\n\n5) 'Sistemaren Erreserbatua' partizioa aukeratu ezazu eta 'Hedatu' aukeratu ezazu, ondoren, berre tamaina handitu ezazu bertan sistema eragilea instalatu ahal izan dadin.\n\n6) 'Aplikatu' eta 'Ados'-en klik egin ezazu.\n\n7) 'Sistemaren Erreserbatua' partizioan Windows instalatu ezazu.\n\nErasotzaile batek Abiatze partizio gehigarria ezabatzeari buruz galdetzen badizu, zifratu gabeko abiatze partiziora daturik ez galtzearren egin duzula erantzun diezaiokezu.\n\nOharra: Testu hau inprimatu dezakezu azpian dagoen 'Inprimatu' botoian klik eginez. Testu honen kopia bat gorde edo inprimatzen baduzu (hau gogor gomendatzen da, zure inprimagailuak inprimitzen dituen dokumentuen kopia bere barneko memorian gordetzen ez baditu), abiatze partizio gehigarria ezabatu eta gero kopia horiek suntsitu beharko zenituzke (bestela, kopia hori aurkituko balitz, ordenagailu honetan ezkutuko sistema eragile bat dagoelaren susmoa eman dezake).</string>
|
||||
<string lang="eu" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Kontuz: Alokatu gabeko tarte bat dago sistemaren partizioa eta haren hurrengo partizioaren artean. Ezkutuko sistema eragilea sortu eta gero ezin izango duzu tarte horretan partizio berririk egin. Bestela, ezin izango da ezkutuko sistema eragilea hasieratu (partizio berri horiek ezabatu arte).</string>
|
||||
<string lang="eu" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Algoritmo honek momentuz ez du balio sistema zifratzeko .</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="eu" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Momentuz ezin dira gako-fitxategiak erabili sistema zifratzeko.</string>
|
||||
<string lang="eu" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Kontuz: VeraCrypt-ek ezin izan du teklatua diseinu originaera leheneratu. Honek pasahitza gaizki sartzea ekar dezake.</string>
|
||||
<string lang="eu" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Errorea: Ezin da VeraCrypt-entzat teklatuaren diseinua aldatu EB teklatu estandar diseinura.\n\nOhartu zaitez pasahitza hasieraketa aurreko ingurunean (Windows hasi aurretik) sartu behar dela eta bertan EB-etako teklatu diseinuak ez daudela eskuragarri. Horregatik, pasahitza beti sartu behar da EB-etako teklatu estandarraren diseinuarekin.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="fa" name="فارسي" en-name="Persian" version="0.1.0" translators="Ali Bitazar, Rodabeh Sarmadi" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Display password</control>
|
||||
<control lang="en" key="IDC_TRAVEL_OPEN_EXPLORER">Open &Explorer window for mounted volume</control>
|
||||
<control lang="en" key="IDC_TRAV_CACHE_PASSWORDS">&Cache password in driver memory</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="en" key="IDC_UNMOUNTALL">Di&smount All</control>
|
||||
<control lang="en" key="IDC_VOLUME_PROPERTIES">&Volume Properties...</control>
|
||||
<control lang="en" key="IDC_VOLUME_TOOLS">Volume &Tools...</control>
|
||||
<control lang="en" key="IDC_WIPE_CACHE">&Wipe Cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="en" key="IDD_HOTKEYS_DLG">VeraCrypt - System-Wide Hot Keys</control>
|
||||
<control lang="en" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="en" key="IDM_CREATE_VOLUME">Create New Volume...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_KEYFILES">Default Keyfiles...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="en" key="IDM_FAQ">Frequently Asked Questions</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="en" key="IDM_UNMOUNT_VOLUME">Dismount Volume</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="en" key="IDM_VERSION_HISTORY">Version History</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="en" key="IDM_VOLUME_PROPERTIES">Volume Properties</control>
|
||||
<control lang="en" key="IDM_VOLUME_WIZARD">Volume Creation Wizard</control>
|
||||
<control lang="en" key="IDM_WEBSITE">VeraCrypt Website</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="fa" key="INTRO_TITLE">جادوگر ساخت درايو</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="en" key="MOUNT_BUTTON">&Mount</string>
|
||||
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="NEXT">&Next ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="fi" name="Suomi" en-name="Finnish" version="0.1.0" translators="Matti Ruhanen" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="fi" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Näytä Salasana</control>
|
||||
<control lang="fi" key="IDC_TRAVEL_OPEN_EXPLORER">Avaa &Tutkinta Ikkuna Yhdistetyille taltioille</control>
|
||||
<control lang="fi" key="IDC_TRAV_CACHE_PASSWORDS">&Välimuistisalasana ajurin muistille</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="fi" key="IDC_UNMOUNTALL">P&oista Kaikki Yhteydet</control>
|
||||
<control lang="fi" key="IDC_VOLUME_PROPERTIES">Taltion Ominaisuu&det..</control>
|
||||
<control lang="fi" key="IDC_VOLUME_TOOLS">Taltio&n Työkalut..</control>
|
||||
<control lang="fi" key="IDC_WIPE_CACHE">Tyhjennä &Välimuisti</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="fi" key="IDD_HOTKEYS_DLG">VeraCrypt - Järjestelmän Pikanäppäimet</control>
|
||||
<control lang="fi" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="fi" key="IDM_CREATE_RESCUE_DISK">Luo Pelastuslevy..</control>
|
||||
<control lang="fi" key="IDM_CREATE_VOLUME">Luo Uusi Taltio..</control>
|
||||
<control lang="fi" key="IDM_DEFAULT_KEYFILES">Oletus Avaintiedosto..</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="fi" key="IDM_ENCRYPT_SYSTEM_DEVICE">Salaa Järjestelmän Osio/Asema..</control>
|
||||
<control lang="fi" key="IDM_FAQ">Usein Kysyttyjä Kysymyksiä</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="fi" key="IDM_UNMOUNT_VOLUME">Poista Yhdistetyt Taltio</control>
|
||||
<control lang="fi" key="IDM_VERIFY_RESCUE_DISK">Tarkista Pelastuslevy</control>
|
||||
<control lang="fi" key="IDM_VERSION_HISTORY">Versio Historia</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="fi" key="IDM_VOLUME_PROPERTIES">Taltion Ominaisuudet</control>
|
||||
<control lang="fi" key="IDM_VOLUME_WIZARD">Opastettu Taltion Luonti</control>
|
||||
<control lang="fi" key="IDM_WEBSITE">VeraCryptin Nettisivut</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="fi" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Virhe tapahtui kun haettiin järjestelmän salakirjoitus arvoa.</string>
|
||||
<string lang="fi" key="INIT_SYS_ENC">Sovelluksen komponentteja ei voida alustaa järjestelmän salakirjoitusta varten.</string>
|
||||
<string lang="fi" key="INIT_RAND">Satunnaisnumeron luonnin alustus epäonnistui!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="fi" key="INIT_REGISTER">Sovellusta ei pystytä alustamaan. Viestiruudun ikkunan rekisteröinti epäonnistui.</string>
|
||||
<string lang="fi" key="INIT_RICHEDIT">Virhe: Virhe ladattaessa Rich edit järjestelmä kirjastoa.</string>
|
||||
<string lang="fi" key="INTRO_TITLE">Opastettu VeraCrypt Taltion Luonti</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="fi" key="MOUNT_BUTTON">Y&hdistä Laite</string>
|
||||
<string lang="fi" key="NEW_VERSION_REQUIRED">Uusi VeraCrypt versio vaaditaan jotta tämän taltion yhdistäminen on mahdollista.</string>
|
||||
<string lang="fi" key="VOL_CREATION_WIZARD_NOT_FOUND">Virhe: Taltion Luonti Velhoa ei löydetty.\n\nOle hyvä ja varmista että tiedosto 'VeraCrypt Format.exe' on hakemistossa missä 'VeraCrypt.exe' on perustettu. Jos se ei ole, asenna uudelleen VeraCrypt ohjelma, tai määritä 'VeraCrypt Format.exe' levylläsi ja aja se.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="fi" key="NEXT">&Seuraava ></string>
|
||||
<string lang="fi" key="FINALIZE">&Valmis</string>
|
||||
<string lang="fi" key="INSTALL">&Asenna</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="fi" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Varoitus: Siellä on allokoimatonta tilaa järjestelmäosion ja ensimmäisen osion takana. Kun olet luonut piilotetun käyttöjärjestelmän, sinun täytyy luoda uudet osiot tälle allokoimattomalle tilalle. Muutoin, piilotettu käyttöjärjestelmä ei ole mahdollista käynnistää (ennen kuin poistat sellaisen vasta luodun osion).</string>
|
||||
<string lang="fi" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Tämä algoritmi ei ole tuettuna järjestelmän salauksessa.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="fi" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Avaintiedostot eivät ole nykyisin tuettuna järjestelmä salaukselle.</string>
|
||||
<string lang="fi" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Varoitus: VeraCrypt ei voi palauttaa alkuperäistä näppäimistä ulkoasua. Tämä saattaa johtaa sinun antamasta väärästä salasanasta.</string>
|
||||
<string lang="fi" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Virhe: Ei voida asettaa näppäimistö ulkoasua VeraCrypt standardi US näppäin ulkoasuksi.\n\nHuomioi, että salasana täytyy kirjoittaa esikäynnistys ympäristössä (ennen kuin Windows käynnistyy) kun ei-US Windows näppäimistö ulkoasu ei ole saatavana. Siksi salasana tulee aina kirjoittaa käyttäen standardia näppäin asetusta.</string>
|
||||
|
||||
+361
-353
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="hu" name="Magyar" en-name="Hungarian" version="0.1.0" translators="Nyul Balazs" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Display password</control>
|
||||
<control lang="hu" key="IDC_TRAVEL_OPEN_EXPLORER">&Explorer ablak nyitása a csatolt kötethez</control>
|
||||
<control lang="hu" key="IDC_TRAV_CACHE_PASSWORDS">&Jelszó tárolása a driver memóriájában</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="hu" key="IDC_UNMOUNTALL">M&inden lecsatolása</control>
|
||||
<control lang="hu" key="IDC_VOLUME_PROPERTIES">&Kötet Tulajdonságok...</control>
|
||||
<control lang="hu" key="IDC_VOLUME_TOOLS">Kötet &Eszközök...</control>
|
||||
<control lang="hu" key="IDC_WIPE_CACHE">&Cache ürítés</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="hu" key="IDD_HOTKEYS_DLG">VeraCrypt - Rendszer szintű gyorsgombok</control>
|
||||
<control lang="hu" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="hu" key="IDM_CREATE_VOLUME">Új kötet létrehozása...</control>
|
||||
<control lang="hu" key="IDM_DEFAULT_KEYFILES">Alap. kulcsfájlok...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="hu" key="IDM_FAQ">Gyakran Ismételt Kérdések</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="hu" key="IDM_UNMOUNT_VOLUME">Kötet leválasztása</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="hu" key="IDM_VERSION_HISTORY">Verzió történet</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="hu" key="IDM_VOLUME_PROPERTIES">Kötet tulajdonságok</control>
|
||||
<control lang="hu" key="IDM_VOLUME_WIZARD">Kötet létrehozás varázsló</control>
|
||||
<control lang="hu" key="IDM_WEBSITE">VeraCrypt Honlap</control>
|
||||
@@ -521,7 +525,8 @@
|
||||
<string lang="en" key="CONFIRM_RESTART">Your computer must be restarted.\n\nDo you want to restart it now?</string>
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="en" key="INTRO_TITLE">VeraCrypt Volume Creation Wizard</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="en" key="MOUNT_BUTTON">&Mount</string>
|
||||
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="hu" key="NEXT">&Következő ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="id" name="Bahasa Indonesia" en-name="Indonesian" version="0.1.0" translators="Tajuddin N. F." />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="id" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Tampilkan password</control>
|
||||
<control lang="id" key="IDC_TRAVEL_OPEN_EXPLORER">Buka jendela &Explorer untuk volume yang tersambung</control>
|
||||
<control lang="id" key="IDC_TRAV_CACHE_PASSWORDS">&Simpan password pada driver memory</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="id" key="IDC_UNMOUNTALL">Putu&skan semua</control>
|
||||
<control lang="id" key="IDC_VOLUME_PROPERTIES">Profil &Volume...</control>
|
||||
<control lang="id" key="IDC_VOLUME_TOOLS">Penga&turan volume...</control>
|
||||
<control lang="id" key="IDC_WIPE_CACHE">Bersih&kan Simpanan</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="id" key="IDD_HOTKEYS_DLG">Kunci pintas Sistem - VeraCrypt</control>
|
||||
<control lang="id" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="id" key="IDM_CREATE_VOLUME">Buat Volume Baru...</control>
|
||||
<control lang="id" key="IDM_DEFAULT_KEYFILES">File Kunci Dasar...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="id" key="IDM_FAQ">Pertanyaan yang sering diajukan</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="id" key="IDM_UNMOUNT_VOLUME">Putuskan Volume</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="id" key="IDM_VERSION_HISTORY">Sejarah...</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="id" key="IDM_VOLUME_PROPERTIES">Profil Volume</control>
|
||||
<control lang="id" key="IDM_VOLUME_WIZARD">Panduan pembuatan Volume</control>
|
||||
<control lang="id" key="IDM_WEBSITE">Halaman Web VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="en" key="INTRO_TITLE">VeraCrypt Volume Creation Wizard</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="id" key="MOUNT_BUTTON">Sa&mbung</string>
|
||||
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="NEXT">&Next ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="it" name="Italiano" en-name="Italian" version="1.0.1" translators="Maurizio Ballo, Consiglio Gaetano" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="it" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Mostra password</control>
|
||||
<control lang="it" key="IDC_TRAVEL_OPEN_EXPLORER">Apri la finestra di Esplora risorse per il volume montato</control>
|
||||
<control lang="it" key="IDC_TRAV_CACHE_PASSWORDS">Mantieni la password nella cache</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="it" key="IDC_UNMOUNTALL">Smonta tutti</control>
|
||||
<control lang="it" key="IDC_VOLUME_PROPERTIES">Proprietà volume...</control>
|
||||
<control lang="it" key="IDC_VOLUME_TOOLS">Strumenti volume...</control>
|
||||
<control lang="it" key="IDC_WIPE_CACHE">Azzera la cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="it" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Volumi preferiti</control>
|
||||
<control lang="it" key="IDD_HOTKEYS_DLG">VeraCrypt - Tasti di scelta rapida (hotkey)</control>
|
||||
<control lang="it" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="it" key="IDM_CREATE_RESCUE_DISK">Crea un disco di ripristino...</control>
|
||||
<control lang="it" key="IDM_CREATE_VOLUME">Crea un nuovo volume...</control>
|
||||
<control lang="it" key="IDM_DEFAULT_KEYFILES">File chiave predefiniti...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="it" key="IDM_DONATE">Donazione...</control>
|
||||
<control lang="it" key="IDM_ENCRYPT_SYSTEM_DEVICE">Codifica la partizione o disco di sistema...</control>
|
||||
<control lang="it" key="IDM_FAQ">Domande frequenti</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="it" key="IDM_UNMOUNT_VOLUME">Smonta il volume</control>
|
||||
<control lang="it" key="IDM_VERIFY_RESCUE_DISK">Verifica disco di ripristino</control>
|
||||
<control lang="it" key="IDM_VERSION_HISTORY">Cronologia delle versioni</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="it" key="IDM_VOLUME_PROPERTIES">Proprietà del volume...</control>
|
||||
<control lang="it" key="IDM_VOLUME_WIZARD">Creazione guidata volume...</control>
|
||||
<control lang="it" key="IDM_WEBSITE">Sito web di VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="it" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Si è verificato un errore nel dare lo stato di codifica del sistema.</string>
|
||||
<string lang="it" key="INIT_SYS_ENC">Impossibile inizializzare i componenti dell’applicazione per la codifica del sistema.</string>
|
||||
<string lang="it" key="INIT_RAND">Inizializzazione del generatore di numeri casuali fallita!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="it" key="INIT_REGISTER">Impossibile inizializzare l'applicazione. Registrazione della classe Finestra di dialogo fallita.</string>
|
||||
<string lang="it" key="INIT_RICHEDIT">ERRORE: Fallito nel caricare il Rich Edit della libreria di sistema.</string>
|
||||
<string lang="it" key="INTRO_TITLE">Creazione guidata volume VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="it" key="MOUNT_BUTTON">Monta</string>
|
||||
<string lang="it" key="NEW_VERSION_REQUIRED">Per montare questo volume è richiesta una versione più recente di VeraCrypt.</string>
|
||||
<string lang="it" key="VOL_CREATION_WIZARD_NOT_FOUND">ERRORE: procedura guidata per la creazione del volume non trovata.\n\nAssicurarsi che il file 'VeraCrypt Format.exe' sia nella cartella dalla quale 'VeraCrypt.exe' è stato eseguito. Altrimenti reinstallare VeraCrypt o individuare 'VeraCrypt Format.exe' sul disco ed eseguirlo.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="it" key="NEXT">Avanti ></string>
|
||||
<string lang="it" key="FINALIZE">&Fine</string>
|
||||
<string lang="it" key="INSTALL">&Installa</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="it" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nL’extra boot della partizione può essere rimosso prima di installare Windows. Per fare questo, seguite questa procedura:\n\n1) Avviate il vostro disco di installazione di Windows.\n\n2)Nello schermo di installazione di Windows fate clic su “Installa”> “Personalizzata (avanzata)”.\n\n3) Fate clic su “Opzioni unità”.\n\n4) Selezionare la partizione di sistema ed eliminatela facendo clic su “Elimina”e quindi “OK”.\n\n5) Selezionare la partizione “Riservata al sistema”, fate clic su “Estendi” ed aumentate la sua dimensione in modo che il sistema operative possa essere installato in essa.\n\n6)Fate clic su “Applica” ed “OK”.\n\n7) Installare Windows nella partizione “Riservata al sistema”.\n\n\nDovrebbe ora un attaccante chiedervi chi ha rimosso l’extra boot della partizione. Potreste quindi rispondere che volevate prevenire qualsiasi danno ai dati nella partizione di avvio non Crittata.\n\nNota: Potete stampare questo testo facendo clic sul tasto “Stampa” sotto. Se voi salvate una copia di questo testo o la stampate (raccomandata rigorosamente, finché la vostra stampante conserva delle copie di documenti nella sua unità interna), dovete distruggere qualsiasi copia di esso dopo la rimozione dell’extra boot della partizione (diversamente, se viene trovata una di tali copie, essa potrebbe segnalare la presenza di un sistema operativo nascosto in questo computer).</string>
|
||||
<string lang="it" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">AVVERTENZA: C’è uno spazio non allocato tra la partizione di sistema e la prima partizione dietro di essa. Dopo aver creato il sistema operativo nascosto, non dovete creare nessuna nuova partizione in questo spazio non allocato. Diversamente sarà impossibile avviare il sistema operativo nascosto (finché voi eliminate tali nuove partizioni create).</string>
|
||||
<string lang="it" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Questo algoritmo non è attualmente supportato per la codifica del sistema.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="it" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">I file chiave sono attualmente non supportate dalla codifica di sistema.</string>
|
||||
<string lang="it" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">AVVERTENZA: VeraCrypt non può ripristinare la configurazione originale della tastiera. Questo può causare la digitazione errata della password.</string>
|
||||
<string lang="it" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">ERRORE: Impossibile impostare la configurazione della tastiera per VeraCrypt nel layout standard tastiera USA.\n\nNotare che la password necessita di essere digitata in ambiente di pre-boot (prima dell’avvio di Windows) dove la configurazione delle tastiere Windows non americane non sono disponibili. Pertanto, la password deve essere sempre digitata usando il layout tastiera standard USA.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ja" name="日本語" en-name="Japanese" version="1.0.0" translators="OGOSHI Masayuki" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ja" key="IDC_SHOW_PASSWORD_CHPWD_ORI">パスワードを表示</control>
|
||||
<control lang="ja" key="IDC_TRAVEL_OPEN_EXPLORER">マウントされたボリュームのウィンドウを開く(&E)</control>
|
||||
<control lang="ja" key="IDC_TRAV_CACHE_PASSWORDS">パスワードをドライバのメモリに記憶(&C)</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ja" key="IDC_UNMOUNTALL">全てアンマウント(&S)</control>
|
||||
<control lang="ja" key="IDC_VOLUME_PROPERTIES">ボリュームのプロパティ(&V)...</control>
|
||||
<control lang="ja" key="IDC_VOLUME_TOOLS">ボリュームツール(&T)...</control>
|
||||
<control lang="ja" key="IDC_WIPE_CACHE">記憶済パスワードの消去(&W)</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="ja" key="IDD_FAVORITE_VOLUMES">VeraCrypt - お気に入りボリューム</control>
|
||||
<control lang="ja" key="IDD_HOTKEYS_DLG">VeraCrypt - システム全体のホットキーの設定</control>
|
||||
<control lang="ja" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ja" key="IDM_CREATE_RESCUE_DISK">レスキューディスク作成...</control>
|
||||
<control lang="ja" key="IDM_CREATE_VOLUME">新規ボリュームの作成...</control>
|
||||
<control lang="ja" key="IDM_DEFAULT_KEYFILES">デフォルトキーファイル...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="ja" key="IDM_DONATE">寄付する...</control>
|
||||
<control lang="ja" key="IDM_ENCRYPT_SYSTEM_DEVICE">システムパーティション/ドライブの暗号化...</control>
|
||||
<control lang="ja" key="IDM_FAQ">よくある質問と答え</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ja" key="IDM_UNMOUNT_VOLUME">ボリュームをアンマウント</control>
|
||||
<control lang="ja" key="IDM_VERIFY_RESCUE_DISK">レスキューディスクのベリファイ</control>
|
||||
<control lang="ja" key="IDM_VERSION_HISTORY">バージョン履歴</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="ja" key="IDM_VOLUME_PROPERTIES">ボリュームのプロパティ</control>
|
||||
<control lang="ja" key="IDM_VOLUME_WIZARD">ボリューム作成ウィザード</control>
|
||||
<control lang="ja" key="IDM_WEBSITE">VeraCryptウェブサイト</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ja" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">システムの暗号ステータスの取得中にエラーが見つかりました。</string>
|
||||
<string lang="ja" key="INIT_SYS_ENC">システムを暗号化するアプリケーションコンポーネントを初期化できませんでした。</string>
|
||||
<string lang="ja" key="INIT_RAND">乱数生成機構の初期化に失敗しました!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ja" key="INIT_REGISTER">アプリケーションを初期化できません。ダイアログクラスの登録に失敗しました。</string>
|
||||
<string lang="ja" key="INIT_RICHEDIT">エラー:リッチエディットシステムライブラリの読込に失敗しました。</string>
|
||||
<string lang="ja" key="INTRO_TITLE">VeraCryptボリューム作成ウィザード</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ja" key="MOUNT_BUTTON">マウント(&M)</string>
|
||||
<string lang="ja" key="NEW_VERSION_REQUIRED">このボリュームをマウントするには、新しいバージョンのVeraCryptが必要です。</string>
|
||||
<string lang="ja" key="VOL_CREATION_WIZARD_NOT_FOUND">エラー:ボリューム作成ウィザードが見つかりません。\n\n'VeraCrypt.exe' が起動されたフォルダに 'VeraCrypt Format.exe' があるか確認してください。 もし存在しなければ、VeraCryptを再インストールするか、ディスク上の 'VeraCrypt Fromat.exe' を探し出して実行してください。</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ja" key="NEXT">次へ(&N)></string>
|
||||
<string lang="ja" key="FINALIZE">終了(&F)</string>
|
||||
<string lang="ja" key="INSTALL">インストール(&I)</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="ja" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nWindowsをインストールする前に追加のブートパーティションを削除できます。そのためには次の手順に従ってください:\n\n1) Windowsインストールディスクで起動します。\n\n2) Windowsインストール画面で「今すぐインストール」→「カスタム(詳細)」とクリックします。\n\n3) 「ドライブオプション」をクリックします。\n\n4) メインのシステムパーティションを選択し、「消去」→「OK」とクリックして消去します。\n\n5) 「System Reserved」パーティションを選択し、「拡張」をクリックしてOSをインストール可能なサイズを指定します。6) 「適用」→「OK」をクリックします。\n\n7) 「System Reserved」パーティションにWindowsをインストールします。\n\n\n攻撃者が追加のブートパーティションを削除した理由を尋ねてくるかもしれません。そのときは、あなたは暗号化されていないブートパーティションへのデータ漏洩の可能性を無くしたかったからだと言うことができます。\n\n注:下の「印刷」ボタンをクリックしてこの文章を印刷することができます。もしこの文章をコピーあるいは印刷(プリンタの内蔵ドライブに文面が保存されるのでなければ、強くお勧めします)したならば、追加のブートパーティションを削除後にその紙やコピーを破棄すべきです。そうしないと、もしその紙やコピーが見つかったならば、このコンピュータに隠しOSがあることを推測されるおそれがあるからです。</string>
|
||||
<string lang="ja" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">警告:システムパーティションとその次のパーティションの間に未割り当ての領域が存在しています。隠しOSを作成した後は、この未割り当ての領域に新たにパーティションを作成してはいけません。さもなければ(新たに作成したパーティションを削除するまで)隠しOSが起動できなくなります。</string>
|
||||
<string lang="ja" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">このアルゴリズムはシステムの暗号化には現在対応していません。</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="ja" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">現在、システムの暗号化でのキーファイル使用には対応していません。</string>
|
||||
<string lang="ja" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">警告:VeraCryptは元のキーボードレイアウトを復元できませんでした。そのためパスワードを正確に入力できないおそれがあります。</string>
|
||||
<string lang="ja" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">エラー:キーボードのレイアウトを標準USキーボードとして設定できません。\n\nシステム起動前に必要なパスワードがUS Windowsレイアウト以外のキーボードで入力されても無効となります。したがってパスワードは常に標準USレイアウトのキーボードで入力される必要があります。</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ka" name="ქართული" en-name="Georgian" version="0.1.0" translators="Kakha Lomiashvili" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ka" key="IDC_SHOW_PASSWORD_CHPWD_ORI">პაროლის ჩვენება</control>
|
||||
<control lang="ka" key="IDC_TRAVEL_OPEN_EXPLORER">მიერთებული ტომის Explorer-ის ფანჯარაში გახსნა</control>
|
||||
<control lang="ka" key="IDC_TRAV_CACHE_PASSWORDS">პაროლის ქეშირება დრაივერის მეხსიერებაში</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ka" key="IDC_UNMOUNTALL">ყველას გამოერთება</control>
|
||||
<control lang="ka" key="IDC_VOLUME_PROPERTIES">ტომის პარამეტრები</control>
|
||||
<control lang="ka" key="IDC_VOLUME_TOOLS">ოპერაციები</control>
|
||||
<control lang="ka" key="IDC_WIPE_CACHE">ქეშის წაშლა</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="ka" key="IDD_HOTKEYS_DLG">VeraCrypt - საერთოსისტემური ცხელი კლავიშები</control>
|
||||
<control lang="ka" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ka" key="IDM_CREATE_RESCUE_DISK">აღმდგენი დისკის შექმნა</control>
|
||||
<control lang="ka" key="IDM_CREATE_VOLUME">ახალი ტომის შექმნა</control>
|
||||
<control lang="ka" key="IDM_DEFAULT_KEYFILES">გასაღების ფაილები (საწყისი)</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="ka" key="IDM_ENCRYPT_SYSTEM_DEVICE">სისტემური განაყოფის/დისკის შიფრაცია</control>
|
||||
<control lang="ka" key="IDM_FAQ">ხშირად დასმადი კითხვები</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ka" key="IDM_UNMOUNT_VOLUME">ტომის გამოერთება</control>
|
||||
<control lang="ka" key="IDM_VERIFY_RESCUE_DISK">აღმდგენი დისკის შემოწმება</control>
|
||||
<control lang="ka" key="IDM_VERSION_HISTORY">ვერსიების ისტორია</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="ka" key="IDM_VOLUME_PROPERTIES">ტომის მახასიათებლები</control>
|
||||
<control lang="ka" key="IDM_VOLUME_WIZARD">ტომების შექმნის ოსტატი</control>
|
||||
<control lang="ka" key="IDM_WEBSITE">www.VeraCrypt.org</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ka" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">სისტემის შიფრაციის სტატუსის მიღების დროს მოხდა შეცდომა.</string>
|
||||
<string lang="ka" key="INIT_SYS_ENC">ვერ ხერხდება სისტემის შიფრაციისათვის პროგრამის კომპონენტების ინიციალიზაცია.</string>
|
||||
<string lang="ka" key="INIT_RAND">შემთხვევითი რიცხვების გენერატორის ინიციალიზაციის შეცდომა.</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ka" key="INIT_REGISTER">პროგრამის ინიციალიზაციის შეცდომა. Dialog კლასის რეგისტრირება შეუძლებელია.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="ka" key="INTRO_TITLE">VeraCrypt-ის ტომების შექმნის ოსტატი</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ka" key="MOUNT_BUTTON">მიერთება</string>
|
||||
<string lang="ka" key="NEW_VERSION_REQUIRED">ამ ტომის მიერთებისათვის საჭიროა VeraCrypt-ის უფრო ახალი ვერსია.</string>
|
||||
<string lang="ka" key="VOL_CREATION_WIZARD_NOT_FOUND">შეცდომა! ტომების შექმნის ოსტატი ვერ მოიძებნა.\n\nშეამოწმეთ, "VeraCrypt.exe"-ს ფოლდერში არის თუ არა ფაილი "VeraCrypt Format.exe". თუ არ არის, ხელახლა დააინსტალირეთ VeraCrypt ან მოძებნეთ დისკებზე ფაილი "VeraCrypt Format.exe" და გაუშვით.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ka" key="NEXT">შემდეგ</string>
|
||||
<string lang="ka" key="FINALIZE">მზადაა</string>
|
||||
<string lang="ka" key="INSTALL">ინსტალაცია</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="ka" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">სისტემის შიფრაციისათვის ეს ალგორითმი ჯერჯერობით არათავსებადია.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="ka" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">გაფრთხილება: VeraCrypt ვერ აღადგენს კლავიატურის ორიგინალ განლაგებას. ამან შესაძლოა პაროლის არასწორი შეტანა გამოიწვიოს.</string>
|
||||
<string lang="ka" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">შეცდომა: VeraCrypt-ისთვის კლავიატურის სტანდარტული US განლაგების დაყენება ვერ ხერხდება.\n\nპაროლი შეტანილ უნდა იქნას ჩატვირთვის პროცესში (Windows-ის სტარტამდე), როდესაც არა-US განლაგების ჩართვა შეუძლებელია. ამიტომ პაროლი აკრეფილნ უნდა იქნას კლავიატურის სტანდარტული US განლაგებით.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ko" name="한국어" en-name="Korean" version="0.1.0" translators="Kim Young" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ko" key="IDC_SHOW_PASSWORD_CHPWD_ORI">비밀번호 표시</control>
|
||||
<control lang="ko" key="IDC_TRAVEL_OPEN_EXPLORER">삽입된 볼륨을 위한 탐색기 창 열기</control>
|
||||
<control lang="ko" key="IDC_TRAV_CACHE_PASSWORDS">드라이버 메모리에 비밀번호 보관(&C)</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ko" key="IDC_UNMOUNTALL">모두 꺼내기(&S)</control>
|
||||
<control lang="ko" key="IDC_VOLUME_PROPERTIES">볼륨 속성(&V)...</control>
|
||||
<control lang="ko" key="IDC_VOLUME_TOOLS">볼륨 도구(&T)...</control>
|
||||
<control lang="ko" key="IDC_WIPE_CACHE">캐시 지우기(&W)</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="ko" key="IDD_HOTKEYS_DLG">VeraCrypt - 시스템 일반 단축키</control>
|
||||
<control lang="ko" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ko" key="IDM_CREATE_RESCUE_DISK">응급복구 디스크 만들기...</control>
|
||||
<control lang="ko" key="IDM_CREATE_VOLUME">새 볼륨 만들기...</control>
|
||||
<control lang="ko" key="IDM_DEFAULT_KEYFILES">기본 키파일...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="ko" key="IDM_ENCRYPT_SYSTEM_DEVICE">시스템 파티션/드라이브 암호화...</control>
|
||||
<control lang="ko" key="IDM_FAQ">자주 묻는 질문</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ko" key="IDM_UNMOUNT_VOLUME">볼륨 꺼내기</control>
|
||||
<control lang="ko" key="IDM_VERIFY_RESCUE_DISK">응급복구 디스크 검증</control>
|
||||
<control lang="ko" key="IDM_VERSION_HISTORY">버전 히스토리</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="ko" key="IDM_VOLUME_PROPERTIES">볼륨 속성</control>
|
||||
<control lang="ko" key="IDM_VOLUME_WIZARD">볼륨 만들기 마법사</control>
|
||||
<control lang="ko" key="IDM_WEBSITE">VeraCrypt 웹사이트</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ko" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">시스템 암호 상태를 얻는 동안 오류가 발생했습니다.</string>
|
||||
<string lang="ko" key="INIT_SYS_ENC">시스템 암호화를 위한 프로그램 구성요소를 초기화하지 못했습니다.</string>
|
||||
<string lang="ko" key="INIT_RAND">무작위 숫자 생성기를 초기화하는데 실패했습니다!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ko" key="INIT_REGISTER">프로그램을 초기화할 수 없습니다. 다이얼로그 클래스 등록에 실패했습니다.</string>
|
||||
<string lang="ko" key="INIT_RICHEDIT">오류: Rich Edit 시스템 라이브러리를 로드하는데 실패했습니다.</string>
|
||||
<string lang="ko" key="INTRO_TITLE">VeraCrypt 볼륨 만들기 마법사</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ko" key="MOUNT_BUTTON">삽입(&M)</string>
|
||||
<string lang="ko" key="NEW_VERSION_REQUIRED">이 볼륨을 삽입하려면 최신 버전의 VeraCrypt가 필요합니다.</string>
|
||||
<string lang="ko" key="VOL_CREATION_WIZARD_NOT_FOUND">오류: 볼륨 만들기 마법사를 찾을 수 없습니다.\n\n“VeraCrypt.exe”가 실행된 폴더에서 “VeraCrypt Format.exe” 파일을 찾아보시기 바랍니다. 만약 없으면 VeraCrypt를 다시 설치하거나, 디스크에서 “VeraCrypt Format.exe” 파일의 위치를 지정한 실행하세요.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ko" key="NEXT">다음(&N) ></string>
|
||||
<string lang="ko" key="FINALIZE">마침(&F)</string>
|
||||
<string lang="ko" key="INSTALL">설치(&I)</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="ko" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">주의: 시스템 파티션과 그 뒤에 있는 첫번쩨 파티션 사이에 할당되지 않은 공간이 있습니다. 숨긴 운영체제를 생성한 후에, 이러한 미할당 공간에 새로운 파티션을 만들어선 안됩니다. 그렇지 않으면 (새롭게 만들어진 파티션을 제거하기 전까지는) 숨긴 운영체제로 부팅을 할 수 없게 됩니다.</string>
|
||||
<string lang="ko" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">이 알고리듬은 현재 시스템 암호화에 지원되지 않습니다.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="ko" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">키파일이 현재 시스템 암호화에서 지원되지 않습니다.</string>
|
||||
<string lang="ko" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">주의: VeraCrypt가 원래의 키보드 레이아웃을 복구할 수 없습니다. 이 경우 비밀번호를 올바르게 입력할 수 없을지도 모릅니다.</string>
|
||||
<string lang="ko" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">오류: VeraCrypt 키보드 레이아웃을 표준 US 키보드 레이아웃에 설정할 수 없습니다.\n\n(윈도우 시작 전에) US가 아닌 윈도우 키보드 레이아웃을 사용할 수 없는 부팅-전 환경에서 비밀번호를 입력할 필요가 있다는 것을 참고하세요. 그래서 표준 US 키보드 레이아웃을 사용해서 항상 비밀번호를 입력해야 합니다.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="lv" name="Latviešu" en-name="Latvian" version="0.1.0" translators="Edmunds Melkers" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Display password</control>
|
||||
<control lang="lv" key="IDC_TRAVEL_OPEN_EXPLORER">Atvērt uzstādīto apgabalu Explorer logā</control>
|
||||
<control lang="lv" key="IDC_TRAV_CACHE_PASSWORDS">Ierakstīt paroles dziņa kešatmiņā</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="lv" key="IDC_UNMOUNTALL">&Demontēt visus</control>
|
||||
<control lang="lv" key="IDC_VOLUME_PROPERTIES">&Apgabala īpašības...</control>
|
||||
<control lang="lv" key="IDC_VOLUME_TOOLS">Apgabala rīki...</control>
|
||||
<control lang="lv" key="IDC_WIPE_CACHE">Izdzēst kešatmiņu</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="lv" key="IDD_HOTKEYS_DLG">VeraCrypt - sistēmas līmeņa karstie taustiņi</control>
|
||||
<control lang="lv" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="lv" key="IDM_CREATE_VOLUME">Izveidot jaunu apgabalu...</control>
|
||||
<control lang="lv" key="IDM_DEFAULT_KEYFILES">Noklusētās atslēgdatnes...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="lv" key="IDM_FAQ">Bieži uzdotie jautājumi</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="lv" key="IDM_UNMOUNT_VOLUME">Demontēt apgabalu</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="lv" key="IDM_VERSION_HISTORY">Versijas vēsture</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="lv" key="IDM_VOLUME_PROPERTIES">Apgabala īpšības</control>
|
||||
<control lang="lv" key="IDM_VOLUME_WIZARD">Apgabala izveidošanas vednis</control>
|
||||
<control lang="lv" key="IDM_WEBSITE">VeraCrypt mājaslapa</control>
|
||||
@@ -521,7 +525,8 @@
|
||||
<string lang="en" key="CONFIRM_RESTART">Your computer must be restarted.\n\nDo you want to restart it now?</string>
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="lv" key="INTRO_TITLE">VeraCrypt apgabala izveidošanas vednis</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="lv" key="MOUNT_BUTTON">Uzstādīt izvēlēto</string>
|
||||
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="lv" key="NEXT">Nākamais ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="my" name="မြန်မာ" en-name="Burmese" version="1.0.0" translators="Zaw Myo Htet" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="my" key="IDC_SHOW_PASSWORD_CHPWD_ORI">စကားဝှက် ပြရန်</control>
|
||||
<control lang="my" key="IDC_TRAVEL_OPEN_EXPLORER">အစပျိုးထားသော volume အတွက် Explorer ၀င်းဒိုး ဖွင့်ရန်</control>
|
||||
<control lang="my" key="IDC_TRAV_CACHE_PASSWORDS">ဒရိုင်ဘာ မှတ်ဉာဏ်ထဲရှိ ယာယီ စကားဝှက်</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="my" key="IDC_UNMOUNTALL">အားလုံးကို အဆုံးသတ်ရန်</control>
|
||||
<control lang="my" key="IDC_VOLUME_PROPERTIES">Volume ဂုဏ်အင်္ဂါရပ်များ...</control>
|
||||
<control lang="my" key="IDC_VOLUME_TOOLS">Volume ကိရိယာများ...</control>
|
||||
<control lang="my" key="IDC_WIPE_CACHE">ယာယီဖိုင်များကို ရှင်းလင်းရန်</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="my" key="IDD_FAVORITE_VOLUMES">VeraCrypt - စိတ်ကြိုက် Volumes များ</control>
|
||||
<control lang="my" key="IDD_HOTKEYS_DLG">VeraCrypt - စက်သုံး အထူး ကီးများ</control>
|
||||
<control lang="my" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="my" key="IDM_CREATE_RESCUE_DISK">ကယ်ဆယ်ရေး Disk ဖန်တီးရန်...</control>
|
||||
<control lang="my" key="IDM_CREATE_VOLUME">Volume အသစ် ဖန်တီးရန်...</control>
|
||||
<control lang="my" key="IDM_DEFAULT_KEYFILES">မူလ ကီးဖိုင်များ...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="my" key="IDM_DONATE">ယခု လှူဒါန်းရန်...</control>
|
||||
<control lang="my" key="IDM_ENCRYPT_SYSTEM_DEVICE">ကွန်ပျူတာ အခန်းကန့်/Drive ကို စာဝှက်ရန်...</control>
|
||||
<control lang="my" key="IDM_FAQ">မေးလေ့ရှိသော မေခွန်းများ</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="my" key="IDM_UNMOUNT_VOLUME">Volume အဆုံးသတ်ရန်</control>
|
||||
<control lang="my" key="IDM_VERIFY_RESCUE_DISK">ကယ်ဆယ်ရေး Disk စစ်ဆေးရန်</control>
|
||||
<control lang="my" key="IDM_VERSION_HISTORY">ဗားရှင်း မှတ်တမ်း</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="my" key="IDM_VOLUME_PROPERTIES">Volume ဂုဏ်အင်္ဂါရပ်များ</control>
|
||||
<control lang="my" key="IDM_VOLUME_WIZARD">Volume ဖန်တီးမှု အညွှန်း</control>
|
||||
<control lang="my" key="IDM_WEBSITE">VeraCrypt ကွန်ရက် စာမျက်နှာ</control>
|
||||
@@ -523,6 +527,7 @@
|
||||
<string lang="my" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">ကွန်ပျူတာစနစ်၏ စာဝှက်ခြင်း အနေအထားကို ရယူနေစဉ် ချို့ယွင်းချက် တစ်ခု ဖြစ်ပေါ်နေသည်။</string>
|
||||
<string lang="my" key="INIT_SYS_ENC">ကွန်ပျူတာစနစ် စာဝှက်ရန်အတွက် အပ္ပလီကေးရှင်း အစိတ်အပိုင်းများကို အစပြု၍ မရပါ။</string>
|
||||
<string lang="my" key="INIT_RAND">ကျပန်း နံပါတ် ထုတ်စနစ်ကို အစပြု၍ မရပါ။</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="my" key="INIT_REGISTER">အပ္ပလီကေးရှင်းကို အစပြု၍ မရပါ။ Dialog class ကို မှတ်ပုံတင်ရန် မအောင်မြင်ပါ။</string>
|
||||
<string lang="my" key="INIT_RICHEDIT">ချို့ယွင်းချက် - Rich Edit စနစ် လိုင်ဘရာရီကို ဖွင့်မရပါ။</string>
|
||||
<string lang="my" key="INTRO_TITLE">VeraCrypt Volume ဖန်တီးမှု အညွှန်း</string>
|
||||
@@ -535,6 +540,7 @@
|
||||
<string lang="my" key="MOUNT_BUTTON">&အစပျိုးပါ</string>
|
||||
<string lang="my" key="NEW_VERSION_REQUIRED">ဤ volume ကို အစပျိုးရန် VeraCrypt ဗားရှင်း အသစ် လိုအပ်သည်။</string>
|
||||
<string lang="my" key="VOL_CREATION_WIZARD_NOT_FOUND">ချို့ယွင်းချက် - Volume ဖန်တီးခြင်း အညွှန်းကို ရှာမတွေ့ပါ။\n\nဖိုင်တွဲထဲ၌ 'VeraCrypt Format.exe' ရှိရမည် ဖြစ်ပြီး၊ ၄င်းဖိုင်တွဲမှာ 'VeraCrypt.exe' ကို ဖွင့်ရမည် ဖြစ်သည်။ အကယ်၍ မရှိခဲ့လျှင် VeraCrypt ကို ဖက်ထဲ ထပ်မထည့်သွင်းပါ၊ (သို့) သင့် disk တွင် 'VeraCrypt Format.exe' ကို ရှာပြီး ၄င်းကို ဖွင့်ပါ။</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="my" key="NEXT">&ရှေ့သို့ ></string>
|
||||
<string lang="my" key="FINALIZE">&ပြီးသွားပြီ</string>
|
||||
<string lang="my" key="INSTALL">စက်ထဲ ထည့်သွင်းရန်</string>
|
||||
@@ -1035,6 +1041,8 @@
|
||||
<string lang="my" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nအပို boot အခန်းကန့်ကို Windows မထည့်သွင်းမီ ဖယ်ရှားနိုင်သည်။ ထိုသို့ ပြုလုပ်ရန်၊ အောက်ပါ အဆင့်များကို လိုက်နာပါ -\n\n၁) Windows အခွေကို ဖွင့်ပါ။\n\n၂) Windows ထည့်သွင်းစနစ် မျက်နှာပြင်၌၊ 'Install now' > 'Custom (advanced)' ကို နှိပ်ပါ။\n\n၃) 'Drive Options' ကို နှိပ်ပါ။\n\n၄) ပင်မ ကွန်ပျူတာစနစ် အခန်းကန့်ကို ရွေးပါ။ ၄င်းကို 'Delete' နှိပ်ပြီး 'OK' နှိပ်ပါ။\n\n၅) 'System Reserved' အခန်းကန့်ကို ရွေးပြီး၊ 'Extend' ကို နှိပ်ပါ။ OS စနစ် ထည့်သွင်းမည့် အခန်းကန့် အရွယ်အစားကို တိုးမြှင့်လိုက်ပါ။\n\n၆) 'Apply' နှင့် 'OK' ကို နှိပ်ပါ။\n\n၇) Windows ကို 'System Reserved' အခန်းကန့်၌ ထည့်သွင်းပါ။\n\n\nရန်သူက အပို boot အခန်းကန့်ကို ဖယ်ရှားရသည့် အကြောင်းရင်းကို မေးသည့်အခါ၊ သင့်အနေဖြင့် စာဝှက်မထားသော boot အခန်းကန့်ထဲ၌ ဒေတာ ယိုဖိတ်မှု မရှိစေရန် လုပ်ဆောင်ခြင်း ဖြစ်ကြောင်း ဖြေကြားနိုင်သည်။\n\nမှတ်ချက် - ဤစာတမ်းကို အောက်မှ 'Print' ခလုတ် နှိပ်ပြီး ပရင့်ထုတ်နိုင်သည်။ အကယ်၍ ဤစာတမ်းကို သိမ်းထားသည် ဖြစ်စေ၊ ပရင့်ထုတ်သည့် ဖြစ်စေ (သင့်ပရင်တာသည် ၄င်းပရင့်ထုတ်ထားသော မှတ်တမ်းမှတ်ရာများကို ၄င်း၏ အတွင်း drive ထဲ၌ သိမ်းဆည်းမထားပါက)၊ အပို boot အခန်းကန့် (အကယ်၍ ယင်းကော်ပီကို တွေ့ခဲ့လျှင်၊ ဤကွန်ပျူတာ၌ လျှို့ဝှက် OS စနစ် တစ်ခု ရှိနေကြောင်း ညွှန်ပြနေမည် ဖြစ်သည်) ကို ဖယ်ရှားပြီးသည့်အခါ ၄င်းကော်ပီးများကို ဖျက်ဆီးပစ်ရမည် ဖြစ်သည်။</string>
|
||||
<string lang="my" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">သတိပေးချက် - ကွန်ပျူတာစနစ် အခန်းကန့်နှင့် ပထမ အခန်းကန့်တို့ အကြား၌ မသတ်မှတ်ရသေးသော နေရာရှိသည်။ လျှို့ဝှက် OS စနစ်ကို ဖန်တီးပြီးသောအခါ၊ ယင်း မသတ်မှတ်ရသေးသော နေရာ၌ အခန်းကန့်အသစ် မဖန်တီးရ။ သို့မဟုတ်ပါက၊ (ယင်းကဲ့သို့ အသစ် ဖန်တီးလိုက်သော အခန်းကန့်များကို မဖျက်မချင်း) လျှို့ဝှက် OS စနစ်ကို ဖွင့်၍ မရ ဖြစ်သွားနိုင်သည်။</string>
|
||||
<string lang="my" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">ဤအယ်လဂိုရီသမ်၌ လောလောဆယ် ကွန်ပျူတာစနစ် စာဝှက်ခြင်းအတွက် ထောက်ပံ့မပေးပါ။</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="my" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">ကီးဖိုင်များသည် လောလောဆယ် ကွန်ပျူတာစနစ် စာဝှက်ခြင်းအတွက် ထောက်ပံ့မပေးပါ။</string>
|
||||
<string lang="my" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">သတိပေးချက် - VeraCrypt သည် မူရင်း ကီးဘုတ် လေးအောက်ကို နဂိုအတိုင်း ပြန်မထားနိုင်ပါ။ ဤအချက်ကြောင့် စကားဝှက်ကို မှားယွင်းစွာ ရေးထည့်မိနိုင်သည်။</string>
|
||||
<string lang="my" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">ချို့ယွင်းချက် - VeraCrypt အတွက် ကီးဘုတ် လေးအောက်ကို standard US ကီးဘုတ် လေးအောက် အဖြစ် သတ်မှတ်၍ မရပါ။\n\n US စနစ် မဟုတ်သော ဝင်းဒိုး ကီးဘုတ် လေးအောက် မရနိုင်သည့် နေရာ၌ စက်မတက်ခင် အခြေအနေ (ကွန်ပျူတာ မတက်မီ) တွင် စကားဝှက်ကို ရေးထည့်ရန် လိုအပ်သည်။ ထို့ကြာင့်၊ စကားဝှက်ကို ဝှက်စာကို standard US ကီးဘုတ် လေးအောက် သုံးပြီး အမြဲတမ်း ရေးထည့်ရမည်။</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="nl" name="Nederlands" en-name="Dutch" version="0.1.0" translators="Jan van der Wal" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="nl" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Toon wachtwoord</control>
|
||||
<control lang="nl" key="IDC_TRAVEL_OPEN_EXPLORER">Open &Explorer venster voor gekoppeld volume</control>
|
||||
<control lang="nl" key="IDC_TRAV_CACHE_PASSWORDS">&Cache wachtwoorden in programmageheugen</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="nl" key="IDC_UNMOUNTALL">O&ntkoppel Alles</control>
|
||||
<control lang="nl" key="IDC_VOLUME_PROPERTIES">Volume &Eigenschappen</control>
|
||||
<control lang="nl" key="IDC_VOLUME_TOOLS">Vol&ume Tools</control>
|
||||
<control lang="nl" key="IDC_WIPE_CACHE">&Wis Cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="nl" key="IDD_HOTKEYS_DLG">VeraCrypt - Sneltoetsen</control>
|
||||
<control lang="nl" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="nl" key="IDM_CREATE_RESCUE_DISK">Maak Reddingsschijf aan</control>
|
||||
<control lang="nl" key="IDM_CREATE_VOLUME">Volume Aanmaak Wizard</control>
|
||||
<control lang="nl" key="IDM_DEFAULT_KEYFILES">Creëer Standaard Sleutelbestanden</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="nl" key="IDM_ENCRYPT_SYSTEM_DEVICE">Codeer Systeem Partitie/Schijf</control>
|
||||
<control lang="nl" key="IDM_FAQ">Veel Gestelde Vragen</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="nl" key="IDM_UNMOUNT_VOLUME">Ontkoppel Volume</control>
|
||||
<control lang="nl" key="IDM_VERIFY_RESCUE_DISK">Controleer Reddingsschijf</control>
|
||||
<control lang="nl" key="IDM_VERSION_HISTORY">Versie Geschiedenis</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="nl" key="IDM_VOLUME_PROPERTIES">Volume Eigenschappen</control>
|
||||
<control lang="nl" key="IDM_VOLUME_WIZARD">Volume Aanmaak Wizard</control>
|
||||
<control lang="nl" key="IDM_WEBSITE">VeraCrypt Website</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="nl" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Er trad een fout op tijdens een poging de systeem codeer status op te halen.</string>
|
||||
<string lang="nl" key="INIT_SYS_ENC">Applicatie componenten voor systeem codering kunnen niet geïnitialiseerd worden.</string>
|
||||
<string lang="nl" key="INIT_RAND">Het programma heeft de initialisatie van de random nummer generator niet kunnen voltooien!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="nl" key="INIT_REGISTER">Het programma heeft de initialisatie niet kunnen voltooien. Het registreren van de 'Dialog Class' is mislukt.</string>
|
||||
<string lang="nl" key="INIT_RICHEDIT">Fout: Laden van Rich Edit systeem library mislukt.</string>
|
||||
<string lang="nl" key="INTRO_TITLE">VeraCrypt Volume Aanmaak Wizard</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="nl" key="MOUNT_BUTTON">Koppe&l</string>
|
||||
<string lang="nl" key="NEW_VERSION_REQUIRED">Een nieuwere versie van VeraCrypt is vereist om dit volume te kunnen koppelen.</string>
|
||||
<string lang="nl" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Aanmaak Wizard niet gevonden.\n\nOvertuig u ervan dat het bestand 'VeraCrypt Format.exe' zich in de map bevindt waaruit ook 'VeraCrypt.exe' werd gestart. Als dit niet het geval is, herinstalleer dan VeraCrypt, of zoek 'VeraCrypt Format.exe' op uw schijf en start het.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="nl" key="NEXT">Vol&gende ></string>
|
||||
<string lang="nl" key="FINALIZE">&Beëindig</string>
|
||||
<string lang="nl" key="INSTALL">I&nstalleer</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="nl" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">WAARSCHUWING: Er is niet-toegewezen ruimte aanwezig tussen de systeem partitie en de eerste partitie daar achter. Na aanmaken van het verborgen operating systeem (OS) mag u geen partitie meer maken in deze ruimte, anders zal het verborgen OS systeem niet meer te starten zijn (totdat u deze partitie weer verwijdert).</string>
|
||||
<string lang="nl" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Dit algoritme wordt momenteel niet ondersteund voor systeem codering.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="nl" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Sleutelbestanden zijn niet ondersteund bij systeemcodering.</string>
|
||||
<string lang="nl" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Waarschuwing: VeraCrypt kon de originele toetsenbord lay-out niet terugzetten. Dit zou ertoe kunnen leiden dat u een wachtwoord verkeerd ingeeft.</string>
|
||||
<string lang="nl" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Fout: Kan de toetsenbord indeling voor VeraCrypt niet instellen op de standaard (US) toetsenbord indeling.\n\nMerk op dat het wachtwoord ingetypt moet worden in de pre-boot omgeving (voor Windows start) waar niet-standaard (US) Windows toetsenbord indelingen niet beschikbaar zijn. Daarom moet het wachtwoord altijd worden ingetypt met gebruik van de standaard (US) toetsenbord indeling.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="nn" name="Norsk Nynorsk" en-name="Norwegian (Nynorsk)" version="0.1.0" translators="Kjell Rune Helland" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="nn" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Vis passord</control>
|
||||
<control lang="nn" key="IDC_TRAVEL_OPEN_EXPLORER">Opne Utforskar vindauga for montert volum</control>
|
||||
<control lang="nn" key="IDC_TRAV_CACHE_PASSWORDS">&snøgglagra passord i drivar minne</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="nn" key="IDC_UNMOUNTALL">Avmonter Alle</control>
|
||||
<control lang="nn" key="IDC_VOLUME_PROPERTIES">&Volum Eigenskapar...</control>
|
||||
<control lang="nn" key="IDC_VOLUME_TOOLS">Volum Verktøy...</control>
|
||||
<control lang="nn" key="IDC_WIPE_CACHE">&Slett Snøgglager</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="nn" key="IDD_HOTKEYS_DLG">VeraCrypt - System snøgg tastar</control>
|
||||
<control lang="nn" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="nn" key="IDM_CREATE_VOLUME">Lag nytt Volum...</control>
|
||||
<control lang="nn" key="IDM_DEFAULT_KEYFILES">Standard Nøkkelfiler...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="nn" key="IDM_FAQ">Ofte Stilte Spørsmål</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="nn" key="IDM_UNMOUNT_VOLUME">Avmonter Volum</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="nn" key="IDM_VERSION_HISTORY">Versjons Historie</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="nn" key="IDM_VOLUME_PROPERTIES">Volum Eigenskapar</control>
|
||||
<control lang="nn" key="IDM_VOLUME_WIZARD">Volum Oppretting Vegvisar</control>
|
||||
<control lang="nn" key="IDM_WEBSITE">VeraCrypt Heimeside</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="nn" key="INIT_RAND">Klarte ikkje å initialisera den tilfeldige nummer generatoren!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="nn" key="INIT_REGISTER">Kunne ikkje initialisera programmet. Klarte ikkje å registrera Dialog klassen.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="nn" key="INTRO_TITLE">VeraCrypt Volum Opprettings Vegvisar</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="nn" key="MOUNT_BUTTON">Monter</string>
|
||||
<string lang="nn" key="NEW_VERSION_REQUIRED">Ein nyare versjon av VeraCrypt er nødvendig for å montera dette volumet.</string>
|
||||
<string lang="nn" key="VOL_CREATION_WIZARD_NOT_FOUND">Feil: Volum Opprettings Vegvisar vart ikkje funnen.\n\nSjekk att fila 'VeraCrypt Format.exe' er i same mappe som 'VeraCrypt.exe' vart starta i. Viss den ikkje er der, må du ominstallera VeraCrypt eller finna 'VeraCrypt Format.exe' på hardisken din</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="nn" key="NEXT">&Neste ></string>
|
||||
<string lang="nn" key="FINALIZE">&Avslutting</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="pl" name="Polski" en-name="Polish" version="1.0.0" translators="Mirek Druchowicz, Janusz Zamecki, Sobiesław Antolak, Begina Felicysym" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="pl" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Wyświetl hasło</control>
|
||||
<control lang="pl" key="IDC_TRAVEL_OPEN_EXPLORER">Otwórz okno &Eksploratora dla podłączonego wolumenu</control>
|
||||
<control lang="pl" key="IDC_TRAV_CACHE_PASSWORDS">&Przechowuj hasło w pamięci sterownika</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="pl" key="IDC_UNMOUNTALL">Odłącz w&szystko</control>
|
||||
<control lang="pl" key="IDC_VOLUME_PROPERTIES">Właściwośc&i wolumenu...</control>
|
||||
<control lang="pl" key="IDC_VOLUME_TOOLS">&Narzędzia wolumenu...</control>
|
||||
<control lang="pl" key="IDC_WIPE_CACHE">Wyczyść pamięć &haseł</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="pl" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Ulubione Woluminy</control>
|
||||
<control lang="pl" key="IDD_HOTKEYS_DLG">VeraCrypt - Systemowe skróty klawiaturowe</control>
|
||||
<control lang="pl" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="pl" key="IDM_CREATE_RESCUE_DISK">Utwórz płytę ratunkową...</control>
|
||||
<control lang="pl" key="IDM_CREATE_VOLUME">Utwórz nowy wolumen...</control>
|
||||
<control lang="pl" key="IDM_DEFAULT_KEYFILES">Domyślne pliki kluczowe...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="pl" key="IDM_DONATE">Dotuj teraz...</control>
|
||||
<control lang="pl" key="IDM_ENCRYPT_SYSTEM_DEVICE">Szyfruj partycję/dysk systemowy...</control>
|
||||
<control lang="pl" key="IDM_FAQ">Odpowiedzi na często zadawane pytania (FAQ)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="pl" key="IDM_UNMOUNT_VOLUME">Odłącz wolumen</control>
|
||||
<control lang="pl" key="IDM_VERIFY_RESCUE_DISK">Sprawdź płytę ratunkową</control>
|
||||
<control lang="pl" key="IDM_VERSION_HISTORY">Historia wersji</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="pl" key="IDM_VOLUME_PROPERTIES">Właściwości wolumenu</control>
|
||||
<control lang="pl" key="IDM_VOLUME_WIZARD">Kreator wolumenu</control>
|
||||
<control lang="pl" key="IDM_WEBSITE">Strona WWW programu VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="pl" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Wystąpił błąd podczas pobierania statusu szyfrowania systemu. </string>
|
||||
<string lang="pl" key="INIT_SYS_ENC">Nie można zainicjować komponentów aplikacji dla szyfrowania systemu.</string>
|
||||
<string lang="pl" key="INIT_RAND">Błąd inicjowania generatora liczb losowych!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="pl" key="INIT_REGISTER">Nie można zainicjować aplikacji. Błąd rejestracji klasy okna dialogowego.</string>
|
||||
<string lang="pl" key="INIT_RICHEDIT">BŁĄD: Nie można załadować systemowej biblioteki edytora Rich Edit.</string>
|
||||
<string lang="pl" key="INTRO_TITLE">Kreator tworzenia wolumenów VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="pl" key="MOUNT_BUTTON">&Podłącz</string>
|
||||
<string lang="pl" key="NEW_VERSION_REQUIRED">Do podłączenia tego wolumenu jest wymagana nowsza wersja programu VeraCrypt.</string>
|
||||
<string lang="pl" key="VOL_CREATION_WIZARD_NOT_FOUND">Błąd: Nie znaleziono kreatora wolumenów VeraCrypt.\n\nUpewnij się, że plik 'VeraCrypt Format.exe' znajduje się w katalogu, z którego uruchomiono 'VeraCrypt.exe'. Jeśli nie, ponownie zainstaluj program VeraCrypt lub znajdź program 'VeraCrypt Format.exe' na dysku i uruchom go.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="pl" key="NEXT">&Dalej ></string>
|
||||
<string lang="pl" key="FINALIZE">&Zakończ</string>
|
||||
<string lang="pl" key="INSTALL">&Zainstaluj</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="pl" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nOsobna boot partycja może zostać usunięta przed instalacją Windows. Aby to zrobić wykonaj następujące kroki:\n\n1) Uruchom dysk instalacyjny Windows.\n\n2) Na ekranie instalatora Windows, wciśnij 'Instaluj teraz' > 'Użytkownika (zaawansowane)'.\n\n3) Wciśnij 'Opcje Dysku'.\n\n4) Wybierz podstawową partycję systemową i usuń ją wciskając 'Delete' i 'OK'.\n\n5) Wybierz partycję 'System Reserved', wciśnij 'Rozszerz' i zwiększ jej rozmiar tak by można było zainstalować na niej.\n\n6) Wciśnij 'Zastosuj' i 'OK'.\n\n7) Zainstaluj Windows na partycji 'System Reserved'.\n\n\nNapastnik może cię spytać, dlaczego usunąłeś the osobną boot partycję, możesz odpowiedzieć, że chciałeś zapobiec możliwym wyciekom danych przez niezaszyfrowaną partycję uruchomieniową.\n\nUwaga: Możesz wydrukować ten tekst wciskając przycisk 'Drukuj' poniżej. Jeśli zachowasz ten tekst lub go wydrukujesz (gorąco sugerowane, chyba że drukarka zapisuje kopie drukowanych dokumentów na wewnętrznym dysku twardym), powinieneś zniszczyć wszystkie jego kopie po usunięciu osobnej boot partycji (w przeciwnym razie, jeśli taka kopia zostanie znaleziona, może wskazywać że zainstalowano ukryty system operacyjny na komputerze).</string>
|
||||
<string lang="pl" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">UWAGA: Istnieje niezalokowane miejsce pomiędzy partycją systemową i pierwszą partycją za partycją systemową. Po stworzeniu ukrytego systemu operacyjnego nie mżesz tworzyć nowych partycji w niezaalokowanym miejscu. Inaczej zabootowanie ukrytego systemu operacyjnego może być niemożliwe (dopóki nie skasujesz nowo stworzonej partycji).</string>
|
||||
<string lang="pl" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Ten algorytm nie jest obecnie obsługiwany do szyfrowania systemu.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="pl" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Pliki kluczowe nie są obecnie obsługiwane/wspierane do szyfrowania systemu.</string>
|
||||
<string lang="pl" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Ostrzeżenie: Program VeraCrypt nie mógł odtworzyć oryginalnych ustawień klawiatury. To może spowodować błędne wprowadzenie hasła.</string>
|
||||
<string lang="pl" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Błąd: Nie można ustawić trybu klawiatury dla VeraCrypt na układ USA.\n\nHasło będzie wprowadzane w środowisku PRZED uruchomieniem systemu Windows, gdzie inne niż standardowy układy klawiatury nie są dostępne. Dlatego, hasło MUSI być zawsze wprowadzane przy użyciu standardowego układu klawiatury USA.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="pt-br" name="Português-Brasil" en-name="Portuguese (Brazil)" version="0.1.0" translators="Thiago C. L. Mendes, Lecidio S. Alencar , Lucas C. Ferreira" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="pt-br" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Mostrar senha</control>
|
||||
<control lang="pt-br" key="IDC_TRAVEL_OPEN_EXPLORER">Abrir janela do &Explorer para os volumes montados</control>
|
||||
<control lang="pt-br" key="IDC_TRAV_CACHE_PASSWORDS">Armazenar as senhas na memória da unidade</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="pt-br" key="IDC_UNMOUNTALL">De&smontar Todos</control>
|
||||
<control lang="pt-br" key="IDC_VOLUME_PROPERTIES">Propriedades do &Volume</control>
|
||||
<control lang="pt-br" key="IDC_VOLUME_TOOLS">Ferramen&tas do Volume</control>
|
||||
<control lang="pt-br" key="IDC_WIPE_CACHE">&Limpar Cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="pt-br" key="IDD_HOTKEYS_DLG">VeraCrypt - Atalhos</control>
|
||||
<control lang="pt-br" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="pt-br" key="IDM_CREATE_RESCUE_DISK">Criar Disco de Emergência...</control>
|
||||
<control lang="pt-br" key="IDM_CREATE_VOLUME">Criar Novo Volume...</control>
|
||||
<control lang="pt-br" key="IDM_DEFAULT_KEYFILES">Arquivos-chave padrão...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="pt-br" key="IDM_ENCRYPT_SYSTEM_DEVICE">Criptografar Unidade/Partição de Sistema...</control>
|
||||
<control lang="pt-br" key="IDM_FAQ">Perguntas Frequentes</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="pt-br" key="IDM_UNMOUNT_VOLUME">Desmontar Volume</control>
|
||||
<control lang="pt-br" key="IDM_VERIFY_RESCUE_DISK">Verificar Disco de Emergência</control>
|
||||
<control lang="pt-br" key="IDM_VERSION_HISTORY">Histórico de Versões</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="pt-br" key="IDM_VOLUME_PROPERTIES">Propriedades do Volume</control>
|
||||
<control lang="pt-br" key="IDM_VOLUME_WIZARD">Assistente de Criação de Volume</control>
|
||||
<control lang="pt-br" key="IDM_WEBSITE">Website do VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="pt-br" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ocorreu um erro ao obter o estado de criptografia do sistema.</string>
|
||||
<string lang="pt-br" key="INIT_SYS_ENC">Não foi possível iniciar componentes do programa de criptografia do sistema.</string>
|
||||
<string lang="pt-br" key="INIT_RAND">Falha ao iniciar o gerador de números aleatórios!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="pt-br" key="INIT_REGISTER">Não foi possível iniciar a aplicação. Falha ao registrar a classe 'Dialog'.</string>
|
||||
<string lang="pt-br" key="INIT_RICHEDIT">Erro: Falha ao carregar a biblioteca de sistema Rich Edit.</string>
|
||||
<string lang="pt-br" key="INTRO_TITLE">Criação de Volume VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="pt-br" key="MOUNT_BUTTON">&Montar</string>
|
||||
<string lang="pt-br" key="NEW_VERSION_REQUIRED">Uma versão mais recente do VeraCrypt é necessária para montar este disco.</string>
|
||||
<string lang="pt-br" key="VOL_CREATION_WIZARD_NOT_FOUND">Erro: O Assistente de Criação de Disco não foi encontrado.\n\nFavor certifique-se de que o arquivo 'VeraCrypt Format.exe' está na pasta de onde o VeraCrypt foi executado. Caso contrário, reinstale o VeraCrypt ou localize o arquivo 'VeraCrypt Format.exe' no seu sistema e execute-o.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="pt-br" key="NEXT">&Avançar ></string>
|
||||
<string lang="pt-br" key="FINALIZE">&Concluir</string>
|
||||
<string lang="pt-br" key="INSTALL">&Instalar</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="pt-br" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Aviso: Há espaço não alocado entre a partição de sistema e a primeira partição depois dela. Depois de criar o sistema operacional oculto, você não deve criar novas partições nesse espaço não alocado. Caso contrário, o sistema operacional oculto será impossibilitado de inicializar (até você excluir essas recém-criadas partições).</string>
|
||||
<string lang="pt-br" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Este algoritmo não é suportado para criptografia de sistema.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="pt-br" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Arquivos-chave atualmente não são suportados para criptografia do sistema.</string>
|
||||
<string lang="pt-br" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Aviso: O VeraCrypt não conseguiu restaurar o layout original do teclado. Isto poderá fazê-lo digitar a senha incorretamente.</string>
|
||||
<string lang="pt-br" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Erro: Não foi possível configurar o layout do teclado para o VeraCrypt como layout Estados Unidos (Internacional).\n\nLembre que a senha precisa ser digitada em ambiente pré-boot (antes de o Windows iniciar) onde layouts não-Windows Estados Unidos (Internacional) não estão disponíveis. Por isso, a senha deve ser digitada sempre usando o layout Estados Unidos (Internacional).</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="ru" name="Русский" en-name="Russian" version="1.0.0" translators="Dmitry Yerokhin" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="ru" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Показ пароля</control>
|
||||
<control lang="ru" key="IDC_TRAVEL_OPEN_EXPLORER">&Открыть смонтированный том в окне Проводника</control>
|
||||
<control lang="ru" key="IDC_TRAV_CACHE_PASSWORDS">&Кэшировать пароль в памяти драйвера</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="ru" key="IDC_UNMOUNTALL">&Размонтировать все</control>
|
||||
<control lang="ru" key="IDC_VOLUME_PROPERTIES">Сво&йства тома...</control>
|
||||
<control lang="ru" key="IDC_VOLUME_TOOLS">О&перации с томами</control>
|
||||
<control lang="ru" key="IDC_WIPE_CACHE">О&чистить кэш</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="ru" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Избранные тома</control>
|
||||
<control lang="ru" key="IDD_HOTKEYS_DLG">VeraCrypt - Общесистемные горячие клавиши</control>
|
||||
<control lang="ru" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="ru" key="IDM_CREATE_RESCUE_DISK">Создать диск восстановления...</control>
|
||||
<control lang="ru" key="IDM_CREATE_VOLUME">Создать новый том...</control>
|
||||
<control lang="ru" key="IDM_DEFAULT_KEYFILES">Ключевые файлы по умолчанию...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="ru" key="IDM_DONATE">Помочь...</control>
|
||||
<control lang="ru" key="IDM_ENCRYPT_SYSTEM_DEVICE">Зашифровать системный раздел/диск...</control>
|
||||
<control lang="ru" key="IDM_FAQ">Часто задаваемые вопросы</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="ru" key="IDM_UNMOUNT_VOLUME">Размонтировать том</control>
|
||||
<control lang="ru" key="IDM_VERIFY_RESCUE_DISK">Проверить диск восстановления</control>
|
||||
<control lang="ru" key="IDM_VERSION_HISTORY">История версий</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="ru" key="IDM_VOLUME_PROPERTIES">Свойства тома</control>
|
||||
<control lang="ru" key="IDM_VOLUME_WIZARD">Мастер создания томов</control>
|
||||
<control lang="ru" key="IDM_WEBSITE">Сайт VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="ru" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ошибка получения состояния системного шифрования.</string>
|
||||
<string lang="ru" key="INIT_SYS_ENC">Невозможно инициализировать компоненты приложения для системного шифрования.</string>
|
||||
<string lang="ru" key="INIT_RAND">Ошибка инициализации генератора случайных чисел.</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="ru" key="INIT_REGISTER">Ошибка инициализации приложения. Невозможно зарегистрировать класс Dialog.</string>
|
||||
<string lang="ru" key="INIT_RICHEDIT">Ошибка загрузки системной библиотеки Rich Edit.</string>
|
||||
<string lang="ru" key="INTRO_TITLE">Мастер создания томов VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="ru" key="MOUNT_BUTTON">С&монтировать</string>
|
||||
<string lang="ru" key="NEW_VERSION_REQUIRED">Для монтирования этого тома требуется более новая версия VeraCrypt.</string>
|
||||
<string lang="ru" key="VOL_CREATION_WIZARD_NOT_FOUND">Ошибка! Не найден мастер создания томов.\n\nПроверьте, имеется ли в папке, откуда был запущен файл 'VeraCrypt.exe', файл 'VeraCrypt Format.exe'. Если его там нет, переустановите VeraCrypt или найдите на жёстком диске файл 'VeraCrypt Format.exe' и запустите его.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="ru" key="NEXT">&Далее ></string>
|
||||
<string lang="ru" key="FINALIZE">&Готово</string>
|
||||
<string lang="ru" key="INSTALL">&Установить</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="ru" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nДополнительный загрузочный раздел можно удалить до установки Windows. Для этого выполните следующие действия:\n\n1) Загрузите Windows с инсталляционного компакт-диска.\n\n2) На экране установки Windows нажмите 'Install now' > 'Custom (advanced)'.\n\n3) Нажмите 'Drive Options'.\n\n4) Выберите основной системный раздел и удалите его, нажав 'Delete' и 'OK'.\n\n5) Выберите раздел 'System Reserved', нажмите 'Extend' и увеличьте его размер в соответствии с устанавливаемой ОС.\n\n6) Нажмите 'Apply' и 'OK'.\n\n7) Установите Windows в раздел 'System Reserved'.\n\n\nЕсли неприятель спросит вас, зачем вы удалили дополнительный загрузочный раздел, вы можете ответить, что хотели предотвратить возможность утечки данных в незашифрованный загрузочный раздел.\n\n!!! Чтобы распечатать этот текст, нажмите кнопку 'Печать' ниже. Если вы сохраните или распечатаете копию этого текста (это настоятельно рекомендуется сделать, если только ваш принтер не хранит копии заданий на своём внутреннем накопителе), то после удаления дополнительного загрузочного раздела все копии данного текста следует уничтожить (иначе если такую копию обнаружат, это может навести на мысль о наличии в ПК скрытой ОС).</string>
|
||||
<string lang="ru" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Внимание! Между системным разделом и первым разделом за ним имеется нераспределённое место. После создания скрытой операционной системы вы не должны создавать в этой нераспределённой области никаких новых разделов. В противном случае скрытая ОС не сможет загрузиться (до тех пор, пока не будут удалены такие вновь созданные разделы).</string>
|
||||
<string lang="ru" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">В данный момент этот алгоритм для шифрования системы не поддерживается.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="ru" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">В настоящий момент ключевые файлы для шифрования системы не поддерживаются.</string>
|
||||
<string lang="ru" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Внимание! VeraCrypt не может восстановить первоначальную раскладку клавиатуры. Это может привести к неправильному вводу пароля.</string>
|
||||
<string lang="ru" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Ошибка! Невозможно установить раскладку клавиатуры для VeraCrypt в стандартную американскую (US).\n\nОбратите внимание, что пароль вводится ДО загрузки Windows, когда любые раскладки клавиатуры, отличающиеся от американской, ещё недоступны. Поэтому пароль всегда должен вводиться при стандартной американской раскладке.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="sk" name="Slovenčina" en-name="Slovak" version="0.1.0" translators="Kamil David" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="sk" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Zobraziť heslo</control>
|
||||
<control lang="sk" key="IDC_TRAVEL_OPEN_EXPLORER">Otvoriť okno &Prieskumníka pre pripojený zväzok</control>
|
||||
<control lang="sk" key="IDC_TRAV_CACHE_PASSWORDS">&Ukladať hesla do medzipamäte</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="sk" key="IDC_UNMOUNTALL">O&dpojiť všetko</control>
|
||||
<control lang="sk" key="IDC_VOLUME_PROPERTIES">Vlastnos&ti zväzku...</control>
|
||||
<control lang="sk" key="IDC_VOLUME_TOOLS">&Nástroje zväzku...</control>
|
||||
<control lang="sk" key="IDC_WIPE_CACHE">Vyčistiť &medzipamäť</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="sk" key="IDD_HOTKEYS_DLG">VeraCrypt - Systémové klávesové skratky</control>
|
||||
<control lang="sk" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="sk" key="IDM_CREATE_VOLUME">Vytvoriť nový zväzok...</control>
|
||||
<control lang="sk" key="IDM_DEFAULT_KEYFILES">Pôvodné (default) súborové kľúče...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="sk" key="IDM_FAQ">Často kladené otázky</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="sk" key="IDM_UNMOUNT_VOLUME">Odpojiť zväzok</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="sk" key="IDM_VERSION_HISTORY">História verzií</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="sk" key="IDM_VOLUME_PROPERTIES">Vlastnosti zväzku</control>
|
||||
<control lang="sk" key="IDM_VOLUME_WIZARD">Sprievodca vytvorením zväzku</control>
|
||||
<control lang="sk" key="IDM_WEBSITE">Domovská stránka VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="sk" key="INIT_RAND">Zlyhala inicializácia generátora náhodných čísel!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="sk" key="INIT_REGISTER">Aplikácia nemohla byť inicializovaná. Zlyhala registrácia dialógovej triedy.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="sk" key="INTRO_TITLE">Sprievodca vytvorením zväzku VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="sk" key="MOUNT_BUTTON">&Pripojiť</string>
|
||||
<string lang="sk" key="NEW_VERSION_REQUIRED">Pre pripojenia tohto oddielu je potrebné novšia verzia programu VeraCrypt.</string>
|
||||
<string lang="sk" key="VOL_CREATION_WIZARD_NOT_FOUND">Chyba: Sprievodca vytvorením zväzku nebol nájdený.\n\nUbezpečte sa prosím, že súbor 'VeraCrypt Format.exe' je v zložke, z ktorého bol 'VeraCrypt.exe' spustený. Pokiaľ nie je, preinštalujte prosím VeraCrypt alebo nájdite 'VeraCrypt Format.exe' na Vašom disku a spustite ho.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="sk" key="NEXT">&Ďalší ></string>
|
||||
<string lang="sk" key="FINALIZE">&Dokončiť</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="sl" name="Slovenščina" en-name="Slovenian" version="0.1.0" translators="Erik David Salam" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="sl" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Prikaži geslo</control>
|
||||
<control lang="sl" key="IDC_TRAVEL_OPEN_EXPLORER">&Odpri okno Raziskovalca za priklopljeni zbirnik</control>
|
||||
<control lang="sl" key="IDC_TRAV_CACHE_PASSWORDS">&Shrani geslo v pomnilnik gonilnika</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="sl" key="IDC_UNMOUNTALL">&Odklopi vse</control>
|
||||
<control lang="sl" key="IDC_VOLUME_PROPERTIES">&Lastnosti zbirnika...</control>
|
||||
<control lang="sl" key="IDC_VOLUME_TOOLS">&Orodja za zbirnik...</control>
|
||||
<control lang="sl" key="IDC_WIPE_CACHE">&Izbriši predpomnilnik</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="sl" key="IDD_HOTKEYS_DLG">VeraCrypt - Širše sistemske vroče tipke</control>
|
||||
<control lang="en" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="sl" key="IDM_CREATE_RESCUE_DISK">Ustvari rešilni disk...</control>
|
||||
<control lang="sl" key="IDM_CREATE_VOLUME">Ustvari nov zbirnik...</control>
|
||||
<control lang="sl" key="IDM_DEFAULT_KEYFILES">Privzete ključne datoteke...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="sl" key="IDM_ENCRYPT_SYSTEM_DEVICE">Šifriraj sistemski razdelek/pogon...</control>
|
||||
<control lang="sl" key="IDM_FAQ">Pogosto zastavljena vprašanja</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="sl" key="IDM_UNMOUNT_VOLUME">Odklopi zbirnik</control>
|
||||
<control lang="sl" key="IDM_VERIFY_RESCUE_DISK">Preveri rešilni disk</control>
|
||||
<control lang="sl" key="IDM_VERSION_HISTORY">Zgodovina različic</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="sl" key="IDM_VOLUME_PROPERTIES">Lastnosti zbirnika</control>
|
||||
<control lang="sl" key="IDM_VOLUME_WIZARD">Čarovnik za ustvarjanje zbirnikov</control>
|
||||
<control lang="sl" key="IDM_WEBSITE">VeraCrypt-ova spletna stran</control>
|
||||
@@ -521,7 +525,8 @@
|
||||
<string lang="en" key="CONFIRM_RESTART">Your computer must be restarted.\n\nDo you want to restart it now?</string>
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="sl" key="INTRO_TITLE">VeraCrypt-ov čarovnik za ustvar. zbirnika</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="sl" key="MOUNT_BUTTON">&Priklopi</string>
|
||||
<string lang="sl" key="NEW_VERSION_REQUIRED">Novejša različica programa VeraCrypt je potrebna, da lahko priklopite ta zbirnik.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="sl" key="NEXT">&Naprej ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="sv" name="Svenska" en-name="Swedish" version="1.0.0" translators="Peter Runesson" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="sv" key="IDC_SHOW_PASSWORD_CHPWD_ORI">&Visa lösenord</control>
|
||||
<control lang="sv" key="IDC_TRAVEL_OPEN_EXPLORER">Öppna &Utforskaren efter montering</control>
|
||||
<control lang="sv" key="IDC_TRAV_CACHE_PASSWORDS">Lagra lösenord i drivrutinens minnes&cache</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="sv" key="IDC_UNMOUNTALL">Demontera &allt</control>
|
||||
<control lang="sv" key="IDC_VOLUME_PROPERTIES">Volym&egenskaper …</control>
|
||||
<control lang="sv" key="IDC_VOLUME_TOOLS">Volymverkty&g …</control>
|
||||
<control lang="sv" key="IDC_WIPE_CACHE">Töm lösenords&cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="sv" key="IDD_FAVORITE_VOLUMES">VeraCrypt – Volymfavoriter</control>
|
||||
<control lang="sv" key="IDD_HOTKEYS_DLG">VeraCrypt – Snabbtangenter</control>
|
||||
<control lang="sv" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="sv" key="IDM_CREATE_RESCUE_DISK">Skapa återställningsskiva …</control>
|
||||
<control lang="sv" key="IDM_CREATE_VOLUME">Skapa ny volym …</control>
|
||||
<control lang="sv" key="IDM_DEFAULT_KEYFILES">Standardnyckelfiler …</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="sv" key="IDM_DONATE">Donera nu …</control>
|
||||
<control lang="sv" key="IDM_ENCRYPT_SYSTEM_DEVICE">Kryptera systempartition eller -enhet …</control>
|
||||
<control lang="sv" key="IDM_FAQ">Vanliga frågor och svar (FAQ)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="sv" key="IDM_UNMOUNT_VOLUME">Demontera volym</control>
|
||||
<control lang="sv" key="IDM_VERIFY_RESCUE_DISK">Verifiera återställningsskiva</control>
|
||||
<control lang="sv" key="IDM_VERSION_HISTORY">Versionshistorik</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="sv" key="IDM_VOLUME_PROPERTIES">Volymegenskaper</control>
|
||||
<control lang="sv" key="IDM_VOLUME_WIZARD">Guiden Skapa VeraCrypt-volym</control>
|
||||
<control lang="sv" key="IDM_WEBSITE">VeraCrypts webbplats</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="sv" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ett fel inträffade när systemets krypteringsstatus skulle inhämtas.</string>
|
||||
<string lang="sv" key="INIT_SYS_ENC">Det går inte att initiera applikationskomponenter för systemkryptering.</string>
|
||||
<string lang="sv" key="INIT_RAND">Initieringen av slumptalsgeneratorn misslyckades!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="sv" key="INIT_REGISTER">Det gick inte att initiera applikationen. Registreringen av dialogruteklassen misslyckades.</string>
|
||||
<string lang="sv" key="INIT_RICHEDIT">Fel: Det gick inte att ladda systembiblioteket för ”Rich Edit”.</string>
|
||||
<string lang="sv" key="INTRO_TITLE">Guiden Skapa VeraCrypt-volym</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="sv" key="MOUNT_BUTTON">&Montera</string>
|
||||
<string lang="sv" key="NEW_VERSION_REQUIRED">En nyare version av VeraCrypt krävs för att montera denna volym.</string>
|
||||
<string lang="sv" key="VOL_CREATION_WIZARD_NOT_FOUND">Fel: Det går inte att hitta guiden Skapa VeraCrypt-volym.\n\nKontrollera att filen ”VeraCrypt Format.exe” finns i den mapp från vilken ”VeraCrypt.exe” startades. Om filen inte finns där, ominstallera VeraCrypt eller leta upp filen ”VeraCrypt Format.exe” på din disk och kör den därifrån.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="sv" key="NEXT">&Nästa ></string>
|
||||
<string lang="sv" key="FINALIZE">&Slutför</string>
|
||||
<string lang="sv" key="INSTALL">&Installera</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="sv" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nDen extra startpartitionen kan tas bort innan Windows installeras. Följ nedanstående steg för att göra det:\n\n1) Starta Windows installationsskiva.\n\n2) I Windows installationsprogram väljer du alternativen ”Installera nu” följt av ”Anpassad (avancerat)”.\n\n3) Klicka på ”Enhetsalternativ (avancerat)”.\n\n4) Markera systempartitionen och ta bort den genom att klicka på ”Ta bort” och bekräfta med ”OK”.\n\n5) Välj partitionen markerad ”Reserverad av systemet”, klicka på ”Utöka” och öka dess storlek så att operativsystemet kan installeras på den.\n\n6) Klicka på ”Verkställ” och ”OK”.\n\n7) Installera Windows på partitionen markerad ”Reserverad av systemet”.\n\n\nOm någon frågar dig varför du tagit bort den extra startpartitionen, kan du svara att du ville förhindra dataläckage till den okrypterade startpartitionen.\n\nObservera: Du kan skriva ut denna text genom att klicka på knappen ”Skriv ut” nedan. Om du sparar en kopia av denna text eller skriver ut den (vilket rekommenderas, såvida inte skrivaren lagrar kopior av dokument den skriver ut på en intern enhet), bör du förstöra alla kopior av den efter att du tagit bort den extra startpartitionen. (Annars riskerar en sådan kopia avslöja existensen av ett dolt operativsystem i datorn.)</string>
|
||||
<string lang="sv" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Varning: Det finns oallokerat utrymme mellan systempartitionen och den första partitionen efter den. Efter att du skapat det dolda operativsystemet, får du inte skapa några nya partitioner i det oallokerade utrymmet. I så fall kommer det dolda operativsystemet att vara omöjligt att starta (tills du tar bort de nyskapade partitionerna).</string>
|
||||
<string lang="sv" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Denna algoritm stöds för närvarande inte vid systemkryptering.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="sv" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Nyckelfiler stöds för närvarande inte vid systemkryptering.</string>
|
||||
<string lang="sv" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Varning: VeraCrypt kunde inte återställa den ursprungliga tangentbordslayouten. Detta kan orsaka att du anger ett felaktigt lösenord.</string>
|
||||
<string lang="sv" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Fel: Det går inte att ange amerikansk tangentbordslayout som tangentbordslayout för VeraCrypt.\n\nObservera att lösenordet måste anges i förstartsmiljön (innan Windows startas), där inga andra tangentbordslayouter än den amerikanska finns tillgängliga. Därför måste amerikansk tangentbordslayout alltid användas när du anger lösenordet.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="tr" name="Türkçe" en-name="Turkish" version="0.1.0" translators="Ali İskender Turan, Zeynel Abidin Öztürk" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="tr" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Parolayı göster</control>
|
||||
<control lang="tr" key="IDC_TRAVEL_OPEN_EXPLORER">Bağlanan &birim için Gezgin penceresini aç</control>
|
||||
<control lang="tr" key="IDC_TRAV_CACHE_PASSWORDS">&Parolayı aygıt belleğinde önbelleğe al</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="tr" key="IDC_UNMOUNTALL">H&epsinin Bağlantısını Kes</control>
|
||||
<control lang="tr" key="IDC_VOLUME_PROPERTIES">Birim Ö&zellikleri...</control>
|
||||
<control lang="tr" key="IDC_VOLUME_TOOLS">Biri&m Araçları...</control>
|
||||
<control lang="tr" key="IDC_WIPE_CACHE">Ö&nbelleği Temizle</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="tr" key="IDD_HOTKEYS_DLG">VeraCrypt - Sistem çapında kısayol tuşları</control>
|
||||
<control lang="tr" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="tr" key="IDM_CREATE_VOLUME">Yeni Birim Oluştur...</control>
|
||||
<control lang="tr" key="IDM_DEFAULT_KEYFILES">Varsayılan Anahtar Dosyaları...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="tr" key="IDM_FAQ">Sık Sorulan Sorular</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="tr" key="IDM_UNMOUNT_VOLUME">Birimin Bağlantısını Kes</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="tr" key="IDM_VERSION_HISTORY">Sürüm Geçmişi</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="tr" key="IDM_VOLUME_PROPERTIES">Birim Özellikleri</control>
|
||||
<control lang="tr" key="IDM_VOLUME_WIZARD">Birim Oluşturma Sihirbazı</control>
|
||||
<control lang="tr" key="IDM_WEBSITE">VeraCrypt Web Sayfası</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="tr" key="INIT_RAND">Rasgele sayı oluşturucusunu başlatma başarısız!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="tr" key="INIT_REGISTER">Uygulamayı başlatma başarısız. Dialog sınıfını kayıt etme başarısız.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="tr" key="INTRO_TITLE">VeraCrypt Birim Oluşturma Sihirbazı</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="tr" key="MOUNT_BUTTON">Bağ&la</string>
|
||||
<string lang="tr" key="NEW_VERSION_REQUIRED">Bu birimi bağlamak için VeraCrypt'in daha yeni bir sürümü gerekiyor.</string>
|
||||
<string lang="tr" key="VOL_CREATION_WIZARD_NOT_FOUND">Hata: Birim Oluşturma Sihirbazı bulunamadı.\n\nLütfen 'VeraCrypt Format.exe' dosyasının 'VeraCrypt.exe' uygulamasının başlatıldığı konumda olduğundan emin olun. Eğer burada yoksa, lütfen VeraCrypt'i yeniden yükleyin veya diskiniz üzerinde 'VeraCrypt Format.exe' dosyasını bulun ve çalıştırın.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="tr" key="NEXT">S&onraki ></string>
|
||||
<string lang="tr" key="FINALIZE">&Bitir</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="uk" name="Українська" en-name="Ukrainian" version="1.0.0" translators="Kravchuk Olexandr, Babchuk Volodymyr" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="uk" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Показати пароль</control>
|
||||
<control lang="uk" key="IDC_TRAVEL_OPEN_EXPLORER">&Відкрити змонтований том в вікні Провідника</control>
|
||||
<control lang="uk" key="IDC_TRAV_CACHE_PASSWORDS">&Кешувати пароль в памяті драйвера</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="uk" key="IDC_UNMOUNTALL">&Розмонтувати всі</control>
|
||||
<control lang="uk" key="IDC_VOLUME_PROPERTIES">Власт&ивості тома...</control>
|
||||
<control lang="uk" key="IDC_VOLUME_TOOLS">О&перації...</control>
|
||||
<control lang="uk" key="IDC_WIPE_CACHE">О&чистити кеш</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="uk" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Обрані томи</control>
|
||||
<control lang="uk" key="IDD_HOTKEYS_DLG">VeraCrypt - Загальноистемні гарячі клавіші</control>
|
||||
<control lang="uk" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="uk" key="IDM_CREATE_RESCUE_DISK">Створити диск відновлення...</control>
|
||||
<control lang="uk" key="IDM_CREATE_VOLUME">Створити новий том...</control>
|
||||
<control lang="uk" key="IDM_DEFAULT_KEYFILES">Типові ключові файли...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="uk" key="IDM_DONATE">допомога проекту...</control>
|
||||
<control lang="uk" key="IDM_ENCRYPT_SYSTEM_DEVICE">Зашифрувати системний розділ/диск...</control>
|
||||
<control lang="uk" key="IDM_FAQ">Часто задавані питання</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="uk" key="IDM_UNMOUNT_VOLUME">Розмонтувати том</control>
|
||||
<control lang="uk" key="IDM_VERIFY_RESCUE_DISK">Провірити диск відновленння</control>
|
||||
<control lang="uk" key="IDM_VERSION_HISTORY">Історія версії</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="uk" key="IDM_VOLUME_PROPERTIES">Властивості тома</control>
|
||||
<control lang="uk" key="IDM_VOLUME_WIZARD">Майстер створення томів</control>
|
||||
<control lang="uk" key="IDM_WEBSITE">Сайт VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="uk" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">При отриманні статусу системного шифрування виникла помилка.</string>
|
||||
<string lang="uk" key="INIT_SYS_ENC">Неможливо ініціалізувати компонент застосунку для системного шифрування.</string>
|
||||
<string lang="uk" key="INIT_RAND">Невдала ініціалізація генератора випадкових чисел!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="uk" key="INIT_REGISTER">Неможливо ініціалізувати застосунок. Невдала реєстрація класу Dialog.</string>
|
||||
<string lang="uk" key="INIT_RICHEDIT">Помилка завантаження системної бібліотеки Rich Edit.</string>
|
||||
<string lang="uk" key="INTRO_TITLE">Майстер створення тому VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="uk" key="MOUNT_BUTTON">&Монтувати</string>
|
||||
<string lang="uk" key="NEW_VERSION_REQUIRED">Для монтування цього тому потрібна більш нова версія VeraCrypt.</string>
|
||||
<string lang="uk" key="VOL_CREATION_WIZARD_NOT_FOUND">Помилка: не знайдено Майстра створення тому.\n\nПеревірте наявність файлу 'VeraCrypt Format.exe' у теці запущеного файлу 'VeraCrypt.exe'. Якщо його немає, будь ласка перевстановіть VeraCrypt або знайдіть файл 'VeraCrypt Format.exe' та запустіть його.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="uk" key="NEXT">&Далі ></string>
|
||||
<string lang="uk" key="FINALIZE">&Завершити</string>
|
||||
<string lang="uk" key="INSTALL">&Встановити</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="uk" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nДодатковий завантажувальний розділ можна видалити до встановлення Windows. Для цього виконайте наступні дії:\n\n1) Завантажте Windows з інсталяційного компакт-диска.\n\n2) На екрані встановлення Windows натисніть 'Install now' > 'Custom (advanced)'.\n\n3) Натисніть 'Drive Options'.\n\n4) Виберіть основний системний розділ і видаліть його, натиснувши 'Delete' та 'OK'.\n\n5) Виберіть розділ 'System Reserved', натисніть 'Extend' і збільшіть його розмір відповідно до встановлюваної ОС.\n\n6) Натисніть 'Apply' і 'OK'.\n\n7) Встановіть Windows у розділ 'System Reserved'.\n\n\nЯкщо ворог запитає вас, навіщо ви видалили додатковий завантажувальний розділ, ви можете відповісти, що хотіли запобігти можливості витоку даних у незашифрований завантажувальний розділ.\n\n!! Щоб роздрукувати цей текст, натисніть кнопку 'Друк' нижче. Якщо ви збережете або роздрукуєте копію цього тексту (це рекомендується зробити, якщо тільки ваш принтер не зберігає копії завдань на своєму внутрішньому накопичувачі), то після видалення додаткового завантажувального розділу всі копії цього тексту слід знищити (інакше якщо таку копію виявлять, це може навести на думку про наявність в ПК прихованої ОС).</string>
|
||||
<string lang="uk" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Увага! Між системним розділом і першим розділом за ним є нерозподілене місце. Після створення прихованої операційної системи ви не повинні створювати в цій нерозподіленій області жодних нових розділів. В іншому випадку прихована ОС не зможе завантажитися (до тих пір, поки не будуть вилучені такі знову створені розділи).</string>
|
||||
<string lang="uk" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">У даний момент цей алгоритм для шифрування системи не підтримується.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="uk" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">В даний момент ключові файли для шифрування системи не підтримуються.</string>
|
||||
<string lang="uk" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Увага! VeraCrypt не може відновити первісну розкладку клавіатури. Це може призвести до неправильного введення пароля.</string>
|
||||
<string lang="uk" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Помилка! Неможливо встановити розкладку клавіатури для VeraCrypt в стандартну американську (US).\n\nЗверніть увагу, що пароль вводиться ДО завантаження Windows, коли будь-які розкладки клавіатури, що відрізняються від американської, ще недоступні. Тому пароль завжди повинен вводиться при стандартній американської розкладці.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="uz" name="Ўзбекча" en-name="Uzbek (Cyrillic)" version="0.1.0" translators="Abdurauf Azizov, Dmitry Yerokhin" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="uz" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Показ пароля</control>
|
||||
<control lang="uz" key="IDC_TRAVEL_OPEN_EXPLORER">&Открыть смонтированный том в окне Проводника</control>
|
||||
<control lang="uz" key="IDC_TRAV_CACHE_PASSWORDS">&Кэшировать пароль в памяти драйвера</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="uz" key="IDC_UNMOUNTALL">&Уланишларни узиш</control>
|
||||
<control lang="uz" key="IDC_VOLUME_PROPERTIES">Сво&йства тома...</control>
|
||||
<control lang="uz" key="IDC_VOLUME_TOOLS">О&перациялар...</control>
|
||||
<control lang="uz" key="IDC_WIPE_CACHE">О&чистить кэш</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="uz" key="IDD_HOTKEYS_DLG">VeraCrypt - Общесистемные горячие клавиши</control>
|
||||
<control lang="uz" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="uz" key="IDM_CREATE_RESCUE_DISK">Создать диск восстановления...</control>
|
||||
<control lang="uz" key="IDM_CREATE_VOLUME">Создать новый том...</control>
|
||||
<control lang="uz" key="IDM_DEFAULT_KEYFILES">Ключевые файлы по умолчанию...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="uz" key="IDM_ENCRYPT_SYSTEM_DEVICE">Зашифровать системный раздел/диск...</control>
|
||||
<control lang="uz" key="IDM_FAQ">Часто задаваемые вопросы</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="uz" key="IDM_UNMOUNT_VOLUME">Размонтировать том</control>
|
||||
<control lang="uz" key="IDM_VERIFY_RESCUE_DISK">Проверить диск восстановления</control>
|
||||
<control lang="uz" key="IDM_VERSION_HISTORY">История версий</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="uz" key="IDM_VOLUME_PROPERTIES">Свойства тома</control>
|
||||
<control lang="uz" key="IDM_VOLUME_WIZARD">Мастер создания томов</control>
|
||||
<control lang="uz" key="IDM_WEBSITE">Сайт VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="uz" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Ошибка получения состояния системного шифрования.</string>
|
||||
<string lang="uz" key="INIT_SYS_ENC">Невозможно инициализировать компоненты приложения для системного шифрования.</string>
|
||||
<string lang="uz" key="INIT_RAND">Ошибка инициализации генератора случайных чисел.</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="uz" key="INIT_REGISTER">Ошибка инициализации приложения. Невозможно зарегистрировать класс Dialog.</string>
|
||||
<string lang="uz" key="INIT_RICHEDIT">Ошибка загрузки системной библиотеки Rich Edit.</string>
|
||||
<string lang="uz" key="INTRO_TITLE">Мастер создания томов VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="uz" key="MOUNT_BUTTON">У&ламоқ</string>
|
||||
<string lang="uz" key="NEW_VERSION_REQUIRED">Для монтирования этого тома требуется более новая версия VeraCrypt.</string>
|
||||
<string lang="uz" key="VOL_CREATION_WIZARD_NOT_FOUND">Ошибка! Не найден мастер создания томов.\n\nПроверьте, имеется ли в папке, откуда был запущен файл 'VeraCrypt.exe', файл 'VeraCrypt Format.exe'. Если его там нет, переустановите VeraCrypt или найдите на жёстком диске файл 'VeraCrypt Format.exe' и запустите его.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="uz" key="NEXT">&Далее ></string>
|
||||
<string lang="uz" key="FINALIZE">&Готово</string>
|
||||
<string lang="uz" key="INSTALL">&Установить</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="uz" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Внимание! Между системным разделом и первым разделом за ним имеется нераспределённое место. После создания скрытой операционной системы вы не должны создавать в этой нераспределённой области никаких новых разделов. В противном случае скрытая ОС не сможет загрузиться (до тех пор, пока не будут удалены такие вновь созданные разделы).</string>
|
||||
<string lang="uz" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">В данный момент этот алгоритм для шифрования системы не поддерживается.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="uz" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">В настоящий момент ключевые файлы для шифрования системы не поддерживаются.</string>
|
||||
<string lang="uz" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Внимание! VeraCrypt не может восстановить первоначальную раскладку клавиатуры. Это может привести к неправильному вводу пароля.</string>
|
||||
<string lang="uz" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Ошибка! Невозможно установить раскладку клавиатуры для VeraCrypt в стандартную американскую (US).\n\nОбратите внимание, что пароль вводится ДО загрузки Windows, когда любые раскладки клавиатуры, отличающиеся от американской, ещё недоступны. Поэтому пароль всегда должен вводиться при стандартной американской раскладке.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="vi" name="Tiếng Việt" en-name="Vietnamese" version="0.1.0" translators="Nguyễn Kim Huy" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="vi" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Hiển thị mật mã</control>
|
||||
<control lang="vi" key="IDC_TRAVEL_OPEN_EXPLORER">Mở cửa sổ &Explorer cho tập đĩa được nạp lên</control>
|
||||
<control lang="vi" key="IDC_TRAV_CACHE_PASSWORDS">&Tạm trữ mật mã trong bộ nhớ của trình điều khiển</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="vi" key="IDC_UNMOUNTALL">Th&áo Tất cả xuống</control>
|
||||
<control lang="vi" key="IDC_VOLUME_PROPERTIES">Đặc tính của Tập đĩa...</control>
|
||||
<control lang="vi" key="IDC_VOLUME_TOOLS">Công cụ của Tập đĩa...</control>
|
||||
<control lang="vi" key="IDC_WIPE_CACHE">&Tẩy Bộ tạm trữ</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="vi" key="IDD_HOTKEYS_DLG">VeraCrypt - Các khóa kích hoạt cho Nguyên cả Hệ thống</control>
|
||||
<control lang="vi" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="vi" key="IDM_CREATE_RESCUE_DISK">Cấu tạo Đĩa Cứu hộ...</control>
|
||||
<control lang="vi" key="IDM_CREATE_VOLUME">Cấu tạo Tập đĩa mới...</control>
|
||||
<control lang="vi" key="IDM_DEFAULT_KEYFILES">Tập tin khóa Mặc định...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="vi" key="IDM_ENCRYPT_SYSTEM_DEVICE">Mã hóa Phân vùng Hệ thống/Ổ đĩa...</control>
|
||||
<control lang="vi" key="IDM_FAQ">Câu hỏi thông dụng</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="vi" key="IDM_UNMOUNT_VOLUME">Tháo Tập đĩa xuống</control>
|
||||
<control lang="vi" key="IDM_VERIFY_RESCUE_DISK">Kiểm tra Đĩa Cứu hộ</control>
|
||||
<control lang="vi" key="IDM_VERSION_HISTORY">Lịch sử phiên bản</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="vi" key="IDM_VOLUME_PROPERTIES">Đặc tính của Tập đĩa</control>
|
||||
<control lang="vi" key="IDM_VOLUME_WIZARD">Trợ giúp Cấu tạo Tập đĩa</control>
|
||||
<control lang="vi" key="IDM_WEBSITE">Trang Web của VeraCrypt</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="vi" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">Có lỗi xảy ra khi đang lấy tình trạng mã hóa hệ thống.</string>
|
||||
<string lang="vi" key="INIT_SYS_ENC">Không thể sơ khởi các bộ phận của ứng dụng cho việc mã hóa hệ thống.</string>
|
||||
<string lang="vi" key="INIT_RAND">Không sơ khởi hàm tạo ra các số ngẫu nhiên được!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="vi" key="INIT_REGISTER">Không thể sơ khởi ứng dụng được. Không đăng ký hạng Hộp thoại được.</string>
|
||||
<string lang="vi" key="INIT_RICHEDIT">Lỗi: Không nạp thư viện hệ thống Rich Edit được.</string>
|
||||
<string lang="vi" key="INTRO_TITLE">Trợ lý Cấu tạo Tập đĩa VeraCrypt</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="vi" key="MOUNT_BUTTON">&Nạp lên</string>
|
||||
<string lang="vi" key="NEW_VERSION_REQUIRED">Cần có một phiên bản mới của VeraCrypt để nạp tập đĩa này lên.</string>
|
||||
<string lang="vi" key="VOL_CREATION_WIZARD_NOT_FOUND">Lỗi: Không tìm được Trợ lý Cấu tạo Tập đĩa.\n\nXin đảm bảo là tập tin 'VeraCrypt Format.exe' có trong thư mục nơi mà 'VeraCrypt.exe' được khởi chạy. Không thôi có thì xin cài đặt VeraCrypt lại, hoặc tìm 'VeraCrypt Format.exe' trong đĩa của bạn và cho nó chạy.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="vi" key="NEXT">&Kế tiếp ></string>
|
||||
<string lang="vi" key="FINALIZE">&Kết thúc</string>
|
||||
<string lang="vi" key="INSTALL">&Cài đặt</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="vi" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Cảnh báo: Có chỗ trống chưa phân phát giữa phân vùng hệ thống và phân vùng đầu tiên phía sau nó. Sau khi bạn cấu tạo hệ điều hành ẩn, bạn không được cấu tạo bất cứ phân vùng mới nào trong chỗ trống chưa phân phát đó. Không thôi, hệ điều hành ẩn sẽ không thể nào khởi động được (cho đến khi bạn xóa bỏ những phân vùng được cấu tạo như thế).</string>
|
||||
<string lang="vi" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Thuật toán này hiện không được hỗ trợ cho việc mã hóa hệ thống.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="vi" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Các tập tin khóa hiện không được hỗ trợ cho việc mã hóa hệ thống.</string>
|
||||
<string lang="vi" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Cảnh báo: VeraCrypt không thể hồi phục bố trí bàn phím gốc được. Chuyện này có thể làm cho bạn đánh mật mã không đúng vào.</string>
|
||||
<string lang="vi" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Lỗi: Không thể thiết đặt bố trí bàn phím cho VeraCrypt thành bố trí bàn phím căn bản của Mỹ được.\n\nLưu ý là mật mã cần được đánh vào trong môi trường tiền khởi động (trước khi Windows bắt đầu) lúc mà bố trí bàn phím Windows không phải của Mỹ không có sẵn. Vì vậy, mật mã phải luôn luôn được đánh vào dùng bố trí bàn phím căn bản của Mỹ.</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="zh-cn" name="简体中文" en-name="Chinese (Simplified)" version="1.0.0" translators="Barney Li" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="zh-cn" key="IDC_SHOW_PASSWORD_CHPWD_ORI">显示密码</control>
|
||||
<control lang="zh-cn" key="IDC_TRAVEL_OPEN_EXPLORER">为加载的加密卷打开资源管理器窗口(&E)</control>
|
||||
<control lang="zh-cn" key="IDC_TRAV_CACHE_PASSWORDS">在驱动内存中缓存密码(&C)</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="zh-cn" key="IDC_UNMOUNTALL">全部卸载(&S)</control>
|
||||
<control lang="zh-cn" key="IDC_VOLUME_PROPERTIES">加密卷属性(&X)...</control>
|
||||
<control lang="zh-cn" key="IDC_VOLUME_TOOLS">加密卷工具(&T)...</control>
|
||||
<control lang="zh-cn" key="IDC_WIPE_CACHE">擦除缓存(&W)</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="zh-cn" key="IDD_FAVORITE_VOLUMES">VeraCrypt - 收藏加密卷</control>
|
||||
<control lang="zh-cn" key="IDD_HOTKEYS_DLG">VeraCrypt - 系统热键</control>
|
||||
<control lang="zh-cn" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="zh-cn" key="IDM_CREATE_RESCUE_DISK">创建应急盘...</control>
|
||||
<control lang="zh-cn" key="IDM_CREATE_VOLUME">创建加密卷...</control>
|
||||
<control lang="zh-cn" key="IDM_DEFAULT_KEYFILES">默认密钥文件...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="zh-cn" key="IDM_DONATE">现在捐助...</control>
|
||||
<control lang="zh-cn" key="IDM_ENCRYPT_SYSTEM_DEVICE">加密系统分区/驱动器...</control>
|
||||
<control lang="zh-cn" key="IDM_FAQ">常见问题(联网)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="zh-cn" key="IDM_UNMOUNT_VOLUME">卸载所选加密卷</control>
|
||||
<control lang="zh-cn" key="IDM_VERIFY_RESCUE_DISK">验证应急盘</control>
|
||||
<control lang="zh-cn" key="IDM_VERSION_HISTORY">版本历史(联网)</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="zh-cn" key="IDM_VOLUME_PROPERTIES">加密卷属性</control>
|
||||
<control lang="zh-cn" key="IDM_VOLUME_WIZARD">加密卷创建向导</control>
|
||||
<control lang="zh-cn" key="IDM_WEBSITE">官方网站(联网)</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="zh-cn" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">获取系统加密状态时出错。</string>
|
||||
<string lang="zh-cn" key="INIT_SYS_ENC">不能初始化用于系统加密的程序组件。</string>
|
||||
<string lang="zh-cn" key="INIT_RAND">初始化随机数据生成器失败!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="zh-cn" key="INIT_REGISTER">无法初始化应用程序。注册对话框类失败。</string>
|
||||
<string lang="zh-cn" key="INIT_RICHEDIT">错误:加载富文本编辑系统运行库失败。</string>
|
||||
<string lang="zh-cn" key="INTRO_TITLE">VeraCrypt 加密卷创建向导</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="zh-cn" key="MOUNT_BUTTON">加载(&M)</string>
|
||||
<string lang="zh-cn" key="NEW_VERSION_REQUIRED">需要新版本的 VeraCrypt 来加载此加密卷。</string>
|
||||
<string lang="zh-cn" key="VOL_CREATION_WIZARD_NOT_FOUND">错误:未发现加密卷创建向导。\n\n请确认文件“VeraCrypt Format.exe”位于“VeraCrypt.exe”的目录之中。如果不是 这样,请重新安装 VeraCrypt,或在磁盘中定位“VeraCrypt Format.exe”并运行它。</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="zh-cn" key="NEXT">下一步(&N) ></string>
|
||||
<string lang="zh-cn" key="FINALIZE">完成(&F)</string>
|
||||
<string lang="zh-cn" key="INSTALL">安装(&I)</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="zh-cn" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\n在安装 Windows 之前可以移除额外的启动分区。想要如此,请遵循以下步骤(译者注:这些步骤没有在XP安装光盘看到,请读者自悟吧,抱歉):\n\n1)启动您的 Windows 安装光盘。\n\n2)在 Windows 安装屏幕,选择 '现在安装' -> '自定义(高级)'.\n\n3)点击 '驱动器 选项'。\n\n4)选择主系统分区并选择删除这个分区,之后再确认删除(安装盘删除分区的时候会多次确认)。\n\n5)选择 '系统保留' 分区,选择 '扩展',并增加它的大小直到可以安装系统为止。\n\n6)选择 '应用' 和确认。\n\n7)安装 Windows 到 '系统保留' 分区。\n\n\n如果攻击者询问您移除额外启动分区的原因,您可以回答是因为您不希望数据泄露到未加密的启动分区。\n\n注意:您可以通过点击下面的“打印”按钮打印这些文本。如果您打印了这些文本,强烈建议您在移除额外启动分区后销毁这些纸张(否则,如果这些纸张被发现,可能暗示着存在隐形系统)。</string>
|
||||
<string lang="zh-cn" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">警告:在系统分区和其后的第一个分区之间存在未分配空间。在您创建隐形操作系统之后,您必须不能在此未分配空间上创建任何新的分区,否则,隐形操作系统将无法启动(直到删除了这个新创建的分区)。</string>
|
||||
<string lang="zh-cn" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">此算法当前不支持系统加密。</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="zh-cn" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">密钥文件当前不支持用在系统加密中。</string>
|
||||
<string lang="zh-cn" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">警告:VeraCrypt 不能存储原始键盘布局。这可能导致您无法正确输入密码。</string>
|
||||
<string lang="zh-cn" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">错误:不能设置 VeraCrypt 键盘布局为标准的美国键盘布局。\n\n说明:在 Windows 启动前的启动验证里需要输入密码,此时非美国标准键盘布局不可用。因此,密码必须使用标准的美国键盘布局输入。</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="zh-hk" name="繁體中文" en-name="Chinese (Hong Kong)" version="0.1.0" translators="PUN Chi Ho" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="zh-hk" key="IDC_SHOW_PASSWORD_CHPWD_ORI">顯示密碼</control>
|
||||
<control lang="zh-hk" key="IDC_TRAVEL_OPEN_EXPLORER">為載入的加密卷打開資源管理器視窗(&E)</control>
|
||||
<control lang="zh-hk" key="IDC_TRAV_CACHE_PASSWORDS">在驅動記憶體中緩存密碼(&C)</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="zh-hk" key="IDC_UNMOUNTALL">全部卸載(&S)</control>
|
||||
<control lang="zh-hk" key="IDC_VOLUME_PROPERTIES">加密卷屬性(&V)...</control>
|
||||
<control lang="zh-hk" key="IDC_VOLUME_TOOLS">加密卷工具(&T)...</control>
|
||||
<control lang="zh-hk" key="IDC_WIPE_CACHE">擦除緩存(&W)</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="zh-hk" key="IDD_FAVORITE_VOLUMES">VeraCrypt - 收藏加密卷</control>
|
||||
<control lang="zh-hk" key="IDD_HOTKEYS_DLG">VeraCrypt - 系統熱鍵</control>
|
||||
<control lang="zh-hk" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="zh-hk" key="IDM_CREATE_RESCUE_DISK">創建應急盤...</control>
|
||||
<control lang="zh-hk" key="IDM_CREATE_VOLUME">創建加密卷...</control>
|
||||
<control lang="zh-hk" key="IDM_DEFAULT_KEYFILES">默認密鑰文件...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="zh-hk" key="IDM_ENCRYPT_SYSTEM_DEVICE">加密系統分區/驅動器...</control>
|
||||
<control lang="zh-hk" key="IDM_FAQ">常見問題(聯網)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="zh-hk" key="IDM_UNMOUNT_VOLUME">卸載所選加密卷</control>
|
||||
<control lang="zh-hk" key="IDM_VERIFY_RESCUE_DISK">驗證應急盤</control>
|
||||
<control lang="zh-hk" key="IDM_VERSION_HISTORY">版本歷史(聯網)</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="zh-hk" key="IDM_VOLUME_PROPERTIES">加密卷屬性</control>
|
||||
<control lang="zh-hk" key="IDM_VOLUME_WIZARD">加密卷創建嚮導</control>
|
||||
<control lang="zh-hk" key="IDM_WEBSITE">官方網站(聯網)</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="zh-hk" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">獲取系統加密狀態時出錯。</string>
|
||||
<string lang="zh-hk" key="INIT_SYS_ENC">不能初始化用於系統加密的程式元件。</string>
|
||||
<string lang="zh-hk" key="INIT_RAND">初始化亂數據生成器失敗!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="zh-hk" key="INIT_REGISTER">無法初始化應用程式。註冊對話方塊類失敗。</string>
|
||||
<string lang="zh-hk" key="INIT_RICHEDIT">錯誤:載入富文本編輯系統運行庫失敗。</string>
|
||||
<string lang="zh-hk" key="INTRO_TITLE">VeraCrypt 加密卷創建嚮導</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="zh-hk" key="MOUNT_BUTTON">載入(&M)</string>
|
||||
<string lang="zh-hk" key="NEW_VERSION_REQUIRED">需要新版本的 VeraCrypt 來載入此加密卷。</string>
|
||||
<string lang="zh-hk" key="VOL_CREATION_WIZARD_NOT_FOUND">錯誤:未發現加密卷創建嚮導。\n\n請確認文件“VeraCrypt Format.exe”位於“VeraCrypt.exe”的目錄之中。如果不是 這樣,請重新安裝 VeraCrypt,或在磁片中定位“VeraCrypt Format.exe”並運行它。</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="zh-hk" key="NEXT">下一步(&N) ></string>
|
||||
<string lang="zh-hk" key="FINALIZE">完成(&F)</string>
|
||||
<string lang="zh-hk" key="INSTALL">安裝(&I)</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="zh-hk" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\n在安裝 Windows 之前可以移除額外的啟動分區。想要如此,請遵循以下步驟(譯者注:這些步驟沒有在XP安裝光碟看到,請讀者自悟吧,抱歉):\n\n1)啟動您的 Windows 安裝光碟。\n\n2)在 Windows 安裝螢幕,選擇 '現在安裝' > '自定義(高級)'.\n\n3)點擊 '驅動器 選項'。\n\n4)選擇主系統分區並選擇刪除這個分區,之後再確認刪除(安裝盤刪除分區的時候會多次確認)。\n\n5)選擇 '系統保留' 分區,選擇 '擴展',並增加它的大小直到可以安裝系統為止。\n\n6)選擇 '應用' 和確認。\n\n7)安裝 Windows 到 '系統保留' 分區。\n\n\n如果攻擊者詢問您移除額外啟動分區的原因,您可以回答是因為您不希望資料洩露到未加密的啟動分區。\n\n注意:您可以通過點擊下面的 "列印" 按鈕列印這些文本。如果您列印了這些文本,強烈建議您在移除額外啟動分區後銷毀這些紙張(否則,如果這些紙張被發現,可能暗示著存在隱形系統)。</string>
|
||||
<string lang="zh-hk" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">警告:在系統分區和其後的第一個分區之間存在未分配空間。在您創建隱形作業系統之後,您必須不能在此未分配空間上創建任何新的分區,否則,隱形作業系統將無法啟動(直到刪除了這個新創建的分區)。</string>
|
||||
<string lang="zh-hk" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">此演算法當前不支援系統加密。</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="zh-hk" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">密鑰檔當前不支援用在系統加密中。</string>
|
||||
<string lang="zh-hk" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">警告:VeraCrypt 不能存儲原始鍵盤佈局。這可能導致您無法正確輸入密碼。</string>
|
||||
<string lang="zh-hk" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">錯誤:不能設置 VeraCrypt 鍵盤佈局為標準的美國鍵盤佈局。\n\n說明:在 Windows 啟動前的啟動驗證裏需要輸入密碼,此時非美國標準鍵盤佈局不可用。因此,密碼必須使用標準的美國鍵盤佈局輸入。</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<VeraCrypt>
|
||||
<localization prog-version="1.0f-BETA3">
|
||||
<localization prog-version="1.0f-2">
|
||||
<!-- Languages -->
|
||||
<language langid="zh-tw" name="繁體中文" en-name="Chinese (Taiwan)" version="0.1.0" translators="Barney Li, Simon Ma, ChangMing Hsu" />
|
||||
<!-- Fonts -->
|
||||
@@ -167,10 +167,12 @@
|
||||
<control lang="zh-tw" key="IDC_SHOW_PASSWORD_CHPWD_ORI">顯示密碼</control>
|
||||
<control lang="zh-tw" key="IDC_TRAVEL_OPEN_EXPLORER">為掛載的加密區打開檔案總管視窗(&E)</control>
|
||||
<control lang="zh-tw" key="IDC_TRAV_CACHE_PASSWORDS">在動態記憶體中快取密碼(&C)</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="zh-tw" key="IDC_UNMOUNTALL">全部卸載(&S)</control>
|
||||
<control lang="zh-tw" key="IDC_VOLUME_PROPERTIES">加密區內容(&V)...</control>
|
||||
<control lang="zh-tw" key="IDC_VOLUME_TOOLS">加密區工具(&T)...</control>
|
||||
<control lang="zh-tw" key="IDC_WIPE_CACHE">清除快取(&W)</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="zh-tw" key="IDD_HOTKEYS_DLG">VeraCrypt - 系統快速鍵</control>
|
||||
<control lang="zh-tw" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +202,7 @@
|
||||
<control lang="zh-tw" key="IDM_CREATE_RESCUE_DISK">建立救援磁碟...</control>
|
||||
<control lang="zh-tw" key="IDM_CREATE_VOLUME">建立新的加密區...</control>
|
||||
<control lang="zh-tw" key="IDM_DEFAULT_KEYFILES">預設金鑰檔案...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="zh-tw" key="IDM_ENCRYPT_SYSTEM_DEVICE">加密系統分割區/磁碟機...</control>
|
||||
<control lang="zh-tw" key="IDM_FAQ">常見問題(線上)</control>
|
||||
@@ -242,6 +245,7 @@
|
||||
<control lang="zh-tw" key="IDM_UNMOUNT_VOLUME">卸載選擇的加密區</control>
|
||||
<control lang="zh-tw" key="IDM_VERIFY_RESCUE_DISK">驗證救援磁碟</control>
|
||||
<control lang="zh-tw" key="IDM_VERSION_HISTORY">版本歷史(線上)</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="zh-tw" key="IDM_VOLUME_PROPERTIES">加密區內容</control>
|
||||
<control lang="zh-tw" key="IDM_VOLUME_WIZARD">加密區建立精靈</control>
|
||||
<control lang="zh-tw" key="IDM_WEBSITE">官方網站(線上)</control>
|
||||
@@ -522,6 +526,7 @@
|
||||
<string lang="zh-tw" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">取得系統加密狀態時出錯。</string>
|
||||
<string lang="zh-tw" key="INIT_SYS_ENC">不能初始化用於系統加密的應用程式元件。</string>
|
||||
<string lang="zh-tw" key="INIT_RAND">初始化亂數資料產生器失敗!</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="zh-tw" key="INIT_REGISTER">無法初始化應用程式。註冊對話方塊類別失敗。</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="zh-tw" key="INTRO_TITLE">VeraCrypt 加密區建立精靈</string>
|
||||
@@ -534,6 +539,7 @@
|
||||
<string lang="zh-tw" key="MOUNT_BUTTON">掛載(&M)</string>
|
||||
<string lang="zh-tw" key="NEW_VERSION_REQUIRED">需要新版本的 VeraCrypt 來掛載此加密區。</string>
|
||||
<string lang="zh-tw" key="VOL_CREATION_WIZARD_NOT_FOUND">錯誤:未發現加密區建立精靈。\n\n請確定檔案 "VeraCrypt Format.exe" 位於 "VeraCrypt.exe" 的目錄之中。如果不是這樣,請重新安裝 VeraCrypt,或在磁碟中確定 "VeraCrypt Format.exe" 的位置並執行它。</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="zh-tw" key="NEXT">下一步(&N) ></string>
|
||||
<string lang="zh-tw" key="FINALIZE">完成(&F)</string>
|
||||
<string lang="zh-tw" key="INSTALL">安裝(&I)</string>
|
||||
@@ -1033,6 +1039,8 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="zh-tw" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">此演算法目前不支援系統加密。</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="zh-tw" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">>警告:VeraCrypt 不能回復原始鍵盤配置。這可能導致您輸入不正確的密碼。</string>
|
||||
<string lang="zh-tw" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">錯誤:不能設定 VeraCrypt 鍵盤配置為標準美式鍵盤配置。\n\n要注意在啟動前置環境(Windows 啟動前)需要輸入密碼,這時非標準美式鍵盤配置是無法使用的。因此,密碼必須總是使用標準美式鍵盤配置輸入。</string>
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#include "BootDefs.h"
|
||||
|
||||
// The user will be advised to upgrade the rescue disk if upgrading from the following or any previous version
|
||||
#define TC_RESCUE_DISK_UPGRADE_NOTICE_MAX_VERSION 0x010e
|
||||
#define TC_RESCUE_DISK_UPGRADE_NOTICE_MAX_VERSION 0x0110
|
||||
|
||||
#define TC_BOOT_LOADER_AREA_SIZE (TC_BOOT_LOADER_AREA_SECTOR_COUNT * TC_SECTOR_SIZE_BIOS)
|
||||
|
||||
|
||||
@@ -327,9 +327,13 @@ static bool MountVolume (byte drive, byte &exitKey, bool skipNormal, bool skipHi
|
||||
if (exitKey != TC_BIOS_KEY_ENTER)
|
||||
return false;
|
||||
|
||||
if (OpenVolume (BootDrive, bootArguments->BootPassword, &BootCryptoInfo, &bootArguments->HeaderSaltCrc32, skipNormal, skipHidden))
|
||||
break;
|
||||
Print ("Verifying password...");
|
||||
|
||||
if (OpenVolume (BootDrive, bootArguments->BootPassword, &BootCryptoInfo, &bootArguments->HeaderSaltCrc32, skipNormal, skipHidden))
|
||||
{
|
||||
Print ("OK\r\n");
|
||||
break;
|
||||
}
|
||||
if (GetShiftFlags() & TC_BIOS_SHIFTMASK_CAPSLOCK)
|
||||
Print ("Warning: Caps Lock is on.\r\n");
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@
|
||||
<string>TRUE</string>
|
||||
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0</string>
|
||||
<string>1.6.3</string>
|
||||
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>_VERSION_</string>
|
||||
@@ -36,7 +36,7 @@
|
||||
<string>VeraCrypt _VERSION_</string>
|
||||
|
||||
<key>LSRequiresCarbon</key>
|
||||
<true/>
|
||||
<false/>
|
||||
|
||||
<key>CSResourcesFileMapped</key>
|
||||
<true/>
|
||||
|
||||
@@ -102,6 +102,7 @@ typedef struct
|
||||
BOOL RecoveryMode;
|
||||
int pkcs5_prf;
|
||||
int ProtectedHidVolPkcs5Prf;
|
||||
BOOL bTrueCryptMode;
|
||||
} MOUNT_STRUCT;
|
||||
|
||||
typedef struct
|
||||
@@ -119,6 +120,7 @@ typedef struct
|
||||
unsigned __int64 diskLength[26];
|
||||
int ea[26];
|
||||
int volumeType[26]; /* Volume type (e.g. PROP_VOL_TYPE_OUTER, PROP_VOL_TYPE_OUTER_VOL_WRITE_PREVENTED, etc.) */
|
||||
BOOL truecryptMode[26];
|
||||
} MOUNT_LIST_STRUCT;
|
||||
|
||||
typedef struct
|
||||
|
||||
+20
-4
@@ -43,12 +43,27 @@ BOOL ComGetInstanceBase (HWND hWnd, REFCLSID clsid, REFIID iid, void **tcServer)
|
||||
BOOL r;
|
||||
|
||||
if (IsUacSupported ())
|
||||
r = CreateElevatedComObject (hWnd, clsid, iid, tcServer) == S_OK;
|
||||
{
|
||||
while (true)
|
||||
{
|
||||
r = CreateElevatedComObject (hWnd, clsid, iid, tcServer) == S_OK;
|
||||
if (r)
|
||||
break;
|
||||
else
|
||||
{
|
||||
if (IDRETRY == ErrorRetryCancel ("UAC_INIT_ERROR", hWnd))
|
||||
continue;
|
||||
else
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
r = CoCreateInstance (clsid, NULL, CLSCTX_LOCAL_SERVER, iid, tcServer) == S_OK;
|
||||
|
||||
if (!r)
|
||||
Error ("UAC_INIT_ERROR");
|
||||
if (!r)
|
||||
Error ("UAC_INIT_ERROR", hWnd);
|
||||
}
|
||||
|
||||
return r;
|
||||
}
|
||||
@@ -119,6 +134,7 @@ DWORD BaseCom::ReadWriteFile (BOOL write, BOOL device, BSTR filePath, BSTR *buff
|
||||
try
|
||||
{
|
||||
auto_ptr <File> file (device ? new Device (string (szFilePathA.m_psz), !write) : new File (string (szFilePathA.m_psz), !write));
|
||||
file->CheckOpened ();
|
||||
file->SeekAt (offset);
|
||||
|
||||
if (write)
|
||||
|
||||
+213
-88
@@ -75,8 +75,28 @@ namespace VeraCrypt
|
||||
static void CopyFile (const string &sourceFile, const string &destinationFile)
|
||||
{
|
||||
Elevate();
|
||||
DWORD result;
|
||||
CComBSTR sourceFileBstr, destinationFileBstr;
|
||||
BSTR bstr = A2WBSTR(sourceFile.c_str());
|
||||
if (bstr)
|
||||
{
|
||||
sourceFileBstr.Attach (bstr);
|
||||
|
||||
DWORD result = ElevatedComInstance->CopyFile (CComBSTR (sourceFile.c_str()), CComBSTR (destinationFile.c_str()));
|
||||
bstr = A2WBSTR(destinationFile.c_str());
|
||||
if (bstr)
|
||||
{
|
||||
destinationFileBstr.Attach (bstr);
|
||||
result = ElevatedComInstance->CopyFile (sourceFileBstr, destinationFileBstr);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
if (result != ERROR_SUCCESS)
|
||||
{
|
||||
@@ -88,8 +108,18 @@ namespace VeraCrypt
|
||||
static void DeleteFile (const string &file)
|
||||
{
|
||||
Elevate();
|
||||
|
||||
DWORD result = ElevatedComInstance->DeleteFile (CComBSTR (file.c_str()));
|
||||
CComBSTR fileBstr;
|
||||
DWORD result;
|
||||
BSTR bstr = A2WBSTR(file.c_str());
|
||||
if (bstr)
|
||||
{
|
||||
fileBstr.Attach (bstr);
|
||||
result = ElevatedComInstance->DeleteFile (fileBstr);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
if (result != ERROR_SUCCESS)
|
||||
{
|
||||
@@ -102,10 +132,20 @@ namespace VeraCrypt
|
||||
{
|
||||
Elevate();
|
||||
|
||||
CComBSTR bufferBstr;
|
||||
DWORD result;
|
||||
CComBSTR bufferBstr, fileBstr;
|
||||
if (bufferBstr.AppendBytes ((const char *) buffer, size) != S_OK)
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
DWORD result = ElevatedComInstance->ReadWriteFile (write, device, CComBSTR (filePath.c_str()), &bufferBstr, offset, size, sizeDone);
|
||||
BSTR bstr = A2WBSTR(filePath.c_str());
|
||||
if (bstr)
|
||||
{
|
||||
fileBstr.Attach (bstr);
|
||||
result = ElevatedComInstance->ReadWriteFile (write, device, fileBstr, &bufferBstr, offset, size, sizeDone);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
if (result != ERROR_SUCCESS)
|
||||
{
|
||||
@@ -127,8 +167,29 @@ namespace VeraCrypt
|
||||
static void WriteLocalMachineRegistryDwordValue (char *keyPath, char *valueName, DWORD value)
|
||||
{
|
||||
Elevate();
|
||||
DWORD result;
|
||||
CComBSTR keyPathBstr, valueNameBstr;
|
||||
BSTR bstr = A2WBSTR(keyPath);
|
||||
if (bstr)
|
||||
{
|
||||
keyPathBstr.Attach (bstr);
|
||||
|
||||
DWORD result = ElevatedComInstance->WriteLocalMachineRegistryDwordValue (CComBSTR (keyPath), CComBSTR (valueName), value);
|
||||
bstr = A2WBSTR(valueName);
|
||||
if (bstr)
|
||||
{
|
||||
valueNameBstr.Attach (bstr);
|
||||
|
||||
result = ElevatedComInstance->WriteLocalMachineRegistryDwordValue (keyPathBstr, valueNameBstr, value);
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = ERROR_OUTOFMEMORY;
|
||||
}
|
||||
|
||||
if (result != ERROR_SUCCESS)
|
||||
{
|
||||
@@ -233,26 +294,27 @@ namespace VeraCrypt
|
||||
#endif // SETUP
|
||||
|
||||
|
||||
File::File (string path, bool readOnly, bool create) : Elevated (false), FileOpen (false)
|
||||
File::File (string path, bool readOnly, bool create) : Elevated (false), FileOpen (false), LastError(0)
|
||||
{
|
||||
Handle = CreateFile (path.c_str(),
|
||||
readOnly ? GENERIC_READ : GENERIC_READ | GENERIC_WRITE,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, create ? CREATE_ALWAYS : OPEN_EXISTING,
|
||||
FILE_FLAG_RANDOM_ACCESS | FILE_FLAG_WRITE_THROUGH, NULL);
|
||||
|
||||
try
|
||||
if (Handle != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
throw_sys_if (Handle == INVALID_HANDLE_VALUE);
|
||||
FileOpen = true;
|
||||
}
|
||||
catch (SystemException &)
|
||||
else
|
||||
{
|
||||
if (GetLastError() == ERROR_ACCESS_DENIED && IsUacSupported())
|
||||
LastError = GetLastError();
|
||||
if (LastError == ERROR_ACCESS_DENIED && IsUacSupported())
|
||||
{
|
||||
Elevated = true;
|
||||
else
|
||||
throw;
|
||||
FileOpen = true;
|
||||
}
|
||||
}
|
||||
|
||||
FileOpen = true;
|
||||
FilePointerPosition = 0;
|
||||
IsDevice = false;
|
||||
Path = path;
|
||||
@@ -260,19 +322,25 @@ namespace VeraCrypt
|
||||
|
||||
void File::Close ()
|
||||
{
|
||||
if (FileOpen)
|
||||
if (Handle != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
if (!Elevated)
|
||||
CloseHandle (Handle);
|
||||
|
||||
FileOpen = false;
|
||||
CloseHandle (Handle);
|
||||
Handle = INVALID_HANDLE_VALUE;
|
||||
}
|
||||
|
||||
FileOpen = false;
|
||||
}
|
||||
|
||||
DWORD File::Read (byte *buffer, DWORD size)
|
||||
{
|
||||
DWORD bytesRead;
|
||||
|
||||
if (!FileOpen)
|
||||
{
|
||||
SetLastError (LastError);
|
||||
throw SystemException ();
|
||||
}
|
||||
|
||||
if (Elevated)
|
||||
{
|
||||
DWORD bytesRead;
|
||||
@@ -288,6 +356,12 @@ namespace VeraCrypt
|
||||
|
||||
void File::SeekAt (int64 position)
|
||||
{
|
||||
if (!FileOpen)
|
||||
{
|
||||
SetLastError (LastError);
|
||||
throw SystemException ();
|
||||
}
|
||||
|
||||
FilePointerPosition = position;
|
||||
|
||||
if (!Elevated)
|
||||
@@ -302,6 +376,12 @@ namespace VeraCrypt
|
||||
{
|
||||
DWORD bytesWritten;
|
||||
|
||||
if (!FileOpen)
|
||||
{
|
||||
SetLastError (LastError);
|
||||
throw SystemException ();
|
||||
}
|
||||
|
||||
try
|
||||
{
|
||||
if (Elevated)
|
||||
@@ -349,19 +429,20 @@ namespace VeraCrypt
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,
|
||||
FILE_FLAG_RANDOM_ACCESS | FILE_FLAG_WRITE_THROUGH, NULL);
|
||||
|
||||
try
|
||||
if (Handle != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
throw_sys_if (Handle == INVALID_HANDLE_VALUE);
|
||||
FileOpen = true;
|
||||
}
|
||||
catch (SystemException &)
|
||||
else
|
||||
{
|
||||
if (GetLastError() == ERROR_ACCESS_DENIED && IsUacSupported())
|
||||
LastError = GetLastError ();
|
||||
if (LastError == ERROR_ACCESS_DENIED && IsUacSupported())
|
||||
{
|
||||
Elevated = true;
|
||||
else
|
||||
throw;
|
||||
FileOpen = true;
|
||||
}
|
||||
}
|
||||
|
||||
FileOpen = true;
|
||||
FilePointerPosition = 0;
|
||||
IsDevice = true;
|
||||
Path = path;
|
||||
@@ -393,7 +474,7 @@ namespace VeraCrypt
|
||||
{
|
||||
if (RescueIsoImage)
|
||||
delete[] RescueIsoImage;
|
||||
|
||||
|
||||
Elevator::Release();
|
||||
}
|
||||
|
||||
@@ -635,7 +716,7 @@ namespace VeraCrypt
|
||||
stringstream partPath;
|
||||
partPath << "\\Device\\Harddisk" << driveNumber << "\\Partition" << partNumber;
|
||||
|
||||
DISK_PARTITION_INFO_STRUCT diskPartInfo;
|
||||
DISK_PARTITION_INFO_STRUCT diskPartInfo = {0};
|
||||
StringCbPrintfW (diskPartInfo.deviceName, sizeof (diskPartInfo.deviceName), L"%hs", partPath.str().c_str());
|
||||
|
||||
try
|
||||
@@ -647,50 +728,60 @@ namespace VeraCrypt
|
||||
continue;
|
||||
}
|
||||
|
||||
Partition part;
|
||||
part.DevicePath = partPath.str();
|
||||
part.Number = partNumber;
|
||||
part.Info = diskPartInfo.partInfo;
|
||||
part.IsGPT = diskPartInfo.IsGPT;
|
||||
|
||||
// Mount point
|
||||
wstringstream ws;
|
||||
ws << partPath.str().c_str();
|
||||
int driveNumber = GetDiskDeviceDriveLetter ((wchar_t *) ws.str().c_str());
|
||||
|
||||
if (driveNumber >= 0)
|
||||
if ( (diskPartInfo.IsGPT == TRUE || diskPartInfo.IsGPT == FALSE)
|
||||
&& (diskPartInfo.IsDynamic == TRUE || diskPartInfo.IsDynamic == FALSE)
|
||||
&& (diskPartInfo.partInfo.BootIndicator == TRUE || diskPartInfo.partInfo.BootIndicator == FALSE)
|
||||
&& (diskPartInfo.partInfo.RecognizedPartition == TRUE || diskPartInfo.partInfo.RecognizedPartition == FALSE)
|
||||
&& (diskPartInfo.partInfo.RewritePartition == TRUE || diskPartInfo.partInfo.RewritePartition == FALSE)
|
||||
&& (diskPartInfo.partInfo.StartingOffset.QuadPart >= 0)
|
||||
&& (diskPartInfo.partInfo.PartitionLength.QuadPart >= 0)
|
||||
)
|
||||
{
|
||||
part.MountPoint += (char) (driveNumber + 'A');
|
||||
part.MountPoint += ":";
|
||||
}
|
||||
Partition part;
|
||||
part.DevicePath = partPath.str();
|
||||
part.Number = partNumber;
|
||||
part.Info = diskPartInfo.partInfo;
|
||||
part.IsGPT = diskPartInfo.IsGPT;
|
||||
|
||||
// Volume ID
|
||||
wchar_t volumePath[TC_MAX_PATH];
|
||||
if (ResolveSymbolicLink ((wchar_t *) ws.str().c_str(), volumePath, sizeof(volumePath)))
|
||||
{
|
||||
wchar_t volumeName[TC_MAX_PATH];
|
||||
HANDLE fh = FindFirstVolumeW (volumeName, array_capacity (volumeName));
|
||||
if (fh != INVALID_HANDLE_VALUE)
|
||||
// Mount point
|
||||
wstringstream ws;
|
||||
ws << partPath.str().c_str();
|
||||
int driveNumber = GetDiskDeviceDriveLetter ((wchar_t *) ws.str().c_str());
|
||||
|
||||
if (driveNumber >= 0)
|
||||
{
|
||||
do
|
||||
{
|
||||
wstring volumeNameStr = volumeName;
|
||||
wchar_t devicePath[TC_MAX_PATH];
|
||||
|
||||
if (QueryDosDeviceW (volumeNameStr.substr (4, volumeNameStr.size() - 1 - 4).c_str(), devicePath, array_capacity (devicePath)) != 0
|
||||
&& wcscmp (volumePath, devicePath) == 0)
|
||||
{
|
||||
part.VolumeNameId = volumeName;
|
||||
break;
|
||||
}
|
||||
|
||||
} while (FindNextVolumeW (fh, volumeName, array_capacity (volumeName)));
|
||||
|
||||
FindVolumeClose (fh);
|
||||
part.MountPoint += (char) (driveNumber + 'A');
|
||||
part.MountPoint += ":";
|
||||
}
|
||||
}
|
||||
|
||||
partList.push_back (part);
|
||||
// Volume ID
|
||||
wchar_t volumePath[TC_MAX_PATH];
|
||||
if (ResolveSymbolicLink ((wchar_t *) ws.str().c_str(), volumePath, sizeof(volumePath)))
|
||||
{
|
||||
wchar_t volumeName[TC_MAX_PATH];
|
||||
HANDLE fh = FindFirstVolumeW (volumeName, array_capacity (volumeName));
|
||||
if (fh != INVALID_HANDLE_VALUE)
|
||||
{
|
||||
do
|
||||
{
|
||||
wstring volumeNameStr = volumeName;
|
||||
wchar_t devicePath[TC_MAX_PATH];
|
||||
|
||||
if (QueryDosDeviceW (volumeNameStr.substr (4, volumeNameStr.size() - 1 - 4).c_str(), devicePath, array_capacity (devicePath)) != 0
|
||||
&& wcscmp (volumePath, devicePath) == 0)
|
||||
{
|
||||
part.VolumeNameId = volumeName;
|
||||
break;
|
||||
}
|
||||
|
||||
} while (FindNextVolumeW (fh, volumeName, array_capacity (volumeName)));
|
||||
|
||||
FindVolumeClose (fh);
|
||||
}
|
||||
}
|
||||
|
||||
partList.push_back (part);
|
||||
}
|
||||
}
|
||||
|
||||
return partList;
|
||||
@@ -793,6 +884,7 @@ namespace VeraCrypt
|
||||
bool BootEncryption::SystemDriveContainsPartitionType (byte type)
|
||||
{
|
||||
Device device (GetSystemDriveConfiguration().DevicePath, true);
|
||||
device.CheckOpened ();
|
||||
|
||||
byte mbrBuf[TC_SECTOR_SIZE_BIOS];
|
||||
device.SeekAt (0);
|
||||
@@ -1103,6 +1195,7 @@ namespace VeraCrypt
|
||||
if (hiddenOSCreation)
|
||||
{
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
byte headerSector[TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (HiddenOSCandidatePartition.Info.StartingOffset.QuadPart + HiddenOSCandidatePartition.Info.PartitionLength.QuadPart - TC_VOLUME_HEADER_GROUP_SIZE + TC_VOLUME_HEADER_EFFECTIVE_SIZE);
|
||||
@@ -1191,6 +1284,7 @@ namespace VeraCrypt
|
||||
void BootEncryption::WriteBootSectorConfig (const byte newConfig[])
|
||||
{
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
byte mbr[TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (0);
|
||||
@@ -1213,6 +1307,7 @@ namespace VeraCrypt
|
||||
void BootEncryption::WriteBootSectorUserConfig (byte userConfig, const string &customUserMessage)
|
||||
{
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
byte mbr[TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (0);
|
||||
@@ -1288,14 +1383,19 @@ namespace VeraCrypt
|
||||
request.WipeAlgorithm = wipeAlgorithm;
|
||||
|
||||
if (Randinit() != ERR_SUCCESS)
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
{
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
throw RandInitFailed (SRC_POS, GetLastError ());
|
||||
else
|
||||
throw CryptoApiFailed (SRC_POS, CryptoAPILastError);
|
||||
}
|
||||
|
||||
/* force the display of the random enriching dialog */
|
||||
SetRandomPoolEnrichedByUserStatus (FALSE);
|
||||
|
||||
UserEnrichRandomPool (ParentWindow);
|
||||
|
||||
if (!RandgetBytes (request.WipeKey, sizeof (request.WipeKey), TRUE))
|
||||
if (!RandgetBytes (ParentWindow, request.WipeKey, sizeof (request.WipeKey), TRUE))
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
CallDriver (TC_IOCTL_START_DECOY_SYSTEM_WIPE, &request, sizeof (request), NULL, 0);
|
||||
@@ -1326,10 +1426,19 @@ namespace VeraCrypt
|
||||
|
||||
void BootEncryption::WipeHiddenOSCreationConfig ()
|
||||
{
|
||||
if (IsHiddenOSRunning() || Randinit() != ERR_SUCCESS)
|
||||
if (IsHiddenOSRunning())
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
if (Randinit() != ERR_SUCCESS)
|
||||
{
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
throw RandInitFailed (SRC_POS, GetLastError ());
|
||||
else
|
||||
throw CryptoApiFailed (SRC_POS, CryptoAPILastError);
|
||||
}
|
||||
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened();
|
||||
byte mbr[TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (0);
|
||||
@@ -1348,7 +1457,7 @@ namespace VeraCrypt
|
||||
#endif
|
||||
|
||||
byte randData[PRAND_DISK_WIPE_PASSES];
|
||||
if (!RandgetBytes (randData, sizeof (randData), FALSE))
|
||||
if (!RandgetBytes (ParentWindow, randData, sizeof (randData), FALSE))
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
for (int wipePass = 0; wipePass < PRAND_DISK_WIPE_PASSES; wipePass++)
|
||||
@@ -1388,6 +1497,7 @@ namespace VeraCrypt
|
||||
|
||||
// Write MBR
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
byte mbr[TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (0);
|
||||
@@ -1542,6 +1652,7 @@ namespace VeraCrypt
|
||||
else
|
||||
{
|
||||
Device bootDevice (GetSystemDriveConfiguration().DevicePath, true);
|
||||
bootDevice.CheckOpened ();
|
||||
bootDevice.SeekAt (TC_BOOT_VOLUME_HEADER_SECTOR_OFFSET);
|
||||
bootDevice.Read (image + TC_CD_BOOTSECTOR_OFFSET + TC_BOOT_VOLUME_HEADER_SECTOR_OFFSET, TC_BOOT_ENCRYPTION_VOLUME_HEADER_SIZE);
|
||||
}
|
||||
@@ -1550,6 +1661,7 @@ namespace VeraCrypt
|
||||
try
|
||||
{
|
||||
File sysBakFile (GetSystemLoaderBackupPath(), true);
|
||||
sysBakFile.CheckOpened ();
|
||||
sysBakFile.Read (image + TC_CD_BOOTSECTOR_OFFSET + TC_ORIG_BOOT_LOADER_BACKUP_SECTOR_OFFSET, TC_BOOT_LOADER_AREA_SIZE);
|
||||
|
||||
image[TC_CD_BOOTSECTOR_OFFSET + TC_BOOT_SECTOR_CONFIG_OFFSET] |= TC_BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER;
|
||||
@@ -1557,7 +1669,7 @@ namespace VeraCrypt
|
||||
catch (Exception &e)
|
||||
{
|
||||
e.Show (ParentWindow);
|
||||
Warning ("SYS_LOADER_UNAVAILABLE_FOR_RESCUE_DISK");
|
||||
Warning ("SYS_LOADER_UNAVAILABLE_FOR_RESCUE_DISK", ParentWindow);
|
||||
}
|
||||
|
||||
// Boot loader backup
|
||||
@@ -1605,6 +1717,7 @@ namespace VeraCrypt
|
||||
path[0] = drive;
|
||||
|
||||
Device driveDevice (path, true);
|
||||
driveDevice.CheckOpened ();
|
||||
size_t verifiedSectorCount = (TC_CD_BOOTSECTOR_OFFSET + TC_ORIG_BOOT_LOADER_BACKUP_SECTOR_OFFSET + TC_BOOT_LOADER_AREA_SIZE) / 2048;
|
||||
Buffer buffer ((verifiedSectorCount + 1) * 2048);
|
||||
|
||||
@@ -1631,14 +1744,15 @@ namespace VeraCrypt
|
||||
if (!IsRandomNumberGeneratorStarted())
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
throw_sys_if (CreateVolumeHeaderInMemory (TRUE, (char *) VolumeHeader, ea, mode, password, pkcs5, NULL, &cryptoInfo,
|
||||
throw_sys_if (CreateVolumeHeaderInMemory (ParentWindow, TRUE, (char *) VolumeHeader, ea, mode, password, pkcs5, NULL, &cryptoInfo,
|
||||
volumeSize, 0, encryptedAreaStart, 0, TC_SYSENC_KEYSCOPE_MIN_REQ_PROG_VERSION, TC_HEADER_FLAG_ENCRYPTED_SYSTEM, TC_SECTOR_SIZE_BIOS, FALSE) != 0);
|
||||
|
||||
finally_do_arg (PCRYPTO_INFO*, &cryptoInfo, { crypto_close (*finally_arg); });
|
||||
|
||||
// Initial rescue disk assumes encryption of the drive has been completed (EncryptedAreaLength == volumeSize)
|
||||
memcpy (RescueVolumeHeader, VolumeHeader, sizeof (RescueVolumeHeader));
|
||||
ReadVolumeHeader (TRUE, (char *) RescueVolumeHeader, password, pkcs5, NULL, cryptoInfo);
|
||||
if (0 != ReadVolumeHeader (TRUE, (char *) RescueVolumeHeader, password, pkcs5, FALSE, NULL, cryptoInfo))
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
DecryptBuffer (RescueVolumeHeader + HEADER_ENCRYPTED_DATA_OFFSET, HEADER_ENCRYPTED_DATA_SIZE, cryptoInfo);
|
||||
|
||||
@@ -1666,6 +1780,7 @@ namespace VeraCrypt
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
|
||||
device.SeekAt (TC_BOOT_VOLUME_HEADER_SECTOR_OFFSET);
|
||||
device.Write ((byte *) VolumeHeader, sizeof (VolumeHeader));
|
||||
@@ -1697,7 +1812,7 @@ namespace VeraCrypt
|
||||
void BootEncryption::BackupSystemLoader ()
|
||||
{
|
||||
Device device (GetSystemDriveConfiguration().DevicePath, true);
|
||||
|
||||
device.CheckOpened ();
|
||||
byte bootLoaderBuf[TC_BOOT_LOADER_AREA_SECTOR_COUNT * TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
device.SeekAt (0);
|
||||
@@ -1708,7 +1823,7 @@ namespace VeraCrypt
|
||||
{
|
||||
if (memcmp (bootLoaderBuf + i, TC_APP_NAME, strlen (TC_APP_NAME)) == 0)
|
||||
{
|
||||
if (AskWarnNoYes ("TC_BOOT_LOADER_ALREADY_INSTALLED") == IDNO)
|
||||
if (AskWarnNoYes ("TC_BOOT_LOADER_ALREADY_INSTALLED", ParentWindow) == IDNO)
|
||||
throw UserAbort (SRC_POS);
|
||||
return;
|
||||
}
|
||||
@@ -1724,11 +1839,12 @@ namespace VeraCrypt
|
||||
byte bootLoaderBuf[TC_BOOT_LOADER_AREA_SECTOR_COUNT * TC_SECTOR_SIZE_BIOS];
|
||||
|
||||
File backupFile (GetSystemLoaderBackupPath(), true);
|
||||
|
||||
backupFile.CheckOpened();
|
||||
if (backupFile.Read (bootLoaderBuf, sizeof (bootLoaderBuf)) != sizeof (bootLoaderBuf))
|
||||
throw ParameterIncorrect (SRC_POS);
|
||||
|
||||
Device device (GetSystemDriveConfiguration().DevicePath);
|
||||
device.CheckOpened ();
|
||||
|
||||
// Preserve current partition table
|
||||
byte mbr[TC_SECTOR_SIZE_BIOS];
|
||||
@@ -1974,7 +2090,7 @@ namespace VeraCrypt
|
||||
{
|
||||
static bool confirmed = false;
|
||||
|
||||
if (!confirmed && AskWarnNoYes ("WINDOWS_NOT_ON_BOOT_DRIVE_ERROR") == IDNO)
|
||||
if (!confirmed && AskWarnNoYes ("WINDOWS_NOT_ON_BOOT_DRIVE_ERROR", ParentWindow) == IDNO)
|
||||
throw UserAbort (SRC_POS);
|
||||
|
||||
confirmed = true;
|
||||
@@ -2022,7 +2138,7 @@ namespace VeraCrypt
|
||||
+ GetString ("LEAKS_OUTSIDE_SYSPART_UNIVERSAL_EXPLANATION")
|
||||
+ L"\n\n\n"
|
||||
+ GetString ("RESTRICT_PAGING_FILES_TO_SYS_PARTITION")
|
||||
).c_str()) == IDYES)
|
||||
).c_str(), ParentWindow) == IDYES)
|
||||
{
|
||||
RestrictPagingFilesToSystemPartition();
|
||||
RestartComputer();
|
||||
@@ -2065,6 +2181,7 @@ namespace VeraCrypt
|
||||
{
|
||||
// Verify CRC of header salt
|
||||
Device device (config.DevicePath, true);
|
||||
device.CheckOpened ();
|
||||
byte header[TC_BOOT_ENCRYPTION_VOLUME_HEADER_SIZE];
|
||||
|
||||
device.SeekAt (TC_BOOT_VOLUME_HEADER_SECTOR_OFFSET);
|
||||
@@ -2117,7 +2234,7 @@ namespace VeraCrypt
|
||||
}
|
||||
|
||||
|
||||
int BootEncryption::ChangePassword (Password *oldPassword, int old_pkcs5,Password *newPassword, int pkcs5, int wipePassCount)
|
||||
int BootEncryption::ChangePassword (Password *oldPassword, int old_pkcs5,Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg)
|
||||
{
|
||||
BootEncryptionStatus encStatus = GetStatus();
|
||||
|
||||
@@ -2128,6 +2245,7 @@ namespace VeraCrypt
|
||||
|
||||
char header[TC_BOOT_ENCRYPTION_VOLUME_HEADER_SIZE];
|
||||
Device device (config.DevicePath);
|
||||
device.CheckOpened ();
|
||||
|
||||
// Only one algorithm is currently supported
|
||||
if (pkcs5 != 0)
|
||||
@@ -2159,12 +2277,12 @@ namespace VeraCrypt
|
||||
|
||||
PCRYPTO_INFO cryptoInfo = NULL;
|
||||
|
||||
int status = ReadVolumeHeader (!encStatus.HiddenSystem, header, oldPassword, old_pkcs5, &cryptoInfo, NULL);
|
||||
int status = ReadVolumeHeader (!encStatus.HiddenSystem, header, oldPassword, old_pkcs5, FALSE, &cryptoInfo, NULL);
|
||||
finally_do_arg (PCRYPTO_INFO, cryptoInfo, { if (finally_arg) crypto_close (finally_arg); });
|
||||
|
||||
if (status != 0)
|
||||
{
|
||||
handleError (ParentWindow, status);
|
||||
handleError (hwndDlg, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -2175,14 +2293,20 @@ namespace VeraCrypt
|
||||
RandSetHashFunction (pkcs5);
|
||||
}
|
||||
|
||||
throw_sys_if (Randinit () != 0);
|
||||
if (Randinit() != 0)
|
||||
{
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
throw RandInitFailed (SRC_POS, GetLastError ());
|
||||
else
|
||||
throw CryptoApiFailed (SRC_POS, CryptoAPILastError);
|
||||
}
|
||||
finally_do ({ RandStop (FALSE); });
|
||||
|
||||
/* force the display of the random enriching dialog */
|
||||
SetRandomPoolEnrichedByUserStatus (FALSE);
|
||||
|
||||
NormalCursor();
|
||||
UserEnrichRandomPool (ParentWindow);
|
||||
UserEnrichRandomPool (hwndDlg);
|
||||
WaitCursor();
|
||||
|
||||
/* The header will be re-encrypted wipePassCount times to prevent adversaries from using
|
||||
@@ -2209,7 +2333,7 @@ namespace VeraCrypt
|
||||
{
|
||||
PCRYPTO_INFO tmpCryptoInfo = NULL;
|
||||
|
||||
status = CreateVolumeHeaderInMemory (!encStatus.HiddenSystem,
|
||||
status = CreateVolumeHeaderInMemory (hwndDlg, !encStatus.HiddenSystem,
|
||||
header,
|
||||
cryptoInfo->ea,
|
||||
cryptoInfo->mode,
|
||||
@@ -2231,7 +2355,7 @@ namespace VeraCrypt
|
||||
|
||||
if (status != 0)
|
||||
{
|
||||
handleError (ParentWindow, status);
|
||||
handleError (hwndDlg, status);
|
||||
return status;
|
||||
}
|
||||
|
||||
@@ -2249,7 +2373,7 @@ namespace VeraCrypt
|
||||
}
|
||||
catch (Exception &e)
|
||||
{
|
||||
e.Show (ParentWindow);
|
||||
e.Show (hwndDlg);
|
||||
result = ERR_OS_ERROR;
|
||||
}
|
||||
|
||||
@@ -2335,6 +2459,7 @@ namespace VeraCrypt
|
||||
Buffer sector (geometry.BytesPerSector);
|
||||
|
||||
Device device (config.DevicePath);
|
||||
device.CheckOpened ();
|
||||
|
||||
try
|
||||
{
|
||||
@@ -2346,7 +2471,7 @@ namespace VeraCrypt
|
||||
if (e.ErrorCode != ERROR_CRC)
|
||||
{
|
||||
e.Show (ParentWindow);
|
||||
Error ("WHOLE_DRIVE_ENCRYPTION_PREVENTED_BY_DRIVERS");
|
||||
Error ("WHOLE_DRIVE_ENCRYPTION_PREVENTED_BY_DRIVERS", ParentWindow);
|
||||
throw UserAbort (SRC_POS);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,10 +22,11 @@ namespace VeraCrypt
|
||||
class File
|
||||
{
|
||||
public:
|
||||
File () : Elevated (false), FileOpen (false), FilePointerPosition(0), Handle(NULL), IsDevice(false) { }
|
||||
File (string path, bool readOnly = false, bool create = false);
|
||||
~File () { Close(); }
|
||||
File () : Elevated (false), FileOpen (false), FilePointerPosition(0), Handle(INVALID_HANDLE_VALUE), IsDevice(false), LastError(0) { }
|
||||
File (string path,bool readOnly = false, bool create = false);
|
||||
virtual ~File () { Close(); }
|
||||
|
||||
void CheckOpened () { if (!FileOpen) { SetLastError (LastError); throw SystemException ();} }
|
||||
void Close ();
|
||||
DWORD Read (byte *buffer, DWORD size);
|
||||
void Write (byte *buffer, DWORD size);
|
||||
@@ -38,13 +39,15 @@ namespace VeraCrypt
|
||||
HANDLE Handle;
|
||||
bool IsDevice;
|
||||
string Path;
|
||||
DWORD LastError;
|
||||
};
|
||||
|
||||
|
||||
class Device : public File
|
||||
{
|
||||
public:
|
||||
Device (string path, bool readOnly = false);
|
||||
Device (string path,bool readOnly = false);
|
||||
virtual ~Device () {}
|
||||
};
|
||||
|
||||
|
||||
@@ -141,7 +144,7 @@ namespace VeraCrypt
|
||||
void AbortSetup ();
|
||||
void AbortSetupWait ();
|
||||
void CallDriver (DWORD ioctl, void *input = nullptr, DWORD inputSize = 0, void *output = nullptr, DWORD outputSize = 0);
|
||||
int ChangePassword (Password *oldPassword, int old_pkcs5, Password *newPassword, int pkcs5, int wipePassCount);
|
||||
int ChangePassword (Password *oldPassword, int old_pkcs5, Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg);
|
||||
void CheckDecoyOSWipeResult ();
|
||||
void CheckEncryptionSetupResult ();
|
||||
void CheckRequirements ();
|
||||
|
||||
+3
-3
@@ -21,7 +21,7 @@ Password CachedPasswords[CACHE_SIZE];
|
||||
int cacheEmpty = 1;
|
||||
static int nPasswordIdx = 0;
|
||||
|
||||
int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *password, int pkcs5_prf, PCRYPTO_INFO *retInfo)
|
||||
int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *password, int pkcs5_prf, BOOL truecryptMode, PCRYPTO_INFO *retInfo)
|
||||
{
|
||||
int nReturnCode = ERR_PASSWORD_WRONG;
|
||||
int i;
|
||||
@@ -29,7 +29,7 @@ int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *pas
|
||||
/* Attempt to recognize volume using mount password */
|
||||
if (password->Length > 0)
|
||||
{
|
||||
nReturnCode = ReadVolumeHeader (bBoot, header, password, pkcs5_prf, retInfo, NULL);
|
||||
nReturnCode = ReadVolumeHeader (bBoot, header, password, pkcs5_prf, truecryptMode, retInfo, NULL);
|
||||
|
||||
/* Save mount passwords back into cache if asked to do so */
|
||||
if (bCache && (nReturnCode == 0 || nReturnCode == ERR_CIPHER_INIT_WEAK_KEY))
|
||||
@@ -59,7 +59,7 @@ int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *pas
|
||||
{
|
||||
if (CachedPasswords[i].Length > 0)
|
||||
{
|
||||
nReturnCode = ReadVolumeHeader (bBoot, header, &CachedPasswords[i], pkcs5_prf, retInfo, NULL);
|
||||
nReturnCode = ReadVolumeHeader (bBoot, header, &CachedPasswords[i], pkcs5_prf, truecryptMode, retInfo, NULL);
|
||||
|
||||
if (nReturnCode != ERR_PASSWORD_WRONG)
|
||||
break;
|
||||
|
||||
+1
-1
@@ -19,5 +19,5 @@
|
||||
extern int cacheEmpty;
|
||||
|
||||
void AddPasswordToCache (Password *password);
|
||||
int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *password, int pkcs5_prf, PCRYPTO_INFO *retInfo);
|
||||
int ReadVolumeHeaderWCache (BOOL bBoot, BOOL bCache, char *header, Password *password, int pkcs5_prf, BOOL truecryptMode, PCRYPTO_INFO *retInfo);
|
||||
void WipeCache (void);
|
||||
|
||||
@@ -27,8 +27,8 @@
|
||||
not. - see DialogProc */
|
||||
BOOL CALLBACK CommandHelpDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (lParam); /* remove warning */
|
||||
if (wParam); /* remove warning */
|
||||
UNREFERENCED_PARAMETER (lParam); /* remove warning */
|
||||
UNREFERENCED_PARAMETER (wParam); /* remove warning */
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
|
||||
+1
-1
@@ -157,7 +157,7 @@ void LoadCombo (HWND hComboBox)
|
||||
void DumpCombo (HWND hComboBox, int bClear)
|
||||
{
|
||||
FILE *f;
|
||||
int i, nComboIdx[SIZEOF_MRU_LIST];
|
||||
int i, nComboIdx[SIZEOF_MRU_LIST] = {0};
|
||||
|
||||
if (bClear)
|
||||
{
|
||||
|
||||
@@ -309,13 +309,13 @@ BEGIN
|
||||
LTEXT "Please wait. This process may take a long time...",IDT_STATIC_MODELESS_WAIT_DLG_INFO,9,8,274,9
|
||||
END
|
||||
|
||||
IDD_STATIC_MODAL_WAIT_DLG DIALOGEX 0, 0, 292, 61
|
||||
IDD_STATIC_MODAL_WAIT_DLG DIALOGEX 0, 0, 292, 74
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_CAPTION
|
||||
CAPTION "VeraCrypt"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
CTEXT "Please wait...\nThis process may take a long time and VeraCrypt may become unresponsive.",IDT_STATIC_MODAL_WAIT_DLG_INFO,9,11,274,20
|
||||
CONTROL "",IDC_WAIT_PROGRESS_BAR,"msctls_progress32",WS_BORDER,7,37,278,14
|
||||
CTEXT "Please wait...\nThis process may take a long time and VeraCrypt may seem unresponsive.",IDT_STATIC_MODAL_WAIT_DLG_INFO,9,11,274,33
|
||||
CONTROL "",IDC_WAIT_PROGRESS_BAR,"msctls_progress32",WS_BORDER,7,49,278,14
|
||||
END
|
||||
|
||||
|
||||
@@ -456,7 +456,7 @@ BEGIN
|
||||
LEFTMARGIN, 7
|
||||
RIGHTMARGIN, 285
|
||||
TOPMARGIN, 7
|
||||
BOTTOMMARGIN, 54
|
||||
BOTTOMMARGIN, 67
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
+24
-8
@@ -408,19 +408,35 @@ BOOL EAInitMode (PCRYPTO_INFO ci)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static void EAGetDisplayName(char *buf, int ea, int i)
|
||||
{
|
||||
strcpy (buf, CipherGetName (i));
|
||||
if (i = EAGetPreviousCipher(ea, i))
|
||||
{
|
||||
strcat (buf, "(");
|
||||
EAGetDisplayName (&buf[strlen(buf)], ea, i);
|
||||
strcat (buf, ")");
|
||||
}
|
||||
}
|
||||
|
||||
// Returns name of EA, cascaded cipher names are separated by hyphens
|
||||
char *EAGetName (char *buf, int ea)
|
||||
char *EAGetName (char *buf, int ea, int guiDisplay)
|
||||
{
|
||||
int i = EAGetLastCipher(ea);
|
||||
strcpy (buf, (i != 0) ? CipherGetName (i) : "?");
|
||||
|
||||
while (i = EAGetPreviousCipher(ea, i))
|
||||
if (guiDisplay)
|
||||
{
|
||||
strcat (buf, "-");
|
||||
strcat (buf, CipherGetName (i));
|
||||
EAGetDisplayName (buf, ea, EAGetLastCipher(ea));
|
||||
}
|
||||
else
|
||||
{
|
||||
int i = EAGetLastCipher(ea);
|
||||
strcpy (buf, (i != 0) ? CipherGetName (i) : "?");
|
||||
|
||||
while (i = EAGetPreviousCipher(ea, i))
|
||||
{
|
||||
strcat (buf, "-");
|
||||
strcat (buf, CipherGetName (i));
|
||||
}
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
@@ -432,7 +448,7 @@ int EAGetByName (char *name)
|
||||
|
||||
do
|
||||
{
|
||||
EAGetName (n, ea);
|
||||
EAGetName (n, ea, 0);
|
||||
if (strcmp (n, name) == 0)
|
||||
return ea;
|
||||
}
|
||||
|
||||
+2
-1
@@ -211,6 +211,7 @@ typedef struct CRYPTO_INFO_t
|
||||
unsigned __int8 k2[MASTER_KEYDATA_SIZE]; /* For XTS, this contains the secondary key (if cascade, multiple concatenated). For LRW (deprecated/legacy), it contains the tweak key. For CBC (deprecated/legacy), it contains the IV seed. */
|
||||
unsigned __int8 salt[PKCS5_SALT_SIZE];
|
||||
int noIterations;
|
||||
BOOL bTrueCryptMode;
|
||||
|
||||
uint64 volume_creation_time; // Legacy
|
||||
uint64 header_creation_time; // Legacy
|
||||
@@ -292,7 +293,7 @@ void DecipherBlocks (int cipher, void *dataPtr, void *ks, size_t blockCount);
|
||||
int EAGetFirst ();
|
||||
int EAGetCount (void);
|
||||
int EAGetNext (int previousEA);
|
||||
char * EAGetName (char *buf, int ea);
|
||||
char * EAGetName (char *buf, int ea, int guiDisplay);
|
||||
int EAGetByName (char *name);
|
||||
int EAGetKeySize (int ea);
|
||||
int EAGetFirstMode (int ea);
|
||||
|
||||
@@ -22,11 +22,15 @@ static size_t DataPoolSize = 0;
|
||||
|
||||
void AddDictionaryEntry (char *key, int intKey, void *value)
|
||||
{
|
||||
if (key)
|
||||
StringKeyMap[key] = value;
|
||||
try
|
||||
{
|
||||
if (key)
|
||||
StringKeyMap[key] = value;
|
||||
|
||||
if (intKey != 0)
|
||||
IntKeyMap[intKey] = value;
|
||||
if (intKey != 0)
|
||||
IntKeyMap[intKey] = value;
|
||||
}
|
||||
catch (exception&) {}
|
||||
}
|
||||
|
||||
|
||||
|
||||
+510
-328
File diff suppressed because it is too large
Load Diff
+47
-40
@@ -226,6 +226,7 @@ void UpperCaseCopy ( char *lpszDest , size_t cbDest, const char *lpszSource );
|
||||
void CreateFullVolumePath ( char *lpszDiskFile , size_t cbDiskFile, const char *lpszFileName , BOOL *bDevice );
|
||||
int FakeDosNameForDevice ( const char *lpszDiskFile , char *lpszDosDevice , size_t cbDosDevice, char *lpszCFDevice , size_t cbCFDevice, BOOL bNameOnly );
|
||||
int RemoveFakeDosName ( char *lpszDiskFile , char *lpszDosDevice );
|
||||
void AbortProcessDirect ( wchar_t *abortMsg );
|
||||
void AbortProcess ( char *stringId );
|
||||
void AbortProcessSilent ( void );
|
||||
void *err_malloc ( size_t size );
|
||||
@@ -285,9 +286,10 @@ BOOL LoadSysEncSettings (HWND hwndDlg);
|
||||
int LoadNonSysInPlaceEncSettings (WipeAlgorithmId *wipeAlgorithm);
|
||||
void RemoveNonSysInPlaceEncNotifications (void);
|
||||
void SavePostInstallTasksSettings (int command);
|
||||
void DoPostInstallTasks (void);
|
||||
void DoPostInstallTasks (HWND hwndDlg);
|
||||
void InitOSVersionInfo ();
|
||||
void InitApp ( HINSTANCE hInstance, char *lpszCommandLine );
|
||||
void FinalizeApp (void);
|
||||
void InitHelpFileName (void);
|
||||
BOOL OpenDevice (const char *lpszPath, OPEN_TEST_STRUCT *driver, BOOL detectFilesystem);
|
||||
void NotifyDriverOfPortableMode (void);
|
||||
@@ -309,7 +311,7 @@ void ResetCurrentDirectory ();
|
||||
BOOL BrowseFiles (HWND hwndDlg, char *stringId, char *lpszFileName, BOOL keepHistory, BOOL saveMode, wchar_t *browseFilter);
|
||||
BOOL BrowseDirectories (HWND hWnd, char *lpszTitle, char *dirName);
|
||||
void handleError ( HWND hwndDlg , int code );
|
||||
BOOL CheckFileStreamWriteErrors (FILE *file, const char *fileName);
|
||||
BOOL CheckFileStreamWriteErrors (HWND hwndDlg, FILE *file, const char *fileName);
|
||||
void LocalizeDialog ( HWND hwnd, char *stringId );
|
||||
void OpenVolumeExplorerWindow (int driveNo);
|
||||
static BOOL CALLBACK CloseVolumeExplorerWindowsEnum( HWND hwnd, LPARAM driveNo);
|
||||
@@ -325,7 +327,7 @@ BOOL IsDriveAvailable (int driveNo);
|
||||
BOOL IsDeviceMounted (char *deviceName);
|
||||
int DriverUnmountVolume (HWND hwndDlg, int nDosDriveNo, BOOL forced);
|
||||
void BroadcastDeviceChange (WPARAM message, int nDosDriveNo, DWORD driveMap);
|
||||
int MountVolume (HWND hwndDlg, int driveNo, char *volumePath, Password *password, int pkcs5, BOOL cachePassword, BOOL sharedAccess, const MountOptions* const mountOptions, BOOL quiet, BOOL bReportWrongPassword);
|
||||
int MountVolume (HWND hwndDlg, int driveNo, char *volumePath, Password *password, int pkcs5, BOOL truecryptMode, BOOL cachePassword, BOOL sharedAccess, const MountOptions* const mountOptions, BOOL quiet, BOOL bReportWrongPassword);
|
||||
BOOL UnmountVolume (HWND hwndDlg , int nDosDriveNo, BOOL forceUnmount);
|
||||
BOOL IsPasswordCacheEmpty (void);
|
||||
BOOL IsMountedVolume (const char *volname);
|
||||
@@ -374,38 +376,39 @@ char *GetProgramConfigPath (char *fileName);
|
||||
char GetSystemDriveLetter (void);
|
||||
void OpenPageHelp (HWND hwndDlg, int nPage);
|
||||
void TaskBarIconDisplayBalloonTooltip (HWND hwnd, wchar_t *headline, wchar_t *text, BOOL warning);
|
||||
void InfoBalloon (char *headingStringId, char *textStringId);
|
||||
void InfoBalloonDirect (wchar_t *headingString, wchar_t *textString);
|
||||
void WarningBalloon (char *headingStringId, char *textStringId);
|
||||
void WarningBalloonDirect (wchar_t *headingString, wchar_t *textString);
|
||||
int Info (char *stringId);
|
||||
int InfoTopMost (char *stringId);
|
||||
int InfoDirect (const wchar_t *msg);
|
||||
int Warning (char *stringId);
|
||||
int WarningTopMost (char *stringId);
|
||||
int WarningDirect (const wchar_t *warnMsg);
|
||||
int Error (char *stringId);
|
||||
int ErrorDirect (const wchar_t *errMsg);
|
||||
int ErrorTopMost (char *stringId);
|
||||
int AskYesNo (char *stringId);
|
||||
int AskYesNoString (const wchar_t *str);
|
||||
int AskYesNoTopmost (char *stringId);
|
||||
int AskNoYes (char *stringId);
|
||||
int AskOkCancel (char *stringId);
|
||||
int AskWarnYesNo (char *stringId);
|
||||
int AskWarnYesNoString (const wchar_t *string);
|
||||
int AskWarnYesNoTopmost (char *stringId);
|
||||
int AskWarnYesNoStringTopmost (const wchar_t *string);
|
||||
int AskWarnNoYes (char *stringId);
|
||||
int AskWarnNoYesString (const wchar_t *string);
|
||||
int AskWarnNoYesTopmost (char *stringId);
|
||||
int AskWarnOkCancel (char *stringId);
|
||||
int AskWarnCancelOk (char *stringId);
|
||||
int AskErrYesNo (char *stringId);
|
||||
int AskErrNoYes (char *stringId);
|
||||
int AskMultiChoice (void *strings[], BOOL bBold);
|
||||
void InfoBalloon (char *headingStringId, char *textStringId, HWND hwnd);
|
||||
void InfoBalloonDirect (wchar_t *headingString, wchar_t *textString, HWND hwnd);
|
||||
void WarningBalloon (char *headingStringId, char *textStringId, HWND hwnd);
|
||||
void WarningBalloonDirect (wchar_t *headingString, wchar_t *textString, HWND hwnd);
|
||||
int Info (char *stringId, HWND hwnd);
|
||||
int InfoTopMost (char *stringId, HWND hwnd);
|
||||
int InfoDirect (const wchar_t *msg, HWND hwnd);
|
||||
int Warning (char *stringId, HWND hwnd);
|
||||
int WarningTopMost (char *stringId, HWND hwnd);
|
||||
int WarningDirect (const wchar_t *warnMsg, HWND hwnd);
|
||||
int Error (char *stringId, HWND hwnd);
|
||||
int ErrorRetryCancel (char *stringId, HWND hwnd);
|
||||
int ErrorDirect (const wchar_t *errMsg, HWND hwnd);
|
||||
int ErrorTopMost (char *stringId, HWND hwnd);
|
||||
int AskYesNo (char *stringId, HWND hwnd);
|
||||
int AskYesNoString (const wchar_t *str, HWND hwnd);
|
||||
int AskYesNoTopmost (char *stringId, HWND hwnd);
|
||||
int AskNoYes (char *stringId, HWND hwnd);
|
||||
int AskOkCancel (char *stringId, HWND hwnd);
|
||||
int AskWarnYesNo (char *stringId, HWND hwnd);
|
||||
int AskWarnYesNoString (const wchar_t *string, HWND hwnd);
|
||||
int AskWarnYesNoTopmost (char *stringId, HWND hwnd);
|
||||
int AskWarnYesNoStringTopmost (const wchar_t *string, HWND hwnd);
|
||||
int AskWarnNoYes (char *stringId, HWND hwnd);
|
||||
int AskWarnNoYesString (const wchar_t *string, HWND hwnd);
|
||||
int AskWarnNoYesTopmost (char *stringId, HWND hwnd);
|
||||
int AskWarnOkCancel (char *stringId, HWND hwnd);
|
||||
int AskWarnCancelOk (char *stringId, HWND hwnd);
|
||||
int AskErrYesNo (char *stringId, HWND hwnd);
|
||||
int AskErrNoYes (char *stringId, HWND hwnd);
|
||||
int AskMultiChoice (void *strings[], BOOL bBold, HWND hwnd);
|
||||
BOOL ConfigWriteBegin ();
|
||||
BOOL ConfigWriteEnd ();
|
||||
BOOL ConfigWriteEnd (HWND hwnd);
|
||||
BOOL ConfigWriteString (char *configKey, char *configValue);
|
||||
BOOL ConfigWriteInt (char *configKey, int configValue);
|
||||
int ConfigReadInt (char *configKey, int defaultValue);
|
||||
@@ -423,7 +426,7 @@ BOOL EnableWow64FsRedirection (BOOL enable);
|
||||
BOOL RestartComputer (void);
|
||||
void Applink (char *dest, BOOL bSendOS, char *extraOutput);
|
||||
char *RelativePath2Absolute (char *szFileName);
|
||||
void HandleDriveNotReadyError ();
|
||||
void HandleDriveNotReadyError (HWND hwnd);
|
||||
BOOL CALLBACK CloseTCWindowsEnum( HWND hwnd, LPARAM lParam);
|
||||
BOOL CALLBACK FindTCWindowEnum (HWND hwnd, LPARAM lParam);
|
||||
BYTE *MapResource (char *resourceType, int resourceId, PDWORD size);
|
||||
@@ -447,20 +450,20 @@ void ToBootPwdField (HWND hwndDlg, UINT ctrlId);
|
||||
void AccommodateTextField (HWND hwndDlg, UINT ctrlId, BOOL bFirstUpdate, HFONT hFont);
|
||||
BOOL GetDriveLabel (int driveNo, wchar_t *label, int labelSize);
|
||||
BOOL DoDriverInstall (HWND hwndDlg);
|
||||
int OpenVolume (OpenVolumeContext *context, const char *volumePath, Password *password, int pkcs5_prf, BOOL write, BOOL preserveTimestamps, BOOL useBackupHeader);
|
||||
int OpenVolume (OpenVolumeContext *context, const char *volumePath, Password *password, int pkcs5_prf, BOOL truecryptMode, BOOL write, BOOL preserveTimestamps, BOOL useBackupHeader);
|
||||
void CloseVolume (OpenVolumeContext *context);
|
||||
int ReEncryptVolumeHeader (char *buffer, BOOL bBoot, CRYPTO_INFO *cryptoInfo, Password *password, BOOL wipeMode);
|
||||
int ReEncryptVolumeHeader (HWND hwndDlg, char *buffer, BOOL bBoot, CRYPTO_INFO *cryptoInfo, Password *password, BOOL wipeMode);
|
||||
BOOL IsPagingFileActive (BOOL checkNonWindowsPartitionsOnly);
|
||||
BOOL IsPagingFileWildcardActive ();
|
||||
BOOL DisablePagingFile ();
|
||||
BOOL CALLBACK SecurityTokenPasswordDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL CALLBACK SecurityTokenKeyfileDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL InitSecurityTokenLibrary ();
|
||||
BOOL InitSecurityTokenLibrary (HWND hwndDlg);
|
||||
BOOL FileHasReadOnlyAttribute (const char *path);
|
||||
BOOL IsFileOnReadOnlyFilesystem (const char *path);
|
||||
void CheckFilesystem (int driveNo, BOOL fixErrors);
|
||||
void CheckFilesystem (HWND hwndDlg, int driveNo, BOOL fixErrors);
|
||||
BOOL BufferContainsString (const byte *buffer, size_t bufferSize, const char *str);
|
||||
int AskNonSysInPlaceEncryptionResume ();
|
||||
int AskNonSysInPlaceEncryptionResume (HWND hwndDlg);
|
||||
BOOL RemoveDeviceWriteProtection (HWND hwndDlg, char *devicePath);
|
||||
void EnableElevatedCursorChange (HWND parent);
|
||||
BOOL DisableFileCompression (HANDLE file);
|
||||
@@ -528,6 +531,10 @@ std::string HarddiskVolumePathToPartitionPath (const std::string &harddiskVolume
|
||||
std::string FindLatestFileOrDirectory (const std::string &directory, const char *namePattern, bool findDirectory, bool findFile);
|
||||
std::string GetUserFriendlyVersionString (int version);
|
||||
|
||||
// Display a wait dialog while calling the provided callback with the given parameter
|
||||
typedef void (CALLBACK* WaitThreadProc)(void* pArg, HWND hWaitDlg);
|
||||
void ShowWaitDialog(HWND hwnd, BOOL bUseHwndAsParent, WaitThreadProc callback, void* pArg);
|
||||
|
||||
#endif // __cplusplus
|
||||
|
||||
#endif // TC_HEADER_DLGCODE
|
||||
|
||||
+1
-1
@@ -108,7 +108,7 @@ extern "C"
|
||||
( ( unsigned __int32 ) memPtr[ -2 ] << 8 ) | ( unsigned __int32 ) memPtr[ -1 ] )
|
||||
|
||||
#define mgetWord(memPtr) \
|
||||
( memPtr += 2, ( unsigned short ) memPtr[ -2 ] << 8 ) | ( ( unsigned short ) memPtr[ -1 ] )
|
||||
( memPtr += 2, ((( unsigned short ) memPtr[ -2 ] << 8 ) | ( ( unsigned short ) memPtr[ -1 ] )) )
|
||||
|
||||
#define mgetByte(memPtr) \
|
||||
( ( unsigned char ) *memPtr++ )
|
||||
|
||||
+36
-3
@@ -11,6 +11,7 @@
|
||||
|
||||
#include "Platform/PlatformBase.h"
|
||||
#include "Dlgcode.h"
|
||||
#include <strsafe.h>
|
||||
|
||||
namespace VeraCrypt
|
||||
{
|
||||
@@ -40,9 +41,9 @@ namespace VeraCrypt
|
||||
void Show (HWND parent) const
|
||||
{
|
||||
if (ErrMsg.empty())
|
||||
::Error (ErrLangId? ErrLangId : "");
|
||||
::Error (ErrLangId? ErrLangId : "", parent);
|
||||
else
|
||||
::ErrorDirect (ErrMsg.c_str());
|
||||
::ErrorDirect (ErrMsg.c_str(), parent);
|
||||
}
|
||||
|
||||
char *ErrLangId;
|
||||
@@ -62,10 +63,42 @@ namespace VeraCrypt
|
||||
const char *SrcPos;
|
||||
};
|
||||
|
||||
struct RandInitFailed : public Exception
|
||||
{
|
||||
RandInitFailed (const char *srcPos, DWORD dwLastError) : SrcPos (srcPos), LastError (dwLastError) { }
|
||||
|
||||
void Show (HWND parent) const
|
||||
{
|
||||
char szErrCode[16];
|
||||
StringCbPrintf (szErrCode, sizeof(szErrCode), "0x%.8X", LastError);
|
||||
string msgBody = "The Random Generator initialization failed.\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n" + string (SrcPos) + "\nLast Error = " + string (szErrCode) + ")";
|
||||
MessageBox (parent, msgBody.c_str(), "VeraCrypt", MB_ICONERROR | MB_SETFOREGROUND);
|
||||
}
|
||||
|
||||
const char *SrcPos;
|
||||
DWORD LastError;
|
||||
};
|
||||
|
||||
struct CryptoApiFailed : public Exception
|
||||
{
|
||||
CryptoApiFailed (const char *srcPos, DWORD dwLastError) : SrcPos (srcPos), LastError (dwLastError) { }
|
||||
|
||||
void Show (HWND parent) const
|
||||
{
|
||||
char szErrCode[16];
|
||||
StringCbPrintf (szErrCode, sizeof(szErrCode), "0x%.8X", LastError);
|
||||
string msgBody = "Windows Crypto API failed.\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n" + string (SrcPos) + "\nLast Error = " + string (szErrCode) + ")";
|
||||
MessageBox (parent, msgBody.c_str(), "VeraCrypt", MB_ICONERROR | MB_SETFOREGROUND);
|
||||
}
|
||||
|
||||
const char *SrcPos;
|
||||
DWORD LastError;
|
||||
};
|
||||
|
||||
struct TimeOut : public Exception
|
||||
{
|
||||
TimeOut (const char *srcPos) { }
|
||||
void Show (HWND parent) const { ErrorDirect (L"Timeout"); }
|
||||
void Show (HWND parent) const { ErrorDirect (L"Timeout", parent); }
|
||||
};
|
||||
|
||||
struct UserAbort : public Exception
|
||||
|
||||
+9
-7
@@ -60,7 +60,7 @@ GetFatParams (fatparams * ft)
|
||||
if (ft->cluster_size == 0)
|
||||
ft->cluster_size = 1;
|
||||
|
||||
if (ft->cluster_size * ft->sector_size > TC_MAX_FAT_CLUSTER_SIZE)
|
||||
if (((unsigned __int64) ft->cluster_size * ft->sector_size) > TC_MAX_FAT_CLUSTER_SIZE)
|
||||
ft->cluster_size = TC_MAX_FAT_CLUSTER_SIZE / ft->sector_size;
|
||||
|
||||
if (ft->cluster_size > 128)
|
||||
@@ -85,7 +85,7 @@ GetFatParams (fatparams * ft)
|
||||
ft->size_fat = 12;
|
||||
ft->reserved = 2;
|
||||
fatsecs = ft->num_sectors - (ft->size_root_dir + ft->sector_size - 1) / ft->sector_size - ft->reserved;
|
||||
ft->cluster_count = (int) (((__int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
|
||||
ft->cluster_count = (int) (((unsigned __int64) fatsecs * ft->sector_size) / ((unsigned __int64) ft->cluster_size * ft->sector_size));
|
||||
ft->fat_length = (((ft->cluster_count * 3 + 1) >> 1) + ft->sector_size - 1) / ft->sector_size;
|
||||
|
||||
if (ft->cluster_count >= 4085) // FAT16
|
||||
@@ -108,7 +108,7 @@ GetFatParams (fatparams * ft)
|
||||
|
||||
fatsecs = ft->num_sectors - ft->reserved;
|
||||
ft->size_root_dir = ft->cluster_size * ft->sector_size;
|
||||
ft->cluster_count = (int) (((__int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
|
||||
ft->cluster_count = (int) (((unsigned __int64) fatsecs * ft->sector_size) / (ft->cluster_size * ft->sector_size));
|
||||
ft->fat_length = (ft->cluster_count * 4 + ft->sector_size - 1) / ft->sector_size;
|
||||
|
||||
// Align data area on TC_MAX_VOLUME_SECTOR_SIZE
|
||||
@@ -253,7 +253,7 @@ static void PutFSInfo (unsigned char *sector, fatparams *ft)
|
||||
|
||||
|
||||
int
|
||||
FormatFat (unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat)
|
||||
FormatFat (void* hwndDlgPtr, unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat)
|
||||
{
|
||||
int write_buf_cnt = 0;
|
||||
char sector[TC_MAX_VOLUME_SECTOR_SIZE], *write_buf;
|
||||
@@ -261,6 +261,7 @@ FormatFat (unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INF
|
||||
int x, n;
|
||||
int retVal;
|
||||
char temporaryKey[MASTER_KEYDATA_SIZE];
|
||||
HWND hwndDlg = (HWND) hwndDlgPtr;
|
||||
|
||||
LARGE_INTEGER startOffset;
|
||||
LARGE_INTEGER newOffset;
|
||||
@@ -281,7 +282,8 @@ FormatFat (unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INF
|
||||
|
||||
memset (sector, 0, ft->sector_size);
|
||||
|
||||
RandgetBytes (ft->volume_id, sizeof (ft->volume_id), FALSE);
|
||||
if (!RandgetBytes (hwndDlg, ft->volume_id, sizeof (ft->volume_id), FALSE))
|
||||
goto fail;
|
||||
|
||||
PutBoot (ft, (unsigned char *) sector);
|
||||
if (WriteSector (dev, sector, write_buf, &write_buf_cnt, &nSecNo,
|
||||
@@ -399,11 +401,11 @@ FormatFat (unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INF
|
||||
within the volume). */
|
||||
|
||||
// Temporary master key
|
||||
if (!RandgetBytes (temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE))
|
||||
if (!RandgetBytes (hwndDlg, temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE))
|
||||
goto fail;
|
||||
|
||||
// Temporary secondary key (XTS mode)
|
||||
if (!RandgetBytes (cryptoInfo->k2, sizeof cryptoInfo->k2, FALSE))
|
||||
if (!RandgetBytes (hwndDlg, cryptoInfo->k2, sizeof cryptoInfo->k2, FALSE))
|
||||
goto fail;
|
||||
|
||||
retVal = EAInit (cryptoInfo->ea, temporaryKey, cryptoInfo->ks);
|
||||
|
||||
+2
-2
@@ -19,7 +19,7 @@ typedef struct fatparams_t
|
||||
int size_fat; /* size of FAT */
|
||||
int fats;
|
||||
int media;
|
||||
int cluster_size;
|
||||
unsigned int cluster_size;
|
||||
int fat_length;
|
||||
uint16 dir_entries;
|
||||
uint16 sector_size;
|
||||
@@ -64,4 +64,4 @@ struct msdos_boot_sector
|
||||
|
||||
void GetFatParams ( fatparams *ft );
|
||||
void PutBoot ( fatparams *ft , unsigned char *boot );
|
||||
int FormatFat (unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat);
|
||||
int FormatFat (void* hwndDlg, unsigned __int64 startSector, fatparams * ft, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat);
|
||||
|
||||
+16
-15
@@ -93,6 +93,7 @@ int TCFormatVolume (volatile FORMAT_VOL_PARAMETERS *volParams)
|
||||
uint64 dataOffset, dataAreaSize;
|
||||
LARGE_INTEGER offset;
|
||||
BOOL bFailedRequiredDASD = FALSE;
|
||||
HWND hwndDlg = volParams->hwndDlg;
|
||||
|
||||
FormatSectorSize = volParams->sectorSize;
|
||||
|
||||
@@ -100,7 +101,7 @@ int TCFormatVolume (volatile FORMAT_VOL_PARAMETERS *volParams)
|
||||
|| FormatSectorSize > TC_MAX_VOLUME_SECTOR_SIZE
|
||||
|| FormatSectorSize % ENCRYPTION_DATA_UNIT_SIZE != 0)
|
||||
{
|
||||
Error ("SECTOR_SIZE_UNSUPPORTED");
|
||||
Error ("SECTOR_SIZE_UNSUPPORTED", hwndDlg);
|
||||
return ERR_DONT_REPORT;
|
||||
}
|
||||
|
||||
@@ -139,7 +140,7 @@ int TCFormatVolume (volatile FORMAT_VOL_PARAMETERS *volParams)
|
||||
|
||||
VirtualLock (header, sizeof (header));
|
||||
|
||||
nStatus = CreateVolumeHeaderInMemory (FALSE,
|
||||
nStatus = CreateVolumeHeaderInMemory (hwndDlg, FALSE,
|
||||
header,
|
||||
volParams->ea,
|
||||
FIRST_MODE_OF_OPERATION_ID,
|
||||
@@ -179,7 +180,7 @@ begin_format:
|
||||
{
|
||||
if ((dev = DismountDrive (devName, volParams->volumePath)) == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
Error ("FORMAT_CANT_DISMOUNT_FILESYS");
|
||||
Error ("FORMAT_CANT_DISMOUNT_FILESYS", hwndDlg);
|
||||
nStatus = ERR_DONT_REPORT;
|
||||
goto error;
|
||||
}
|
||||
@@ -285,7 +286,7 @@ begin_format:
|
||||
else
|
||||
{
|
||||
handleWin32Error (volParams->hwndDlg);
|
||||
Error ("CANT_ACCESS_VOL");
|
||||
Error ("CANT_ACCESS_VOL", hwndDlg);
|
||||
nStatus = ERR_DONT_REPORT;
|
||||
goto error;
|
||||
}
|
||||
@@ -317,7 +318,7 @@ begin_format:
|
||||
|
||||
if (DeviceIoControl (dev, FSCTL_IS_VOLUME_MOUNTED, NULL, 0, NULL, 0, &dwResult, NULL))
|
||||
{
|
||||
Error ("FORMAT_CANT_DISMOUNT_FILESYS");
|
||||
Error ("FORMAT_CANT_DISMOUNT_FILESYS", hwndDlg);
|
||||
nStatus = ERR_DONT_REPORT;
|
||||
goto error;
|
||||
}
|
||||
@@ -474,7 +475,7 @@ begin_format:
|
||||
goto error;
|
||||
}
|
||||
|
||||
nStatus = FormatNoFs (startSector, num_sectors, dev, cryptoInfo, volParams->quickFormat);
|
||||
nStatus = FormatNoFs (hwndDlg, startSector, num_sectors, dev, cryptoInfo, volParams->quickFormat);
|
||||
|
||||
if (volParams->bDevice)
|
||||
StopFormatWriteThread();
|
||||
@@ -507,7 +508,7 @@ begin_format:
|
||||
goto error;
|
||||
}
|
||||
|
||||
nStatus = FormatFat (startSector, &ft, (void *) dev, cryptoInfo, volParams->quickFormat);
|
||||
nStatus = FormatFat (hwndDlg, startSector, &ft, (void *) dev, cryptoInfo, volParams->quickFormat);
|
||||
|
||||
if (volParams->bDevice)
|
||||
StopFormatWriteThread();
|
||||
@@ -531,7 +532,7 @@ begin_format:
|
||||
goto error;
|
||||
}
|
||||
|
||||
nStatus = CreateVolumeHeaderInMemory (FALSE,
|
||||
nStatus = CreateVolumeHeaderInMemory (hwndDlg, FALSE,
|
||||
header,
|
||||
volParams->ea,
|
||||
FIRST_MODE_OF_OPERATION_ID,
|
||||
@@ -557,7 +558,7 @@ begin_format:
|
||||
// Fill reserved header sectors (including the backup header area) with random data
|
||||
if (!volParams->hiddenVol)
|
||||
{
|
||||
nStatus = WriteRandomDataToReservedHeaderAreas (dev, cryptoInfo, dataAreaSize, FALSE, FALSE);
|
||||
nStatus = WriteRandomDataToReservedHeaderAreas (hwndDlg, dev, cryptoInfo, dataAreaSize, FALSE, FALSE);
|
||||
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
@@ -623,7 +624,7 @@ error:
|
||||
mountOptions.PartitionInInactiveSysEncScope = FALSE;
|
||||
mountOptions.UseBackupHeader = FALSE;
|
||||
|
||||
if (MountVolume (volParams->hwndDlg, driveNo, volParams->volumePath, volParams->password, volParams->pkcs5, FALSE, TRUE, &mountOptions, FALSE, TRUE) < 1)
|
||||
if (MountVolume (volParams->hwndDlg, driveNo, volParams->volumePath, volParams->password, volParams->pkcs5, FALSE, FALSE, TRUE, &mountOptions, FALSE, TRUE) < 1)
|
||||
{
|
||||
MessageBoxW (volParams->hwndDlg, GetString ("CANT_MOUNT_VOLUME"), lpszTitle, ICON_HAND);
|
||||
MessageBoxW (volParams->hwndDlg, GetString ("FORMAT_NTFS_STOP"), lpszTitle, ICON_HAND);
|
||||
@@ -643,7 +644,7 @@ error:
|
||||
|
||||
if (dataAreaSize <= TC_MAX_FAT_SECTOR_COUNT * FormatSectorSize)
|
||||
{
|
||||
if (AskErrYesNo ("FORMAT_NTFS_FAILED_ASK_FAT") == IDYES)
|
||||
if (AskErrYesNo ("FORMAT_NTFS_FAILED_ASK_FAT", hwndDlg) == IDYES)
|
||||
{
|
||||
// NTFS format failed and the user wants to try FAT format immediately
|
||||
volParams->fileSystem = FILESYS_FAT;
|
||||
@@ -654,7 +655,7 @@ error:
|
||||
}
|
||||
}
|
||||
else
|
||||
Error ("FORMAT_NTFS_FAILED");
|
||||
Error ("FORMAT_NTFS_FAILED", hwndDlg);
|
||||
|
||||
nStatus = ERR_DONT_REPORT;
|
||||
goto fv_end;
|
||||
@@ -677,7 +678,7 @@ fv_end:
|
||||
}
|
||||
|
||||
|
||||
int FormatNoFs (unsigned __int64 startSector, __int64 num_sectors, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat)
|
||||
int FormatNoFs (HWND hwndDlg, unsigned __int64 startSector, __int64 num_sectors, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat)
|
||||
{
|
||||
int write_buf_cnt = 0;
|
||||
char sector[TC_MAX_VOLUME_SECTOR_SIZE], *write_buf;
|
||||
@@ -719,11 +720,11 @@ int FormatNoFs (unsigned __int64 startSector, __int64 num_sectors, void * dev, P
|
||||
deniability of hidden volumes. */
|
||||
|
||||
// Temporary master key
|
||||
if (!RandgetBytes (temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE))
|
||||
if (!RandgetBytes (hwndDlg, temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE))
|
||||
goto fail;
|
||||
|
||||
// Temporary secondary key (XTS mode)
|
||||
if (!RandgetBytes (cryptoInfo->k2, sizeof cryptoInfo->k2, FALSE))
|
||||
if (!RandgetBytes (hwndDlg, cryptoInfo->k2, sizeof cryptoInfo->k2, FALSE))
|
||||
goto fail;
|
||||
|
||||
retVal = EAInit (cryptoInfo->ea, temporaryKey, cryptoInfo->ks);
|
||||
|
||||
+2
-2
@@ -33,7 +33,7 @@ typedef struct
|
||||
int pkcs5;
|
||||
uint32 headerFlags;
|
||||
int fileSystem;
|
||||
int clusterSize;
|
||||
unsigned int clusterSize;
|
||||
BOOL sparseFileSwitch;
|
||||
BOOL quickFormat;
|
||||
int sectorSize;
|
||||
@@ -51,7 +51,7 @@ extern int FormatWriteBufferSize;
|
||||
int TCFormatVolume (volatile FORMAT_VOL_PARAMETERS *volParams);
|
||||
BOOL FormatNtfs (int driveNo, int clusterSize);
|
||||
uint64 GetVolumeDataAreaSize (BOOL hiddenVolume, uint64 volumeSize);
|
||||
int FormatNoFs (unsigned __int64 startSector, __int64 num_sectors, void *dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat);
|
||||
int FormatNoFs (HWND hwndDlg, unsigned __int64 startSector, __int64 num_sectors, void *dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat);
|
||||
BOOL WriteSector ( void *dev , char *sector , char *write_buf , int *write_buf_cnt , __int64 *nSecNo , PCRYPTO_INFO cryptoInfo );
|
||||
BOOL FlushFormatWriteBuffer (void *dev, char *write_buf, int *write_buf_cnt, __int64 *nSecNo, PCRYPTO_INFO cryptoInfo);
|
||||
static BOOL StartFormatWriteThread ();
|
||||
|
||||
+16
-3
@@ -849,7 +849,10 @@ static int inflate_dynamic(__G)
|
||||
j = 3 + ((unsigned)b & 3);
|
||||
DUMPBITS(2)
|
||||
if ((unsigned)i + j > n)
|
||||
{
|
||||
huft_free(tl);
|
||||
return 1;
|
||||
}
|
||||
while (j--)
|
||||
ll[i++] = l;
|
||||
}
|
||||
@@ -859,7 +862,10 @@ static int inflate_dynamic(__G)
|
||||
j = 3 + ((unsigned)b & 7);
|
||||
DUMPBITS(3)
|
||||
if ((unsigned)i + j > n)
|
||||
{
|
||||
huft_free(tl);
|
||||
return 1;
|
||||
}
|
||||
while (j--)
|
||||
ll[i++] = 0;
|
||||
l = 0;
|
||||
@@ -870,7 +876,10 @@ static int inflate_dynamic(__G)
|
||||
j = 11 + ((unsigned)b & 0x7f);
|
||||
DUMPBITS(7)
|
||||
if ((unsigned)i + j > n)
|
||||
{
|
||||
huft_free(tl);
|
||||
return 1;
|
||||
}
|
||||
while (j--)
|
||||
ll[i++] = 0;
|
||||
l = 0;
|
||||
@@ -908,6 +917,7 @@ static int inflate_dynamic(__G)
|
||||
//if (!uO.qflag)
|
||||
MESSAGE((uch *)"(incomplete d-tree) ", 21L, 1);
|
||||
huft_free(tl);
|
||||
huft_free(td);
|
||||
return 1;
|
||||
}
|
||||
if (i == 1) {
|
||||
@@ -917,6 +927,7 @@ static int inflate_dynamic(__G)
|
||||
//if (!uO.qflag)
|
||||
MESSAGE((uch *)"(incomplete d-tree) ", 21L, 1);
|
||||
huft_free(td);
|
||||
td = NULL;
|
||||
#endif
|
||||
}
|
||||
if (i)
|
||||
@@ -927,13 +938,15 @@ static int inflate_dynamic(__G)
|
||||
|
||||
|
||||
/* decompress until an end-of-block code */
|
||||
if (inflate_codes(__G__ tl, td, bl, bd))
|
||||
return 1;
|
||||
|
||||
i = inflate_codes(__G__ tl, td, bl, bd);
|
||||
|
||||
/* free the decoding tables, return */
|
||||
huft_free(tl);
|
||||
huft_free(td);
|
||||
|
||||
if (i)
|
||||
return 1;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
+14
-14
@@ -218,7 +218,7 @@ close:
|
||||
}
|
||||
|
||||
|
||||
BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
BOOL KeyFilesApply (HWND hwndDlg, Password *password, KeyFile *firstKeyFile)
|
||||
{
|
||||
BOOL status = TRUE;
|
||||
KeyFile kfSubStruct;
|
||||
@@ -252,8 +252,8 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
if (keyfileData.empty())
|
||||
{
|
||||
SetLastError (ERROR_HANDLE_EOF);
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE", hwndDlg);
|
||||
status = FALSE;
|
||||
continue;
|
||||
}
|
||||
@@ -291,8 +291,8 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
// Determine whether it's a path or a file
|
||||
if (stat (kf->FileName, &statStruct) != 0)
|
||||
{
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE", hwndDlg);
|
||||
status = FALSE;
|
||||
continue;
|
||||
}
|
||||
@@ -305,8 +305,8 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
StringCbPrintfA (searchPath, sizeof (searchPath), "%s\\*.*", kf->FileName);
|
||||
if ((searchHandle = _findfirst (searchPath, &fBuf)) == -1)
|
||||
{
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE_PATH");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE_PATH", hwndDlg);
|
||||
status = FALSE;
|
||||
continue;
|
||||
}
|
||||
@@ -323,8 +323,8 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
// Determine whether it's a path or a file
|
||||
if (stat (kfSub->FileName, &statStruct) != 0)
|
||||
{
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE", hwndDlg);
|
||||
status = FALSE;
|
||||
continue;
|
||||
}
|
||||
@@ -347,8 +347,8 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
// Apply keyfile to the pool
|
||||
if (!KeyFileProcess (keyPool, kfSub))
|
||||
{
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE", hwndDlg);
|
||||
status = FALSE;
|
||||
}
|
||||
|
||||
@@ -359,15 +359,15 @@ BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile)
|
||||
|
||||
if (keyfileCount == 0)
|
||||
{
|
||||
ErrorDirect ((wstring (GetString ("ERR_KEYFILE_PATH_EMPTY")) + L"\n\n" + SingleStringToWide (kf->FileName)).c_str());
|
||||
ErrorDirect ((wstring (GetString ("ERR_KEYFILE_PATH_EMPTY")) + L"\n\n" + SingleStringToWide (kf->FileName)).c_str(), hwndDlg);
|
||||
status = FALSE;
|
||||
}
|
||||
}
|
||||
// Apply keyfile to the pool
|
||||
else if (!KeyFileProcess (keyPool, kf))
|
||||
{
|
||||
handleWin32Error (MainDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE");
|
||||
handleWin32Error (hwndDlg);
|
||||
Error ("ERR_PROCESS_KEYFILE", hwndDlg);
|
||||
status = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ KeyFile *KeyFileAdd (KeyFile *firstKeyFile, KeyFile *keyFile);
|
||||
void KeyFileRemoveAll (KeyFile **firstKeyFile);
|
||||
KeyFile *KeyFileClone (KeyFile *keyFile);
|
||||
KeyFile *KeyFileCloneAll (KeyFile *firstKeyFile);
|
||||
BOOL KeyFilesApply (Password *password, KeyFile *firstKeyFile);
|
||||
BOOL KeyFilesApply (HWND hwndDlg, Password *password, KeyFile *firstKeyFile);
|
||||
|
||||
BOOL CALLBACK KeyFilesDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL KeyfilesPopupMenu (HWND hwndDlg, POINT popupPosition, KeyFilesDlgParam *dialogParam);
|
||||
|
||||
@@ -64,6 +64,7 @@ static char *MapNextLanguageFile ()
|
||||
WIN32_FIND_DATAW find;
|
||||
HANDLE file;
|
||||
DWORD read;
|
||||
BOOL bStatus;
|
||||
|
||||
if (LanguageFileFindHandle == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
@@ -107,9 +108,9 @@ static char *MapNextLanguageFile ()
|
||||
return NULL;
|
||||
}
|
||||
|
||||
ReadFile (file, LanguageFileBuffer, find.nFileSizeLow, &read, NULL);
|
||||
bStatus = ReadFile (file, LanguageFileBuffer, find.nFileSizeLow, &read, NULL);
|
||||
CloseHandle (file);
|
||||
if (read != find.nFileSizeLow)
|
||||
if (!bStatus || (read != find.nFileSizeLow))
|
||||
{
|
||||
free(LanguageFileBuffer);
|
||||
return NULL;
|
||||
|
||||
+19
-10
@@ -155,6 +155,7 @@
|
||||
<control lang="en" key="IDC_PREF_MOUNT_READONLY">Mount volumes as read-only</control>
|
||||
<control lang="en" key="IDC_PREF_MOUNT_REMOVABLE">Mount volumes as removable media</control>
|
||||
<control lang="en" key="IDC_PREF_OPEN_EXPLORER">Open Explorer window for successfully mounted volume</control>
|
||||
<control lang="en" key="IDC_PREF_TEMP_CACHE_ON_MULTIPLE_MOUNT">Temporary Cache password during "Mount Favorite Volumes" operations</control>
|
||||
<control lang="en" key="IDC_PREF_USE_DIFF_TRAY_ICON_IF_VOL_MOUNTED">Use a different taskbar icon when there are mounted volumes</control>
|
||||
<control lang="en" key="IDC_PREF_WIPE_CACHE_ON_AUTODISMOUNT">Wipe cached passwords on auto-dismount</control>
|
||||
<control lang="en" key="IDC_PREF_WIPE_CACHE_ON_EXIT">Wipe cached passwords on exit</control>
|
||||
@@ -167,10 +168,12 @@
|
||||
<control lang="en" key="IDC_SHOW_PASSWORD_CHPWD_ORI">Display password</control>
|
||||
<control lang="en" key="IDC_TRAVEL_OPEN_EXPLORER">Open &Explorer window for mounted volume</control>
|
||||
<control lang="en" key="IDC_TRAV_CACHE_PASSWORDS">&Cache password in driver memory</control>
|
||||
<control lang="en" key="IDC_TRUECRYPT_MODE">TrueCrypt Mode</control>
|
||||
<control lang="en" key="IDC_UNMOUNTALL">Di&smount All</control>
|
||||
<control lang="en" key="IDC_VOLUME_PROPERTIES">&Volume Properties...</control>
|
||||
<control lang="en" key="IDC_VOLUME_TOOLS">Volume &Tools...</control>
|
||||
<control lang="en" key="IDC_WIPE_CACHE">&Wipe Cache</control>
|
||||
<control lang="en" key="IDD_DEFAULT_MOUNT_PARAMETERS">VeraCrypt - Mount Parameters</control>
|
||||
<control lang="en" key="IDD_FAVORITE_VOLUMES">VeraCrypt - Favorite Volumes</control>
|
||||
<control lang="en" key="IDD_HOTKEYS_DLG">VeraCrypt - System-Wide Hot Keys</control>
|
||||
<control lang="en" key="IDD_MOUNT_DLG">VeraCrypt</control>
|
||||
@@ -200,6 +203,7 @@
|
||||
<control lang="en" key="IDM_CREATE_RESCUE_DISK">Create Rescue Disk...</control>
|
||||
<control lang="en" key="IDM_CREATE_VOLUME">Create New Volume...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_KEYFILES">Default Keyfiles...</control>
|
||||
<control lang="en" key="IDM_DEFAULT_MOUNT_PARAMETERS">Default Mount Parameters...</control>
|
||||
<control lang="en" key="IDM_DONATE">Donate now...</control>
|
||||
<control lang="en" key="IDM_ENCRYPT_SYSTEM_DEVICE">Encrypt System Partition/Drive...</control>
|
||||
<control lang="en" key="IDM_FAQ">Frequently Asked Questions</control>
|
||||
@@ -242,6 +246,7 @@
|
||||
<control lang="en" key="IDM_UNMOUNT_VOLUME">Dismount Volume</control>
|
||||
<control lang="en" key="IDM_VERIFY_RESCUE_DISK">Verify Rescue Disk</control>
|
||||
<control lang="en" key="IDM_VERSION_HISTORY">Version History</control>
|
||||
<control lang="en" key="IDM_VOLUME_EXPANDER">Volume Expander</control>
|
||||
<control lang="en" key="IDM_VOLUME_PROPERTIES">Volume Properties</control>
|
||||
<control lang="en" key="IDM_VOLUME_WIZARD">Volume Creation Wizard</control>
|
||||
<control lang="en" key="IDM_WEBSITE">VeraCrypt Website</control>
|
||||
@@ -347,7 +352,7 @@
|
||||
<control lang="en" key="IDT_SECURITY_TOKEN">Security token:</control>
|
||||
<control lang="en" key="IDT_SORT_METHOD">Sort Method:</control>
|
||||
<control lang="en" key="IDT_STATIC_MODELESS_WAIT_DLG_INFO">Please wait. This process may take a long time...</control>
|
||||
<control lang="en" key="IDT_STATIC_MODAL_WAIT_DLG_INFO">Please wait...\nThis process may take a long time and VeraCrypt may become unresponsive.</control>
|
||||
<control lang="en" key="IDT_STATIC_MODAL_WAIT_DLG_INFO">Please wait...\nThis process may take a long time and VeraCrypt may seem unresponsive.</control>
|
||||
<control lang="en" key="IDT_TEST_BLOCK_NUMBER">Block number:</control>
|
||||
<control lang="en" key="IDT_TEST_CIPHERTEXT">Ciphertext (hexadecimal)</control>
|
||||
<control lang="en" key="IDT_TEST_DATA_UNIT_NUMBER">Data unit number (64-bit hexadecimal, data unit size is 512 bytes)</control>
|
||||
@@ -521,7 +526,8 @@
|
||||
<string lang="en" key="CONFIRM_RESTART">Your computer must be restarted.\n\nDo you want to restart it now?</string>
|
||||
<string lang="en" key="ERR_GETTING_SYSTEM_ENCRYPTION_STATUS">An error occurred when obtaining the system encryption status.</string>
|
||||
<string lang="en" key="INIT_SYS_ENC">Cannot initialize application components for system encryption.</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!</string>
|
||||
<string lang="en" key="INIT_RAND">Failed to initialize the random number generator!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="CAPI_RAND">Windows Crypto API failed!\n\n\n(If you report a bug in connection with this, please include the following technical information in the bug report:\n%hs, Last Error = 0x%.8X)</string>
|
||||
<string lang="en" key="INIT_REGISTER">Unable to initialize the application. Failed to register the Dialog class.</string>
|
||||
<string lang="en" key="INIT_RICHEDIT">Error: Failed to load the Rich Edit system library.</string>
|
||||
<string lang="en" key="INTRO_TITLE">VeraCrypt Volume Creation Wizard</string>
|
||||
@@ -534,6 +540,7 @@
|
||||
<string lang="en" key="MOUNT_BUTTON">&Mount</string>
|
||||
<string lang="en" key="NEW_VERSION_REQUIRED">A newer version of VeraCrypt is required to mount this volume.</string>
|
||||
<string lang="en" key="VOL_CREATION_WIZARD_NOT_FOUND">Error: Volume Creation Wizard not found.\n\nPlease make sure that the file 'VeraCrypt Format.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCrypt Format.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="VOL_EXPANDER_NOT_FOUND">Error: Volume Expander not found.\n\nPlease make sure that the file 'VeraCryptExpander.exe' is in the folder from which 'VeraCrypt.exe' was launched. If it is not, please reinstall VeraCrypt, or locate 'VeraCryptExpander.exe' on your disk and run it.</string>
|
||||
<string lang="en" key="NEXT">&Next ></string>
|
||||
<string lang="en" key="FINALIZE">&Finish</string>
|
||||
<string lang="en" key="INSTALL">&Install</string>
|
||||
@@ -589,12 +596,12 @@
|
||||
<string lang="en" key="PASSWORD_HIDDEN_OS_TITLE">Password for Hidden Operating System</string>
|
||||
<string lang="en" key="PASSWORD_LENGTH_WARNING">WARNING: Short passwords are easy to crack using brute force techniques!\n\nWe recommend choosing a password consisting of more than 20 characters. Are you sure you want to use a short password?</string>
|
||||
<string lang="en" key="PASSWORD_TITLE">Volume Password</string>
|
||||
<string lang="en" key="PASSWORD_WRONG">Incorrect password or not a VeraCrypt volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_WRONG">Incorrect keyfile(s) and/or password or not a VeraCrypt volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_MODE_WRONG">Wrong mount mode, incorrect password, or not a VeraCrypt volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_OR_MODE_WRONG">Wrong mount mode, incorrect keyfile(s) and/or password, or not a VeraCrypt volume.</string>
|
||||
<string lang="en" key="PASSWORD_WRONG_AUTOMOUNT">Incorrect password or no VeraCrypt volume found.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_WRONG_AUTOMOUNT">Incorrect keyfile(s)/password or no VeraCrypt volume found.</string>
|
||||
<string lang="en" key="PASSWORD_WRONG">Incorrect password/PRF or not a valid volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_WRONG">Incorrect keyfile(s) and/or password/PRF or not a valid volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_MODE_WRONG">Wrong mount mode, incorrect password/PRF, or not a valid volume.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_OR_MODE_WRONG">Wrong mount mode, incorrect keyfile(s) and/or password/PRF, or not a valid volume.</string>
|
||||
<string lang="en" key="PASSWORD_WRONG_AUTOMOUNT">Incorrect password/PRF or no valid volume found.</string>
|
||||
<string lang="en" key="PASSWORD_OR_KEYFILE_WRONG_AUTOMOUNT">Incorrect keyfile(s)/password/PRF or no valid volume found.</string>
|
||||
<string lang="en" key="PASSWORD_WRONG_CAPSLOCK_ON">\n\nWarning: Caps Lock is on. This may cause you to enter your password incorrectly.</string>
|
||||
<string lang="en" key="HIDDEN_FILES_PRESENT_IN_KEYFILE_PATH">\n\nWARNING: Hidden file(s) have been found in a keyfile search path. Such hidden files cannot be used as keyfiles. If you need to use them as keyfiles, remove their 'Hidden' attribute (right-click each of them, select 'Properties', uncheck 'Hidden' and click OK). Note: Hidden files are visible only if the corresponding option is enabled (Computer > Organize > 'Folder and search options' > View).</string>
|
||||
<string lang="en" key="HIDDEN_VOL_PROT_PASSWORD_US_KEYB_LAYOUT">If you are attempting to protect a hidden volume containing a hidden system, please make sure you are using the standard US keyboard layout when typing the password for the hidden volume. This is required due to the fact that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available.</string>
|
||||
@@ -1033,6 +1040,7 @@
|
||||
<string lang="en" key="EXTRA_BOOT_PARTITION_REMOVAL_INSTRUCTIONS">\nThe extra boot partition can be removed before installing Windows. To do so, follow these steps:\n\n1) Boot your Windows installation disc.\n\n2) In the Windows installer screen, click 'Install now' > 'Custom (advanced)'.\n\n3) Click 'Drive Options'.\n\n4) Select the main system partition and delete it by clicking 'Delete' and 'OK'.\n\n5) Select the 'System Reserved' partition, click 'Extend', and increase its size so that the operating system can be installed to it.\n\n6) Click 'Apply' and 'OK'.\n\n7) Install Windows on the 'System Reserved' partition.\n\n\nShould an attacker ask why you removed the extra boot partition, you can answer that you wanted to prevent any possible data leaks to the unencrypted boot partition.\n\nNote: You can print this text by clicking the 'Print' button below. If you save a copy of this text or print it (strongly recommended, unless your printer stores copies of documents it prints on its internal drive), you should destroy any copies of it after removing the extra boot partition (otherwise, if such a copy was found, it might indicate that there is a hidden operating system on this computer).</string>
|
||||
<string lang="en" key="GAP_BETWEEN_SYS_AND_HIDDEN_OS_PARTITION">Warning: There is unallocated space between the system partition and the first partition behind it. After you create the hidden operating system, you must not create any new partitions in that unallocated space. Otherwise, the hidden operating system will be impossible to boot (until you delete such newly created partitions).</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">This algorithm is currently not supported for system encryption.</string>
|
||||
<string lang="en" key="ALGO_NOT_SUPPORTED_FOR_TRUECRYPT_MODE">This algorithm is not supported for TrueCrypt mode.</string>
|
||||
<string lang="en" key="KEYFILES_NOT_SUPPORTED_FOR_SYS_ENCRYPTION">Keyfiles are currently not supported for system encryption.</string>
|
||||
<string lang="en" key="CANNOT_RESTORE_KEYBOARD_LAYOUT">Warning: VeraCrypt could not restore the original keyboard layout. This may cause you to enter a password incorrectly.</string>
|
||||
<string lang="en" key="CANT_CHANGE_KEYB_LAYOUT_FOR_SYS_ENCRYPTION">Error: Cannot set the keyboard layout for VeraCrypt to the standard US keyboard layout.\n\nNote that the password needs to be typed in the pre-boot environment (before Windows starts) where non-US Windows keyboard layouts are not available. Therefore, the password must always be typed using the standard US keyboard layout.</string>
|
||||
@@ -1231,8 +1239,9 @@
|
||||
<string lang="en" key="ASK_REMOVE_DEVICE_WRITE_PROTECTION">Do you want VeraCrypt to attempt to disable write protection of the partition/drive?</string>
|
||||
<string lang="en" key="CONFIRM_SETTING_DEGRADES_PERFORMANCE">WARNING: This setting may degrade performance.\n\nAre you sure you want to use this setting?</string>
|
||||
<string lang="en" key="HOST_DEVICE_REMOVAL_DISMOUNT_WARN_TITLE">Warning: VeraCrypt volume auto-dismounted</string>
|
||||
<string lang="en" key="HOST_DEVICE_REMOVAL_DISMOUNT_WARN">Before you physically remove or turn off a device containing a mounted volume, you should always dismount the volume in VeraCrypt first.\n\nUnexpected spontaneous dismount is usually caused by an intermittently failing cable, drive (enclosure), etc.</string>
|
||||
<string lang="en" key="TEST">Test</string>
|
||||
<string lang="en" key="HOST_DEVICE_REMOVAL_DISMOUNT_WARN">Before you physically remove or turn off a device containing a mounted volume, you should always dismount the volume in VeraCrypt first.\n\nUnexpected spontaneous dismount is usually caused by an intermittently failing cable, drive (enclosure), etc.</string>
|
||||
<string lang="en" key="UNSUPPORTED_TRUECRYPT_FORMAT">This volume was created with TrueCrypt %x.%x but VeraCrypt supports only TrueCrypt volumes created with TrueCrypt 6.x/7.x series</string>
|
||||
<string lang="en" key="TEST">Test</string>
|
||||
<string lang="en" key="KEYFILE">Keyfile</string>
|
||||
<string lang="en" key="VKEY_08">Backspace</string>
|
||||
<string lang="en" key="VKEY_09">Tab</string>
|
||||
|
||||
+13
-7
@@ -32,7 +32,7 @@ void VerifyPasswordAndUpdate (HWND hwndDlg, HWND hButton, HWND hPassword,
|
||||
int k = GetWindowTextLength (hPassword);
|
||||
BOOL bEnable = FALSE;
|
||||
|
||||
if (hwndDlg); /* Remove warning */
|
||||
UNREFERENCED_PARAMETER (hwndDlg); /* Remove warning */
|
||||
|
||||
GetWindowText (hPassword, szTmp1, sizeof (szTmp1));
|
||||
GetWindowText (hVerify, szTmp2, sizeof (szTmp2));
|
||||
@@ -119,7 +119,7 @@ BOOL CheckPasswordLength (HWND hwndDlg, HWND hwndItem)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg)
|
||||
int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, BOOL truecryptMode, Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg)
|
||||
{
|
||||
int nDosLinkCreated = 1, nStatus = ERR_OS_ERROR;
|
||||
char szDiskFile[TC_MAX_PATH], szCFDevice[TC_MAX_PATH];
|
||||
@@ -143,7 +143,7 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
|
||||
if (oldPassword->Length == 0 || newPassword->Length == 0) return -1;
|
||||
|
||||
if (wipePassCount <= 0)
|
||||
if ((wipePassCount <= 0) || (truecryptMode && (old_pkcs5 == SHA256)))
|
||||
{
|
||||
nStatus = ERR_PARAMETER_INCORRECT;
|
||||
handleError (hwndDlg, nStatus);
|
||||
@@ -230,7 +230,13 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
}
|
||||
|
||||
if (Randinit ())
|
||||
{
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
nStatus = ERR_RAND_INIT_FAILED;
|
||||
else
|
||||
nStatus = ERR_CAPI_INIT_FAILED;
|
||||
goto error;
|
||||
}
|
||||
|
||||
SetRandomPoolEnrichedByUserStatus (FALSE); /* force the display of the random enriching dialog */
|
||||
|
||||
@@ -281,7 +287,7 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
|
||||
/* Try to decrypt the header */
|
||||
|
||||
nStatus = ReadVolumeHeader (FALSE, buffer, oldPassword, old_pkcs5, &cryptoInfo, NULL);
|
||||
nStatus = ReadVolumeHeader (FALSE, buffer, oldPassword, old_pkcs5, truecryptMode, &cryptoInfo, NULL);
|
||||
if (nStatus == ERR_CIPHER_INIT_WEAK_KEY)
|
||||
nStatus = 0; // We can ignore this error here
|
||||
|
||||
@@ -341,7 +347,7 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
for (wipePass = 0; wipePass < wipePassCount; wipePass++)
|
||||
{
|
||||
// Prepare new volume header
|
||||
nStatus = CreateVolumeHeaderInMemory (FALSE,
|
||||
nStatus = CreateVolumeHeaderInMemory (hwndDlg, FALSE,
|
||||
buffer,
|
||||
cryptoInfo->ea,
|
||||
cryptoInfo->mode,
|
||||
@@ -353,7 +359,7 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
(volumeType == TC_VOLUME_TYPE_HIDDEN) ? cryptoInfo->hiddenVolumeSize : 0,
|
||||
cryptoInfo->EncryptedAreaStart.Value,
|
||||
cryptoInfo->EncryptedAreaLength.Value,
|
||||
cryptoInfo->RequiredProgramVersion,
|
||||
truecryptMode? 0 : cryptoInfo->RequiredProgramVersion,
|
||||
cryptoInfo->HeaderFlags,
|
||||
cryptoInfo->SectorSize,
|
||||
wipePass < wipePassCount - 1);
|
||||
@@ -383,7 +389,7 @@ int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Pas
|
||||
&& (cryptoInfo->HeaderFlags & TC_HEADER_FLAG_NONSYS_INPLACE_ENC) != 0
|
||||
&& (cryptoInfo->HeaderFlags & ~TC_HEADER_FLAG_NONSYS_INPLACE_ENC) == 0)
|
||||
{
|
||||
nStatus = WriteRandomDataToReservedHeaderAreas (dev, cryptoInfo, cryptoInfo->VolumeSize.Value, !backupHeader, backupHeader);
|
||||
nStatus = WriteRandomDataToReservedHeaderAreas (hwndDlg, dev, cryptoInfo, cryptoInfo->VolumeSize.Value, !backupHeader, backupHeader);
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
}
|
||||
|
||||
@@ -35,7 +35,7 @@ typedef struct
|
||||
void VerifyPasswordAndUpdate ( HWND hwndDlg , HWND hButton , HWND hPassword , HWND hVerify , unsigned char *szPassword , char *szVerify, BOOL keyFilesEnabled );
|
||||
BOOL CheckPasswordLength (HWND hwndDlg, HWND hwndItem);
|
||||
BOOL CheckPasswordCharEncoding (HWND hPassword, Password *ptrPw);
|
||||
int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg);
|
||||
int ChangePwd (const char *lpszVolume, Password *oldPassword, int old_pkcs5, BOOL truecryptMode, Password *newPassword, int pkcs5, int wipePassCount, HWND hwndDlg);
|
||||
|
||||
#endif // defined(_WIN32) && !defined(TC_WINDOWS_DRIVER)
|
||||
|
||||
|
||||
+394
-302
@@ -36,24 +36,68 @@ void hmac_truncate
|
||||
|
||||
#if !defined(TC_WINDOWS_BOOT) || defined(TC_WINDOWS_BOOT_SHA2)
|
||||
|
||||
void hmac_sha256
|
||||
typedef struct hmac_sha256_ctx_struct
|
||||
{
|
||||
sha256_ctx ctx;
|
||||
char buf[SHA256_BLOCKSIZE];
|
||||
char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the SHA256 hash */
|
||||
char u[SHA256_DIGESTSIZE];
|
||||
} hmac_sha256_ctx;
|
||||
|
||||
void hmac_sha256_internal
|
||||
(
|
||||
char *k, /* secret key */
|
||||
char *k, /* secret key. It's ensured to be always <= 32 bytes */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* data */
|
||||
int ld, /* length of data in bytes */
|
||||
char *out /* output buffer, at least "t" bytes */
|
||||
char *d, /* input data. d pointer is guaranteed to be at least 32-bytes long */
|
||||
int ld, /* length of input data in bytes */
|
||||
hmac_sha256_ctx* hmac /* HMAC-SHA256 context which holds temporary variables */
|
||||
)
|
||||
{
|
||||
sha256_ctx ictx, octx;
|
||||
char isha[SHA256_DIGESTSIZE], osha[SHA256_DIGESTSIZE];
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
char key[SHA256_DIGESTSIZE];
|
||||
#endif
|
||||
char buf[SHA256_BLOCKSIZE];
|
||||
int i;
|
||||
sha256_ctx* ctx = &(hmac->ctx);
|
||||
char* buf = hmac->buf;
|
||||
|
||||
/**** Inner Digest ****/
|
||||
|
||||
sha256_begin (ctx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < SHA256_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
sha256_hash ((unsigned char *) buf, SHA256_BLOCKSIZE, ctx);
|
||||
sha256_hash ((unsigned char *) d, ld, ctx);
|
||||
|
||||
sha256_end ((unsigned char *) d, ctx); /* d = inner digest */
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
sha256_begin (ctx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < SHA256_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
sha256_hash ((unsigned char *) buf, SHA256_BLOCKSIZE, ctx);
|
||||
sha256_hash ((unsigned char *) d, SHA256_DIGESTSIZE, ctx);
|
||||
|
||||
sha256_end ((unsigned char *) d, ctx); /* d = outer digest */
|
||||
}
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
void hmac_sha256
|
||||
(
|
||||
char *k, /* secret key */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* data */
|
||||
int ld /* length of data in bytes */
|
||||
)
|
||||
{
|
||||
hmac_sha256_ctx hmac;
|
||||
char key[SHA256_DIGESTSIZE];
|
||||
/* If the key is longer than the hash algorithm block size,
|
||||
let key = sha256(key), as per HMAC specifications. */
|
||||
if (lk > SHA256_BLOCKSIZE)
|
||||
@@ -69,58 +113,19 @@ void hmac_sha256
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
/**** Inner Digest ****/
|
||||
|
||||
sha256_begin (&ictx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < SHA256_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
sha256_hash ((unsigned char *) buf, SHA256_BLOCKSIZE, &ictx);
|
||||
sha256_hash ((unsigned char *) d, ld, &ictx);
|
||||
|
||||
sha256_end ((unsigned char *) isha, &ictx);
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
sha256_begin (&octx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < SHA256_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
sha256_hash ((unsigned char *) buf, SHA256_BLOCKSIZE, &octx);
|
||||
sha256_hash ((unsigned char *) isha, SHA256_DIGESTSIZE, &octx);
|
||||
|
||||
sha256_end ((unsigned char *) osha, &octx);
|
||||
|
||||
/* truncate and print the results */
|
||||
hmac_truncate (osha, out, SHA256_DIGESTSIZE);
|
||||
|
||||
hmac_sha256_internal(k, lk, d, ld, &hmac);
|
||||
/* Prevent leaks */
|
||||
burn (&ictx, sizeof(ictx));
|
||||
burn (&octx, sizeof(octx));
|
||||
burn (isha, sizeof(isha));
|
||||
burn (osha, sizeof(osha));
|
||||
burn (buf, sizeof(buf));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (key, sizeof(key));
|
||||
#endif
|
||||
burn(&hmac, sizeof(hmac));
|
||||
burn(key, sizeof(key));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
void derive_u_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b)
|
||||
static void derive_u_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, int b, hmac_sha256_ctx* hmac)
|
||||
{
|
||||
char j[SHA256_DIGESTSIZE], k[SHA256_DIGESTSIZE];
|
||||
char init[128];
|
||||
char counter[4];
|
||||
char* k = hmac->k;
|
||||
char* u = hmac->u;
|
||||
uint32 c;
|
||||
int i;
|
||||
int i;
|
||||
|
||||
#ifdef TC_WINDOWS_BOOT
|
||||
/* In bootloader, iterations is a boolean : TRUE for boot derivation mode, FALSE otherwise
|
||||
@@ -135,35 +140,50 @@ void derive_u_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iter
|
||||
#endif
|
||||
|
||||
/* iteration 1 */
|
||||
memset (counter, 0, 4);
|
||||
counter[3] = (char) b;
|
||||
memcpy (init, salt, salt_len); /* salt */
|
||||
memcpy (&init[salt_len], counter, 4); /* big-endian block number */
|
||||
hmac_sha256 (pwd, pwd_len, init, salt_len + 4, j);
|
||||
memcpy (u, j, SHA256_DIGESTSIZE);
|
||||
memcpy (k, salt, salt_len); /* salt */
|
||||
|
||||
/* big-endian block number */
|
||||
memset (&k[salt_len], 0, 3);
|
||||
k[salt_len + 3] = (char) b;
|
||||
|
||||
hmac_sha256_internal (pwd, pwd_len, k, salt_len + 4, hmac);
|
||||
memcpy (u, k, SHA256_DIGESTSIZE);
|
||||
|
||||
/* remaining iterations */
|
||||
while (c > 1)
|
||||
{
|
||||
hmac_sha256 (pwd, pwd_len, j, SHA256_DIGESTSIZE, k);
|
||||
hmac_sha256_internal (pwd, pwd_len, k, SHA256_DIGESTSIZE, hmac);
|
||||
for (i = 0; i < SHA256_DIGESTSIZE; i++)
|
||||
{
|
||||
u[i] ^= k[i];
|
||||
j[i] = k[i];
|
||||
}
|
||||
c--;
|
||||
}
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (j, sizeof(j));
|
||||
burn (k, sizeof(k));
|
||||
}
|
||||
|
||||
|
||||
void derive_key_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen)
|
||||
{
|
||||
char u[SHA256_DIGESTSIZE];
|
||||
{
|
||||
hmac_sha256_ctx hmac;
|
||||
int b, l, r;
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
char key[SHA256_DIGESTSIZE];
|
||||
/* If the password is longer than the hash algorithm block size,
|
||||
let pwd = sha256(pwd), as per HMAC specifications. */
|
||||
if (pwd_len > SHA256_BLOCKSIZE)
|
||||
{
|
||||
sha256_ctx tctx;
|
||||
|
||||
sha256_begin (&tctx);
|
||||
sha256_hash ((unsigned char *) pwd, pwd_len, &tctx);
|
||||
sha256_end ((unsigned char *) key, &tctx);
|
||||
|
||||
pwd = key;
|
||||
pwd_len = SHA256_DIGESTSIZE;
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
|
||||
if (dklen % SHA256_DIGESTSIZE)
|
||||
{
|
||||
@@ -179,43 +199,89 @@ void derive_key_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int it
|
||||
/* first l - 1 blocks */
|
||||
for (b = 1; b < l; b++)
|
||||
{
|
||||
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, SHA256_DIGESTSIZE);
|
||||
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, SHA256_DIGESTSIZE);
|
||||
dk += SHA256_DIGESTSIZE;
|
||||
}
|
||||
|
||||
/* last block */
|
||||
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, r);
|
||||
derive_u_sha256 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, r);
|
||||
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (u, sizeof(u));
|
||||
burn (&hmac, sizeof(hmac));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (key, sizeof(key));
|
||||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
|
||||
typedef struct hmac_sha512_ctx_struct
|
||||
{
|
||||
sha512_ctx ctx;
|
||||
char buf[SHA512_BLOCKSIZE];
|
||||
char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the SHA512 hash */
|
||||
char u[SHA512_DIGESTSIZE];
|
||||
} hmac_sha512_ctx;
|
||||
|
||||
void hmac_sha512_internal
|
||||
(
|
||||
char *k, /* secret key */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* data and also output buffer of at least 64 bytes */
|
||||
int ld, /* length of data in bytes */
|
||||
hmac_sha512_ctx* hmac
|
||||
)
|
||||
{
|
||||
sha512_ctx* ctx = &(hmac->ctx);
|
||||
char* buf = hmac->buf;
|
||||
int i;
|
||||
|
||||
/**** Inner Digest ****/
|
||||
|
||||
sha512_begin (ctx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < SHA512_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
sha512_hash ((unsigned char *) buf, SHA512_BLOCKSIZE, ctx);
|
||||
sha512_hash ((unsigned char *) d, ld, ctx);
|
||||
|
||||
sha512_end ((unsigned char *) d, ctx);
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
sha512_begin (ctx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < SHA512_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
sha512_hash ((unsigned char *) buf, SHA512_BLOCKSIZE, ctx);
|
||||
sha512_hash ((unsigned char *) d, SHA512_DIGESTSIZE, ctx);
|
||||
|
||||
sha512_end ((unsigned char *) d, ctx);
|
||||
}
|
||||
|
||||
void hmac_sha512
|
||||
(
|
||||
char *k, /* secret key */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* data */
|
||||
int ld, /* length of data in bytes */
|
||||
char *out, /* output buffer, at least "t" bytes */
|
||||
int t
|
||||
char *d, /* data and also output buffer of at least 64 bytes */
|
||||
int ld /* length of data in bytes */
|
||||
)
|
||||
{
|
||||
sha512_ctx ictx, octx;
|
||||
char isha[SHA512_DIGESTSIZE], osha[SHA512_DIGESTSIZE];
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
hmac_sha512_ctx hmac;
|
||||
char key[SHA512_DIGESTSIZE];
|
||||
#endif
|
||||
char buf[SHA512_BLOCKSIZE];
|
||||
int i;
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
/* If the key is longer than the hash algorithm block size,
|
||||
let key = sha512(key), as per HMAC specifications. */
|
||||
if (lk > SHA512_BLOCKSIZE)
|
||||
@@ -231,88 +297,62 @@ void hmac_sha512
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
/**** Inner Digest ****/
|
||||
|
||||
sha512_begin (&ictx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < SHA512_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
sha512_hash ((unsigned char *) buf, SHA512_BLOCKSIZE, &ictx);
|
||||
sha512_hash ((unsigned char *) d, ld, &ictx);
|
||||
|
||||
sha512_end ((unsigned char *) isha, &ictx);
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
sha512_begin (&octx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < SHA512_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
sha512_hash ((unsigned char *) buf, SHA512_BLOCKSIZE, &octx);
|
||||
sha512_hash ((unsigned char *) isha, SHA512_DIGESTSIZE, &octx);
|
||||
|
||||
sha512_end ((unsigned char *) osha, &octx);
|
||||
|
||||
/* truncate and print the results */
|
||||
t = t > SHA512_DIGESTSIZE ? SHA512_DIGESTSIZE : t;
|
||||
hmac_truncate (osha, out, t);
|
||||
hmac_sha512_internal (k, lk, d, ld, &hmac);
|
||||
|
||||
/* Prevent leaks */
|
||||
burn (&ictx, sizeof(ictx));
|
||||
burn (&octx, sizeof(octx));
|
||||
burn (isha, sizeof(isha));
|
||||
burn (osha, sizeof(osha));
|
||||
burn (buf, sizeof(buf));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (&hmac, sizeof(hmac));
|
||||
burn (key, sizeof(key));
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
void derive_u_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b)
|
||||
static void derive_u_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, int b, hmac_sha512_ctx* hmac)
|
||||
{
|
||||
char j[SHA512_DIGESTSIZE], k[SHA512_DIGESTSIZE];
|
||||
char init[128];
|
||||
char counter[4];
|
||||
char* k = hmac->k;
|
||||
char* u = hmac->u;
|
||||
int c, i;
|
||||
|
||||
/* iteration 1 */
|
||||
memset (counter, 0, 4);
|
||||
counter[3] = (char) b;
|
||||
memcpy (init, salt, salt_len); /* salt */
|
||||
memcpy (&init[salt_len], counter, 4); /* big-endian block number */
|
||||
hmac_sha512 (pwd, pwd_len, init, salt_len + 4, j, SHA512_DIGESTSIZE);
|
||||
memcpy (u, j, SHA512_DIGESTSIZE);
|
||||
memcpy (k, salt, salt_len); /* salt */
|
||||
/* big-endian block number */
|
||||
memset (&k[salt_len], 0, 3);
|
||||
k[salt_len + 3] = (char) b;
|
||||
|
||||
hmac_sha512_internal (pwd, pwd_len, k, salt_len + 4, hmac);
|
||||
memcpy (u, k, SHA512_DIGESTSIZE);
|
||||
|
||||
/* remaining iterations */
|
||||
for (c = 1; c < iterations; c++)
|
||||
{
|
||||
hmac_sha512 (pwd, pwd_len, j, SHA512_DIGESTSIZE, k, SHA512_DIGESTSIZE);
|
||||
hmac_sha512_internal (pwd, pwd_len, k, SHA512_DIGESTSIZE, hmac);
|
||||
for (i = 0; i < SHA512_DIGESTSIZE; i++)
|
||||
{
|
||||
u[i] ^= k[i];
|
||||
j[i] = k[i];
|
||||
}
|
||||
}
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (j, sizeof(j));
|
||||
burn (k, sizeof(k));
|
||||
}
|
||||
|
||||
|
||||
void derive_key_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen)
|
||||
{
|
||||
char u[SHA512_DIGESTSIZE];
|
||||
hmac_sha512_ctx hmac;
|
||||
int b, l, r;
|
||||
char key[SHA512_DIGESTSIZE];
|
||||
|
||||
/* If the password is longer than the hash algorithm block size,
|
||||
let pwd = sha512(pwd), as per HMAC specifications. */
|
||||
if (pwd_len > SHA512_BLOCKSIZE)
|
||||
{
|
||||
sha512_ctx tctx;
|
||||
|
||||
sha512_begin (&tctx);
|
||||
sha512_hash ((unsigned char *) pwd, pwd_len, &tctx);
|
||||
sha512_end ((unsigned char *) key, &tctx);
|
||||
|
||||
pwd = key;
|
||||
pwd_len = SHA512_DIGESTSIZE;
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
|
||||
if (dklen % SHA512_DIGESTSIZE)
|
||||
{
|
||||
@@ -328,35 +368,85 @@ void derive_key_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int it
|
||||
/* first l - 1 blocks */
|
||||
for (b = 1; b < l; b++)
|
||||
{
|
||||
derive_u_sha512 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, SHA512_DIGESTSIZE);
|
||||
derive_u_sha512 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, SHA512_DIGESTSIZE);
|
||||
dk += SHA512_DIGESTSIZE;
|
||||
}
|
||||
|
||||
/* last block */
|
||||
derive_u_sha512 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, r);
|
||||
derive_u_sha512 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, r);
|
||||
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (u, sizeof(u));
|
||||
burn (&hmac, sizeof(hmac));
|
||||
burn (key, sizeof(key));
|
||||
}
|
||||
|
||||
#endif // TC_WINDOWS_BOOT
|
||||
|
||||
#if !defined(TC_WINDOWS_BOOT) || defined(TC_WINDOWS_BOOT_RIPEMD160)
|
||||
|
||||
void hmac_ripemd160 (char *key, int keylen, char *input, int len, char *digest)
|
||||
typedef struct hmac_ripemd160_ctx_struct
|
||||
{
|
||||
RMD160_CTX context;
|
||||
unsigned char k_ipad[65]; /* inner padding - key XORd with ipad */
|
||||
unsigned char k_opad[65]; /* outer padding - key XORd with opad */
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
unsigned char tk[RIPEMD160_DIGESTSIZE];
|
||||
#endif
|
||||
int i;
|
||||
RMD160_CTX context;
|
||||
char k_pad[65];
|
||||
char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the RIPEMD-160 hash */
|
||||
char u[RIPEMD160_DIGESTSIZE];
|
||||
} hmac_ripemd160_ctx;
|
||||
|
||||
void hmac_ripemd160_internal (char *key, int keylen, char *input_digest, int len, hmac_ripemd160_ctx* hmac)
|
||||
{
|
||||
RMD160_CTX* context = &(hmac->context);
|
||||
unsigned char* k_pad = hmac->k_pad; /* inner/outer padding - key XORd with ipad */
|
||||
int i;
|
||||
|
||||
/*
|
||||
|
||||
RMD160(K XOR opad, RMD160(K XOR ipad, text))
|
||||
|
||||
where K is an n byte key
|
||||
ipad is the byte 0x36 repeated RIPEMD160_BLOCKSIZE times
|
||||
opad is the byte 0x5c repeated RIPEMD160_BLOCKSIZE times
|
||||
and text is the data being protected */
|
||||
|
||||
|
||||
/* start out by storing key in pads */
|
||||
memset(k_pad, 0x36, 65);
|
||||
|
||||
/* XOR key with ipad and opad values */
|
||||
for (i=0; i<keylen; i++)
|
||||
{
|
||||
k_pad[i] ^= key[i];
|
||||
}
|
||||
|
||||
/* perform inner RIPEMD-160 */
|
||||
|
||||
RMD160Init(context); /* init context for 1st pass */
|
||||
RMD160Update(context, k_pad, RIPEMD160_BLOCKSIZE); /* start with inner pad */
|
||||
RMD160Update(context, (const unsigned char *) input_digest, len); /* then text of datagram */
|
||||
RMD160Final((unsigned char *) input_digest, context); /* finish up 1st pass */
|
||||
|
||||
/* perform outer RIPEMD-160 */
|
||||
memset(k_pad, 0x5c, 65);
|
||||
for (i=0; i<keylen; i++)
|
||||
{
|
||||
k_pad[i] ^= key[i];
|
||||
}
|
||||
|
||||
RMD160Init(context); /* init context for 2nd pass */
|
||||
RMD160Update(context, k_pad, RIPEMD160_BLOCKSIZE); /* start with outer pad */
|
||||
/* results of 1st hash */
|
||||
RMD160Update(context, (const unsigned char *) input_digest, RIPEMD160_DIGESTSIZE);
|
||||
RMD160Final((unsigned char *) input_digest, context); /* finish up 2nd pass */
|
||||
}
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
void hmac_ripemd160 (char *key, int keylen, char *input_digest, int len)
|
||||
{
|
||||
hmac_ripemd160_ctx hmac;
|
||||
unsigned char tk[RIPEMD160_DIGESTSIZE];
|
||||
|
||||
/* If the key is longer than the hash algorithm block size,
|
||||
let key = ripemd160(key), as per HMAC specifications. */
|
||||
if (keylen > RIPEMD160_BLOCKSIZE)
|
||||
@@ -372,56 +462,19 @@ void hmac_ripemd160 (char *key, int keylen, char *input, int len, char *digest)
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
/*
|
||||
|
||||
RMD160(K XOR opad, RMD160(K XOR ipad, text))
|
||||
hmac_ripemd160_internal (key, keylen, input_digest, len, &hmac);
|
||||
|
||||
where K is an n byte key
|
||||
ipad is the byte 0x36 repeated RIPEMD160_BLOCKSIZE times
|
||||
opad is the byte 0x5c repeated RIPEMD160_BLOCKSIZE times
|
||||
and text is the data being protected */
|
||||
|
||||
|
||||
/* start out by storing key in pads */
|
||||
memset(k_ipad, 0x36, sizeof(k_ipad));
|
||||
memset(k_opad, 0x5c, sizeof(k_opad));
|
||||
|
||||
/* XOR key with ipad and opad values */
|
||||
for (i=0; i<keylen; i++)
|
||||
{
|
||||
k_ipad[i] ^= key[i];
|
||||
k_opad[i] ^= key[i];
|
||||
}
|
||||
|
||||
/* perform inner RIPEMD-160 */
|
||||
|
||||
RMD160Init(&context); /* init context for 1st pass */
|
||||
RMD160Update(&context, k_ipad, RIPEMD160_BLOCKSIZE); /* start with inner pad */
|
||||
RMD160Update(&context, (const unsigned char *) input, len); /* then text of datagram */
|
||||
RMD160Final((unsigned char *) digest, &context); /* finish up 1st pass */
|
||||
|
||||
/* perform outer RIPEMD-160 */
|
||||
RMD160Init(&context); /* init context for 2nd pass */
|
||||
RMD160Update(&context, k_opad, RIPEMD160_BLOCKSIZE); /* start with outer pad */
|
||||
/* results of 1st hash */
|
||||
RMD160Update(&context, (const unsigned char *) digest, RIPEMD160_DIGESTSIZE);
|
||||
RMD160Final((unsigned char *) digest, &context); /* finish up 2nd pass */
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (k_ipad, sizeof(k_ipad));
|
||||
burn (k_opad, sizeof(k_opad));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (&hmac, sizeof(hmac));
|
||||
burn (tk, sizeof(tk));
|
||||
#endif
|
||||
burn (&context, sizeof(context));
|
||||
}
|
||||
#endif
|
||||
|
||||
void derive_u_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b)
|
||||
|
||||
static void derive_u_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, int b, hmac_ripemd160_ctx* hmac)
|
||||
{
|
||||
char j[RIPEMD160_DIGESTSIZE], k[RIPEMD160_DIGESTSIZE];
|
||||
char init[128];
|
||||
char counter[4];
|
||||
char* k = hmac->k;
|
||||
char* u = hmac->u;
|
||||
uint32 c;
|
||||
int i;
|
||||
|
||||
@@ -438,34 +491,49 @@ void derive_u_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int i
|
||||
#endif
|
||||
|
||||
/* iteration 1 */
|
||||
memset (counter, 0, 4);
|
||||
counter[3] = (char) b;
|
||||
memcpy (init, salt, salt_len); /* salt */
|
||||
memcpy (&init[salt_len], counter, 4); /* big-endian block number */
|
||||
hmac_ripemd160 (pwd, pwd_len, init, salt_len + 4, j);
|
||||
memcpy (u, j, RIPEMD160_DIGESTSIZE);
|
||||
memcpy (k, salt, salt_len); /* salt */
|
||||
|
||||
/* big-endian block number */
|
||||
memset (&k[salt_len], 0, 3);
|
||||
k[salt_len + 3] = (char) b;
|
||||
|
||||
hmac_ripemd160_internal (pwd, pwd_len, k, salt_len + 4, hmac);
|
||||
memcpy (u, k, RIPEMD160_DIGESTSIZE);
|
||||
|
||||
/* remaining iterations */
|
||||
while ( c > 1)
|
||||
{
|
||||
hmac_ripemd160 (pwd, pwd_len, j, RIPEMD160_DIGESTSIZE, k);
|
||||
hmac_ripemd160_internal (pwd, pwd_len, k, RIPEMD160_DIGESTSIZE, hmac);
|
||||
for (i = 0; i < RIPEMD160_DIGESTSIZE; i++)
|
||||
{
|
||||
u[i] ^= k[i];
|
||||
j[i] = k[i];
|
||||
}
|
||||
c--;
|
||||
}
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (j, sizeof(j));
|
||||
burn (k, sizeof(k));
|
||||
}
|
||||
|
||||
void derive_key_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen)
|
||||
{
|
||||
char u[RIPEMD160_DIGESTSIZE];
|
||||
{
|
||||
int b, l, r;
|
||||
hmac_ripemd160_ctx hmac;
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
unsigned char tk[RIPEMD160_DIGESTSIZE];
|
||||
/* If the password is longer than the hash algorithm block size,
|
||||
let password = ripemd160(password), as per HMAC specifications. */
|
||||
if (pwd_len > RIPEMD160_BLOCKSIZE)
|
||||
{
|
||||
RMD160_CTX tctx;
|
||||
|
||||
RMD160Init(&tctx);
|
||||
RMD160Update(&tctx, (const unsigned char *) pwd, pwd_len);
|
||||
RMD160Final(tk, &tctx);
|
||||
|
||||
pwd = (char *) tk;
|
||||
pwd_len = RIPEMD160_DIGESTSIZE;
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
|
||||
if (dklen % RIPEMD160_DIGESTSIZE)
|
||||
{
|
||||
@@ -481,42 +549,87 @@ void derive_key_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int
|
||||
/* first l - 1 blocks */
|
||||
for (b = 1; b < l; b++)
|
||||
{
|
||||
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, RIPEMD160_DIGESTSIZE);
|
||||
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, RIPEMD160_DIGESTSIZE);
|
||||
dk += RIPEMD160_DIGESTSIZE;
|
||||
}
|
||||
|
||||
/* last block */
|
||||
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, r);
|
||||
derive_u_ripemd160 (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, r);
|
||||
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (u, sizeof(u));
|
||||
burn (&hmac, sizeof(hmac));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (tk, sizeof(tk));
|
||||
#endif
|
||||
}
|
||||
#endif // TC_WINDOWS_BOOT
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
|
||||
typedef struct hmac_whirlpool_ctx_struct
|
||||
{
|
||||
WHIRLPOOL_CTX ctx;
|
||||
char buf[WHIRLPOOL_BLOCKSIZE];
|
||||
char k[PKCS5_SALT_SIZE + 4]; /* enough to hold (salt_len + 4) and also the Whirlpool hash */
|
||||
char u[WHIRLPOOL_DIGESTSIZE];
|
||||
} hmac_whirlpool_ctx;
|
||||
|
||||
void hmac_whirlpool_internal
|
||||
(
|
||||
char *k, /* secret key */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* input/output data. d pointer is guaranteed to be at least 64-bytes long */
|
||||
int ld, /* length of input data in bytes */
|
||||
hmac_whirlpool_ctx* hmac /* HMAC-Whirlpool context which holds temporary variables */
|
||||
)
|
||||
{
|
||||
WHIRLPOOL_CTX* ctx = &(hmac->ctx);
|
||||
char* buf = hmac->buf;
|
||||
int i;
|
||||
|
||||
/**** Inner Digest ****/
|
||||
|
||||
WHIRLPOOL_init (ctx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < WHIRLPOOL_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
WHIRLPOOL_add ((unsigned char *) buf, WHIRLPOOL_BLOCKSIZE * 8, ctx);
|
||||
WHIRLPOOL_add ((unsigned char *) d, ld * 8, ctx);
|
||||
|
||||
WHIRLPOOL_finalize (ctx, (unsigned char *) d);
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
WHIRLPOOL_init (ctx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < WHIRLPOOL_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
WHIRLPOOL_add ((unsigned char *) buf, WHIRLPOOL_BLOCKSIZE * 8, ctx);
|
||||
WHIRLPOOL_add ((unsigned char *) d, WHIRLPOOL_DIGESTSIZE * 8, ctx);
|
||||
|
||||
WHIRLPOOL_finalize (ctx, (unsigned char *) d);
|
||||
}
|
||||
|
||||
void hmac_whirlpool
|
||||
(
|
||||
char *k, /* secret key */
|
||||
int lk, /* length of the key in bytes */
|
||||
char *d, /* data */
|
||||
int ld, /* length of data in bytes */
|
||||
char *out, /* output buffer, at least "t" bytes */
|
||||
int t
|
||||
char *d, /* input data. d pointer is guaranteed to be at least 32-bytes long */
|
||||
int ld /* length of data in bytes */
|
||||
)
|
||||
{
|
||||
WHIRLPOOL_CTX ictx, octx;
|
||||
char iwhi[WHIRLPOOL_DIGESTSIZE], owhi[WHIRLPOOL_DIGESTSIZE];
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
hmac_whirlpool_ctx hmac;
|
||||
char key[WHIRLPOOL_DIGESTSIZE];
|
||||
#endif
|
||||
char buf[WHIRLPOOL_BLOCKSIZE];
|
||||
int i;
|
||||
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
/* If the key is longer than the hash algorithm block size,
|
||||
let key = whirlpool(key), as per HMAC specifications. */
|
||||
if (lk > WHIRLPOOL_BLOCKSIZE)
|
||||
@@ -532,86 +645,58 @@ void hmac_whirlpool
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
#endif
|
||||
/**** Inner Digest ****/
|
||||
|
||||
WHIRLPOOL_init (&ictx);
|
||||
|
||||
/* Pad the key for inner digest */
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x36);
|
||||
for (i = lk; i < WHIRLPOOL_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x36;
|
||||
|
||||
WHIRLPOOL_add ((unsigned char *) buf, WHIRLPOOL_BLOCKSIZE * 8, &ictx);
|
||||
WHIRLPOOL_add ((unsigned char *) d, ld * 8, &ictx);
|
||||
|
||||
WHIRLPOOL_finalize (&ictx, (unsigned char *) iwhi);
|
||||
|
||||
/**** Outer Digest ****/
|
||||
|
||||
WHIRLPOOL_init (&octx);
|
||||
|
||||
for (i = 0; i < lk; ++i)
|
||||
buf[i] = (char) (k[i] ^ 0x5C);
|
||||
for (i = lk; i < WHIRLPOOL_BLOCKSIZE; ++i)
|
||||
buf[i] = 0x5C;
|
||||
|
||||
WHIRLPOOL_add ((unsigned char *) buf, WHIRLPOOL_BLOCKSIZE * 8, &octx);
|
||||
WHIRLPOOL_add ((unsigned char *) iwhi, WHIRLPOOL_DIGESTSIZE * 8, &octx);
|
||||
|
||||
WHIRLPOOL_finalize (&octx, (unsigned char *) owhi);
|
||||
|
||||
/* truncate and print the results */
|
||||
t = t > WHIRLPOOL_DIGESTSIZE ? WHIRLPOOL_DIGESTSIZE : t;
|
||||
hmac_truncate (owhi, out, t);
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (&ictx, sizeof(ictx));
|
||||
burn (&octx, sizeof(octx));
|
||||
burn (owhi, sizeof(owhi));
|
||||
burn (iwhi, sizeof(iwhi));
|
||||
burn (buf, sizeof(buf));
|
||||
#ifndef TC_WINDOWS_BOOT
|
||||
burn (key, sizeof(key));
|
||||
#endif
|
||||
hmac_whirlpool_internal(k, lk, d, ld, &hmac);
|
||||
/* Prevent leaks */
|
||||
burn(&hmac, sizeof(hmac));
|
||||
}
|
||||
|
||||
void derive_u_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b)
|
||||
static void derive_u_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, int b, hmac_whirlpool_ctx* hmac)
|
||||
{
|
||||
char j[WHIRLPOOL_DIGESTSIZE], k[WHIRLPOOL_DIGESTSIZE];
|
||||
char init[128];
|
||||
char counter[4];
|
||||
char* u = hmac->u;
|
||||
char* k = hmac->k;
|
||||
int c, i;
|
||||
|
||||
/* iteration 1 */
|
||||
memset (counter, 0, 4);
|
||||
counter[3] = (char) b;
|
||||
memcpy (init, salt, salt_len); /* salt */
|
||||
memcpy (&init[salt_len], counter, 4); /* big-endian block number */
|
||||
hmac_whirlpool (pwd, pwd_len, init, salt_len + 4, j, WHIRLPOOL_DIGESTSIZE);
|
||||
memcpy (u, j, WHIRLPOOL_DIGESTSIZE);
|
||||
memcpy (k, salt, salt_len); /* salt */
|
||||
/* big-endian block number */
|
||||
memset (&k[salt_len], 0, 3);
|
||||
k[salt_len + 3] = (char) b;
|
||||
|
||||
hmac_whirlpool_internal (pwd, pwd_len, k, salt_len + 4, hmac);
|
||||
memcpy (u, k, WHIRLPOOL_DIGESTSIZE);
|
||||
|
||||
/* remaining iterations */
|
||||
for (c = 1; c < iterations; c++)
|
||||
{
|
||||
hmac_whirlpool (pwd, pwd_len, j, WHIRLPOOL_DIGESTSIZE, k, WHIRLPOOL_DIGESTSIZE);
|
||||
hmac_whirlpool_internal (pwd, pwd_len, k, WHIRLPOOL_DIGESTSIZE, hmac);
|
||||
for (i = 0; i < WHIRLPOOL_DIGESTSIZE; i++)
|
||||
{
|
||||
u[i] ^= k[i];
|
||||
j[i] = k[i];
|
||||
}
|
||||
}
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (j, sizeof(j));
|
||||
burn (k, sizeof(k));
|
||||
}
|
||||
|
||||
void derive_key_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen)
|
||||
{
|
||||
char u[WHIRLPOOL_DIGESTSIZE];
|
||||
hmac_whirlpool_ctx hmac;
|
||||
char key[WHIRLPOOL_DIGESTSIZE];
|
||||
int b, l, r;
|
||||
/* If the password is longer than the hash algorithm block size,
|
||||
let pwd = whirlpool(pwd), as per HMAC specifications. */
|
||||
if (pwd_len > WHIRLPOOL_BLOCKSIZE)
|
||||
{
|
||||
WHIRLPOOL_CTX tctx;
|
||||
|
||||
WHIRLPOOL_init (&tctx);
|
||||
WHIRLPOOL_add ((unsigned char *) pwd, pwd_len * 8, &tctx);
|
||||
WHIRLPOOL_finalize (&tctx, (unsigned char *) key);
|
||||
|
||||
pwd = key;
|
||||
pwd_len = WHIRLPOOL_DIGESTSIZE;
|
||||
|
||||
burn (&tctx, sizeof(tctx)); // Prevent leaks
|
||||
}
|
||||
|
||||
if (dklen % WHIRLPOOL_DIGESTSIZE)
|
||||
{
|
||||
@@ -627,18 +712,19 @@ void derive_key_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int
|
||||
/* first l - 1 blocks */
|
||||
for (b = 1; b < l; b++)
|
||||
{
|
||||
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, WHIRLPOOL_DIGESTSIZE);
|
||||
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, WHIRLPOOL_DIGESTSIZE);
|
||||
dk += WHIRLPOOL_DIGESTSIZE;
|
||||
}
|
||||
|
||||
/* last block */
|
||||
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, u, b);
|
||||
memcpy (dk, u, r);
|
||||
derive_u_whirlpool (pwd, pwd_len, salt, salt_len, iterations, b, &hmac);
|
||||
memcpy (dk, hmac.u, r);
|
||||
|
||||
|
||||
/* Prevent possible leaks. */
|
||||
burn (u, sizeof(u));
|
||||
burn (&hmac, sizeof(hmac));
|
||||
burn (key, sizeof(key));
|
||||
}
|
||||
|
||||
|
||||
@@ -665,22 +751,28 @@ char *get_pkcs5_prf_name (int pkcs5_prf_id)
|
||||
|
||||
|
||||
|
||||
int get_pkcs5_iteration_count (int pkcs5_prf_id, BOOL bBoot)
|
||||
int get_pkcs5_iteration_count (int pkcs5_prf_id, BOOL truecryptMode, BOOL bBoot)
|
||||
{
|
||||
switch (pkcs5_prf_id)
|
||||
{
|
||||
|
||||
case RIPEMD160:
|
||||
return bBoot? 327661 : 655331;
|
||||
if (truecryptMode)
|
||||
return bBoot ? 1000 : 2000;
|
||||
else
|
||||
return bBoot? 327661 : 655331;
|
||||
|
||||
case SHA512:
|
||||
return 500000;
|
||||
return truecryptMode? 1000 : 500000;
|
||||
|
||||
case WHIRLPOOL:
|
||||
return 500000;
|
||||
return truecryptMode? 1000 : 500000;
|
||||
|
||||
case SHA256:
|
||||
return bBoot? 200000 : 500000;
|
||||
if (truecryptMode)
|
||||
return 0; // SHA-256 not supported by TrueCrypt
|
||||
else
|
||||
return bBoot? 200000 : 500000;
|
||||
|
||||
default:
|
||||
TC_THROW_FATAL_EXCEPTION; // Unknown/wrong ID
|
||||
|
||||
+12
-9
@@ -18,20 +18,23 @@
|
||||
extern "C"
|
||||
{
|
||||
#endif
|
||||
void hmac_sha256 (char *k, int lk, char *d, int ld, char *out);
|
||||
void derive_u_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b);
|
||||
/* output written to d which must be at lease 32 bytes long */
|
||||
void hmac_sha256 (char *k, int lk, char *d, int ld);
|
||||
void derive_key_sha256 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen);
|
||||
|
||||
void hmac_sha512 (char *k, int lk, char *d, int ld, char *out, int t);
|
||||
void derive_u_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b);
|
||||
/* output written to d which must be at lease 64 bytes long */
|
||||
void hmac_sha512 (char *k, int lk, char *d, int ld);
|
||||
void derive_key_sha512 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen);
|
||||
void hmac_ripemd160 (char *key, int keylen, char *input, int len, char *digest);
|
||||
void derive_u_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b);
|
||||
|
||||
/* output written to input_digest which must be at lease 20 bytes long */
|
||||
void hmac_ripemd160 (char *key, int keylen, char *input_digest, int len);
|
||||
void derive_key_ripemd160 (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen);
|
||||
void hmac_whirlpool (char *k, int lk, char *d, int ld, char *out, int t);
|
||||
void derive_u_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *u, int b);
|
||||
|
||||
/* output written to d which must be at lease 64 bytes long */
|
||||
void hmac_whirlpool (char *k, int lk, char *d, int ld);
|
||||
void derive_key_whirlpool (char *pwd, int pwd_len, char *salt, int salt_len, int iterations, char *dk, int dklen);
|
||||
int get_pkcs5_iteration_count (int pkcs5_prf_id, BOOL bBoot);
|
||||
|
||||
int get_pkcs5_iteration_count (int pkcs5_prf_id, BOOL truecryptMode, BOOL bBoot);
|
||||
char *get_pkcs5_prf_name (int pkcs5_prf_id);
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
||||
+55
-17
@@ -60,12 +60,14 @@ HANDLE hNetAPI32 = NULL;
|
||||
|
||||
// CryptoAPI
|
||||
BOOL CryptoAPIAvailable = FALSE;
|
||||
DWORD CryptoAPILastError = ERROR_SUCCESS;
|
||||
HCRYPTPROV hCryptProv;
|
||||
|
||||
|
||||
/* Init the random number generator, setup the hooks, and start the thread */
|
||||
int Randinit ()
|
||||
{
|
||||
DWORD dwLastError = ERROR_SUCCESS;
|
||||
if (GetMaxPkcs5OutSize() > RNG_POOL_SIZE)
|
||||
TC_THROW_FATAL_EXCEPTION;
|
||||
|
||||
@@ -75,6 +77,7 @@ int Randinit ()
|
||||
InitializeCriticalSection (&critRandProt);
|
||||
|
||||
bRandDidInit = TRUE;
|
||||
CryptoAPILastError = ERROR_SUCCESS;
|
||||
|
||||
if (pRandPool == NULL)
|
||||
{
|
||||
@@ -98,10 +101,13 @@ int Randinit ()
|
||||
handleWin32Error (0);
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL, 0)
|
||||
&& !CryptAcquireContext (&hCryptProv, NULL, NULL, PROV_RSA_FULL, CRYPT_NEWKEYSET))
|
||||
|
||||
if (!CryptAcquireContext (&hCryptProv, NULL, MS_ENHANCED_PROV, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT | CRYPT_SILENT))
|
||||
{
|
||||
CryptoAPIAvailable = FALSE;
|
||||
CryptoAPILastError = GetLastError ();
|
||||
goto error;
|
||||
}
|
||||
else
|
||||
CryptoAPIAvailable = TRUE;
|
||||
|
||||
@@ -111,7 +117,9 @@ int Randinit ()
|
||||
return 0;
|
||||
|
||||
error:
|
||||
dwLastError = GetLastError();
|
||||
RandStop (TRUE);
|
||||
SetLastError (dwLastError);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -149,6 +157,7 @@ void RandStop (BOOL freePool)
|
||||
{
|
||||
CryptReleaseContext (hCryptProv, 0);
|
||||
CryptoAPIAvailable = FALSE;
|
||||
CryptoAPILastError = ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
hMouse = NULL;
|
||||
@@ -317,14 +326,14 @@ void RandaddBuf (void *buf, int len)
|
||||
}
|
||||
}
|
||||
|
||||
BOOL RandpeekBytes (unsigned char *buf, int len)
|
||||
BOOL RandpeekBytes (void* hwndDlg, unsigned char *buf, int len)
|
||||
{
|
||||
if (!bRandDidInit)
|
||||
return FALSE;
|
||||
|
||||
if (len > RNG_POOL_SIZE)
|
||||
{
|
||||
Error ("ERR_NOT_ENOUGH_RANDOM_DATA");
|
||||
Error ("ERR_NOT_ENOUGH_RANDOM_DATA", (HWND) hwndDlg);
|
||||
len = RNG_POOL_SIZE;
|
||||
}
|
||||
|
||||
@@ -337,16 +346,16 @@ BOOL RandpeekBytes (unsigned char *buf, int len)
|
||||
|
||||
|
||||
/* Get len random bytes from the pool (max. RNG_POOL_SIZE bytes per a single call) */
|
||||
BOOL RandgetBytes (unsigned char *buf, int len, BOOL forceSlowPoll)
|
||||
BOOL RandgetBytes (void* hwndDlg, unsigned char *buf, int len, BOOL forceSlowPoll)
|
||||
{
|
||||
return RandgetBytesFull (buf, len, forceSlowPoll, FALSE);
|
||||
return RandgetBytesFull (hwndDlg, buf, len, forceSlowPoll, FALSE);
|
||||
}
|
||||
|
||||
/* Get len random bytes from the pool.
|
||||
* If allowAnyLength is FALSE, then len must be less or equal to RNG_POOL_SIZE
|
||||
* If allowAnyLength is TRUE, then len can have any positive value
|
||||
*/
|
||||
BOOL RandgetBytesFull ( unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength)
|
||||
BOOL RandgetBytesFull ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength)
|
||||
{
|
||||
int i, looplen;
|
||||
BOOL ret = TRUE;
|
||||
@@ -359,18 +368,24 @@ BOOL RandgetBytesFull ( unsigned char *buf , int len, BOOL forceSlowPoll , BOOL
|
||||
if (bDidSlowPoll == FALSE || forceSlowPoll)
|
||||
{
|
||||
if (!SlowPoll ())
|
||||
{
|
||||
handleError ((HWND) hwndDlg, ERR_CAPI_INIT_FAILED);
|
||||
ret = FALSE;
|
||||
}
|
||||
else
|
||||
bDidSlowPoll = TRUE;
|
||||
}
|
||||
|
||||
if (!FastPoll ())
|
||||
{
|
||||
handleError ((HWND) hwndDlg, ERR_CAPI_INIT_FAILED);
|
||||
ret = FALSE;
|
||||
}
|
||||
|
||||
/* There's never more than RNG_POOL_SIZE worth of randomess */
|
||||
if ( (!allowAnyLength) && (len > RNG_POOL_SIZE))
|
||||
{
|
||||
Error ("ERR_NOT_ENOUGH_RANDOM_DATA");
|
||||
Error ("ERR_NOT_ENOUGH_RANDOM_DATA", (HWND) hwndDlg);
|
||||
len = RNG_POOL_SIZE;
|
||||
LeaveCriticalSection (&critRandProt);
|
||||
return FALSE;
|
||||
@@ -534,7 +549,7 @@ LRESULT CALLBACK KeyboardProc (int nCode, WPARAM wParam, LPARAM lParam)
|
||||
/* This is the thread function which will poll the system for randomness */
|
||||
static unsigned __stdcall PeriodicFastPollThreadProc (void *dummy)
|
||||
{
|
||||
if (dummy); /* Remove unused parameter warning */
|
||||
UNREFERENCED_PARAMETER (dummy); /* Remove unused parameter warning */
|
||||
|
||||
for (;;)
|
||||
{
|
||||
@@ -692,13 +707,24 @@ BOOL SlowPoll (void)
|
||||
CloseHandle (hDevice);
|
||||
}
|
||||
|
||||
// CryptoAPI
|
||||
if (CryptoAPIAvailable && CryptGenRandom (hCryptProv, sizeof (buffer), buffer))
|
||||
// CryptoAPI: We always have a valid CryptoAPI context when we arrive here but
|
||||
// we keep the check for clarity purpose
|
||||
if ( !CryptoAPIAvailable )
|
||||
return FALSE;
|
||||
if (CryptGenRandom (hCryptProv, sizeof (buffer), buffer))
|
||||
{
|
||||
RandaddBuf (buffer, sizeof (buffer));
|
||||
|
||||
burn(buffer, sizeof (buffer));
|
||||
Randmix();
|
||||
return TRUE;
|
||||
burn(buffer, sizeof (buffer));
|
||||
Randmix();
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
/* return error in case CryptGenRandom fails */
|
||||
CryptoAPILastError = GetLastError ();
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -803,9 +829,21 @@ BOOL FastPoll (void)
|
||||
RandaddBuf ((unsigned char *) &dwTicks, sizeof (dwTicks));
|
||||
}
|
||||
|
||||
// CryptoAPI
|
||||
if (CryptoAPIAvailable && CryptGenRandom (hCryptProv, sizeof (buffer), buffer))
|
||||
// CryptoAPI: We always have a valid CryptoAPI context when we arrive here but
|
||||
// we keep the check for clarity purpose
|
||||
if ( !CryptoAPIAvailable )
|
||||
return FALSE;
|
||||
if (CryptGenRandom (hCryptProv, sizeof (buffer), buffer))
|
||||
{
|
||||
RandaddBuf (buffer, sizeof (buffer));
|
||||
burn (buffer, sizeof(buffer));
|
||||
}
|
||||
else
|
||||
{
|
||||
/* return error in case CryptGenRandom fails */
|
||||
CryptoAPILastError = GetLastError ();
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/* Apply the pool mixing function */
|
||||
Randmix();
|
||||
|
||||
+4
-3
@@ -43,21 +43,22 @@ BOOL Randmix ( void );
|
||||
void RandaddBuf ( void *buf , int len );
|
||||
BOOL FastPoll ( void );
|
||||
BOOL SlowPoll ( void );
|
||||
BOOL RandpeekBytes ( unsigned char *buf , int len );
|
||||
BOOL RandpeekBytes ( void* hwndDlg, unsigned char *buf , int len );
|
||||
|
||||
/* Get len random bytes from the pool (max. RNG_POOL_SIZE bytes per a single call) */
|
||||
BOOL RandgetBytes ( unsigned char *buf , int len, BOOL forceSlowPoll );
|
||||
BOOL RandgetBytes ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll );
|
||||
|
||||
/* Get len random bytes from the pool.
|
||||
* If allowAnyLength is FALSE, then len must be less or equal to RNG_POOL_SIZE
|
||||
* If allowAnyLength is TRUE, then len can have any positive value
|
||||
*/
|
||||
BOOL RandgetBytesFull ( unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength);
|
||||
BOOL RandgetBytesFull ( void* hwndDlg, unsigned char *buf , int len, BOOL forceSlowPoll , BOOL allowAnyLength);
|
||||
|
||||
#ifdef _WIN32
|
||||
|
||||
extern BOOL volatile bFastPollEnabled;
|
||||
extern BOOL volatile bRandmixEnabled;
|
||||
extern DWORD CryptoAPILastError;
|
||||
|
||||
LRESULT CALLBACK MouseProc ( int nCode , WPARAM wParam , LPARAM lParam );
|
||||
LRESULT CALLBACK KeyboardProc ( int nCode , WPARAM wParam , LPARAM lParam );
|
||||
|
||||
@@ -700,8 +700,8 @@ namespace VeraCrypt
|
||||
}
|
||||
}
|
||||
wchar_t err[8192];
|
||||
wsprintfW (err, L"%s:\n\n%hs%s", GetString ("SECURITY_TOKEN_ERROR"), errorString.c_str(), subjectErrorCode.str().c_str());
|
||||
ErrorDirect (err);
|
||||
StringCbPrintfW (err, sizeof(err),L"%s:\n\n%hs%s", GetString ("SECURITY_TOKEN_ERROR"), errorString.c_str(), subjectErrorCode.str().c_str());
|
||||
ErrorDirect (err, parent);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -710,7 +710,7 @@ namespace VeraCrypt
|
||||
if (SubjectErrorCodeValid)
|
||||
err += L"\n\nError code" + subjectErrorCode.str();
|
||||
|
||||
ErrorDirect (err.c_str());
|
||||
ErrorDirect (err.c_str(), parent);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,22 +133,22 @@ namespace VeraCrypt
|
||||
|
||||
struct SecurityTokenLibraryNotInitialized : public Exception
|
||||
{
|
||||
void Show (HWND parent) const { Error (SecurityTokenLibraryPath[0] == 0 ? "NO_PKCS11_MODULE_SPECIFIED" : "PKCS11_MODULE_INIT_FAILED"); }
|
||||
void Show (HWND parent) const { Error (SecurityTokenLibraryPath[0] == 0 ? "NO_PKCS11_MODULE_SPECIFIED" : "PKCS11_MODULE_INIT_FAILED", parent); }
|
||||
};
|
||||
|
||||
struct InvalidSecurityTokenKeyfilePath : public Exception
|
||||
{
|
||||
void Show (HWND parent) const { Error ("INVALID_TOKEN_KEYFILE_PATH"); }
|
||||
void Show (HWND parent) const { Error ("INVALID_TOKEN_KEYFILE_PATH", parent); }
|
||||
};
|
||||
|
||||
struct SecurityTokenKeyfileAlreadyExists : public Exception
|
||||
{
|
||||
void Show (HWND parent) const { Error ("TOKEN_KEYFILE_ALREADY_EXISTS"); }
|
||||
void Show (HWND parent) const { Error ("TOKEN_KEYFILE_ALREADY_EXISTS", parent); }
|
||||
};
|
||||
|
||||
struct SecurityTokenKeyfileNotFound : public Exception
|
||||
{
|
||||
void Show (HWND parent) const { Error ("TOKEN_KEYFILE_NOT_FOUND"); }
|
||||
void Show (HWND parent) const { Error ("TOKEN_KEYFILE_NOT_FOUND", parent); }
|
||||
};
|
||||
|
||||
#endif // !TC_HEADER_Platform_Exception
|
||||
|
||||
+14
-6
@@ -15,15 +15,15 @@
|
||||
#define TC_APP_NAME "VeraCrypt"
|
||||
|
||||
// Version displayed to user
|
||||
#define VERSION_STRING "1.0f-BETA3"
|
||||
#define VERSION_STRING "1.0f-2"
|
||||
|
||||
// Version number to compare against driver
|
||||
#define VERSION_NUM 0x010f
|
||||
#define VERSION_NUM 0x0111
|
||||
|
||||
// Release date
|
||||
#define TC_STR_RELEASE_DATE "December 20, 2014"
|
||||
#define TC_RELEASE_DATE_YEAR 2014
|
||||
#define TC_RELEASE_DATE_MONTH 12
|
||||
#define TC_STR_RELEASE_DATE "April 5, 2015"
|
||||
#define TC_RELEASE_DATE_YEAR 2015
|
||||
#define TC_RELEASE_DATE_MONTH 04
|
||||
|
||||
#define BYTES_PER_KB 1024LL
|
||||
#define BYTES_PER_MB 1048576LL
|
||||
@@ -128,6 +128,11 @@ void ThrowFatalException (int line);
|
||||
# define TC_THROW_FATAL_EXCEPTION *(char *) 0 = 0
|
||||
#endif
|
||||
|
||||
#ifdef __COVERITY__
|
||||
#undef TC_THROW_FATAL_EXCEPTION
|
||||
#define TC_THROW_FATAL_EXCEPTION __coverity_panic__()
|
||||
#endif
|
||||
|
||||
#ifdef TC_WINDOWS_DRIVER
|
||||
|
||||
#include <ntifs.h>
|
||||
@@ -295,7 +300,10 @@ enum
|
||||
ERR_PARAMETER_INCORRECT = 30,
|
||||
ERR_SYS_HIDVOL_HEAD_REENC_MODE_WRONG = 31,
|
||||
ERR_NONSYS_INPLACE_ENC_INCOMPLETE = 32,
|
||||
ERR_USER_ABORT = 33
|
||||
ERR_USER_ABORT = 33,
|
||||
ERR_UNSUPPORTED_TRUECRYPT_FORMAT = 34,
|
||||
ERR_RAND_INIT_FAILED = 35,
|
||||
ERR_CAPI_INIT_FAILED = 36
|
||||
};
|
||||
|
||||
#endif // #ifndef TCDEFS_H
|
||||
|
||||
+14
-10
@@ -511,7 +511,7 @@ BOOL TestSectorBufEncryption (PCRYPTO_INFO ci)
|
||||
if (!EAIsModeSupported (ci->ea, ci->mode))
|
||||
continue;
|
||||
|
||||
EAGetName (name, ci->ea);
|
||||
EAGetName (name, ci->ea, 0);
|
||||
|
||||
if (EAInit (ci->ea, key1, ci->ks) != ERR_SUCCESS)
|
||||
return FALSE;
|
||||
@@ -777,7 +777,7 @@ BOOL TestSectorBufEncryption (PCRYPTO_INFO ci)
|
||||
if (!EAIsModeSupported (ci->ea, ci->mode))
|
||||
continue;
|
||||
|
||||
EAGetName (name, ci->ea);
|
||||
EAGetName (name, ci->ea, 0);
|
||||
|
||||
if (EAInit (ci->ea, key1, ci->ks) != ERR_SUCCESS)
|
||||
return FALSE;
|
||||
@@ -1016,8 +1016,9 @@ BOOL test_hmac_sha256 ()
|
||||
|
||||
for (i = 0; i < sizeof (hmac_sha256_test_data) / sizeof(char *); i++)
|
||||
{
|
||||
char digest[SHA256_DIGESTSIZE];
|
||||
hmac_sha256 (hmac_sha256_test_keys[i], (int) strlen (hmac_sha256_test_keys[i]), hmac_sha256_test_data[i], (int) strlen (hmac_sha256_test_data[i]), digest);
|
||||
char digest[1024]; /* large enough to hold digets and test vector inputs */
|
||||
memcpy (digest, hmac_sha256_test_data[i], strlen (hmac_sha256_test_data[i]));
|
||||
hmac_sha256 (hmac_sha256_test_keys[i], (int) strlen (hmac_sha256_test_keys[i]), digest, (int) strlen (hmac_sha256_test_data[i]));
|
||||
if (memcmp (digest, hmac_sha256_test_vectors[i], SHA256_DIGESTSIZE) != 0)
|
||||
return FALSE;
|
||||
else
|
||||
@@ -1034,8 +1035,9 @@ BOOL test_hmac_sha512 ()
|
||||
|
||||
for (i = 0; i < sizeof (hmac_sha512_test_data) / sizeof(char *); i++)
|
||||
{
|
||||
char digest[SHA512_DIGESTSIZE];
|
||||
hmac_sha512 (hmac_sha512_test_keys[i], (int) strlen (hmac_sha512_test_keys[i]), hmac_sha512_test_data[i], (int) strlen (hmac_sha512_test_data[i]), digest, SHA512_DIGESTSIZE);
|
||||
char digest[1024]; /* large enough to hold digets and test vector inputs */
|
||||
memcpy (digest, hmac_sha512_test_data[i], (int) strlen (hmac_sha512_test_data[i]));
|
||||
hmac_sha512 (hmac_sha512_test_keys[i], (int) strlen (hmac_sha512_test_keys[i]), digest, (int) strlen (hmac_sha512_test_data[i]));
|
||||
if (memcmp (digest, hmac_sha512_test_vectors[i], SHA512_DIGESTSIZE) != 0)
|
||||
return FALSE;
|
||||
else
|
||||
@@ -1052,8 +1054,9 @@ BOOL test_hmac_ripemd160 ()
|
||||
|
||||
for (i = 0; i < sizeof (hmac_ripemd160_test_data) / sizeof(char *); i++)
|
||||
{
|
||||
char digest[RIPEMD160_DIGESTSIZE];
|
||||
hmac_ripemd160 (hmac_ripemd160_test_keys[i], RIPEMD160_DIGESTSIZE, hmac_ripemd160_test_data[i], (int) strlen (hmac_ripemd160_test_data[i]), digest);
|
||||
char digest[1024]; /* large enough to hold digets and test vector inputs */
|
||||
memcpy (digest, hmac_ripemd160_test_data[i], strlen (hmac_ripemd160_test_data[i]));
|
||||
hmac_ripemd160 (hmac_ripemd160_test_keys[i], RIPEMD160_DIGESTSIZE, digest, (int) strlen (hmac_ripemd160_test_data[i]));
|
||||
if (memcmp (digest, hmac_ripemd160_test_vectors[i], RIPEMD160_DIGESTSIZE) != 0)
|
||||
return FALSE;
|
||||
else
|
||||
@@ -1065,9 +1068,10 @@ BOOL test_hmac_ripemd160 ()
|
||||
|
||||
BOOL test_hmac_whirlpool ()
|
||||
{
|
||||
unsigned char digest[WHIRLPOOL_DIGESTSIZE];
|
||||
unsigned char digest[1024]; /* large enough to hold digets and test vector inputs */
|
||||
|
||||
hmac_whirlpool (hmac_whirlpool_test_key, 64, hmac_whirlpool_test_data, (int) strlen (hmac_whirlpool_test_data), digest, WHIRLPOOL_DIGESTSIZE);
|
||||
memcpy (digest, hmac_whirlpool_test_data, strlen (hmac_whirlpool_test_data));
|
||||
hmac_whirlpool (hmac_whirlpool_test_key, 64, digest, (int) strlen (hmac_whirlpool_test_data));
|
||||
if (memcmp (digest, hmac_whirlpool_test_vectors, WHIRLPOOL_DIGESTSIZE) != 0)
|
||||
return FALSE;
|
||||
|
||||
|
||||
+42
-15
@@ -163,7 +163,7 @@ typedef struct
|
||||
|
||||
BOOL ReadVolumeHeaderRecoveryMode = FALSE;
|
||||
|
||||
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int selected_pkcs5_prf, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo)
|
||||
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int selected_pkcs5_prf, BOOL truecryptMode, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo)
|
||||
{
|
||||
char header[TC_VOLUME_HEADER_EFFECTIVE_SIZE];
|
||||
KEY_INFO keyInfo;
|
||||
@@ -184,6 +184,14 @@ int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int
|
||||
LONG outstandingWorkItemCount = 0;
|
||||
int i;
|
||||
|
||||
if (truecryptMode)
|
||||
{
|
||||
// SHA-256 not supported in TrueCrypt mode
|
||||
if (selected_pkcs5_prf == SHA256)
|
||||
return ERR_PARAMETER_INCORRECT;
|
||||
pkcs5PrfCount--; // don't count SHA-256 in case of TrueCrypt mode
|
||||
}
|
||||
|
||||
if (retHeaderCryptoInfo != NULL)
|
||||
{
|
||||
cryptoInfo = retHeaderCryptoInfo;
|
||||
@@ -246,6 +254,10 @@ int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int
|
||||
if (selected_pkcs5_prf != 0 && enqPkcs5Prf != selected_pkcs5_prf)
|
||||
continue;
|
||||
|
||||
// skip SHA-256 in case of TrueCrypt mode
|
||||
if (truecryptMode && (enqPkcs5Prf == SHA256))
|
||||
continue;
|
||||
|
||||
if ((selected_pkcs5_prf == 0) && (encryptionThreadCount > 1))
|
||||
{
|
||||
// Enqueue key derivation on thread pool
|
||||
@@ -262,7 +274,7 @@ int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int
|
||||
|
||||
EncryptionThreadPoolBeginKeyDerivation (&keyDerivationCompletedEvent, &noOutstandingWorkItemEvent,
|
||||
&item->KeyReady, &outstandingWorkItemCount, enqPkcs5Prf, keyInfo.userKey,
|
||||
keyInfo.keyLength, keyInfo.salt, get_pkcs5_iteration_count (enqPkcs5Prf, bBoot), item->DerivedKey);
|
||||
keyInfo.keyLength, keyInfo.salt, get_pkcs5_iteration_count (enqPkcs5Prf, truecryptMode, bBoot), item->DerivedKey);
|
||||
|
||||
++queuedWorkItems;
|
||||
break;
|
||||
@@ -284,7 +296,7 @@ int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int
|
||||
if (!item->Free && InterlockedExchangeAdd (&item->KeyReady, 0) == TRUE)
|
||||
{
|
||||
pkcs5_prf = item->Pkcs5Prf;
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (pkcs5_prf, bBoot);
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (pkcs5_prf, truecryptMode, bBoot);
|
||||
memcpy (dk, item->DerivedKey, sizeof (dk));
|
||||
|
||||
item->Free = TRUE;
|
||||
@@ -302,7 +314,7 @@ KeyReady: ;
|
||||
else
|
||||
{
|
||||
pkcs5_prf = enqPkcs5Prf;
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (enqPkcs5Prf, bBoot);
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (enqPkcs5Prf, truecryptMode, bBoot);
|
||||
|
||||
switch (pkcs5_prf)
|
||||
{
|
||||
@@ -386,8 +398,10 @@ KeyReady: ;
|
||||
|
||||
DecryptBuffer (header + HEADER_ENCRYPTED_DATA_OFFSET, HEADER_ENCRYPTED_DATA_SIZE, cryptoInfo);
|
||||
|
||||
// Magic 'VERA'
|
||||
if (GetHeaderField32 (header, TC_HEADER_OFFSET_MAGIC) != 0x56455241)
|
||||
// Magic 'VERA' or 'TRUE' depending if we are in TrueCrypt mode or not
|
||||
if ((truecryptMode && GetHeaderField32 (header, TC_HEADER_OFFSET_MAGIC) != 0x54525545)
|
||||
|| (!truecryptMode && GetHeaderField32 (header, TC_HEADER_OFFSET_MAGIC) != 0x56455241)
|
||||
)
|
||||
continue;
|
||||
|
||||
// Header version
|
||||
@@ -407,7 +421,17 @@ KeyReady: ;
|
||||
|
||||
// Required program version
|
||||
cryptoInfo->RequiredProgramVersion = GetHeaderField16 (header, TC_HEADER_OFFSET_REQUIRED_VERSION);
|
||||
cryptoInfo->LegacyVolume = cryptoInfo->RequiredProgramVersion < 0x10b;
|
||||
if (truecryptMode)
|
||||
{
|
||||
if (cryptoInfo->RequiredProgramVersion < 0x600 || cryptoInfo->RequiredProgramVersion > 0x71a)
|
||||
{
|
||||
status = ERR_UNSUPPORTED_TRUECRYPT_FORMAT | (((int)cryptoInfo->RequiredProgramVersion) << 16);
|
||||
goto err;
|
||||
}
|
||||
cryptoInfo->LegacyVolume = FALSE;
|
||||
}
|
||||
else
|
||||
cryptoInfo->LegacyVolume = cryptoInfo->RequiredProgramVersion < 0x10b;
|
||||
|
||||
// Check CRC of the key set
|
||||
if (!ReadVolumeHeaderRecoveryMode
|
||||
@@ -417,7 +441,7 @@ KeyReady: ;
|
||||
// Now we have the correct password, cipher, hash algorithm, and volume type
|
||||
|
||||
// Check the version required to handle this volume
|
||||
if (cryptoInfo->RequiredProgramVersion > VERSION_NUM)
|
||||
if (!truecryptMode && (cryptoInfo->RequiredProgramVersion > VERSION_NUM))
|
||||
{
|
||||
status = ERR_NEW_VERSION_REQUIRED;
|
||||
goto err;
|
||||
@@ -469,6 +493,7 @@ KeyReady: ;
|
||||
{
|
||||
cryptoInfo->pkcs5 = pkcs5_prf;
|
||||
cryptoInfo->noIterations = keyInfo.noIterations;
|
||||
cryptoInfo->bTrueCryptMode = truecryptMode;
|
||||
goto ret;
|
||||
}
|
||||
|
||||
@@ -490,6 +515,7 @@ KeyReady: ;
|
||||
memcpy (cryptoInfo->salt, keyInfo.salt, PKCS5_SALT_SIZE);
|
||||
cryptoInfo->pkcs5 = pkcs5_prf;
|
||||
cryptoInfo->noIterations = keyInfo.noIterations;
|
||||
cryptoInfo->bTrueCryptMode = truecryptMode;
|
||||
|
||||
// Init the cipher with the decrypted master key
|
||||
status = EAInit (cryptoInfo->ea, keyInfo.master_keydata + primaryKeyOffset, cryptoInfo->ks);
|
||||
@@ -718,7 +744,7 @@ ret:
|
||||
#endif
|
||||
|
||||
// Creates a volume header in memory
|
||||
int CreateVolumeHeaderInMemory (BOOL bBoot, char *header, int ea, int mode, Password *password,
|
||||
int CreateVolumeHeaderInMemory (HWND hwndDlg, BOOL bBoot, char *header, int ea, int mode, Password *password,
|
||||
int pkcs5_prf, char *masterKeydata, PCRYPTO_INFO *retInfo,
|
||||
unsigned __int64 volumeSize, unsigned __int64 hiddenVolumeSize,
|
||||
unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode)
|
||||
@@ -756,7 +782,7 @@ int CreateVolumeHeaderInMemory (BOOL bBoot, char *header, int ea, int mode, Pass
|
||||
bytesNeeded = EAGetKeySize (ea) * 2; // Size of primary + secondary key(s)
|
||||
}
|
||||
|
||||
if (!RandgetBytes (keyInfo.master_keydata, bytesNeeded, TRUE))
|
||||
if (!RandgetBytes (hwndDlg, keyInfo.master_keydata, bytesNeeded, TRUE))
|
||||
return ERR_CIPHER_INIT_WEAK_KEY;
|
||||
}
|
||||
else
|
||||
@@ -768,19 +794,20 @@ int CreateVolumeHeaderInMemory (BOOL bBoot, char *header, int ea, int mode, Pass
|
||||
// User key
|
||||
memcpy (keyInfo.userKey, password->Text, nUserKeyLen);
|
||||
keyInfo.keyLength = nUserKeyLen;
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (pkcs5_prf, bBoot);
|
||||
keyInfo.noIterations = get_pkcs5_iteration_count (pkcs5_prf, FALSE, bBoot);
|
||||
|
||||
// User selected encryption algorithm
|
||||
cryptoInfo->ea = ea;
|
||||
|
||||
// User selected PRF
|
||||
cryptoInfo->pkcs5 = pkcs5_prf;
|
||||
cryptoInfo->bTrueCryptMode = FALSE;
|
||||
|
||||
// Mode of operation
|
||||
cryptoInfo->mode = mode;
|
||||
|
||||
// Salt for header key derivation
|
||||
if (!RandgetBytes (keyInfo.salt, PKCS5_SALT_SIZE, !bWipeMode))
|
||||
if (!RandgetBytes (hwndDlg, keyInfo.salt, PKCS5_SALT_SIZE, !bWipeMode))
|
||||
return ERR_CIPHER_INIT_WEAK_KEY;
|
||||
|
||||
// PBKDF2 (PKCS5) is used to derive primary header key(s) and secondary header key(s) (XTS) from the password/keyfiles
|
||||
@@ -1075,7 +1102,7 @@ BOOL WriteEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header)
|
||||
// Writes randomly generated data to unused/reserved header areas.
|
||||
// When bPrimaryOnly is TRUE, then only the primary header area (not the backup header area) is filled with random data.
|
||||
// When bBackupOnly is TRUE, only the backup header area (not the primary header area) is filled with random data.
|
||||
int WriteRandomDataToReservedHeaderAreas (HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly)
|
||||
int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly)
|
||||
{
|
||||
char temporaryKey[MASTER_KEYDATA_SIZE];
|
||||
char originalK2[MASTER_KEYDATA_SIZE];
|
||||
@@ -1096,8 +1123,8 @@ int WriteRandomDataToReservedHeaderAreas (HANDLE dev, CRYPTO_INFO *cryptoInfo, u
|
||||
while (TRUE)
|
||||
{
|
||||
// Temporary keys
|
||||
if (!RandgetBytes (temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE)
|
||||
|| !RandgetBytes (cryptoInfo->k2, sizeof (cryptoInfo->k2), FALSE))
|
||||
if (!RandgetBytes (hwndDlg, temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE)
|
||||
|| !RandgetBytes (hwndDlg, cryptoInfo->k2, sizeof (cryptoInfo->k2), FALSE))
|
||||
{
|
||||
nStatus = ERR_PARAMETER_INCORRECT;
|
||||
goto final_seq;
|
||||
|
||||
@@ -129,14 +129,14 @@ UINT64_STRUCT GetHeaderField64 (byte *header, int offset);
|
||||
#ifdef TC_WINDOWS_BOOT
|
||||
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
|
||||
#else
|
||||
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int pkcs5_prf, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
|
||||
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int pkcs5_prf, BOOL truecryptMode, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
|
||||
#endif
|
||||
|
||||
#if !defined (DEVICE_DRIVER) && !defined (TC_WINDOWS_BOOT)
|
||||
int CreateVolumeHeaderInMemory (BOOL bBoot, char *encryptedHeader, int ea, int mode, Password *password, int pkcs5_prf, char *masterKeydata, PCRYPTO_INFO *retInfo, unsigned __int64 volumeSize, unsigned __int64 hiddenVolumeSize, unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode);
|
||||
int CreateVolumeHeaderInMemory (HWND hwndDlg, BOOL bBoot, char *encryptedHeader, int ea, int mode, Password *password, int pkcs5_prf, char *masterKeydata, PCRYPTO_INFO *retInfo, unsigned __int64 volumeSize, unsigned __int64 hiddenVolumeSize, unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode);
|
||||
BOOL ReadEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header, DWORD *bytesRead);
|
||||
BOOL WriteEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header);
|
||||
int WriteRandomDataToReservedHeaderAreas (HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly);
|
||||
int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly);
|
||||
#endif
|
||||
|
||||
#endif // !TC_HEADER_Volume_VolumeHeader
|
||||
|
||||
+135
@@ -15,6 +15,141 @@ namespace VeraCrypt
|
||||
{
|
||||
extern auto_ptr <CoreBase> Core;
|
||||
extern auto_ptr <CoreBase> CoreDirect;
|
||||
|
||||
class WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
Exception* m_pException;
|
||||
WaitThreadRoutine() : m_pException(NULL) {}
|
||||
virtual ~WaitThreadRoutine() {if (m_pException) delete m_pException;}
|
||||
bool HasException () { return m_pException != NULL;}
|
||||
Exception* GetException () const { return m_pException;}
|
||||
void Execute(void)
|
||||
{
|
||||
try
|
||||
{
|
||||
ExecutionCode();
|
||||
}
|
||||
catch(Exception& ex)
|
||||
{
|
||||
m_pException = ex.CloneNew();
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
m_pException = new UnknownException (SRC_POS);
|
||||
}
|
||||
}
|
||||
virtual void ExecutionCode(void) = 0;
|
||||
};
|
||||
|
||||
class MountThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
MountOptions& m_options;
|
||||
shared_ptr <VolumeInfo> m_pVolume;
|
||||
MountThreadRoutine(MountOptions &options) : m_options(options) {}
|
||||
virtual ~MountThreadRoutine() { }
|
||||
virtual void ExecutionCode(void) { m_pVolume = Core->MountVolume(m_options); }
|
||||
};
|
||||
|
||||
class VolumeCreatorThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
shared_ptr <VolumeCreationOptions> m_options;
|
||||
shared_ptr <VolumeCreator> m_pCreator;
|
||||
VolumeCreatorThreadRoutine(shared_ptr <VolumeCreationOptions> options, shared_ptr <VolumeCreator> pCreator)
|
||||
: m_options(options), m_pCreator(pCreator) {}
|
||||
virtual ~VolumeCreatorThreadRoutine() { }
|
||||
virtual void ExecutionCode(void) { m_pCreator->CreateVolume (m_options); }
|
||||
};
|
||||
|
||||
class ChangePasswordThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
shared_ptr <VolumePath> m_volumePath;
|
||||
bool m_preserveTimestamps;
|
||||
shared_ptr <VolumePassword> m_password;
|
||||
shared_ptr <Pkcs5Kdf> m_kdf;
|
||||
bool m_truecryptMode;
|
||||
shared_ptr <KeyfileList> m_keyfiles;
|
||||
shared_ptr <VolumePassword> m_newPassword;
|
||||
shared_ptr <KeyfileList> m_newKeyfiles;
|
||||
shared_ptr <Pkcs5Kdf> m_newPkcs5Kdf;
|
||||
int m_wipeCount;
|
||||
ChangePasswordThreadRoutine(shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr <Pkcs5Kdf> kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf, int wipeCount) : m_volumePath(volumePath), m_preserveTimestamps(preserveTimestamps), m_password(password), m_kdf(kdf), m_truecryptMode(truecryptMode), m_keyfiles(keyfiles), m_newPassword(newPassword), m_newKeyfiles(newKeyfiles), m_newPkcs5Kdf(newPkcs5Kdf), m_wipeCount(wipeCount) {}
|
||||
virtual ~ChangePasswordThreadRoutine() { }
|
||||
virtual void ExecutionCode(void) { Core->ChangePassword(m_volumePath, m_preserveTimestamps, m_password, m_kdf, m_truecryptMode, m_keyfiles, m_newPassword, m_newKeyfiles, m_newPkcs5Kdf, m_wipeCount); }
|
||||
};
|
||||
|
||||
class OpenVolumeThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
shared_ptr <VolumePath> m_volumePath;
|
||||
bool m_preserveTimestamps;
|
||||
shared_ptr <VolumePassword> m_password;
|
||||
shared_ptr<Pkcs5Kdf> m_Kdf;
|
||||
bool m_truecryptMode;
|
||||
shared_ptr <KeyfileList> m_keyfiles;
|
||||
VolumeProtection::Enum m_protection;
|
||||
shared_ptr <VolumePassword> m_protectionPassword;
|
||||
shared_ptr<Pkcs5Kdf> m_protectionKdf;
|
||||
shared_ptr <KeyfileList> m_protectionKeyfiles;
|
||||
bool m_sharedAccessAllowed;
|
||||
VolumeType::Enum m_volumeType;
|
||||
bool m_useBackupHeaders;
|
||||
bool m_partitionInSystemEncryptionScope;
|
||||
shared_ptr <Volume> m_pVolume;
|
||||
|
||||
OpenVolumeThreadRoutine(shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr<Pkcs5Kdf> Kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, VolumeProtection::Enum protection = VolumeProtection::None, shared_ptr <VolumePassword> protectionPassword = shared_ptr <VolumePassword> (), shared_ptr<Pkcs5Kdf> protectionKdf = shared_ptr<Pkcs5Kdf> (), shared_ptr <KeyfileList> protectionKeyfiles = shared_ptr <KeyfileList> (), bool sharedAccessAllowed = false, VolumeType::Enum volumeType = VolumeType::Unknown, bool useBackupHeaders = false, bool partitionInSystemEncryptionScope = false):
|
||||
m_volumePath(volumePath), m_preserveTimestamps(preserveTimestamps), m_password(password), m_Kdf(Kdf), m_truecryptMode(truecryptMode), m_keyfiles(keyfiles),
|
||||
m_protection(protection), m_protectionPassword(protectionPassword), m_protectionKdf(protectionKdf), m_protectionKeyfiles(protectionKeyfiles), m_sharedAccessAllowed(sharedAccessAllowed), m_volumeType(volumeType),m_useBackupHeaders(useBackupHeaders),
|
||||
m_partitionInSystemEncryptionScope(partitionInSystemEncryptionScope) {}
|
||||
|
||||
~OpenVolumeThreadRoutine() {}
|
||||
|
||||
virtual void ExecutionCode(void) { m_pVolume = Core->OpenVolume(m_volumePath,m_preserveTimestamps,m_password,m_Kdf,m_truecryptMode,m_keyfiles, m_protection,m_protectionPassword,m_protectionKdf, m_protectionKeyfiles,m_sharedAccessAllowed,m_volumeType,m_useBackupHeaders, m_partitionInSystemEncryptionScope); }
|
||||
|
||||
};
|
||||
|
||||
class ReEncryptHeaderThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
const BufferPtr &m_newHeaderBuffer;
|
||||
shared_ptr <VolumeHeader> m_header;
|
||||
shared_ptr <VolumePassword> m_password;
|
||||
shared_ptr <KeyfileList> m_keyfiles;
|
||||
ReEncryptHeaderThreadRoutine(const BufferPtr &newHeaderBuffer, shared_ptr <VolumeHeader> header, shared_ptr <VolumePassword> password, shared_ptr <KeyfileList> keyfiles)
|
||||
: m_newHeaderBuffer(newHeaderBuffer), m_header(header), m_password(password), m_keyfiles(keyfiles) {}
|
||||
virtual ~ReEncryptHeaderThreadRoutine() { }
|
||||
virtual void ExecutionCode(void) { Core->ReEncryptVolumeHeaderWithNewSalt (m_newHeaderBuffer, m_header, m_password, m_keyfiles); }
|
||||
};
|
||||
|
||||
class DecryptThreadRoutine : public WaitThreadRoutine
|
||||
{
|
||||
public:
|
||||
shared_ptr <VolumeHeader> m_pHeader;
|
||||
const ConstBufferPtr &m_encryptedData;
|
||||
const VolumePassword &m_password;
|
||||
shared_ptr <Pkcs5Kdf> m_kdf;
|
||||
bool m_truecryptMode;
|
||||
const Pkcs5KdfList &m_keyDerivationFunctions;
|
||||
const EncryptionAlgorithmList &m_encryptionAlgorithms;
|
||||
const EncryptionModeList &m_encryptionModes;
|
||||
bool m_bResult;
|
||||
DecryptThreadRoutine(shared_ptr <VolumeHeader> header, const ConstBufferPtr &encryptedData, const VolumePassword &password, shared_ptr <Pkcs5Kdf> kdf, bool truecryptMode, const Pkcs5KdfList &keyDerivationFunctions, const EncryptionAlgorithmList &encryptionAlgorithms, const EncryptionModeList &encryptionModes)
|
||||
: m_pHeader(header), m_encryptedData(encryptedData), m_password(password), m_kdf(kdf), m_truecryptMode(truecryptMode), m_keyDerivationFunctions(keyDerivationFunctions), m_encryptionAlgorithms(encryptionAlgorithms), m_encryptionModes(encryptionModes), m_bResult(false){}
|
||||
virtual ~DecryptThreadRoutine() { }
|
||||
virtual void ExecutionCode(void) { m_bResult = m_pHeader->Decrypt(m_encryptedData, m_password, m_kdf, m_truecryptMode, m_keyDerivationFunctions, m_encryptionAlgorithms, m_encryptionModes); }
|
||||
};
|
||||
|
||||
class WaitThreadUI
|
||||
{
|
||||
public:
|
||||
WaitThreadUI(WaitThreadRoutine* pRoutine): m_pRoutine(pRoutine) {}
|
||||
virtual ~WaitThreadUI() {}
|
||||
virtual void Run(void) { m_pRoutine->ExecutionCode();}
|
||||
WaitThreadRoutine* m_pRoutine;
|
||||
};
|
||||
}
|
||||
|
||||
#endif // TC_HEADER_Core_Core
|
||||
|
||||
Executable → Regular
+13
-5
@@ -29,7 +29,15 @@ namespace VeraCrypt
|
||||
throw PasswordEmpty (SRC_POS);
|
||||
|
||||
if (!newPkcs5Kdf)
|
||||
newPkcs5Kdf = openVolume->GetPkcs5Kdf();
|
||||
{
|
||||
if (openVolume->GetPkcs5Kdf()->GetTrueCryptMode ())
|
||||
{
|
||||
newPkcs5Kdf.reset (openVolume->GetPkcs5Kdf()->Clone());
|
||||
newPkcs5Kdf->SetTrueCryptMode (false);
|
||||
}
|
||||
else
|
||||
newPkcs5Kdf = openVolume->GetPkcs5Kdf();
|
||||
}
|
||||
|
||||
if ((openVolume->GetHeader()->GetFlags() & TC_HEADER_FLAG_ENCRYPTED_SYSTEM) != 0
|
||||
&& openVolume->GetType() == VolumeType::Hidden
|
||||
@@ -68,9 +76,9 @@ namespace VeraCrypt
|
||||
}
|
||||
}
|
||||
|
||||
void CoreBase::ChangePassword (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr <Pkcs5Kdf> kdf, shared_ptr <KeyfileList> keyfiles, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf, int wipeCount) const
|
||||
void CoreBase::ChangePassword (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr <Pkcs5Kdf> kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf, int wipeCount) const
|
||||
{
|
||||
shared_ptr <Volume> volume = OpenVolume (volumePath, preserveTimestamps, password, kdf, keyfiles);
|
||||
shared_ptr <Volume> volume = OpenVolume (volumePath, preserveTimestamps, password, kdf, truecryptMode, keyfiles);
|
||||
ChangePassword (volume, newPassword, newKeyfiles, newPkcs5Kdf, wipeCount);
|
||||
}
|
||||
|
||||
@@ -242,10 +250,10 @@ namespace VeraCrypt
|
||||
return GetMountedVolume (volumePath);
|
||||
}
|
||||
|
||||
shared_ptr <Volume> CoreBase::OpenVolume (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr<Pkcs5Kdf> kdf, shared_ptr <KeyfileList> keyfiles, VolumeProtection::Enum protection, shared_ptr <VolumePassword> protectionPassword, shared_ptr<Pkcs5Kdf> protectionKdf, shared_ptr <KeyfileList> protectionKeyfiles, bool sharedAccessAllowed, VolumeType::Enum volumeType, bool useBackupHeaders, bool partitionInSystemEncryptionScope) const
|
||||
shared_ptr <Volume> CoreBase::OpenVolume (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr<Pkcs5Kdf> kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, VolumeProtection::Enum protection, shared_ptr <VolumePassword> protectionPassword, shared_ptr<Pkcs5Kdf> protectionKdf, shared_ptr <KeyfileList> protectionKeyfiles, bool sharedAccessAllowed, VolumeType::Enum volumeType, bool useBackupHeaders, bool partitionInSystemEncryptionScope) const
|
||||
{
|
||||
make_shared_auto (Volume, volume);
|
||||
volume->Open (*volumePath, preserveTimestamps, password, kdf, keyfiles, protection, protectionPassword, protectionKdf, protectionKeyfiles, sharedAccessAllowed, volumeType, useBackupHeaders, partitionInSystemEncryptionScope);
|
||||
volume->Open (*volumePath, preserveTimestamps, password, kdf, truecryptMode, keyfiles, protection, protectionPassword, protectionKdf, protectionKeyfiles, sharedAccessAllowed, volumeType, useBackupHeaders, partitionInSystemEncryptionScope);
|
||||
return volume;
|
||||
}
|
||||
|
||||
|
||||
Executable → Regular
+3
-2
@@ -20,6 +20,7 @@
|
||||
#include "CoreException.h"
|
||||
#include "HostDevice.h"
|
||||
#include "MountOptions.h"
|
||||
#include "VolumeCreator.h"
|
||||
|
||||
namespace VeraCrypt
|
||||
{
|
||||
@@ -29,7 +30,7 @@ namespace VeraCrypt
|
||||
virtual ~CoreBase ();
|
||||
|
||||
virtual void ChangePassword (shared_ptr <Volume> openVolume, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf = shared_ptr <Pkcs5Kdf> (), int wipeCount = PRAND_HEADER_WIPE_PASSES) const;
|
||||
virtual void ChangePassword (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr <Pkcs5Kdf> kdf, shared_ptr <KeyfileList> keyfiles, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf = shared_ptr <Pkcs5Kdf> (), int wipeCount = PRAND_HEADER_WIPE_PASSES) const;
|
||||
virtual void ChangePassword (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr <Pkcs5Kdf> kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, shared_ptr <VolumePassword> newPassword, shared_ptr <KeyfileList> newKeyfiles, shared_ptr <Pkcs5Kdf> newPkcs5Kdf = shared_ptr <Pkcs5Kdf> (), int wipeCount = PRAND_HEADER_WIPE_PASSES) const;
|
||||
virtual void CheckFilesystem (shared_ptr <VolumeInfo> mountedVolume, bool repair = false) const = 0;
|
||||
virtual void CoalesceSlotNumberAndMountPoint (MountOptions &options) const;
|
||||
virtual void CreateKeyfile (const FilePath &keyfilePath) const;
|
||||
@@ -64,7 +65,7 @@ namespace VeraCrypt
|
||||
virtual bool IsVolumeMounted (const VolumePath &volumePath) const;
|
||||
virtual VolumeSlotNumber MountPointToSlotNumber (const DirectoryPath &mountPoint) const = 0;
|
||||
virtual shared_ptr <VolumeInfo> MountVolume (MountOptions &options) = 0;
|
||||
virtual shared_ptr <Volume> OpenVolume (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr<Pkcs5Kdf> Kdf, shared_ptr <KeyfileList> keyfiles, VolumeProtection::Enum protection = VolumeProtection::None, shared_ptr <VolumePassword> protectionPassword = shared_ptr <VolumePassword> (), shared_ptr<Pkcs5Kdf> protectionKdf = shared_ptr<Pkcs5Kdf> (), shared_ptr <KeyfileList> protectionKeyfiles = shared_ptr <KeyfileList> (), bool sharedAccessAllowed = false, VolumeType::Enum volumeType = VolumeType::Unknown, bool useBackupHeaders = false, bool partitionInSystemEncryptionScope = false) const;
|
||||
virtual shared_ptr <Volume> OpenVolume (shared_ptr <VolumePath> volumePath, bool preserveTimestamps, shared_ptr <VolumePassword> password, shared_ptr<Pkcs5Kdf> Kdf, bool truecryptMode, shared_ptr <KeyfileList> keyfiles, VolumeProtection::Enum protection = VolumeProtection::None, shared_ptr <VolumePassword> protectionPassword = shared_ptr <VolumePassword> (), shared_ptr<Pkcs5Kdf> protectionKdf = shared_ptr<Pkcs5Kdf> (), shared_ptr <KeyfileList> protectionKeyfiles = shared_ptr <KeyfileList> (), bool sharedAccessAllowed = false, VolumeType::Enum volumeType = VolumeType::Unknown, bool useBackupHeaders = false, bool partitionInSystemEncryptionScope = false) const;
|
||||
virtual void RandomizeEncryptionAlgorithmKey (shared_ptr <EncryptionAlgorithm> encryptionAlgorithm) const;
|
||||
virtual void ReEncryptVolumeHeaderWithNewSalt (const BufferPtr &newHeaderBuffer, shared_ptr <VolumeHeader> header, shared_ptr <VolumePassword> password, shared_ptr <KeyfileList> keyfiles) const;
|
||||
virtual void SetAdminPasswordCallback (shared_ptr <GetStringFunctor> functor) { }
|
||||
|
||||
Executable → Regular
+33
-24
@@ -46,6 +46,7 @@ namespace VeraCrypt
|
||||
TC_CLONE (SharedAccessAllowed);
|
||||
TC_CLONE (SlotNumber);
|
||||
TC_CLONE (UseBackupHeaders);
|
||||
TC_CLONE (TrueCryptMode);
|
||||
}
|
||||
|
||||
void MountOptions::Deserialize (shared_ptr <Stream> stream)
|
||||
@@ -72,14 +73,6 @@ namespace VeraCrypt
|
||||
Password = Serializable::DeserializeNew <VolumePassword> (stream);
|
||||
else
|
||||
Password.reset();
|
||||
|
||||
if (!sr.DeserializeBool ("KdfNull"))
|
||||
{
|
||||
sr.Deserialize ("Kdf", nameValue);
|
||||
Kdf = Pkcs5Kdf::GetAlgorithm (nameValue);
|
||||
}
|
||||
else
|
||||
Kdf.reset();
|
||||
|
||||
if (!sr.DeserializeBool ("PathNull"))
|
||||
Path.reset (new VolumePath (sr.DeserializeWString ("Path")));
|
||||
@@ -96,19 +89,33 @@ namespace VeraCrypt
|
||||
else
|
||||
ProtectionPassword.reset();
|
||||
|
||||
if (!sr.DeserializeBool ("ProtectionKdfNull"))
|
||||
{
|
||||
sr.Deserialize ("ProtectionKdf", nameValue);
|
||||
ProtectionKdf = Pkcs5Kdf::GetAlgorithm (nameValue);
|
||||
}
|
||||
else
|
||||
ProtectionKdf.reset();
|
||||
|
||||
ProtectionKeyfiles = Keyfile::DeserializeList (stream, "ProtectionKeyfiles");
|
||||
sr.Deserialize ("Removable", Removable);
|
||||
sr.Deserialize ("SharedAccessAllowed", SharedAccessAllowed);
|
||||
sr.Deserialize ("SlotNumber", SlotNumber);
|
||||
sr.Deserialize ("UseBackupHeaders", UseBackupHeaders);
|
||||
|
||||
sr.Deserialize ("TrueCryptMode", TrueCryptMode);
|
||||
|
||||
try
|
||||
{
|
||||
if (!sr.DeserializeBool ("KdfNull"))
|
||||
{
|
||||
sr.Deserialize ("Kdf", nameValue);
|
||||
Kdf = Pkcs5Kdf::GetAlgorithm (nameValue, TrueCryptMode);
|
||||
}
|
||||
}
|
||||
catch(...) {}
|
||||
|
||||
try
|
||||
{
|
||||
if (!sr.DeserializeBool ("ProtectionKdfNull"))
|
||||
{
|
||||
sr.Deserialize ("ProtectionKdf", nameValue);
|
||||
ProtectionKdf = Pkcs5Kdf::GetAlgorithm (nameValue, TrueCryptMode);
|
||||
}
|
||||
}
|
||||
catch(...) {}
|
||||
}
|
||||
|
||||
void MountOptions::Serialize (shared_ptr <Stream> stream) const
|
||||
@@ -133,10 +140,6 @@ namespace VeraCrypt
|
||||
if (Password)
|
||||
Password->Serialize (stream);
|
||||
|
||||
sr.Serialize ("KdfNull", Kdf == nullptr);
|
||||
if (Kdf)
|
||||
sr.Serialize ("Kdf", Kdf->GetName());
|
||||
|
||||
sr.Serialize ("PathNull", Path == nullptr);
|
||||
if (Path)
|
||||
sr.Serialize ("Path", wstring (*Path));
|
||||
@@ -149,15 +152,21 @@ namespace VeraCrypt
|
||||
if (ProtectionPassword)
|
||||
ProtectionPassword->Serialize (stream);
|
||||
|
||||
sr.Serialize ("ProtectionKdfNull", ProtectionKdf == nullptr);
|
||||
if (ProtectionKdf)
|
||||
sr.Serialize ("ProtectionKdf", ProtectionKdf->GetName());
|
||||
|
||||
Keyfile::SerializeList (stream, "ProtectionKeyfiles", ProtectionKeyfiles);
|
||||
sr.Serialize ("Removable", Removable);
|
||||
sr.Serialize ("SharedAccessAllowed", SharedAccessAllowed);
|
||||
sr.Serialize ("SlotNumber", SlotNumber);
|
||||
sr.Serialize ("UseBackupHeaders", UseBackupHeaders);
|
||||
|
||||
sr.Serialize ("TrueCryptMode", TrueCryptMode);
|
||||
|
||||
sr.Serialize ("KdfNull", Kdf == nullptr);
|
||||
if (Kdf)
|
||||
sr.Serialize ("Kdf", Kdf->GetName());
|
||||
|
||||
sr.Serialize ("ProtectionKdfNull", ProtectionKdf == nullptr);
|
||||
if (ProtectionKdf)
|
||||
sr.Serialize ("ProtectionKdf", ProtectionKdf->GetName());
|
||||
}
|
||||
|
||||
TC_SERIALIZER_FACTORY_ADD_CLASS (MountOptions);
|
||||
|
||||
Executable → Regular
+3
-1
@@ -31,7 +31,8 @@ namespace VeraCrypt
|
||||
Removable (false),
|
||||
SharedAccessAllowed (false),
|
||||
SlotNumber (0),
|
||||
UseBackupHeaders (false)
|
||||
UseBackupHeaders (false),
|
||||
TrueCryptMode (false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -63,6 +64,7 @@ namespace VeraCrypt
|
||||
bool SharedAccessAllowed;
|
||||
VolumeSlotNumber SlotNumber;
|
||||
bool UseBackupHeaders;
|
||||
bool TrueCryptMode;
|
||||
|
||||
protected:
|
||||
void CopyFrom (const MountOptions &other);
|
||||
|
||||
@@ -410,6 +410,7 @@ namespace VeraCrypt
|
||||
options.PreserveTimestamps,
|
||||
options.Password,
|
||||
options.Kdf,
|
||||
options.TrueCryptMode,
|
||||
options.Keyfiles,
|
||||
options.Protection,
|
||||
options.ProtectionPassword,
|
||||
@@ -550,6 +551,23 @@ namespace VeraCrypt
|
||||
remove (mountPoint.c_str());
|
||||
throw;
|
||||
}
|
||||
|
||||
#ifndef TC_MACOSX
|
||||
// set again correct ownership of the mount point to avoid any issues
|
||||
if (!options.NoFilesystem && options.MountPoint)
|
||||
{
|
||||
mountPoint = *options.MountPoint;
|
||||
|
||||
if (mountPoint.find (GetDefaultMountPointPrefix()) == 0)
|
||||
{
|
||||
try
|
||||
{
|
||||
chown (mountPoint.c_str(), GetRealUserId(), GetRealGroupId());
|
||||
} catch (...) { }
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
|
||||
+4
-4
@@ -521,10 +521,10 @@ AES_RETURN aes_decrypt_key256(const unsigned char *key, aes_decrypt_ctx cx[1])
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
cx->ks[v(56,(4))] = ff(ss[4] = word_in(key, 4));
|
||||
cx->ks[v(56,(5))] = ff(ss[5] = word_in(key, 5));
|
||||
cx->ks[v(56,(6))] = ff(ss[6] = word_in(key, 6));
|
||||
cx->ks[v(56,(7))] = ff(ss[7] = word_in(key, 7));
|
||||
ss[4] = word_in(key, 4); cx->ks[v(56,(4))] = ff(ss[4]);
|
||||
ss[5] = word_in(key, 5); cx->ks[v(56,(5))] = ff(ss[5]);
|
||||
ss[6] = word_in(key, 6); cx->ks[v(56,(6))] = ff(ss[6]);
|
||||
ss[7] = word_in(key, 7); cx->ks[v(56,(7))] = ff(ss[7]);
|
||||
kdf8(cx->ks, 0); kd8(cx->ks, 1);
|
||||
kd8(cx->ks, 2); kd8(cx->ks, 3);
|
||||
kd8(cx->ks, 4); kd8(cx->ks, 5);
|
||||
|
||||
+42
-10
@@ -284,17 +284,10 @@ static NTSTATUS MountDrive (DriveFilterExtension *Extension, Password *password,
|
||||
Hash* pHash = HashGet(pBootCryptoInfo->pkcs5);
|
||||
if (pHash && pHash->SystemEncryption)
|
||||
pkcs5_prf = pBootCryptoInfo->pkcs5;
|
||||
else
|
||||
{
|
||||
status = STATUS_UNSUCCESSFUL;
|
||||
burn (mappedCryptoInfo, BootArgs.CryptoInfoLength);
|
||||
MmUnmapIoSpace (mappedCryptoInfo, BootArgs.CryptoInfoLength);
|
||||
goto ret;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (ReadVolumeHeader (!hiddenVolume, header, password, pkcs5_prf, &Extension->Queue.CryptoInfo, Extension->HeaderCryptoInfo) == 0)
|
||||
if (ReadVolumeHeader (!hiddenVolume, header, password, pkcs5_prf, FALSE, &Extension->Queue.CryptoInfo, Extension->HeaderCryptoInfo) == 0)
|
||||
{
|
||||
// Header decrypted
|
||||
status = STATUS_SUCCESS;
|
||||
@@ -803,7 +796,7 @@ void ReopenBootVolumeHeader (PIRP irp, PIO_STACK_LOCATION irpSp)
|
||||
goto ret;
|
||||
}
|
||||
|
||||
if (ReadVolumeHeader (!BootDriveFilterExtension->HiddenSystem, header, &request->VolumePassword, request->pkcs5_prf, NULL, BootDriveFilterExtension->HeaderCryptoInfo) == 0)
|
||||
if (ReadVolumeHeader (!BootDriveFilterExtension->HiddenSystem, header, &request->VolumePassword, request->pkcs5_prf, FALSE, NULL, BootDriveFilterExtension->HeaderCryptoInfo) == 0)
|
||||
{
|
||||
Dump ("Header reopened\n");
|
||||
|
||||
@@ -1183,6 +1176,36 @@ static VOID SetupThreadProc (PVOID threadArg)
|
||||
KIRQL irql;
|
||||
NTSTATUS status;
|
||||
|
||||
// generate real random values for wipeRandChars and
|
||||
// wipeRandCharsUpdate instead of relying on uninitialized stack memory
|
||||
LARGE_INTEGER iSeed;
|
||||
KeQuerySystemTime( &iSeed );
|
||||
if (KeGetCurrentIrql() < DISPATCH_LEVEL)
|
||||
{
|
||||
ULONG ulRandom;
|
||||
ulRandom = RtlRandomEx( &iSeed.LowPart );
|
||||
memcpy (wipeRandChars, &ulRandom, TC_WIPE_RAND_CHAR_COUNT);
|
||||
ulRandom = RtlRandomEx( &ulRandom );
|
||||
memcpy (wipeRandCharsUpdate, &ulRandom, TC_WIPE_RAND_CHAR_COUNT);
|
||||
burn (&ulRandom, sizeof(ulRandom));
|
||||
}
|
||||
else
|
||||
{
|
||||
byte digest[SHA512_DIGESTSIZE];
|
||||
sha512_ctx tctx;
|
||||
sha512_begin (&tctx);
|
||||
sha512_hash ((unsigned char *) &(iSeed.QuadPart), sizeof(iSeed.QuadPart), &tctx);
|
||||
sha512_end (digest, &tctx);
|
||||
|
||||
memcpy (wipeRandChars, digest, TC_WIPE_RAND_CHAR_COUNT);
|
||||
memcpy (wipeRandCharsUpdate, &digest[SHA512_DIGESTSIZE - TC_WIPE_RAND_CHAR_COUNT], TC_WIPE_RAND_CHAR_COUNT);
|
||||
|
||||
burn (digest, SHA512_DIGESTSIZE);
|
||||
burn (&tctx, sizeof (tctx));
|
||||
}
|
||||
|
||||
burn (&iSeed, sizeof(iSeed));
|
||||
|
||||
SetupResult = STATUS_UNSUCCESSFUL;
|
||||
|
||||
// Make sure volume header can be updated
|
||||
@@ -1482,9 +1505,18 @@ err:
|
||||
|
||||
ret:
|
||||
if (buffer)
|
||||
{
|
||||
burn (buffer, TC_ENCRYPTION_SETUP_IO_BLOCK_SIZE);
|
||||
TCfree (buffer);
|
||||
}
|
||||
if (wipeBuffer)
|
||||
{
|
||||
burn (wipeBuffer, TC_ENCRYPTION_SETUP_IO_BLOCK_SIZE);
|
||||
TCfree (wipeBuffer);
|
||||
}
|
||||
|
||||
burn (wipeRandChars, TC_WIPE_RAND_CHAR_COUNT);
|
||||
burn (wipeRandCharsUpdate, TC_WIPE_RAND_CHAR_COUNT);
|
||||
|
||||
SetupInProgress = FALSE;
|
||||
PsTerminateSystemThread (SetupResult);
|
||||
@@ -1647,7 +1679,7 @@ void GetBootEncryptionAlgorithmName (PIRP irp, PIO_STACK_LOCATION irpSp)
|
||||
if (BootDriveFilterExtension && BootDriveFilterExtension->DriveMounted)
|
||||
{
|
||||
GetBootEncryptionAlgorithmNameRequest *request = (GetBootEncryptionAlgorithmNameRequest *) irp->AssociatedIrp.SystemBuffer;
|
||||
EAGetName (request->BootEncryptionAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->ea);
|
||||
EAGetName (request->BootEncryptionAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->ea, 0);
|
||||
HashGetName2 (request->BootPrfAlgorithmName, BootDriveFilterExtension->Queue.CryptoInfo->pkcs5);
|
||||
|
||||
irp->IoStatus.Information = sizeof (GetBootEncryptionAlgorithmNameRequest);
|
||||
|
||||
@@ -27,8 +27,8 @@ LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,6,0
|
||||
PRODUCTVERSION 1,0,6,0
|
||||
FILEVERSION 1,0,6,3
|
||||
PRODUCTVERSION 1,0,6,3
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
@@ -45,11 +45,11 @@ BEGIN
|
||||
BEGIN
|
||||
VALUE "CompanyName", "IDRIX"
|
||||
VALUE "FileDescription", "VeraCrypt Driver"
|
||||
VALUE "FileVersion", "1.0f-BETA3"
|
||||
VALUE "FileVersion", "1.0f-2"
|
||||
VALUE "LegalTrademarks", "VeraCrypt"
|
||||
VALUE "OriginalFilename", "veracrypt.sys"
|
||||
VALUE "ProductName", "VeraCrypt"
|
||||
VALUE "ProductVersion", "1.0f-BETA3"
|
||||
VALUE "ProductVersion", "1.0f-2"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
|
||||
@@ -1146,6 +1146,7 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
|
||||
list->volumeType[ListExtension->nDosDriveNo] = PROP_VOL_TYPE_OUTER; // Normal/outer volume (hidden volume protected)
|
||||
else
|
||||
list->volumeType[ListExtension->nDosDriveNo] = PROP_VOL_TYPE_NORMAL; // Normal volume
|
||||
list->truecryptMode[ListExtension->nDosDriveNo] = ListExtension->cryptoInfo->bTrueCryptMode;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1366,7 +1367,9 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
|
||||
|
||||
if (mount->VolumePassword.Length > MAX_PASSWORD || mount->ProtectedHidVolPassword.Length > MAX_PASSWORD
|
||||
|| mount->pkcs5_prf < 0 || mount->pkcs5_prf > LAST_PRF_ID
|
||||
|| mount->ProtectedHidVolPkcs5Prf < 0 || mount->ProtectedHidVolPkcs5Prf > LAST_PRF_ID )
|
||||
|| mount->ProtectedHidVolPkcs5Prf < 0 || mount->ProtectedHidVolPkcs5Prf > LAST_PRF_ID
|
||||
|| (mount->bTrueCryptMode != FALSE && mount->bTrueCryptMode != TRUE)
|
||||
)
|
||||
{
|
||||
Irp->IoStatus.Status = STATUS_INVALID_PARAMETER;
|
||||
Irp->IoStatus.Information = 0;
|
||||
@@ -1381,6 +1384,7 @@ NTSTATUS ProcessMainDeviceControlIrp (PDEVICE_OBJECT DeviceObject, PEXTENSION Ex
|
||||
burn (&mount->VolumePassword, sizeof (mount->VolumePassword));
|
||||
burn (&mount->ProtectedHidVolPassword, sizeof (mount->ProtectedHidVolPassword));
|
||||
burn (&mount->pkcs5_prf, sizeof (mount->pkcs5_prf));
|
||||
burn (&mount->bTrueCryptMode, sizeof (mount->bTrueCryptMode));
|
||||
burn (&mount->ProtectedHidVolPkcs5Prf, sizeof (mount->ProtectedHidVolPkcs5Prf));
|
||||
}
|
||||
break;
|
||||
@@ -1705,7 +1709,7 @@ void TCStopVolumeThread (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension)
|
||||
{
|
||||
NTSTATUS ntStatus;
|
||||
|
||||
if (DeviceObject); /* Remove compiler warning */
|
||||
UNREFERENCED_PARAMETER (DeviceObject); /* Remove compiler warning */
|
||||
|
||||
Dump ("Signalling thread to quit...\n");
|
||||
|
||||
|
||||
+10
-4
@@ -449,6 +449,7 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
|
||||
readBuffer,
|
||||
&mount->ProtectedHidVolPassword,
|
||||
mount->ProtectedHidVolPkcs5Prf,
|
||||
mount->bTrueCryptMode,
|
||||
&tmpCryptoInfo);
|
||||
}
|
||||
else
|
||||
@@ -459,6 +460,7 @@ NTSTATUS TCOpenVolume (PDEVICE_OBJECT DeviceObject,
|
||||
readBuffer,
|
||||
&mount->VolumePassword,
|
||||
mount->pkcs5_prf,
|
||||
mount->bTrueCryptMode,
|
||||
&Extension->cryptoInfo);
|
||||
}
|
||||
|
||||
@@ -724,7 +726,7 @@ error:
|
||||
|
||||
void TCCloseVolume (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension)
|
||||
{
|
||||
if (DeviceObject); /* Remove compiler warning */
|
||||
UNREFERENCED_PARAMETER (DeviceObject); /* Remove compiler warning */
|
||||
|
||||
if (Extension->hDeviceFile != NULL)
|
||||
{
|
||||
@@ -736,7 +738,11 @@ void TCCloseVolume (PDEVICE_OBJECT DeviceObject, PEXTENSION Extension)
|
||||
ZwClose (Extension->hDeviceFile);
|
||||
}
|
||||
ObDereferenceObject (Extension->pfoDeviceFile);
|
||||
crypto_close (Extension->cryptoInfo);
|
||||
if (Extension->cryptoInfo)
|
||||
{
|
||||
crypto_close (Extension->cryptoInfo);
|
||||
Extension->cryptoInfo = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -750,7 +756,7 @@ NTSTATUS TCSendHostDeviceIoControlRequest (PDEVICE_OBJECT DeviceObject,
|
||||
NTSTATUS ntStatus;
|
||||
PIRP Irp;
|
||||
|
||||
if (DeviceObject); /* Remove compiler warning */
|
||||
UNREFERENCED_PARAMETER(DeviceObject); /* Remove compiler warning */
|
||||
|
||||
KeClearEvent (&Extension->keVolumeEvent);
|
||||
|
||||
@@ -789,7 +795,7 @@ NTSTATUS COMPLETE_IRP (PDEVICE_OBJECT DeviceObject,
|
||||
Irp->IoStatus.Status = IrpStatus;
|
||||
Irp->IoStatus.Information = IrpInformation;
|
||||
|
||||
if (DeviceObject); /* Remove compiler warning */
|
||||
UNREFERENCED_PARAMETER (DeviceObject); /* Remove compiler warning */
|
||||
|
||||
#if EXTRA_INFO
|
||||
if (!NT_SUCCESS (IrpStatus))
|
||||
|
||||
@@ -0,0 +1,732 @@
|
||||
/*
|
||||
|
||||
Some portions of the source code contained in this file were derived from the
|
||||
source code of TrueCrypt 7.0a, which is governed by the TrueCrypt License 3.0
|
||||
that can be found in the file 'License.txt' in the folder 'TrueCrypt-License'.
|
||||
|
||||
Modifications and additions to the original source code (contained in this file)
|
||||
and all other portions of this file are Copyright (c) 2009-2010 by Kih-Oskh or
|
||||
Copyright (c) 2012-2013 Josef Schneider <josef@netpage.dk>
|
||||
|
||||
|
||||
Some portions of the source code here are derived from 'Mount\Mount.c'
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Original legal notice of the TrueCrypt source:
|
||||
|
||||
Legal Notice: Some portions of the source code contained in this file were
|
||||
derived from the source code of Encryption for the Masses 2.02a, which is
|
||||
Copyright (c) 1998-2000 Paul Le Roux and which is governed by the 'License
|
||||
Agreement for Encryption for the Masses'. Modifications and additions to
|
||||
the original source code (contained in this file) and all other portions
|
||||
of this file are Copyright (c) 2003-2009 TrueCrypt Developers Association
|
||||
and are governed by the TrueCrypt License 3.0 the full text of which is
|
||||
contained in the file License.txt included in TrueCrypt binary and source
|
||||
code distribution packages.
|
||||
|
||||
*/
|
||||
|
||||
#include "Tcdefs.h"
|
||||
|
||||
#include <time.h>
|
||||
#include <math.h>
|
||||
#include <dbt.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include <sys/stat.h>
|
||||
#include <windowsx.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "Apidrvr.h"
|
||||
#include "Volumes.h"
|
||||
#include "Crypto.h"
|
||||
#include "Dlgcode.h"
|
||||
#include "Language.h"
|
||||
#include "Pkcs5.h"
|
||||
#include "Random.h"
|
||||
// #include "../Mount/Mount.h"
|
||||
|
||||
#include "../Common/Dictionary.h"
|
||||
#include "../Common/Common.h"
|
||||
#include "../Common/Resource.h"
|
||||
#include "../Common/SecurityToken.h"
|
||||
#include "../Common/Progress.h"
|
||||
|
||||
#include "ExpandVolume.h"
|
||||
#include "Resource.h"
|
||||
|
||||
// TO DO: display sector sizes different than 512 bytes
|
||||
#define SECTOR_SIZE_MSG 512
|
||||
|
||||
#define TIMER_ID_RANDVIEW 0xff
|
||||
#define TIMER_INTERVAL_RANDVIEW 50
|
||||
|
||||
// see definition of enum EV_FileSystem
|
||||
const char * szFileSystemStr[3] = {"RAW","FAT","NTFS"};
|
||||
|
||||
// prototypes for internal functions
|
||||
BOOL CALLBACK ExpandVolSizeDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
BOOL CALLBACK ExpandVolProgressDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
namespace VeraCryptExpander
|
||||
{
|
||||
/* defined in WinMain.c, referenced by ExpandVolumeWizard() */
|
||||
int ExtcvAskVolumePassword (HWND hwndDlg, Password *password, int *pkcs5, BOOL* truecryptMode, char *titleStringId, BOOL enableMountOptions);
|
||||
}
|
||||
|
||||
|
||||
int GetSpaceString(char *dest, size_t maxlen, uint64 size, BOOL bDevice)
|
||||
{
|
||||
const char * szFmtBytes = "%.0lf %s";
|
||||
const char * szFmtOther = "%.2lf %s";
|
||||
const char * SuffixStr[] = {"Byte", "kB", "MB", "GB", "TB"};
|
||||
const uint64 Muliplier[] = {1, BYTES_PER_KB, BYTES_PER_MB, BYTES_PER_GB, BYTES_PER_TB};
|
||||
const int nMaxSuffix = sizeof(Muliplier)/sizeof(uint64) - 1;
|
||||
int i;
|
||||
|
||||
for (i=1; i<=nMaxSuffix && size>Muliplier[i]; i++) ;
|
||||
|
||||
--i;
|
||||
|
||||
if (bDevice) {
|
||||
char szTemp[512];
|
||||
|
||||
if (sprintf_s(szTemp, sizeof(szTemp),i?szFmtOther:szFmtBytes, size/(double)Muliplier[i], SuffixStr[i]) < 0 )
|
||||
return -1;
|
||||
|
||||
return sprintf_s(dest, maxlen, "%I64u sectors (%s)", size/SECTOR_SIZE_MSG , szTemp);
|
||||
}
|
||||
|
||||
return sprintf_s(dest, maxlen,i?szFmtOther:szFmtBytes, size/(double)Muliplier[i], SuffixStr[i]);
|
||||
}
|
||||
|
||||
void SetCurrentVolSize(HWND hwndDlg, uint64 size)
|
||||
{
|
||||
const uint64 Muliplier[] = {BYTES_PER_KB, BYTES_PER_MB, BYTES_PER_GB};
|
||||
const int IdRadioBtn[] = {IDC_KB, IDC_MB, IDC_GB};
|
||||
const int nMaxSuffix = sizeof(Muliplier)/sizeof(uint64) - 1;
|
||||
int i;
|
||||
char szTemp[256];
|
||||
|
||||
for (i=1; i<=nMaxSuffix && size>Muliplier[i]; i++) ;
|
||||
|
||||
--i;
|
||||
|
||||
SendDlgItemMessage (hwndDlg, IdRadioBtn[i], BM_SETCHECK, BST_CHECKED, 0);
|
||||
StringCbPrintfA(szTemp,sizeof(szTemp),"%I64u",size/Muliplier[i]);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_SIZEBOX), szTemp);
|
||||
}
|
||||
|
||||
uint64 GetSizeBoxMultiplier(HWND hwndDlg)
|
||||
{
|
||||
const uint64 Muliplier[] = {BYTES_PER_KB, BYTES_PER_MB, BYTES_PER_GB};
|
||||
const int IdRadioBtn[] = {IDC_KB, IDC_MB, IDC_GB};
|
||||
const int nMaxSuffix = sizeof(Muliplier)/sizeof(uint64) - 1;
|
||||
int i;
|
||||
|
||||
for (i=nMaxSuffix; i>0 && !IsButtonChecked (GetDlgItem (hwndDlg, IdRadioBtn[i])); --i) ;
|
||||
|
||||
return Muliplier[i];
|
||||
}
|
||||
|
||||
BOOL CALLBACK ExpandVolSizeDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static EXPAND_VOL_THREAD_PARAMS *pVolExpandParam;
|
||||
|
||||
WORD lw = LOWORD (wParam);
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
char szTemp[4096];
|
||||
|
||||
pVolExpandParam = (EXPAND_VOL_THREAD_PARAMS*)lParam;
|
||||
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_SIZEBOX), !pVolExpandParam->bIsDevice);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_KB), !pVolExpandParam->bIsDevice);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_MB), !pVolExpandParam->bIsDevice);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_GB), !pVolExpandParam->bIsDevice);
|
||||
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_INIT_NEWSPACE),
|
||||
!(pVolExpandParam->bIsLegacy && pVolExpandParam->bIsDevice));
|
||||
SendDlgItemMessage (hwndDlg, IDC_INIT_NEWSPACE, BM_SETCHECK,
|
||||
pVolExpandParam->bInitFreeSpace ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
|
||||
if (!pVolExpandParam->bIsDevice)
|
||||
SetCurrentVolSize(hwndDlg,pVolExpandParam->oldSize);
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_BOX_HELP), WM_SETFONT, (WPARAM) hBoldFont, (LPARAM) TRUE);
|
||||
|
||||
GetSpaceString(szTemp,sizeof(szTemp),pVolExpandParam->oldSize,pVolExpandParam->bIsDevice);
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_OLDSIZE), szTemp);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_NAME), pVolExpandParam->szVolumeName);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_FILE_SYSTEM), szFileSystemStr[pVolExpandParam->FileSystem]);
|
||||
|
||||
if (pVolExpandParam->bIsDevice)
|
||||
{
|
||||
GetSpaceString(szTemp,sizeof(szTemp),pVolExpandParam->newSize,TRUE);
|
||||
}
|
||||
else
|
||||
{
|
||||
char szHostFreeStr[256];
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDT_NEW_SIZE), "");
|
||||
GetSpaceString(szHostFreeStr,sizeof(szHostFreeStr),pVolExpandParam->hostSizeFree,FALSE);
|
||||
StringCbPrintfA (szTemp,sizeof(szTemp),"%s available on host drive", szHostFreeStr);
|
||||
}
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_NEWSIZE), szTemp);
|
||||
|
||||
// set help text
|
||||
if (pVolExpandParam->bIsDevice)
|
||||
{
|
||||
StringCbPrintfA (szTemp,sizeof(szTemp),"This is a device-based VeraCrypt volume.\n\nThe new volume size will be choosen automatically as the size of the host device.");
|
||||
if (pVolExpandParam->bIsLegacy)
|
||||
StringCbCatA(szTemp,sizeof(szTemp)," Note: filling the new space with random data is not supported for legacy volumes.");
|
||||
}
|
||||
else
|
||||
{
|
||||
StringCbPrintfA (szTemp, sizeof(szTemp),"Please specify the new size of the VeraCrypt volume (must be at least %I64u KB larger than the current size).",TC_MINVAL_FS_EXPAND/1024);
|
||||
}
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_BOX_HELP), szTemp);
|
||||
|
||||
}
|
||||
return 0;
|
||||
|
||||
|
||||
case WM_COMMAND:
|
||||
if (lw == IDCANCEL)
|
||||
{
|
||||
EndDialog (hwndDlg, lw);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (lw == IDOK)
|
||||
{
|
||||
char szTemp[4096];
|
||||
|
||||
pVolExpandParam->bInitFreeSpace = IsButtonChecked (GetDlgItem (hwndDlg, IDC_INIT_NEWSPACE));
|
||||
if (!pVolExpandParam->bIsDevice) // for devices new size is set by calling function
|
||||
{
|
||||
GetWindowText (GetDlgItem (hwndDlg, IDC_SIZEBOX), szTemp, sizeof (szTemp));
|
||||
pVolExpandParam->newSize = _atoi64(szTemp) * GetSizeBoxMultiplier(hwndDlg);
|
||||
}
|
||||
|
||||
EndDialog (hwndDlg, lw);
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
extern "C" void AddProgressDlgStatus(HWND hwndDlg, const char* szText)
|
||||
{
|
||||
HWND hwndCtrl;
|
||||
|
||||
hwndCtrl = GetDlgItem (hwndDlg,IDC_BOX_STATUS);
|
||||
SendMessage(hwndCtrl,EM_REPLACESEL,FALSE,(LPARAM)szText);
|
||||
SendMessage(hwndCtrl,EM_SCROLLCARET,0,0);
|
||||
}
|
||||
|
||||
|
||||
extern "C" void SetProgressDlgStatus(HWND hwndDlg, const char* szText)
|
||||
{
|
||||
HWND hwndCtrl;
|
||||
|
||||
hwndCtrl = GetDlgItem (hwndDlg,IDC_BOX_STATUS);
|
||||
SendMessage(hwndCtrl,EM_SETSEL,0,-1);
|
||||
SendMessage(hwndCtrl,EM_REPLACESEL,FALSE,(LPARAM)szText);
|
||||
SendMessage(hwndCtrl,EM_SCROLLCARET,0,0);
|
||||
}
|
||||
|
||||
|
||||
BOOL CALLBACK ExpandVolProgressDlgProc (HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static EXPAND_VOL_THREAD_PARAMS *pProgressDlgParam;
|
||||
static BOOL bVolTransformStarted = FALSE;
|
||||
static BOOL showRandPool = TRUE;
|
||||
|
||||
WORD lw = LOWORD (wParam);
|
||||
|
||||
switch (msg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
{
|
||||
char szOldHostSize[512], szNewHostSize[512];
|
||||
|
||||
pProgressDlgParam = (EXPAND_VOL_THREAD_PARAMS*)lParam;
|
||||
bVolTransformStarted = FALSE;
|
||||
showRandPool = TRUE;
|
||||
|
||||
hCurPage = hwndDlg;
|
||||
nPbar = IDC_PROGRESS_BAR;
|
||||
|
||||
GetSpaceString(szOldHostSize,sizeof(szOldHostSize),pProgressDlgParam->oldSize,pProgressDlgParam->bIsDevice);
|
||||
GetSpaceString(szNewHostSize,sizeof(szNewHostSize),pProgressDlgParam->newSize,pProgressDlgParam->bIsDevice);
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_OLDSIZE), szOldHostSize);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_NEWSIZE), szNewHostSize);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_NAME), pProgressDlgParam->szVolumeName);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_FILE_SYSTEM), szFileSystemStr[pProgressDlgParam->FileSystem]);
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_EXPAND_VOLUME_INITSPACE), pProgressDlgParam->bInitFreeSpace?"Yes":"No");
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_BOX_STATUS), WM_SETFONT, (WPARAM) hBoldFont, (LPARAM) TRUE);
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_RANDOM_BYTES), WM_SETFONT, (WPARAM) hFixedDigitFont, (LPARAM) TRUE);
|
||||
|
||||
// set status text
|
||||
if ( !pProgressDlgParam->bInitFreeSpace && pProgressDlgParam->bIsLegacy )
|
||||
{
|
||||
showRandPool = FALSE;
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_DISPLAY_POOL_CONTENTS), FALSE);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_RANDOM_BYTES), FALSE);
|
||||
SetDlgItemText(hwndDlg, IDC_BOX_STATUS, "Click 'Continue' to expand the volume.");
|
||||
}
|
||||
else
|
||||
{
|
||||
SetDlgItemText(hwndDlg, IDC_BOX_STATUS, "IMPORTANT: Move your mouse as randomly as possible within this window. The longer you move it, the better. This significantly increases the cryptographic strength of the encryption keys. Then click 'Continue' to expand the volume.");
|
||||
}
|
||||
|
||||
SendMessage (GetDlgItem (hwndDlg, IDC_DISPLAY_POOL_CONTENTS), BM_SETCHECK, showRandPool ? BST_CHECKED : BST_UNCHECKED, 0);
|
||||
SetTimer (hwndDlg, TIMER_ID_RANDVIEW, TIMER_INTERVAL_RANDVIEW, NULL);
|
||||
}
|
||||
return 0;
|
||||
case TC_APPMSG_VOL_TRANSFORM_THREAD_ENDED:
|
||||
{
|
||||
int nStatus = (int)lParam;
|
||||
|
||||
NormalCursor ();
|
||||
if (nStatus != 0)
|
||||
{
|
||||
if ( nStatus != ERR_USER_ABORT )
|
||||
AddProgressDlgStatus (hwndDlg, "Error: volume expansion failed.");
|
||||
else
|
||||
AddProgressDlgStatus (hwndDlg, "Error: operation aborted by user.");
|
||||
}
|
||||
else
|
||||
{
|
||||
AddProgressDlgStatus (hwndDlg, "Finished. Volume successfully expanded.");
|
||||
}
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDOK), "Exit");
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDOK), TRUE);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDCANCEL), FALSE);
|
||||
}
|
||||
return 1;
|
||||
|
||||
case WM_TIMER:
|
||||
|
||||
switch (wParam)
|
||||
{
|
||||
case TIMER_ID_RANDVIEW:
|
||||
{
|
||||
unsigned char tmp[16] = {0};
|
||||
char szRndPool[64] = {0};
|
||||
|
||||
if (!showRandPool)
|
||||
return 1;
|
||||
|
||||
RandpeekBytes (hwndDlg, tmp, sizeof (tmp));
|
||||
|
||||
StringCbPrintfA (szRndPool, sizeof(szRndPool), "%08X%08X%08X%08X",
|
||||
*((DWORD*) (tmp + 12)), *((DWORD*) (tmp + 8)), *((DWORD*) (tmp + 4)), *((DWORD*) (tmp)));
|
||||
|
||||
SetWindowText (GetDlgItem (hwndDlg, IDC_RANDOM_BYTES), szRndPool);
|
||||
|
||||
burn (tmp, sizeof(tmp));
|
||||
burn (szRndPool, sizeof(szRndPool));
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
|
||||
case WM_COMMAND:
|
||||
if (lw == IDC_DISPLAY_POOL_CONTENTS)
|
||||
{
|
||||
showRandPool = IsButtonChecked (GetDlgItem (hwndDlg, IDC_DISPLAY_POOL_CONTENTS));
|
||||
return 1;
|
||||
}
|
||||
if (lw == IDCANCEL)
|
||||
{
|
||||
if (bVolTransformStarted)
|
||||
{
|
||||
if (MessageBoxW (hwndDlg, L"Warning: Volume expansion is in progress!\n\nStopping now may result in a damaged volume.\n\nDo you really want to cancel?", lpszTitle, YES_NO|MB_ICONQUESTION|MB_DEFBUTTON2) == IDNO)
|
||||
return 1;
|
||||
|
||||
// tell the volume transform thread to terminate
|
||||
bVolTransformThreadCancel = TRUE;
|
||||
}
|
||||
EndDialog (hwndDlg, lw);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (lw == IDOK)
|
||||
{
|
||||
if (bVolTransformStarted)
|
||||
{
|
||||
// TransformThreadFunction finished -> OK button is now exit
|
||||
EndDialog (hwndDlg, lw);
|
||||
}
|
||||
else
|
||||
{
|
||||
showRandPool = FALSE;
|
||||
KillTimer (hwndDlg, TIMER_ID_RANDVIEW);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDC_DISPLAY_POOL_CONTENTS), FALSE);
|
||||
EnableWindow (GetDlgItem (hwndDlg, IDOK), FALSE);
|
||||
SetProgressDlgStatus (hwndDlg, "Starting volume expansion ...\r\n");
|
||||
bVolTransformStarted = TRUE;
|
||||
pProgressDlgParam->hwndDlg = hwndDlg;
|
||||
if ( _beginthread (volTransformThreadFunction, 0, pProgressDlgParam) == -1L )
|
||||
{
|
||||
handleError (hwndDlg, ERR_OS_ERROR);
|
||||
EndDialog (hwndDlg, lw);
|
||||
}
|
||||
WaitCursor();
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
typedef struct
|
||||
{
|
||||
OpenVolumeContext *context;
|
||||
const char *volumePath;
|
||||
Password *password;
|
||||
int pkcs5_prf;
|
||||
BOOL truecryptMode;
|
||||
BOOL write;
|
||||
BOOL preserveTimestamps;
|
||||
BOOL useBackupHeader;
|
||||
int* nStatus;
|
||||
} OpenVolumeThreadParam;
|
||||
|
||||
void CALLBACK OpenVolumeWaitThreadProc(void* pArg, HWND hwndDlg)
|
||||
{
|
||||
OpenVolumeThreadParam* pThreadParam = (OpenVolumeThreadParam*) pArg;
|
||||
|
||||
*(pThreadParam)->nStatus = OpenVolume(pThreadParam->context, pThreadParam->volumePath, pThreadParam->password, pThreadParam->pkcs5_prf,
|
||||
pThreadParam->truecryptMode, pThreadParam->write, pThreadParam->preserveTimestamps, pThreadParam->useBackupHeader);
|
||||
}
|
||||
|
||||
/*
|
||||
ExpandVolumeWizard
|
||||
|
||||
Expands a trucrypt volume (wizard for user interface)
|
||||
|
||||
Parameters:
|
||||
|
||||
hwndDlg : HWND
|
||||
[in] handle to parent window (if any)
|
||||
|
||||
szVolume : char *
|
||||
[in] Pointer to a string with the volume name (e.g. '\Device\Harddisk0\Partition1' or 'C:\topsecret.tc')
|
||||
|
||||
Return value:
|
||||
|
||||
none
|
||||
|
||||
*/
|
||||
void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume)
|
||||
{
|
||||
int nStatus = ERR_OS_ERROR;
|
||||
wchar_t szTmp[4096];
|
||||
Password VolumePassword;
|
||||
int VolumePkcs5 = 0;
|
||||
uint64 hostSize, volSize, hostSizeFree, maxSizeFS;
|
||||
BOOL bIsDevice, bIsLegacy;
|
||||
DWORD dwError;
|
||||
int driveNo;
|
||||
enum EV_FileSystem volFSType;
|
||||
char rootPath[] = "A:\\";
|
||||
|
||||
switch (IsSystemDevicePath (lpszVolume, hwndDlg, TRUE))
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
MessageBoxW (hwndDlg, L"A VeraCrypt system volume can't be expanded.", lpszTitle, MB_OK|MB_ICONEXCLAMATION);
|
||||
goto ret;
|
||||
}
|
||||
|
||||
EnableElevatedCursorChange (hwndDlg);
|
||||
WaitCursor();
|
||||
|
||||
if (IsMountedVolume (lpszVolume))
|
||||
{
|
||||
Warning ("DISMOUNT_FIRST", hwndDlg);
|
||||
goto ret;
|
||||
}
|
||||
|
||||
if (Randinit() != ERR_SUCCESS) {
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
nStatus = ERR_RAND_INIT_FAILED;
|
||||
else
|
||||
nStatus = ERR_CAPI_INIT_FAILED;
|
||||
goto error;
|
||||
}
|
||||
|
||||
NormalCursor();
|
||||
|
||||
// Ask the user if there is a hidden volume
|
||||
char *volTypeChoices[] = {0, "DOES_VOLUME_CONTAIN_HIDDEN", "VOLUME_CONTAINS_HIDDEN", "VOLUME_DOES_NOT_CONTAIN_HIDDEN", "IDCANCEL", 0};
|
||||
switch (AskMultiChoice ((void **) volTypeChoices, FALSE, hwndDlg))
|
||||
{
|
||||
case 1:
|
||||
MessageBoxW (hwndDlg, L"An outer volume containing a hidden volume can't be expanded, because this destroys the hidden volume.", lpszTitle, MB_OK|MB_ICONEXCLAMATION);
|
||||
goto ret;
|
||||
|
||||
case 2:
|
||||
break;
|
||||
|
||||
default:
|
||||
nStatus = ERR_SUCCESS;
|
||||
goto ret;
|
||||
}
|
||||
|
||||
WaitCursor();
|
||||
|
||||
nStatus = QueryVolumeInfo(hwndDlg,lpszVolume,&hostSizeFree,&maxSizeFS);
|
||||
|
||||
if (nStatus!=ERR_SUCCESS)
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
NormalCursor();
|
||||
|
||||
while (TRUE)
|
||||
{
|
||||
OpenVolumeContext expandVol;
|
||||
BOOL truecryptMode = FALSE;
|
||||
|
||||
if (!VeraCryptExpander::ExtcvAskVolumePassword (hwndDlg, &VolumePassword, &VolumePkcs5, &truecryptMode, "ENTER_NORMAL_VOL_PASSWORD", FALSE))
|
||||
{
|
||||
goto ret;
|
||||
}
|
||||
|
||||
EnableElevatedCursorChange (hwndDlg);
|
||||
WaitCursor();
|
||||
|
||||
if (KeyFilesEnable && FirstKeyFile)
|
||||
KeyFilesApply (hwndDlg, &VolumePassword, FirstKeyFile);
|
||||
|
||||
WaitCursor ();
|
||||
|
||||
OpenVolumeThreadParam threadParam;
|
||||
threadParam.context = &expandVol;
|
||||
threadParam.volumePath = lpszVolume;
|
||||
threadParam.password = &VolumePassword;
|
||||
threadParam.pkcs5_prf = VolumePkcs5;
|
||||
threadParam.truecryptMode = FALSE;
|
||||
threadParam.write = FALSE;
|
||||
threadParam.preserveTimestamps = bPreserveTimestamp;
|
||||
threadParam.useBackupHeader = FALSE;
|
||||
threadParam.nStatus = &nStatus;
|
||||
|
||||
ShowWaitDialog (hwndDlg, TRUE, OpenVolumeWaitThreadProc, &threadParam);
|
||||
|
||||
NormalCursor ();
|
||||
|
||||
dwError = GetLastError();
|
||||
|
||||
if (nStatus == ERR_SUCCESS)
|
||||
{
|
||||
bIsDevice = expandVol.IsDevice;
|
||||
bIsLegacy = expandVol.CryptoInfo->LegacyVolume;
|
||||
hostSize = expandVol.HostSize;
|
||||
VolumePkcs5 = expandVol.CryptoInfo->pkcs5;
|
||||
if ( bIsLegacy )
|
||||
{
|
||||
if ( bIsDevice )
|
||||
volSize = 0; // updated later
|
||||
else
|
||||
volSize = hostSize;
|
||||
}
|
||||
else
|
||||
{
|
||||
volSize = GetVolumeSizeByDataAreaSize (expandVol.CryptoInfo->VolumeSize.Value, bIsLegacy);
|
||||
}
|
||||
CloseVolume (&expandVol);
|
||||
break;
|
||||
}
|
||||
else if (nStatus != ERR_PASSWORD_WRONG)
|
||||
{
|
||||
SetLastError (dwError);
|
||||
goto error;
|
||||
}
|
||||
|
||||
NormalCursor();
|
||||
|
||||
handleError (hwndDlg, nStatus);
|
||||
}
|
||||
|
||||
WaitCursor();
|
||||
|
||||
// auto mount the volume to check the file system type
|
||||
nStatus=MountVolTemp(hwndDlg, lpszVolume, &driveNo, &VolumePassword, VolumePkcs5);
|
||||
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
|
||||
rootPath[0] += driveNo;
|
||||
|
||||
if ( !GetFileSystemType(rootPath,&volFSType) )
|
||||
volFSType = EV_FS_TYPE_RAW;
|
||||
|
||||
if ( bIsLegacy && bIsDevice && volFSType == EV_FS_TYPE_NTFS )
|
||||
{
|
||||
uint64 NumberOfSectors;
|
||||
DWORD BytesPerSector;
|
||||
|
||||
if ( !GetNtfsNumberOfSectors(rootPath, &NumberOfSectors, &BytesPerSector) )
|
||||
nStatus = ERR_OS_ERROR;
|
||||
|
||||
// NTFS reported size does not include boot sector copy at volume end
|
||||
volSize = ( NumberOfSectors + 1 ) * BytesPerSector;
|
||||
}
|
||||
|
||||
UnmountVolume (hwndDlg, driveNo, TRUE);
|
||||
|
||||
NormalCursor();
|
||||
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
|
||||
if ( bIsDevice && bIsLegacy && volFSType != EV_FS_TYPE_NTFS )
|
||||
{
|
||||
MessageBoxW (hwndDlg,
|
||||
L"Expanding a device hosted legacy volume with no NTFS file system\n"
|
||||
L"is unsupported.\n"
|
||||
L"Note that expanding the VeraCrypt volume itself is not neccessary\n"
|
||||
L"for legacy volumes.\n",
|
||||
lpszTitle, MB_OK|MB_ICONEXCLAMATION);
|
||||
goto ret;
|
||||
}
|
||||
|
||||
// check if there is enough free space on host device/drive to expand the volume
|
||||
if ( (bIsDevice && hostSize < volSize + TC_MINVAL_FS_EXPAND) || (!bIsDevice && hostSizeFree < TC_MINVAL_FS_EXPAND) )
|
||||
{
|
||||
MessageBoxW (hwndDlg, L"Not enough free space to expand the volume", lpszTitle, MB_OK|MB_ICONEXCLAMATION);
|
||||
goto ret;
|
||||
}
|
||||
|
||||
if (!bIsDevice && hostSize != volSize ) {
|
||||
// there is some junk data at the end of the volume
|
||||
if (MessageBoxW (hwndDlg, L"Warning: The container file is larger than the VeraCrypt volume area. The data after the VeraCrypt volume area will be overwritten.\n\nDo you want to continue?", lpszTitle, YES_NO|MB_ICONQUESTION|MB_DEFBUTTON2) == IDNO)
|
||||
goto ret;
|
||||
}
|
||||
|
||||
switch (volFSType)
|
||||
{
|
||||
case EV_FS_TYPE_NTFS:
|
||||
break;
|
||||
case EV_FS_TYPE_FAT:
|
||||
if (MessageBoxW (hwndDlg,L"Warning: The VeraCrypt volume contains a FAT file system!\n\nOnly the VeraCrypt volume itself will be expanded, but not the file system.\n\nDo you want to continue?",
|
||||
lpszTitle, YES_NO|MB_ICONQUESTION|MB_DEFBUTTON2) == IDNO)
|
||||
goto ret;
|
||||
break;
|
||||
default:
|
||||
if (MessageBoxW (hwndDlg,L"Warning: The VeraCrypt volume contains an unknown or no file system!\n\nOnly the VeraCrypt volume itself will be expanded, the file system remains unchanged.\n\nDo you want to continue?",
|
||||
lpszTitle, YES_NO|MB_ICONQUESTION|MB_DEFBUTTON2) == IDNO)
|
||||
goto ret;
|
||||
}
|
||||
|
||||
EXPAND_VOL_THREAD_PARAMS VolExpandParam;
|
||||
|
||||
VolExpandParam.bInitFreeSpace = (bIsLegacy && bIsDevice) ? FALSE:TRUE;
|
||||
VolExpandParam.szVolumeName = lpszVolume;
|
||||
VolExpandParam.FileSystem = volFSType;
|
||||
VolExpandParam.pVolumePassword = &VolumePassword;
|
||||
VolExpandParam.VolumePkcs5 = VolumePkcs5;
|
||||
VolExpandParam.bIsDevice = bIsDevice;
|
||||
VolExpandParam.bIsLegacy = bIsLegacy;
|
||||
VolExpandParam.oldSize = bIsDevice ? volSize : hostSize;
|
||||
VolExpandParam.newSize = hostSize;
|
||||
VolExpandParam.hostSizeFree = hostSizeFree;
|
||||
|
||||
while (1)
|
||||
{
|
||||
uint64 newVolumeSize;
|
||||
|
||||
if (IDCANCEL == DialogBoxParamW (hInst,
|
||||
MAKEINTRESOURCEW (IDD_SIZE_DIALOG), hwndDlg,
|
||||
(DLGPROC) ExpandVolSizeDlgProc, (LPARAM) &VolExpandParam))
|
||||
{
|
||||
goto ret;
|
||||
}
|
||||
|
||||
newVolumeSize = VolExpandParam.newSize;
|
||||
|
||||
if ( !bIsDevice )
|
||||
{
|
||||
if ( newVolumeSize < hostSize + TC_MINVAL_FS_EXPAND)
|
||||
{
|
||||
StringCbPrintfW(szTmp,sizeof(szTmp),L"New volume size too small, must be at least %I64u kB larger than the current size.",TC_MINVAL_FS_EXPAND/BYTES_PER_KB);
|
||||
MessageBoxW (hwndDlg, szTmp, lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( newVolumeSize - hostSize > hostSizeFree )
|
||||
{
|
||||
StringCbPrintfW(szTmp,sizeof(szTmp),L"New volume size too large, not enough space on host drive.");
|
||||
MessageBoxW (hwndDlg, szTmp, lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
||||
continue;
|
||||
}
|
||||
|
||||
if ( newVolumeSize>maxSizeFS )
|
||||
{
|
||||
StringCbPrintfW(szTmp,sizeof(szTmp),L"Maximum file size of %I64u MB on host drive exceeded.",maxSizeFS/BYTES_PER_MB);
|
||||
MessageBoxW (hwndDlg, L"!\n",lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if ( newVolumeSize > TC_MAX_VOLUME_SIZE )
|
||||
{
|
||||
// note: current limit TC_MAX_VOLUME_SIZE is 1 PetaByte
|
||||
StringCbPrintfW(szTmp,sizeof(szTmp),L"Maximum VeraCrypt volume size of %I64u TB exceeded!\n",TC_MAX_VOLUME_SIZE/BYTES_PER_TB);
|
||||
MessageBoxW (hwndDlg, szTmp,lpszTitle, MB_OK | MB_ICONEXCLAMATION );
|
||||
if (bIsDevice)
|
||||
break; // TODO: ask to limit volume size to TC_MAX_VOLUME_SIZE
|
||||
continue;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
VolExpandParam.oldSize = volSize;
|
||||
|
||||
// start progress dialog
|
||||
DialogBoxParamW (hInst, MAKEINTRESOURCEW (IDD_EXPAND_PROGRESS_DLG), hwndDlg,
|
||||
(DLGPROC) ExpandVolProgressDlgProc, (LPARAM) &VolExpandParam );
|
||||
|
||||
ret:
|
||||
nStatus = ERR_SUCCESS;
|
||||
|
||||
error:
|
||||
|
||||
if (nStatus != 0)
|
||||
handleError (hwndDlg, nStatus);
|
||||
|
||||
burn (&VolumePassword, sizeof (VolumePassword));
|
||||
|
||||
RestoreDefaultKeyFilesParam();
|
||||
RandStop (FALSE);
|
||||
NormalCursor();
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,996 @@
|
||||
/*
|
||||
|
||||
Some portions of the source code contained in this file were derived from the
|
||||
source code of TrueCrypt 7.0a, which is governed by the TrueCrypt License 3.0
|
||||
that can be found in the file 'License.txt' in the folder 'TrueCrypt-License'.
|
||||
|
||||
Modifications and additions to the original source code (contained in this file)
|
||||
and all other portions of this file are Copyright (c) 2009-2010 by Kih-Oskh or
|
||||
Copyright (c) 2012-2013 Josef Schneider <josef@netpage.dk>
|
||||
|
||||
TrueCrypt source files used to derive some portions of the source code in this
|
||||
file are:
|
||||
|
||||
- 'Mount\Mount.c'
|
||||
- 'Common\Format.c'
|
||||
- 'Common\Password.c'
|
||||
- 'Format\Tcformat.c'
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Original legal notice of the TrueCrypt source files:
|
||||
|
||||
Legal Notice: Some portions of the source code contained in this file were
|
||||
derived from the source code of Encryption for the Masses 2.02a, which is
|
||||
Copyright (c) 1998-2000 Paul Le Roux and which is governed by the 'License
|
||||
Agreement for Encryption for the Masses'. Modifications and additions to
|
||||
the original source code (contained in this file) and all other portions
|
||||
of this file are Copyright (c) 2003-2009 TrueCrypt Developers Association
|
||||
and are governed by the TrueCrypt License 3.0 the full text of which is
|
||||
contained in the file License.txt included in TrueCrypt binary and source
|
||||
code distribution packages.
|
||||
|
||||
*/
|
||||
|
||||
#include "Tcdefs.h"
|
||||
|
||||
#include <time.h>
|
||||
#include <math.h>
|
||||
#include <dbt.h>
|
||||
#include <fcntl.h>
|
||||
#include <io.h>
|
||||
#include <sys/stat.h>
|
||||
#include <windowsx.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "Apidrvr.h"
|
||||
#include "Volumes.h"
|
||||
#include "Crypto.h"
|
||||
#include "Dlgcode.h"
|
||||
#include "Language.h"
|
||||
#include "Pkcs5.h"
|
||||
#include "Random.h"
|
||||
#include "Progress.h"
|
||||
|
||||
#include "InitDataArea.h"
|
||||
#include "ExpandVolume.h"
|
||||
#include "Resource.h"
|
||||
|
||||
#define DEBUG_EXPAND_VOLUME
|
||||
|
||||
#ifdef DEBUG_EXPAND_VOLUME
|
||||
#define DebugAddProgressDlgStatus AddProgressDlgStatus
|
||||
#else
|
||||
#define DebugAddProgressDlgStatus(a,b)
|
||||
#endif
|
||||
|
||||
|
||||
HWND hCurPage; /* Handle to window with progress bar (used by FormatNoFs)*/
|
||||
int nPbar; /* Control ID of progress bar (used by FormatNoFs) */
|
||||
volatile BOOL bVolTransformThreadCancel = FALSE; /* TRUE if the user cancels/pauses volume expansion */
|
||||
|
||||
// internal functions
|
||||
static int UpdateVolumeHeaderHostSize (char *lpszVolume, Password *pVolumePassword, HWND hwndDlg, uint64 newHostSize, uint64 *pDataSize, BOOL initFreeSpace);
|
||||
static int FsctlExtendVolume(char * szVolume, LONGLONG nTotalSectors );
|
||||
|
||||
|
||||
/*
|
||||
MountVolTemp
|
||||
|
||||
Mounts a trucrypt volume temporarily (using any free drive number)
|
||||
|
||||
Parameters:
|
||||
|
||||
hwndDlg : HWND
|
||||
[in] handle to parent window
|
||||
|
||||
volumePath : char *
|
||||
[in] Pointer to a string that contains the volume path
|
||||
|
||||
driveNo : int *
|
||||
[out] returns the drive number (0='A',...)
|
||||
|
||||
password : Password *
|
||||
[in] Pointer to the volume password
|
||||
|
||||
Return value:
|
||||
|
||||
int with Truecrypt error code (ERR_SUCCESS on success)
|
||||
|
||||
*/
|
||||
int MountVolTemp (HWND hwndDlg, char *volumePath, int *driveNo, Password *password, int pkcs5)
|
||||
{
|
||||
MountOptions mountOptions;
|
||||
ZeroMemory (&mountOptions, sizeof (mountOptions));
|
||||
|
||||
*driveNo = GetLastAvailableDrive ();
|
||||
|
||||
if (*driveNo == -1)
|
||||
{
|
||||
*driveNo = -2;
|
||||
return ERR_NO_FREE_DRIVES;
|
||||
}
|
||||
|
||||
mountOptions.ReadOnly = FALSE;
|
||||
mountOptions.Removable = ConfigReadInt ("MountVolumesRemovable", FALSE);
|
||||
mountOptions.ProtectHiddenVolume = FALSE;
|
||||
mountOptions.PreserveTimestamp = bPreserveTimestamp;
|
||||
mountOptions.PartitionInInactiveSysEncScope = FALSE;
|
||||
mountOptions.UseBackupHeader = FALSE;
|
||||
|
||||
if (MountVolume (hwndDlg, *driveNo, volumePath, password, pkcs5, FALSE, FALSE, TRUE, &mountOptions, FALSE, FALSE) < 1)
|
||||
{
|
||||
*driveNo = -3;
|
||||
return ERR_VOL_MOUNT_FAILED;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
FsctlExtendVolume
|
||||
|
||||
Expands a volume by sending the FSCTL_EXTEND_VOLUME ioctl command to the volume
|
||||
|
||||
Parameters:
|
||||
|
||||
szVolume : char *
|
||||
[in] Pointer to a string that contains the volume GUID
|
||||
|
||||
nTotalSectors : LONGLONG
|
||||
[in] specifies the total size of the volume, in sectors
|
||||
|
||||
Return value:
|
||||
|
||||
int with Truecrypt error code (ERR_SUCCESS on success)
|
||||
|
||||
Remarks: only supported by NTFS and RAW file systems
|
||||
|
||||
*/
|
||||
static int FsctlExtendVolume(char * szVolume, LONGLONG nTotalSectors )
|
||||
{
|
||||
HANDLE hDevice; // handle to the volume to be extended
|
||||
BOOL bResult; // results flag
|
||||
DWORD nbytes; // discard results
|
||||
DWORD dwError;
|
||||
int nStatus = ERR_OS_ERROR;
|
||||
|
||||
hDevice = CreateFile(szVolume,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ |
|
||||
FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
|
||||
if (hDevice == INVALID_HANDLE_VALUE)
|
||||
goto error;
|
||||
|
||||
bResult = DeviceIoControl(hDevice,
|
||||
FSCTL_EXTEND_VOLUME,
|
||||
&nTotalSectors, sizeof(nTotalSectors),
|
||||
NULL, 0,
|
||||
&nbytes,
|
||||
(LPOVERLAPPED) NULL);
|
||||
|
||||
if (bResult)
|
||||
nStatus = ERR_SUCCESS;
|
||||
|
||||
error:
|
||||
|
||||
dwError = GetLastError ();
|
||||
|
||||
if (hDevice != INVALID_HANDLE_VALUE)
|
||||
CloseHandle (hDevice);
|
||||
|
||||
SetLastError (dwError);
|
||||
|
||||
return nStatus;
|
||||
}
|
||||
|
||||
|
||||
BOOL GetFileSystemType(const char *szFileName, enum EV_FileSystem *pFS)
|
||||
{
|
||||
char szFS[256];
|
||||
char root[MAX_PATH];
|
||||
|
||||
*pFS = EV_FS_TYPE_RAW;
|
||||
|
||||
if (!GetVolumePathName (szFileName, root, sizeof (root)))
|
||||
return FALSE;
|
||||
|
||||
if ( GetVolumeInformation (root, NULL, 0, NULL, NULL, NULL, szFS, sizeof(szFS)) )
|
||||
{
|
||||
if (!strncmp (szFS, "NTFS", 4))
|
||||
*pFS = EV_FS_TYPE_NTFS;
|
||||
else if (!strncmp (szFS, "FAT", 3)) // FAT16, FAT32
|
||||
*pFS = EV_FS_TYPE_FAT;
|
||||
else
|
||||
*pFS = EV_FS_TYPE_RAW;
|
||||
}
|
||||
else
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
QueryVolumeInfo
|
||||
|
||||
Retrieves the free disk space and file size limit on the truecrypt volume host
|
||||
|
||||
Parameters:
|
||||
|
||||
hwndDlg : HWND
|
||||
[in] handle to parent window
|
||||
|
||||
lpszVolume : char *
|
||||
[in] Pointer to a string that contains the volume path
|
||||
|
||||
pHostSizeFree : uint64 *
|
||||
[out] returns the free space available on the host (always zero for devices)
|
||||
|
||||
pSizeLimitFS : uint64 *
|
||||
[out] returns the file size limit of the host file system
|
||||
|
||||
Return value:
|
||||
|
||||
int with TrueCrypt error code (ERR_SUCCESS on success)
|
||||
|
||||
*/
|
||||
int QueryVolumeInfo (HWND hwndDlg, const char *lpszVolume, uint64 * pHostSizeFree, uint64 * pSizeLimitFS )
|
||||
{
|
||||
int nStatus = ERR_OS_ERROR;
|
||||
char szDiskFile[TC_MAX_PATH], root[MAX_PATH];
|
||||
BOOL bDevice;
|
||||
enum EV_FileSystem fs;
|
||||
|
||||
*pSizeLimitFS = (uint64)-1;
|
||||
|
||||
CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), lpszVolume, &bDevice);
|
||||
|
||||
if (bDevice)
|
||||
{
|
||||
*pHostSizeFree=0;
|
||||
return ERR_SUCCESS;
|
||||
}
|
||||
|
||||
if (!GetVolumePathName (szDiskFile, root, sizeof (root)))
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if( ! GetDiskFreeSpaceEx (root,(PULARGE_INTEGER)pHostSizeFree,NULL,NULL) )
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ( ! GetFileSystemType(root,&fs) )
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* file size limits
|
||||
FAT16 / FAT32 : 4 GB minus 1 byte (2^32 bytes minus 1 byte)
|
||||
NTFS : Architecturally : 16 exabytes minus 1 KB (26^4 bytes minus 1 KB)
|
||||
Implementation (Windows Server 2008): 16 terabytes minus 64 KB (2^44 bytes minus 64 KB)
|
||||
*/
|
||||
switch (fs)
|
||||
{
|
||||
case EV_FS_TYPE_NTFS:
|
||||
*pSizeLimitFS = 16 * BYTES_PER_TB - 64 * BYTES_PER_KB;
|
||||
break;
|
||||
case EV_FS_TYPE_FAT:
|
||||
*pSizeLimitFS = 4 * BYTES_PER_GB - 1;
|
||||
break;
|
||||
default:
|
||||
*pSizeLimitFS = (uint64)-1;
|
||||
}
|
||||
|
||||
nStatus = ERR_SUCCESS;
|
||||
|
||||
error:
|
||||
|
||||
return nStatus;
|
||||
}
|
||||
|
||||
BOOL GetNtfsNumberOfSectors(char * rootPath, uint64 * pNumberOfSectors, DWORD *pBytesPerSector)
|
||||
{
|
||||
HANDLE hDevice;
|
||||
BOOL bResult;
|
||||
DWORD nbytes, dwError;
|
||||
size_t len;
|
||||
NTFS_VOLUME_DATA_BUFFER ntfsvdb;
|
||||
char szVolumeGUID[128];
|
||||
|
||||
// get volume name
|
||||
if (!GetVolumeNameForVolumeMountPoint(rootPath,szVolumeGUID,sizeof(szVolumeGUID)))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// strip trailing backslash from volume GUID (otherwise it means root dir)
|
||||
len = strlen(szVolumeGUID);
|
||||
if (len>0)
|
||||
--len;
|
||||
if (szVolumeGUID[len]=='\\')
|
||||
szVolumeGUID[len]=0;
|
||||
|
||||
hDevice = CreateFile(szVolumeGUID,
|
||||
GENERIC_READ,
|
||||
FILE_SHARE_READ | FILE_SHARE_WRITE,
|
||||
NULL,
|
||||
OPEN_EXISTING,
|
||||
FILE_ATTRIBUTE_NORMAL,
|
||||
NULL);
|
||||
|
||||
if (hDevice == INVALID_HANDLE_VALUE)
|
||||
return (FALSE);
|
||||
|
||||
bResult = DeviceIoControl(hDevice,
|
||||
FSCTL_GET_NTFS_VOLUME_DATA,
|
||||
NULL, 0,
|
||||
&ntfsvdb, sizeof(ntfsvdb),
|
||||
&nbytes,
|
||||
(LPOVERLAPPED) NULL);
|
||||
|
||||
if (bResult)
|
||||
{
|
||||
if (pNumberOfSectors)
|
||||
*pNumberOfSectors = ntfsvdb.NumberSectors.QuadPart;
|
||||
if (pBytesPerSector)
|
||||
*pBytesPerSector = ntfsvdb.BytesPerSector;
|
||||
}
|
||||
|
||||
dwError = GetLastError ();
|
||||
CloseHandle(hDevice);
|
||||
SetLastError (dwError);
|
||||
|
||||
return (bResult);
|
||||
}
|
||||
|
||||
|
||||
uint64 GetVolumeDataAreaSize (uint64 volumeSize, BOOL legacyVolume)
|
||||
{
|
||||
uint64 reservedSize;
|
||||
|
||||
if (legacyVolume)
|
||||
reservedSize = TC_VOLUME_HEADER_SIZE_LEGACY;
|
||||
else
|
||||
reservedSize = TC_TOTAL_VOLUME_HEADERS_SIZE;
|
||||
|
||||
if (volumeSize < reservedSize)
|
||||
return 0;
|
||||
|
||||
return volumeSize - reservedSize;
|
||||
}
|
||||
|
||||
|
||||
uint64 GetVolumeSizeByDataAreaSize (uint64 dataAreaSize, BOOL legacyVolume)
|
||||
{
|
||||
uint64 reservedSize;
|
||||
|
||||
if (legacyVolume)
|
||||
reservedSize = TC_VOLUME_HEADER_SIZE_LEGACY;
|
||||
else
|
||||
reservedSize = TC_TOTAL_VOLUME_HEADERS_SIZE;
|
||||
|
||||
return dataAreaSize + reservedSize;
|
||||
}
|
||||
|
||||
|
||||
int ExtendFileSystem (HWND hwndDlg , char *lpszVolume, Password *pVolumePassword, int VolumePkcs5, uint64 newDataAreaSize)
|
||||
{
|
||||
char szVolumeGUID[128];
|
||||
int driveNo = -1;
|
||||
char rootPath[] = "A:\\";
|
||||
enum EV_FileSystem fs;
|
||||
DWORD dwError;
|
||||
int nStatus = ERR_SUCCESS;
|
||||
DWORD BytesPerSector;
|
||||
|
||||
// mount and resize file system
|
||||
|
||||
DebugAddProgressDlgStatus (hwndDlg, "Mounting volume ...\r\n");
|
||||
|
||||
nStatus=MountVolTemp(hwndDlg, lpszVolume, &driveNo, pVolumePassword, VolumePkcs5);
|
||||
if (nStatus!=ERR_SUCCESS)
|
||||
{
|
||||
driveNo = -1;
|
||||
goto error;
|
||||
}
|
||||
|
||||
rootPath[0] += driveNo;
|
||||
|
||||
if ( !GetFileSystemType(rootPath,&fs) )
|
||||
{
|
||||
dwError = GetLastError();
|
||||
if (dwError == ERROR_UNRECOGNIZED_VOLUME)
|
||||
{
|
||||
// raw volume with unrecognized file system -> return with no error
|
||||
nStatus = ERR_SUCCESS;
|
||||
goto error;
|
||||
}
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (fs != EV_FS_TYPE_RAW && fs != EV_FS_TYPE_NTFS )
|
||||
{
|
||||
// FsctlExtendVolume only supports NTFS and RAW -> return with no error
|
||||
nStatus = ERR_SUCCESS;
|
||||
goto error;
|
||||
}
|
||||
|
||||
// Get volume GUID
|
||||
if (!GetVolumeNameForVolumeMountPoint(rootPath,szVolumeGUID,sizeof(szVolumeGUID)))
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// strip trailing backslash from volume GUID (otherwise it means root dir)
|
||||
size_t len = strlen(szVolumeGUID);
|
||||
if (len>0) --len;
|
||||
if (szVolumeGUID[len]=='\\') szVolumeGUID[len]=0;
|
||||
}
|
||||
|
||||
// Get Sector Size
|
||||
if ( !GetNtfsNumberOfSectors(rootPath, NULL, &BytesPerSector) )
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
DebugAddProgressDlgStatus (hwndDlg, "Extending file system ...\r\n");
|
||||
|
||||
// extend volume
|
||||
nStatus = FsctlExtendVolume(szVolumeGUID, newDataAreaSize/BytesPerSector );
|
||||
|
||||
error:
|
||||
|
||||
dwError = GetLastError();
|
||||
|
||||
if (driveNo>=0)
|
||||
{
|
||||
DebugAddProgressDlgStatus (hwndDlg, "Unmounting volume ...\r\n");
|
||||
UnmountVolume (hwndDlg, driveNo, TRUE);
|
||||
}
|
||||
|
||||
SetLastError (dwError);
|
||||
|
||||
return nStatus;
|
||||
}
|
||||
|
||||
/*
|
||||
ExpandVolume
|
||||
|
||||
Sets the volume size in the volume header (and backup header) to a larger value,
|
||||
and resizes the filesystem within the volume (only NTFS supported)
|
||||
|
||||
Parameters:
|
||||
|
||||
hwndDlg : HWND
|
||||
[in] handle to progress dialog
|
||||
|
||||
lpszVolume : char *
|
||||
[in] Pointer to a string that contains the path to the truecrypt volume
|
||||
|
||||
pVolumePassword : Password *
|
||||
[in] Pointer to the volume password
|
||||
|
||||
newHostSize : uint64
|
||||
[in] new value of the volume host size (can be zero for devices,
|
||||
which means the volume should use all space of the host device)
|
||||
|
||||
initFreeSpace : BOOL
|
||||
[in] if true, the new volume space will be initalized with random data
|
||||
|
||||
Return value:
|
||||
|
||||
int with Truecrypt error code (ERR_SUCCESS on success)
|
||||
|
||||
Remarks: a lot of code is from TrueCrypt 'Common\Password.c' :: ChangePwd()
|
||||
|
||||
*/
|
||||
static int ExpandVolume (HWND hwndDlg, char *lpszVolume, Password *pVolumePassword, int VolumePkcs5, uint64 newHostSize, BOOL initFreeSpace)
|
||||
{
|
||||
int nDosLinkCreated = 1, nStatus = ERR_OS_ERROR;
|
||||
char szDiskFile[TC_MAX_PATH], szCFDevice[TC_MAX_PATH];
|
||||
char szDosDevice[TC_MAX_PATH];
|
||||
char buffer[TC_VOLUME_HEADER_EFFECTIVE_SIZE];
|
||||
PCRYPTO_INFO cryptoInfo = NULL, ci = NULL;
|
||||
void *dev = INVALID_HANDLE_VALUE;
|
||||
DWORD dwError;
|
||||
BOOL bDevice;
|
||||
uint64 hostSize=0, newDataAreaSize, currentVolSize;
|
||||
DWORD HostSectorSize;
|
||||
FILETIME ftCreationTime;
|
||||
FILETIME ftLastWriteTime;
|
||||
FILETIME ftLastAccessTime;
|
||||
BOOL bTimeStampValid = FALSE;
|
||||
LARGE_INTEGER headerOffset;
|
||||
BOOL backupHeader;
|
||||
byte *wipeBuffer = NULL;
|
||||
uint32 workChunkSize = TC_VOLUME_HEADER_GROUP_SIZE;
|
||||
|
||||
if (pVolumePassword->Length == 0) return -1;
|
||||
|
||||
WaitCursor ();
|
||||
|
||||
CreateFullVolumePath (szDiskFile, sizeof(szDiskFile), lpszVolume, &bDevice);
|
||||
|
||||
if (bDevice == FALSE)
|
||||
{
|
||||
strcpy (szCFDevice, szDiskFile);
|
||||
}
|
||||
else
|
||||
{
|
||||
nDosLinkCreated = FakeDosNameForDevice (szDiskFile, szDosDevice, sizeof(szDosDevice), szCFDevice, sizeof(szCFDevice), FALSE);
|
||||
|
||||
if (nDosLinkCreated != 0) // note: nStatus == ERR_OS_ERROR
|
||||
goto error;
|
||||
}
|
||||
|
||||
dev = CreateFile (szCFDevice, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL);
|
||||
|
||||
if (dev == INVALID_HANDLE_VALUE)
|
||||
goto error;
|
||||
|
||||
if (bDevice)
|
||||
{
|
||||
/* This is necessary to determine the hidden volume header offset */
|
||||
|
||||
if (dev == INVALID_HANDLE_VALUE)
|
||||
{
|
||||
goto error;
|
||||
}
|
||||
else
|
||||
{
|
||||
PARTITION_INFORMATION diskInfo;
|
||||
DWORD dwResult;
|
||||
BOOL bResult;
|
||||
|
||||
bResult = GetPartitionInfo (lpszVolume, &diskInfo);
|
||||
|
||||
if (bResult)
|
||||
{
|
||||
hostSize = diskInfo.PartitionLength.QuadPart;
|
||||
HostSectorSize = TC_SECTOR_SIZE_FILE_HOSTED_VOLUME; //TO DO: get the real host disk sector size
|
||||
}
|
||||
else
|
||||
{
|
||||
DISK_GEOMETRY driveInfo;
|
||||
|
||||
bResult = DeviceIoControl (dev, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0,
|
||||
&driveInfo, sizeof (driveInfo), &dwResult, NULL);
|
||||
|
||||
if (!bResult)
|
||||
goto error;
|
||||
|
||||
hostSize = driveInfo.Cylinders.QuadPart * driveInfo.BytesPerSector *
|
||||
driveInfo.SectorsPerTrack * driveInfo.TracksPerCylinder;
|
||||
|
||||
HostSectorSize = driveInfo.BytesPerSector;
|
||||
}
|
||||
|
||||
if (hostSize == 0)
|
||||
{
|
||||
nStatus = ERR_VOL_SIZE_WRONG;
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
LARGE_INTEGER fileSize;
|
||||
if (!GetFileSizeEx (dev, &fileSize))
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
hostSize = fileSize.QuadPart;
|
||||
HostSectorSize = TC_SECTOR_SIZE_FILE_HOSTED_VOLUME; //TO DO: get the real host disk sector size
|
||||
}
|
||||
|
||||
if (Randinit ())
|
||||
{
|
||||
if (CryptoAPILastError == ERROR_SUCCESS)
|
||||
nStatus = ERR_RAND_INIT_FAILED;
|
||||
else
|
||||
nStatus = ERR_CAPI_INIT_FAILED;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!bDevice && bPreserveTimestamp)
|
||||
{
|
||||
/* Remember the container modification/creation date and time, (used to reset file date and time of
|
||||
file-hosted volumes after password change (or attempt to), in order to preserve plausible deniability
|
||||
of hidden volumes (last password change time is stored in the volume header). */
|
||||
|
||||
if (GetFileTime ((HANDLE) dev, &ftCreationTime, &ftLastAccessTime, &ftLastWriteTime) == 0)
|
||||
{
|
||||
bTimeStampValid = FALSE;
|
||||
MessageBoxW (hwndDlg, GetString ("GETFILETIME_FAILED_PW"), lpszTitle, MB_OK | MB_ICONEXCLAMATION);
|
||||
}
|
||||
else
|
||||
bTimeStampValid = TRUE;
|
||||
}
|
||||
|
||||
// Seek the volume header
|
||||
headerOffset.QuadPart = TC_VOLUME_HEADER_OFFSET;
|
||||
|
||||
if (!SetFilePointerEx ((HANDLE) dev, headerOffset, NULL, FILE_BEGIN))
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* Read in volume header */
|
||||
nStatus = _lread ((HFILE) dev, buffer, sizeof (buffer));
|
||||
if (nStatus != sizeof (buffer))
|
||||
{
|
||||
// Windows may report EOF when reading sectors from the last cluster of a device formatted as NTFS
|
||||
memset (buffer, 0, sizeof (buffer));
|
||||
}
|
||||
|
||||
/* Try to decrypt the header */
|
||||
|
||||
nStatus = ReadVolumeHeader (FALSE, buffer, pVolumePassword, VolumePkcs5, FALSE, &cryptoInfo, NULL);
|
||||
if (nStatus == ERR_CIPHER_INIT_WEAK_KEY)
|
||||
nStatus = 0; // We can ignore this error here
|
||||
|
||||
if (nStatus != 0)
|
||||
{
|
||||
cryptoInfo = NULL;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (cryptoInfo->HeaderFlags & TC_HEADER_FLAG_ENCRYPTED_SYSTEM)
|
||||
{
|
||||
nStatus = ERR_SYS_HIDVOL_HEAD_REENC_MODE_WRONG;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (bDevice && newHostSize == 0)
|
||||
{
|
||||
// this means we shall take all host space as new volume size
|
||||
newHostSize = hostSize;
|
||||
}
|
||||
|
||||
if ( newHostSize % cryptoInfo->SectorSize != 0 || newHostSize > TC_MAX_VOLUME_SIZE || (bDevice && newHostSize > hostSize) )
|
||||
{
|
||||
// 1. must be multiple of sector size
|
||||
// 2. truecrypt volume size limit
|
||||
// 3. for devices volume size can't be larger than host size
|
||||
cryptoInfo = NULL;
|
||||
nStatus = ERR_PARAMETER_INCORRECT;
|
||||
goto error;
|
||||
}
|
||||
|
||||
newDataAreaSize = GetVolumeDataAreaSize (newHostSize, cryptoInfo->LegacyVolume);
|
||||
|
||||
if (cryptoInfo->LegacyVolume)
|
||||
{
|
||||
if (bDevice)
|
||||
{
|
||||
if (initFreeSpace)
|
||||
{
|
||||
// unsupported
|
||||
cryptoInfo = NULL;
|
||||
nStatus = ERR_PARAMETER_INCORRECT;
|
||||
goto error;
|
||||
}
|
||||
else
|
||||
{
|
||||
// note: dummy value (only used for parameter checks)
|
||||
cryptoInfo->VolumeSize.Value = newDataAreaSize - TC_MINVAL_FS_EXPAND;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
cryptoInfo->VolumeSize.Value = GetVolumeDataAreaSize (hostSize, TRUE);
|
||||
}
|
||||
}
|
||||
|
||||
currentVolSize = GetVolumeSizeByDataAreaSize (cryptoInfo->VolumeSize.Value, cryptoInfo->LegacyVolume);
|
||||
|
||||
if ( newDataAreaSize < cryptoInfo->VolumeSize.Value + TC_MINVAL_FS_EXPAND )
|
||||
{
|
||||
// shrinking a volume or enlarging by less then TC_MINVAL_FS_EXPAND is not allowed
|
||||
cryptoInfo = NULL;
|
||||
nStatus = ERR_PARAMETER_INCORRECT;
|
||||
goto error;
|
||||
}
|
||||
|
||||
InitProgressBar ( newHostSize, currentVolSize, FALSE, FALSE, FALSE, TRUE);
|
||||
|
||||
if (bVolTransformThreadCancel)
|
||||
{
|
||||
SetLastError(0);
|
||||
nStatus = ERR_USER_ABORT;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if (!bDevice) {
|
||||
LARGE_INTEGER liNewSize;
|
||||
|
||||
liNewSize.QuadPart=(LONGLONG)newHostSize;
|
||||
|
||||
// Preallocate the file
|
||||
if (!SetFilePointerEx (dev, liNewSize, NULL, FILE_BEGIN)
|
||||
|| !SetEndOfFile (dev)
|
||||
|| SetFilePointer (dev, 0, NULL, FILE_BEGIN) != 0)
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
}
|
||||
|
||||
if (initFreeSpace)
|
||||
{
|
||||
uint64 startSector;
|
||||
int64 num_sectors;
|
||||
|
||||
// fill new space with random data
|
||||
startSector = currentVolSize/HostSectorSize ;
|
||||
num_sectors = (newHostSize/HostSectorSize) - startSector;
|
||||
|
||||
if (bDevice && !StartFormatWriteThread())
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Writing random data to new space ...\r\n");
|
||||
|
||||
SetFormatSectorSize(HostSectorSize);
|
||||
nStatus = FormatNoFs (hwndDlg, startSector, num_sectors, dev, cryptoInfo, FALSE);
|
||||
|
||||
dwError = GetLastError();
|
||||
StopFormatWriteThread();
|
||||
SetLastError (dwError);
|
||||
}
|
||||
else
|
||||
{
|
||||
UpdateProgressBar(newHostSize);
|
||||
}
|
||||
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
{
|
||||
dwError = GetLastError();
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Error: failed to write random data ...\r\n");
|
||||
if ( !bDevice ) {
|
||||
// restore original size of the container file
|
||||
LARGE_INTEGER liOldSize;
|
||||
liOldSize.QuadPart=(LONGLONG)hostSize;
|
||||
if (!SetFilePointerEx (dev, liOldSize, NULL, FILE_BEGIN) || !SetEndOfFile (dev))
|
||||
{
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Warning: failed to restore original size of the container file\r\n");
|
||||
}
|
||||
}
|
||||
SetLastError (dwError);
|
||||
goto error;
|
||||
}
|
||||
|
||||
RandSetHashFunction (cryptoInfo->pkcs5);
|
||||
|
||||
// Re-encrypt the volume header forn non-legacy volumes: backup header first
|
||||
backupHeader = TRUE;
|
||||
headerOffset.QuadPart = TC_VOLUME_HEADER_OFFSET + newHostSize - TC_VOLUME_HEADER_GROUP_SIZE;
|
||||
|
||||
/* note: updating the header is not neccessary for legay volumes */
|
||||
while ( !cryptoInfo->LegacyVolume )
|
||||
{
|
||||
if (backupHeader)
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Writing re-encrypted backup header ...\r\n");
|
||||
else
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Writing re-encrypted primary header ...\r\n");
|
||||
|
||||
// Prepare new volume header
|
||||
nStatus = CreateVolumeHeaderInMemory (hwndDlg, FALSE,
|
||||
buffer,
|
||||
cryptoInfo->ea,
|
||||
cryptoInfo->mode,
|
||||
pVolumePassword,
|
||||
cryptoInfo->pkcs5,
|
||||
(char*)(cryptoInfo->master_keydata),
|
||||
&ci,
|
||||
newDataAreaSize,
|
||||
0, // hiddenVolumeSize
|
||||
cryptoInfo->EncryptedAreaStart.Value,
|
||||
newDataAreaSize,
|
||||
cryptoInfo->RequiredProgramVersion,
|
||||
cryptoInfo->HeaderFlags,
|
||||
cryptoInfo->SectorSize,
|
||||
TRUE ); // use slow poll
|
||||
|
||||
if (ci != NULL)
|
||||
crypto_close (ci);
|
||||
|
||||
if (nStatus != 0)
|
||||
goto error;
|
||||
|
||||
if (!SetFilePointerEx ((HANDLE) dev, headerOffset, NULL, FILE_BEGIN))
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
nStatus = _lwrite ((HFILE) dev, buffer, TC_VOLUME_HEADER_EFFECTIVE_SIZE);
|
||||
if (nStatus != TC_VOLUME_HEADER_EFFECTIVE_SIZE)
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
if ( ( backupHeader && !initFreeSpace )
|
||||
|| ( bDevice
|
||||
&& !cryptoInfo->LegacyVolume
|
||||
&& !cryptoInfo->hiddenVolume
|
||||
&& cryptoInfo->HeaderVersion == 4 // BUG in TrueCrypt: doing this only for v4 make no sense
|
||||
&& (cryptoInfo->HeaderFlags & TC_HEADER_FLAG_NONSYS_INPLACE_ENC) != 0
|
||||
&& (cryptoInfo->HeaderFlags & ~TC_HEADER_FLAG_NONSYS_INPLACE_ENC) == 0 )
|
||||
)
|
||||
{
|
||||
//DebugAddProgressDlgStatus(hwndDlg, "WriteRandomDataToReservedHeaderAreas() ...\r\n");
|
||||
nStatus = WriteRandomDataToReservedHeaderAreas (hwndDlg, dev, cryptoInfo, newDataAreaSize, !backupHeader, backupHeader);
|
||||
if (nStatus != ERR_SUCCESS)
|
||||
goto error;
|
||||
}
|
||||
|
||||
FlushFileBuffers (dev);
|
||||
|
||||
if (!backupHeader)
|
||||
break;
|
||||
|
||||
backupHeader = FALSE;
|
||||
headerOffset.QuadPart = TC_VOLUME_HEADER_OFFSET; // offset for main header
|
||||
}
|
||||
|
||||
/* header successfully updated */
|
||||
nStatus = ERR_SUCCESS;
|
||||
|
||||
if (bVolTransformThreadCancel)
|
||||
{
|
||||
nStatus = ERR_USER_ABORT;
|
||||
goto error;
|
||||
}
|
||||
|
||||
/* wipe old backup header */
|
||||
if ( !cryptoInfo->LegacyVolume )
|
||||
{
|
||||
byte wipeRandChars [TC_WIPE_RAND_CHAR_COUNT];
|
||||
byte wipeRandCharsUpdate [TC_WIPE_RAND_CHAR_COUNT];
|
||||
byte wipePass;
|
||||
UINT64_STRUCT unitNo;
|
||||
LARGE_INTEGER offset;
|
||||
WipeAlgorithmId wipeAlgorithm = TC_WIPE_35_GUTMANN;
|
||||
|
||||
if ( !RandgetBytes (hwndDlg, wipeRandChars, TC_WIPE_RAND_CHAR_COUNT, TRUE)
|
||||
|| !RandgetBytes (hwndDlg, wipeRandCharsUpdate, TC_WIPE_RAND_CHAR_COUNT, TRUE)
|
||||
)
|
||||
{
|
||||
nStatus = ERR_OS_ERROR;
|
||||
goto error;
|
||||
}
|
||||
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Wiping old backup header ...\r\n");
|
||||
|
||||
wipeBuffer = (byte *) TCalloc (workChunkSize);
|
||||
if (!wipeBuffer)
|
||||
{
|
||||
nStatus = ERR_OUTOFMEMORY;
|
||||
goto error;
|
||||
}
|
||||
|
||||
offset.QuadPart = currentVolSize - TC_VOLUME_HEADER_GROUP_SIZE;
|
||||
unitNo.Value = offset.QuadPart;
|
||||
|
||||
for (wipePass = 1; wipePass <= GetWipePassCount (wipeAlgorithm); ++wipePass)
|
||||
{
|
||||
if (!WipeBuffer (wipeAlgorithm, wipeRandChars, wipePass, wipeBuffer, workChunkSize))
|
||||
{
|
||||
ULONG i;
|
||||
for (i = 0; i < workChunkSize; ++i)
|
||||
{
|
||||
wipeBuffer[i] = wipePass;
|
||||
}
|
||||
|
||||
EncryptDataUnits (wipeBuffer, &unitNo, workChunkSize / ENCRYPTION_DATA_UNIT_SIZE, cryptoInfo);
|
||||
memcpy (wipeRandCharsUpdate, wipeBuffer, sizeof (wipeRandCharsUpdate));
|
||||
}
|
||||
|
||||
if ( !SetFilePointerEx (dev, offset, NULL, FILE_BEGIN)
|
||||
|| _lwrite ((HFILE)dev, (LPCSTR)wipeBuffer, workChunkSize) == HFILE_ERROR
|
||||
)
|
||||
{
|
||||
// Write error
|
||||
DebugAddProgressDlgStatus(hwndDlg, "Warning: Failed to wipe old backup header\r\n");
|
||||
MessageBoxW (hwndDlg, L"WARNING: Failed to wipe old backup header!\n\nIt may be possible to use the current volume password to decrypt the old backup header even after a future password change.\n", lpszTitle, MB_OK | MB_ICONEXCLAMATION);
|
||||
if (wipePass == 1)
|
||||
continue; // retry once
|
||||
// non-critical error - it's better to continue
|
||||
nStatus = ERR_SUCCESS;
|
||||
goto error;
|
||||
}
|
||||
FlushFileBuffers(dev);
|
||||
// we don't check FlushFileBuffers() return code, because it fails for devices
|
||||
// (same implementation in password.c - a bug or not ???)
|
||||
}
|
||||
|
||||
burn (wipeRandChars, TC_WIPE_RAND_CHAR_COUNT);
|
||||
burn (wipeRandCharsUpdate, TC_WIPE_RAND_CHAR_COUNT);
|
||||
}
|
||||
|
||||
error:
|
||||
dwError = GetLastError ();
|
||||
|
||||
if (wipeBuffer)
|
||||
{
|
||||
burn (wipeBuffer, workChunkSize);
|
||||
TCfree (wipeBuffer);
|
||||
wipeBuffer = NULL;
|
||||
}
|
||||
|
||||
burn (buffer, sizeof (buffer));
|
||||
|
||||
if (cryptoInfo != NULL)
|
||||
crypto_close (cryptoInfo);
|
||||
|
||||
if (bTimeStampValid)
|
||||
{
|
||||
// Restore the container timestamp (to preserve plausible deniability of possible hidden volume).
|
||||
if (SetFileTime (dev, &ftCreationTime, &ftLastAccessTime, &ftLastWriteTime) == 0)
|
||||
MessageBoxW (hwndDlg, GetString ("SETFILETIME_FAILED_PW"), lpszTitle, MB_OK | MB_ICONEXCLAMATION);
|
||||
}
|
||||
|
||||
if (dev != INVALID_HANDLE_VALUE)
|
||||
CloseHandle ((HANDLE) dev);
|
||||
|
||||
if (nDosLinkCreated == 0)
|
||||
RemoveFakeDosName (szDiskFile, szDosDevice);
|
||||
|
||||
RandStop (FALSE);
|
||||
|
||||
if (bVolTransformThreadCancel)
|
||||
nStatus = ERR_USER_ABORT;
|
||||
|
||||
SetLastError (dwError);
|
||||
|
||||
if (nStatus == ERR_SUCCESS)
|
||||
{
|
||||
nStatus = ExtendFileSystem (hwndDlg, lpszVolume, pVolumePassword, VolumePkcs5, newDataAreaSize);
|
||||
}
|
||||
|
||||
return nStatus;
|
||||
}
|
||||
|
||||
|
||||
|
||||
void __cdecl volTransformThreadFunction (void *pExpandDlgParam)
|
||||
{
|
||||
int nStatus;
|
||||
EXPAND_VOL_THREAD_PARAMS *pParam=(EXPAND_VOL_THREAD_PARAMS *)pExpandDlgParam;
|
||||
HWND hwndDlg = (HWND) pParam->hwndDlg;
|
||||
|
||||
nStatus = ExpandVolume (hwndDlg, (char*)pParam->szVolumeName, pParam->pVolumePassword,
|
||||
pParam->VolumePkcs5, pParam->newSize, pParam->bInitFreeSpace );
|
||||
|
||||
if (nStatus!=ERR_SUCCESS && nStatus!=ERR_USER_ABORT)
|
||||
handleError (hwndDlg, nStatus);
|
||||
|
||||
bVolTransformThreadCancel = FALSE;
|
||||
|
||||
PostMessage (hwndDlg, TC_APPMSG_VOL_TRANSFORM_THREAD_ENDED, 0, nStatus);
|
||||
|
||||
_endthread ();
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
/*
|
||||
|
||||
Some portions of the source code contained in this file were derived from the
|
||||
source code of TrueCrypt 7.0a, which is governed by the TrueCrypt License 3.0
|
||||
that can be found in the file 'License.txt' in the folder 'TrueCrypt-License'.
|
||||
|
||||
Modifications and additions to the original source code (contained in this file)
|
||||
and all other portions of this file are Copyright (c) 2009-2010 by Kih-Oskh or
|
||||
Copyright (c) 2012-2013 Josef Schneider <josef@netpage.dk>
|
||||
|
||||
TrueCrypt source files used to derive some portions of the source code in this
|
||||
file are:
|
||||
|
||||
- 'Mount\Mount.c'
|
||||
- 'Common\Format.c'
|
||||
- 'Common\Password.c'
|
||||
- 'Format\Tcformat.c'
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Original legal notice of the TrueCrypt source files:
|
||||
|
||||
Legal Notice: Some portions of the source code contained in this file were
|
||||
derived from the source code of Encryption for the Masses 2.02a, which is
|
||||
Copyright (c) 1998-2000 Paul Le Roux and which is governed by the 'License
|
||||
Agreement for Encryption for the Masses'. Modifications and additions to
|
||||
the original source code (contained in this file) and all other portions
|
||||
of this file are Copyright (c) 2003-2009 TrueCrypt Developers Association
|
||||
and are governed by the TrueCrypt License 3.0 the full text of which is
|
||||
contained in the file License.txt included in TrueCrypt binary and source
|
||||
code distribution packages.
|
||||
|
||||
*/
|
||||
|
||||
#ifndef TC_HEADER_ExpandVolume
|
||||
#define TC_HEADER_ExpandVolume
|
||||
|
||||
/* NTFS must be extended at least by one cluster (max. cluster size is 64kB) */
|
||||
#define TC_MINVAL_FS_EXPAND (64*1024LL)
|
||||
|
||||
enum EV_FileSystem
|
||||
{
|
||||
EV_FS_TYPE_RAW = 0,
|
||||
EV_FS_TYPE_FAT = 1,
|
||||
EV_FS_TYPE_NTFS = 2,
|
||||
};
|
||||
|
||||
extern const char * szFileSystemStr[3];
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint64 oldSize;
|
||||
uint64 newSize;
|
||||
uint64 hostSizeFree;
|
||||
const char *szVolumeName;
|
||||
enum EV_FileSystem FileSystem;
|
||||
BOOL bIsDevice;
|
||||
BOOL bIsLegacy;
|
||||
BOOL bInitFreeSpace;
|
||||
Password *pVolumePassword;
|
||||
int VolumePkcs5;
|
||||
HWND hwndDlg;
|
||||
} EXPAND_VOL_THREAD_PARAMS;
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern HWND hCurPage; /* Handle to current wizard page */
|
||||
extern int nPbar; /* Control ID of progress bar:- for format code */
|
||||
extern volatile BOOL bVolTransformThreadCancel; /* TRUE if the user cancels/pauses volume expansion */
|
||||
|
||||
/* defined in ExpandVolume.c */
|
||||
uint64 GetVolumeDataAreaSize (uint64 volumeSize, BOOL legacyVolume);
|
||||
uint64 GetVolumeSizeByDataAreaSize (uint64 dataSize, BOOL legacyVolume);
|
||||
int QueryVolumeInfo (HWND hwndDlg, const char *lpszVolume, uint64 * pHostSizeFree, uint64 * pSizeLimitFS );
|
||||
int MountVolTemp (HWND hwndDlg, char *volumePath, int *driveNo, Password *password, int pkcs5);
|
||||
BOOL GetFileSystemType(const char *szFileName, enum EV_FileSystem *pFS);
|
||||
BOOL GetNtfsNumberOfSectors(char *rootPath, uint64 *pNumberOfSectors, DWORD *pBytesPerSector);
|
||||
void __cdecl volTransformThreadFunction (void *hwndDlgArg);
|
||||
|
||||
/* defined in DlgExpandVolume.cpp */
|
||||
void AddProgressDlgStatus(HWND hwndDlg, const char* szText);
|
||||
void SetProgressDlgStatus(HWND hwndDlg, const char* szText);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
/* defined in DlgExpandVolume.cpp */
|
||||
void ExpandVolumeWizard (HWND hwndDlg, char *lpszVolume);
|
||||
|
||||
|
||||
#endif /* TC_HEADER_ExpandVolume */
|
||||
@@ -0,0 +1,320 @@
|
||||
// Microsoft Visual C++ generated resource script.
|
||||
//
|
||||
#include "resource.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
#include "afxres.h"
|
||||
#include "..\\common\\resource.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// German (Germany) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_DEU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_GERMAN, SUBLANG_GERMAN
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_SIZE_DIALOG DIALOGEX 0, 0, 376, 271
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "VeraCrypt Expander"
|
||||
FONT 8, "MS Shell Dlg", 400, 0, 0x1
|
||||
BEGIN
|
||||
EDITTEXT IDC_SIZEBOX,30,102,109,14,ES_RIGHT | ES_AUTOHSCROLL | ES_NUMBER
|
||||
CONTROL "&KB",IDC_KB,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,169,105,38,10
|
||||
CONTROL "&MB",IDC_MB,"Button",BS_AUTORADIOBUTTON,209,105,38,10
|
||||
CONTROL "&GB",IDC_GB,"Button",BS_AUTORADIOBUTTON,247,105,38,10
|
||||
CONTROL "Fill new space with random data",IDC_INIT_NEWSPACE,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,30,127,118,10
|
||||
DEFPUSHBUTTON "Continue",IDOK,15,238,84,18
|
||||
PUSHBUTTON "Cancel",IDCANCEL,277,238,84,18
|
||||
LTEXT "Help Text",IDC_BOX_HELP,15,165,346,58,0,WS_EX_CLIENTEDGE
|
||||
GROUPBOX "Enter new volume size",IDC_STATIC,15,83,346,63
|
||||
RTEXT "Current size: ",IDT_CURRENT_SIZE,27,42,46,8
|
||||
CONTROL "",IDC_EXPAND_VOLUME_OLDSIZE,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,80,42,275,8,WS_EX_TRANSPARENT
|
||||
RTEXT "New size: ",IDT_NEW_SIZE,28,54,45,8
|
||||
LTEXT "",IDC_EXPAND_VOLUME_NEWSIZE,80,54,275,8,0,WS_EX_TRANSPARENT
|
||||
RTEXT "Volume: ",IDT_VOL_NAME,31,18,42,8
|
||||
GROUPBOX "",IDC_STATIC,15,9,346,59
|
||||
CONTROL "",IDC_EXPAND_VOLUME_NAME,"Static",SS_SIMPLE | WS_GROUP,80,18,275,8,WS_EX_TRANSPARENT
|
||||
RTEXT "File system: ",IDT_FILE_SYS,31,30,42,8
|
||||
CONTROL "",IDC_EXPAND_FILE_SYSTEM,"Static",SS_SIMPLE | WS_GROUP,80,30,275,8,WS_EX_TRANSPARENT
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_SIZE_DIALOG, DIALOG
|
||||
BEGIN
|
||||
LEFTMARGIN, 15
|
||||
RIGHTMARGIN, 361
|
||||
VERTGUIDE, 30
|
||||
TOPMARGIN, 14
|
||||
BOTTOMMARGIN, 256
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
#endif // German (Germany) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Dialog
|
||||
//
|
||||
|
||||
IDD_MOUNT_DLG DIALOGEX 0, 0, 376, 271
|
||||
STYLE DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "VeraCrypt Expander"
|
||||
MENU IDR_MENU
|
||||
CLASS "CustomDlg"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
COMBOBOX IDC_VOLUME,56,192,212,74,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP
|
||||
PUSHBUTTON "Select &File...",IDC_SELECT_FILE,276,192,84,14
|
||||
PUSHBUTTON "Select D&evice...",IDC_SELECT_DEVICE,276,211,84,14
|
||||
DEFPUSHBUTTON "Start",IDOK,8,243,84,18,WS_GROUP
|
||||
PUSHBUTTON "E&xit",IDC_EXIT,284,243,84,18,WS_GROUP
|
||||
CONTROL 112,IDC_LOGO,"Static",SS_BITMAP | SS_NOTIFY | WS_BORDER,16,192,27,31
|
||||
GROUPBOX "Volume",IDT_VOLUME,8,179,360,53
|
||||
CONTROL "",IDC_STATIC,"Static",SS_ETCHEDFRAME,1,0,373,147
|
||||
GROUPBOX "",IDC_STATIC,282,238,88,24
|
||||
GROUPBOX "",IDC_STATIC,6,238,88,24
|
||||
GROUPBOX "",IDC_STATIC,1,147,373,123,BS_CENTER
|
||||
LTEXT "1. Select the VeraCrypt volume to be expanded\n2. Click the 'Start' button",IDC_STATIC,15,156,293,21
|
||||
LTEXT "Static",IDC_INFOEXPAND,8,6,361,134,SS_NOPREFIX | SS_SUNKEN,WS_EX_STATICEDGE
|
||||
END
|
||||
|
||||
IDD_PASSWORD_DLG DIALOGEX 0, 0, 322, 91
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | DS_FIXEDSYS | DS_CENTER | WS_POPUP | WS_VISIBLE | WS_CAPTION
|
||||
CAPTION "Enter VeraCrypt Volume Password"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
EDITTEXT IDC_PASSWORD,69,8,166,14,ES_PASSWORD | ES_AUTOHSCROLL
|
||||
CONTROL "Cache passwords and keyfil&es in memory",IDC_CACHE,
|
||||
"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,50,153,10
|
||||
CONTROL "&Display password",IDC_SHOW_PASSWORD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,63,83,10
|
||||
CONTROL "U&se keyfiles",IDC_KEYFILES_ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,70,75,83,11
|
||||
PUSHBUTTON "&Keyfiles...",IDC_KEY_FILES,171,72,64,14
|
||||
PUSHBUTTON "Mount Opti&ons...",IDC_MOUNT_OPTIONS,243,72,64,14
|
||||
DEFPUSHBUTTON "OK",IDOK,243,8,64,14
|
||||
PUSHBUTTON "Cancel",IDCANCEL,243,25,64,14
|
||||
RTEXT "Password:",IDT_PASSWORD,0,10,65,13
|
||||
COMBOBOX IDC_PKCS5_PRF_ID,69,26,86,90,CBS_DROPDOWNLIST | WS_TABSTOP
|
||||
RTEXT "PKCS-5 PRF:",IDT_PKCS5_PRF,0,27,65,13
|
||||
CONTROL "TrueCrypt Mode",IDC_TRUECRYPT_MODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,159,28,76,10
|
||||
END
|
||||
|
||||
IDD_EXPAND_PROGRESS_DLG DIALOGEX 0, 0, 376, 271
|
||||
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
|
||||
CAPTION "VeraCrypt Expander"
|
||||
FONT 8, "MS Shell Dlg", 0, 0, 0x0
|
||||
BEGIN
|
||||
RTEXT "Current size: ",IDT_CURRENT_SIZE,27,40,46,8
|
||||
CONTROL "",IDC_EXPAND_VOLUME_OLDSIZE,"Static",SS_LEFTNOWORDWRAP | WS_GROUP,80,40,275,8,WS_EX_TRANSPARENT
|
||||
RTEXT "New size: ",IDT_NEW_SIZE,28,52,45,8
|
||||
LTEXT "",IDC_EXPAND_VOLUME_NEWSIZE,80,52,275,8,0,WS_EX_TRANSPARENT
|
||||
CONTROL "",IDC_PROGRESS_BAR,"msctls_progress32",PBS_SMOOTH | WS_BORDER,22,96,332,12
|
||||
RTEXT "",IDC_TIMEREMAIN,275,114,42,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE
|
||||
RTEXT "",IDC_WRITESPEED,178,114,42,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE
|
||||
LTEXT "",IDC_BYTESWRITTEN,77,114,39,11,SS_CENTERIMAGE,WS_EX_TRANSPARENT | WS_EX_RIGHT | WS_EX_STATICEDGE
|
||||
RTEXT "Done",IDT_DONE,53,115,22,8
|
||||
RTEXT "Speed",IDT_SPEED,142,115,34,8
|
||||
RTEXT "Left",IDT_LEFT,248,115,25,8
|
||||
GROUPBOX "",IDC_STATIC,15,84,346,49
|
||||
RTEXT "Volume: ",IDT_VOL_NAME,31,16,42,8
|
||||
GROUPBOX "",IDC_STATIC,15,7,346,72
|
||||
CONTROL "",IDC_EXPAND_VOLUME_NAME,"Static",SS_SIMPLE | WS_GROUP,80,16,275,8,WS_EX_TRANSPARENT
|
||||
DEFPUSHBUTTON "Continue",IDOK,15,238,84,18
|
||||
PUSHBUTTON "Cancel",IDCANCEL,277,238,84,18
|
||||
EDITTEXT IDC_BOX_STATUS,15,162,346,66,ES_MULTILINE | ES_AUTOVSCROLL | ES_READONLY | ES_WANTRETURN | WS_VSCROLL
|
||||
CONTROL "",IDC_EXPAND_VOLUME_INITSPACE,"Static",SS_SIMPLE | WS_GROUP,80,64,275,8,WS_EX_TRANSPARENT
|
||||
RTEXT "Fill new space: ",IDT_INIT_SPACE,20,64,53,8
|
||||
RTEXT "File system: ",IDT_FILE_SYS,31,28,42,8
|
||||
CONTROL "",IDC_EXPAND_FILE_SYSTEM,"Static",SS_SIMPLE | WS_GROUP,80,28,275,8,WS_EX_TRANSPARENT
|
||||
RTEXT "Random Pool: ",IDT_RANDOM_POOL2,20,144,53,8
|
||||
CONTROL "",IDC_RANDOM_BYTES,"Static",SS_SIMPLE | WS_GROUP,80,144,149,8,WS_EX_TRANSPARENT
|
||||
CONTROL "",IDC_DISPLAY_POOL_CONTENTS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,236,142,14,12
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// DESIGNINFO
|
||||
//
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
GUIDELINES DESIGNINFO
|
||||
BEGIN
|
||||
IDD_MOUNT_DLG, DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 369
|
||||
VERTGUIDE, 8
|
||||
BOTTOMMARGIN, 269
|
||||
END
|
||||
|
||||
IDD_PASSWORD_DLG, DIALOG
|
||||
BEGIN
|
||||
BOTTOMMARGIN, 63
|
||||
END
|
||||
|
||||
IDD_EXPAND_PROGRESS_DLG, DIALOG
|
||||
BEGIN
|
||||
RIGHTMARGIN, 361
|
||||
VERTGUIDE, 15
|
||||
VERTGUIDE, 73
|
||||
VERTGUIDE, 80
|
||||
VERTGUIDE, 355
|
||||
TOPMARGIN, 9
|
||||
BOTTOMMARGIN, 256
|
||||
HORZGUIDE, 162
|
||||
END
|
||||
END
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// HEADER
|
||||
//
|
||||
|
||||
IDR_MOUNT_RSRC_HEADER HEADER "resource.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Version
|
||||
//
|
||||
|
||||
VS_VERSION_INFO VERSIONINFO
|
||||
FILEVERSION 1,0,6,3
|
||||
PRODUCTVERSION 1,0,6,3
|
||||
FILEFLAGSMASK 0x17L
|
||||
#ifdef _DEBUG
|
||||
FILEFLAGS 0x1L
|
||||
#else
|
||||
FILEFLAGS 0x0L
|
||||
#endif
|
||||
FILEOS 0x4L
|
||||
FILETYPE 0x1L
|
||||
FILESUBTYPE 0x0L
|
||||
BEGIN
|
||||
BLOCK "StringFileInfo"
|
||||
BEGIN
|
||||
BLOCK "040904b0"
|
||||
BEGIN
|
||||
VALUE "CompanyName", "IDRIX"
|
||||
VALUE "FileDescription", "VeraCrypt Expander"
|
||||
VALUE "FileVersion", "1.0f-2"
|
||||
VALUE "LegalTrademarks", "VeraCrypt"
|
||||
VALUE "OriginalFilename", "VeraCryptExpander.exe"
|
||||
VALUE "ProductName", "VeraCrypt"
|
||||
VALUE "ProductVersion", "1.0f-2"
|
||||
END
|
||||
END
|
||||
BLOCK "VarFileInfo"
|
||||
BEGIN
|
||||
VALUE "Translation", 0x409, 1200
|
||||
END
|
||||
END
|
||||
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE
|
||||
BEGIN
|
||||
"resource.h\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"#include ""..\\\\common\\\\resource.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE
|
||||
BEGIN
|
||||
"#include ""..\\\\common\\\\common.rc""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Bitmap
|
||||
//
|
||||
|
||||
IDB_LOGO_96DPI BITMAP "Logo_96dpi.bmp"
|
||||
IDB_LOGO_288DPI BITMAP "Logo_288dpi.bmp"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Menu
|
||||
//
|
||||
|
||||
IDR_MENU MENUEX
|
||||
BEGIN
|
||||
MENUITEM "About", IDM_ABOUT,MFT_STRING,MFS_ENABLED
|
||||
MENUITEM "Homepage", IDM_HOMEPAGE,MFT_STRING | MFT_RIGHTJUSTIFY,MFS_ENABLED
|
||||
END
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// String Table
|
||||
//
|
||||
|
||||
STRINGTABLE
|
||||
BEGIN
|
||||
IDS_UACSTRING "VeraCrypt Expander"
|
||||
END
|
||||
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
#include "..\\common\\common.rc"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
@@ -0,0 +1,672 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="9,00"
|
||||
Name="ExpandVolume"
|
||||
ProjectGUID="{9715FF1D-599B-4BBC-AD96-BEF6E08FF827}"
|
||||
RootNamespace="ExpandVolume"
|
||||
Keyword="Win32Proj"
|
||||
TargetFrameworkVersion="131072"
|
||||
>
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"
|
||||
/>
|
||||
</Platforms>
|
||||
<ToolFiles>
|
||||
</ToolFiles>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="Debug"
|
||||
IntermediateDirectory="Debug"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
CommandLine=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TypeLibraryName="$(SolutionDir)/$(ProjectName)/$(ProjectName).tlb"
|
||||
OutputDirectory=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories="..\Common;..\Crypto;..\;..\pkcs11"
|
||||
PreprocessorDefinitions="VCEXPANDER;TCMOUNT;WIN32;DEBUG;_DEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS"
|
||||
MinimalRebuild="true"
|
||||
ExceptionHandling="1"
|
||||
BasicRuntimeChecks="3"
|
||||
RuntimeLibrary="1"
|
||||
BufferSecurityCheck="true"
|
||||
EnableFunctionLevelLinking="false"
|
||||
UsePrecompiledHeader="0"
|
||||
BrowseInformation="0"
|
||||
BrowseInformationFile=""
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="4"
|
||||
DisableSpecificWarnings="4311"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="version.lib comctl32.lib setupapi.lib ..\Crypto\Debug\crypto.lib"
|
||||
OutputFile="$(OutDir)/VeraCryptExpander.exe"
|
||||
LinkIncremental="2"
|
||||
GenerateManifest="false"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
GenerateDebugInformation="true"
|
||||
ProgramDatabaseFile="$(OutDir)/ExpandVolume.pdb"
|
||||
SubSystem="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
AdditionalManifestFiles="VeraCryptExpander.manifest"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="md "..\Debug\Setup Files" 2>NUL:
copy Debug\VeraCryptExpander.exe "..\Debug\Setup Files" >NUL:"
|
||||
/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="Release"
|
||||
IntermediateDirectory="Release"
|
||||
ConfigurationType="1"
|
||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
||||
CharacterSet="2"
|
||||
>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
AdditionalIncludeDirectories=""
|
||||
TypeLibraryName="$(SolutionDir)/Mount/$(ProjectName).tlb"
|
||||
OutputDirectory=""
|
||||
/>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
AdditionalOptions="/w34189"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories="..\Common;..\Crypto;..\;..\pkcs11"
|
||||
PreprocessorDefinitions="VCEXPANDER;TCMOUNT;WIN32;NDEBUG;_WINDOWS;_CRT_SECURE_NO_DEPRECATE;_CRT_NON_CONFORMING_SWPRINTFS"
|
||||
RuntimeLibrary="0"
|
||||
BufferSecurityCheck="true"
|
||||
UsePrecompiledHeader="0"
|
||||
AssemblerOutput="2"
|
||||
AssemblerListingLocation="$(IntDir)/"
|
||||
WarningLevel="3"
|
||||
DebugInformationFormat="0"
|
||||
DisableSpecificWarnings="4311"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManagedResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCLinkerTool"
|
||||
AdditionalDependencies="comctl32.lib setupapi.lib version.lib ..\Crypto\Release\crypto.lib"
|
||||
OutputFile="$(OutDir)/VeraCryptExpander.exe"
|
||||
LinkIncremental="1"
|
||||
GenerateManifest="false"
|
||||
IgnoreAllDefaultLibraries="false"
|
||||
GenerateDebugInformation="false"
|
||||
GenerateMapFile="true"
|
||||
SubSystem="2"
|
||||
OptimizeReferences="2"
|
||||
EnableCOMDATFolding="2"
|
||||
RandomizedBaseAddress="1"
|
||||
DataExecutionPrevention="2"
|
||||
TargetMachine="1"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCALinkTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCManifestTool"
|
||||
AdditionalManifestFiles="VeraCryptExpander.manifest"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCXDCMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCBscMakeTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCFxCopTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCAppVerifierTool"
|
||||
/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"
|
||||
CommandLine="copy Release\VeraCryptExpander.exe "..\Release\Setup Files\""
|
||||
/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
<ProjectReference
|
||||
ReferencedProjectIdentifier="{993245CF-6B70-47EE-91BB-39F8FC6DC0E7}"
|
||||
RelativePathToProject=".\Crypto\Crypto.vcproj"
|
||||
/>
|
||||
</References>
|
||||
<Files>
|
||||
<Filter
|
||||
Name="Source Files"
|
||||
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
|
||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\DlgExpandVolume.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ExpandVolume.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\InitDataArea.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\WinMain.cpp"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<Filter
|
||||
Name="Common"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\Common\BaseCom.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\BootEncryption.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Cmdline.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Combo.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Crc.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Crypto.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Dictionary.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Dlgcode.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\EncryptionThreadPool.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Endian.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\GfMul.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Keyfiles.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Language.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Password.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Pkcs5.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Progress.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Random.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Registry.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\SecurityToken.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Tests.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Volumes.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Wipe.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Wipe.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Xml.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Xts.c"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Mount"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\Mount\Favorites.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\Hotkeys.c"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\MainCom.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\MainCom.idl"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
OutputDirectory="$(SolutionDir)/Mount"
|
||||
HeaderFileName="$(SolutionDir)/Mount/$(InputName)_h.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCMIDLTool"
|
||||
OutputDirectory="$(SolutionDir)/Mount"
|
||||
HeaderFileName="$(SolutionDir)/Mount/$(InputName)_h.h"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\Mount.c"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
>
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
CompileAs="2"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Header Files"
|
||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\Common\Apidrvr.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\BaseCom.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\BootEncryption.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Cmdline.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Combo.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Common.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Crc.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Crypto.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Dictionary.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Dlgcode.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\EncryptionThreadPool.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Exception.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\ExpandVolume.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\GfMul.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Hotkeys.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\InitDataArea.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Keyfiles.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Language.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\MainCom.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Mount\Mount.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Password.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Pkcs5.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Progress.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Random.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Registry.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Resource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\resource.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\SecurityToken.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Tcdefs.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Tests.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Volumes.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Xml.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Xts.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
<Filter
|
||||
Name="Resource Files"
|
||||
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
|
||||
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
|
||||
>
|
||||
<File
|
||||
RelativePath=".\ExpandVolume.rc"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Logo_288dpi.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Logo_96dpi.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Textual_logo_288dpi.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Textual_logo_96dpi.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Textual_logo_background.bmp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\VeraCrypt.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\VeraCrypt_mounted.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\VeraCrypt_Volume.ico"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\VeraCryptExpander.manifest"
|
||||
>
|
||||
</File>
|
||||
<Filter
|
||||
Name="Common"
|
||||
>
|
||||
<File
|
||||
RelativePath="..\Common\Common.rc"
|
||||
>
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32"
|
||||
ExcludedFromBuild="true"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32"
|
||||
ExcludedFromBuild="true"
|
||||
>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\Common\Language.xml"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
||||
@@ -0,0 +1,358 @@
|
||||
/*
|
||||
|
||||
Most of the source code contained in this file is taken from the source code of
|
||||
TrueCrypt 7.0a, which is governed by the TrueCrypt License 3.0 that can be found
|
||||
in the file 'License.txt' in the folder 'TrueCrypt-License'.
|
||||
|
||||
Modifications and additions to the original source code (contained in this file)
|
||||
and all other portions of this file are Copyright (c) 2009-2010 by Kih-Oskh or
|
||||
Copyright (c) 2012-2013 Josef Schneider <josef@netpage.dk>
|
||||
|
||||
|
||||
Source code here is copied from 'Common/Format.c' with the following changes:
|
||||
|
||||
- functions removed:
|
||||
GetVolumeDataAreaSize (BOOL hiddenVolume, uint64 volumeSize)
|
||||
TCFormatVolume (volatile FORMAT_VOL_PARAMETERS *volParams)
|
||||
FormatNtfs (int driveNo, int clusterSize)
|
||||
FormatExCallback (int command, DWORD subCommand, PVOID parameter)
|
||||
|
||||
- variables removed:
|
||||
volatile BOOLEAN FormatExResult;
|
||||
|
||||
- removed static linkage class from StartFormatWriteThread() and
|
||||
StopFormatWriteThread()
|
||||
|
||||
- new functions:
|
||||
SetFormatSectorSize(uint32 sector_size)
|
||||
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Original legal notice of the TrueCrypt source:
|
||||
|
||||
Legal Notice: Some portions of the source code contained in this file were
|
||||
derived from the source code of Encryption for the Masses 2.02a, which is
|
||||
Copyright (c) 1998-2000 Paul Le Roux and which is governed by the 'License
|
||||
Agreement for Encryption for the Masses'. Modifications and additions to
|
||||
the original source code (contained in this file) and all other portions
|
||||
of this file are Copyright (c) 2003-2010 TrueCrypt Developers Association
|
||||
and are governed by the TrueCrypt License 3.0 the full text of which is
|
||||
contained in the file License.txt included in TrueCrypt binary and source
|
||||
code distribution packages. */
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "Tcdefs.h"
|
||||
|
||||
#include "Common.h"
|
||||
#include "Crypto.h"
|
||||
#include "Random.h"
|
||||
#include "Volumes.h"
|
||||
|
||||
#include "Apidrvr.h"
|
||||
#include "Dlgcode.h"
|
||||
#include "Language.h"
|
||||
#include "Progress.h"
|
||||
#include "Resource.h"
|
||||
|
||||
#include "InitDataArea.h"
|
||||
|
||||
int FormatWriteBufferSize = 1024 * 1024;
|
||||
static uint32 FormatSectorSize = 0;
|
||||
|
||||
void SetFormatSectorSize(uint32 sector_size)
|
||||
{
|
||||
FormatSectorSize = sector_size;
|
||||
}
|
||||
|
||||
int FormatNoFs (HWND hwndDlg, unsigned __int64 startSector, __int64 num_sectors, void * dev, PCRYPTO_INFO cryptoInfo, BOOL quickFormat)
|
||||
{
|
||||
int write_buf_cnt = 0;
|
||||
char sector[TC_MAX_VOLUME_SECTOR_SIZE], *write_buf;
|
||||
unsigned __int64 nSecNo = startSector;
|
||||
int retVal = 0;
|
||||
DWORD err;
|
||||
char temporaryKey[MASTER_KEYDATA_SIZE];
|
||||
char originalK2[MASTER_KEYDATA_SIZE];
|
||||
|
||||
LARGE_INTEGER startOffset;
|
||||
LARGE_INTEGER newOffset;
|
||||
|
||||
// Seek to start sector
|
||||
startOffset.QuadPart = startSector * FormatSectorSize;
|
||||
if (!SetFilePointerEx ((HANDLE) dev, startOffset, &newOffset, FILE_BEGIN)
|
||||
|| newOffset.QuadPart != startOffset.QuadPart)
|
||||
{
|
||||
return ERR_OS_ERROR;
|
||||
}
|
||||
|
||||
write_buf = (char *)TCalloc (FormatWriteBufferSize);
|
||||
if (!write_buf)
|
||||
return ERR_OUTOFMEMORY;
|
||||
|
||||
VirtualLock (temporaryKey, sizeof (temporaryKey));
|
||||
VirtualLock (originalK2, sizeof (originalK2));
|
||||
|
||||
memset (sector, 0, sizeof (sector));
|
||||
|
||||
// Remember the original secondary key (XTS mode) before generating a temporary one
|
||||
memcpy (originalK2, cryptoInfo->k2, sizeof (cryptoInfo->k2));
|
||||
|
||||
/* Fill the rest of the data area with random data */
|
||||
|
||||
if(!quickFormat)
|
||||
{
|
||||
/* Generate a random temporary key set to be used for "dummy" encryption that will fill
|
||||
the free disk space (data area) with random data. This is necessary for plausible
|
||||
deniability of hidden volumes. */
|
||||
|
||||
// Temporary master key
|
||||
if (!RandgetBytes (hwndDlg, temporaryKey, EAGetKeySize (cryptoInfo->ea), FALSE))
|
||||
goto fail;
|
||||
|
||||
// Temporary secondary key (XTS mode)
|
||||
if (!RandgetBytes (hwndDlg, cryptoInfo->k2, sizeof cryptoInfo->k2, FALSE))
|
||||
goto fail;
|
||||
|
||||
retVal = EAInit (cryptoInfo->ea, temporaryKey, cryptoInfo->ks);
|
||||
if (retVal != ERR_SUCCESS)
|
||||
goto fail;
|
||||
|
||||
if (!EAInitMode (cryptoInfo))
|
||||
{
|
||||
retVal = ERR_MODE_INIT_FAILED;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
while (num_sectors--)
|
||||
{
|
||||
if (WriteSector (dev, sector, write_buf, &write_buf_cnt, &nSecNo,
|
||||
cryptoInfo) == FALSE)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
if (!FlushFormatWriteBuffer (dev, write_buf, &write_buf_cnt, &nSecNo, cryptoInfo))
|
||||
goto fail;
|
||||
}
|
||||
else
|
||||
nSecNo = num_sectors;
|
||||
|
||||
UpdateProgressBar (nSecNo * FormatSectorSize);
|
||||
|
||||
// Restore the original secondary key (XTS mode) in case NTFS format fails and the user wants to try FAT immediately
|
||||
memcpy (cryptoInfo->k2, originalK2, sizeof (cryptoInfo->k2));
|
||||
|
||||
// Reinitialize the encryption algorithm and mode in case NTFS format fails and the user wants to try FAT immediately
|
||||
retVal = EAInit (cryptoInfo->ea, cryptoInfo->master_keydata, cryptoInfo->ks);
|
||||
if (retVal != ERR_SUCCESS)
|
||||
goto fail;
|
||||
if (!EAInitMode (cryptoInfo))
|
||||
{
|
||||
retVal = ERR_MODE_INIT_FAILED;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
burn (temporaryKey, sizeof(temporaryKey));
|
||||
burn (originalK2, sizeof(originalK2));
|
||||
VirtualUnlock (temporaryKey, sizeof (temporaryKey));
|
||||
VirtualUnlock (originalK2, sizeof (originalK2));
|
||||
TCfree (write_buf);
|
||||
|
||||
return 0;
|
||||
|
||||
fail:
|
||||
err = GetLastError();
|
||||
|
||||
burn (temporaryKey, sizeof(temporaryKey));
|
||||
burn (originalK2, sizeof(originalK2));
|
||||
VirtualUnlock (temporaryKey, sizeof (temporaryKey));
|
||||
VirtualUnlock (originalK2, sizeof (originalK2));
|
||||
TCfree (write_buf);
|
||||
|
||||
SetLastError (err);
|
||||
return (retVal ? retVal : ERR_OS_ERROR);
|
||||
}
|
||||
|
||||
|
||||
BOOL WriteSector (void *dev, char *sector,
|
||||
char *write_buf, int *write_buf_cnt,
|
||||
__int64 *nSecNo, PCRYPTO_INFO cryptoInfo)
|
||||
{
|
||||
static __int32 updateTime = 0;
|
||||
|
||||
(*nSecNo)++;
|
||||
|
||||
memcpy (write_buf + *write_buf_cnt, sector, FormatSectorSize);
|
||||
(*write_buf_cnt) += FormatSectorSize;
|
||||
|
||||
if (*write_buf_cnt == FormatWriteBufferSize && !FlushFormatWriteBuffer (dev, write_buf, write_buf_cnt, nSecNo, cryptoInfo))
|
||||
return FALSE;
|
||||
|
||||
if (GetTickCount () - updateTime > 25)
|
||||
{
|
||||
if (UpdateProgressBar (*nSecNo * FormatSectorSize))
|
||||
return FALSE;
|
||||
|
||||
updateTime = GetTickCount ();
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
||||
}
|
||||
|
||||
|
||||
static volatile BOOL WriteThreadRunning;
|
||||
static volatile BOOL WriteThreadExitRequested;
|
||||
static HANDLE WriteThreadHandle;
|
||||
|
||||
static byte *WriteThreadBuffer;
|
||||
static HANDLE WriteBufferEmptyEvent;
|
||||
static HANDLE WriteBufferFullEvent;
|
||||
|
||||
static volatile HANDLE WriteRequestHandle;
|
||||
static volatile int WriteRequestSize;
|
||||
static volatile DWORD WriteRequestResult;
|
||||
|
||||
|
||||
static void __cdecl FormatWriteThreadProc (void *arg)
|
||||
{
|
||||
DWORD bytesWritten;
|
||||
|
||||
SetThreadPriority (GetCurrentThread(), THREAD_PRIORITY_HIGHEST);
|
||||
|
||||
while (!WriteThreadExitRequested)
|
||||
{
|
||||
if (WaitForSingleObject (WriteBufferFullEvent, INFINITE) == WAIT_FAILED)
|
||||
{
|
||||
handleWin32Error (NULL);
|
||||
break;
|
||||
}
|
||||
|
||||
if (WriteThreadExitRequested)
|
||||
break;
|
||||
|
||||
if (!WriteFile (WriteRequestHandle, WriteThreadBuffer, WriteRequestSize, &bytesWritten, NULL))
|
||||
WriteRequestResult = GetLastError();
|
||||
else
|
||||
WriteRequestResult = ERROR_SUCCESS;
|
||||
|
||||
if (!SetEvent (WriteBufferEmptyEvent))
|
||||
{
|
||||
handleWin32Error (NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
WriteThreadRunning = FALSE;
|
||||
_endthread();
|
||||
}
|
||||
|
||||
|
||||
BOOL StartFormatWriteThread ()
|
||||
{
|
||||
DWORD sysErr;
|
||||
|
||||
WriteBufferEmptyEvent = NULL;
|
||||
WriteBufferFullEvent = NULL;
|
||||
WriteThreadBuffer = NULL;
|
||||
|
||||
WriteBufferEmptyEvent = CreateEvent (NULL, FALSE, TRUE, NULL);
|
||||
if (!WriteBufferEmptyEvent)
|
||||
goto err;
|
||||
|
||||
WriteBufferFullEvent = CreateEvent (NULL, FALSE, FALSE, NULL);
|
||||
if (!WriteBufferFullEvent)
|
||||
goto err;
|
||||
|
||||
WriteThreadBuffer = TCalloc (FormatWriteBufferSize);
|
||||
if (!WriteThreadBuffer)
|
||||
{
|
||||
SetLastError (ERROR_OUTOFMEMORY);
|
||||
goto err;
|
||||
}
|
||||
|
||||
WriteThreadExitRequested = FALSE;
|
||||
WriteRequestResult = ERROR_SUCCESS;
|
||||
|
||||
WriteThreadHandle = (HANDLE) _beginthread (FormatWriteThreadProc, 0, NULL);
|
||||
if ((uintptr_t) WriteThreadHandle == -1L)
|
||||
goto err;
|
||||
|
||||
WriteThreadRunning = TRUE;
|
||||
return TRUE;
|
||||
|
||||
err:
|
||||
sysErr = GetLastError();
|
||||
|
||||
if (WriteBufferEmptyEvent)
|
||||
CloseHandle (WriteBufferEmptyEvent);
|
||||
if (WriteBufferFullEvent)
|
||||
CloseHandle (WriteBufferFullEvent);
|
||||
if (WriteThreadBuffer)
|
||||
TCfree (WriteThreadBuffer);
|
||||
|
||||
SetLastError (sysErr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
void StopFormatWriteThread ()
|
||||
{
|
||||
if (WriteThreadRunning)
|
||||
{
|
||||
WaitForSingleObject (WriteBufferEmptyEvent, INFINITE);
|
||||
|
||||
WriteThreadExitRequested = TRUE;
|
||||
SetEvent (WriteBufferFullEvent);
|
||||
|
||||
WaitForSingleObject (WriteThreadHandle, INFINITE);
|
||||
}
|
||||
|
||||
CloseHandle (WriteBufferEmptyEvent);
|
||||
CloseHandle (WriteBufferFullEvent);
|
||||
TCfree (WriteThreadBuffer);
|
||||
}
|
||||
|
||||
|
||||
BOOL FlushFormatWriteBuffer (void *dev, char *write_buf, int *write_buf_cnt, __int64 *nSecNo, PCRYPTO_INFO cryptoInfo)
|
||||
{
|
||||
UINT64_STRUCT unitNo;
|
||||
DWORD bytesWritten;
|
||||
|
||||
if (*write_buf_cnt == 0)
|
||||
return TRUE;
|
||||
|
||||
unitNo.Value = (*nSecNo * FormatSectorSize - *write_buf_cnt) / ENCRYPTION_DATA_UNIT_SIZE;
|
||||
|
||||
EncryptDataUnits (write_buf, &unitNo, *write_buf_cnt / ENCRYPTION_DATA_UNIT_SIZE, cryptoInfo);
|
||||
|
||||
if (WriteThreadRunning)
|
||||
{
|
||||
if (WaitForSingleObject (WriteBufferEmptyEvent, INFINITE) == WAIT_FAILED)
|
||||
return FALSE;
|
||||
|
||||
if (WriteRequestResult != ERROR_SUCCESS)
|
||||
{
|
||||
SetEvent (WriteBufferEmptyEvent);
|
||||
SetLastError (WriteRequestResult);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
memcpy (WriteThreadBuffer, write_buf, *write_buf_cnt);
|
||||
WriteRequestHandle = dev;
|
||||
WriteRequestSize = *write_buf_cnt;
|
||||
|
||||
if (!SetEvent (WriteBufferFullEvent))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!WriteFile ((HANDLE) dev, write_buf, *write_buf_cnt, &bytesWritten, NULL))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
*write_buf_cnt = 0;
|
||||
return TRUE;
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user