TrueCrypt, zaszyfrowany plik na DVD i autostart

0

Utworzyłem zaszyfrowany plik za pomocą truecrypta, później utworzyłem 3 pliki: autorun.inf, start.bat, stop.bat.

autorun.inf:

[autorun]
label = Cruzer
icon = TrueCrypt/TrueCrypt.exe

action = Odszyfruj dysk
open = start.bat

shell\mount = &Podłącz...
shell\mount\command = start.bat

shell\unmount = &Odłącz...
shell\unmount\command = stop.bat

start.bat:
start TrueCrypt\TrueCrypt.exe /v data /lZ /e /m rm /q

stop.bat:
start TrueCrypt\TrueCrypt.exe /dZ /f /q

Robiłem to wg poradników z internetu. Jednak pojawiło się kilka problemów:

  1. Jeżeli coś jest podmontowane pod literą Z to program uruchamiany z autostartu nie chce podmontować pliku, i w konsekwencji powyższych zapisów montowowanie i odmontowanie działa tylko na literę dysku Z, czy da się to jakoś lepiej zorganizować ?
  1. Jeżeli na komputerze zainstalowana jest nowsza wersja TrueCrypta niż ta umieszczona na płycie (której nie da się uaktualnić, ze względów oczywistych), to w czasie autostartu wyskakuje błąd związany z różnymi wersjami programu TrueCrypt przez co start.bat i stop.bat nie działają i trzeba wykonać operację montowania/odmontowania za pomocą TrueCrypta zainstalowanego na swoim komputerze.
  1. Po zamontowaniu dysku uruchamia się ekspolator pokazujący zawartość zaszyfrowanego pliku, wiem, że można wyłączyć uruchamianie eksloratora przy montowaniu, ale mi chodzi o to, czy da się stworzyć jakis autostart na zamontowanym dysku, tak, żeby po zamontowaniu dysku automatycznie uruchomił się np. allplayer (wersja przenośna, zamieszczona na zamontowanej partycji).
0

#2 Jak masz wielosesyjną płytę to można uaktualnić (przynajmniej pod windą).

0

jakbys nie zauważył, to pisałem o płytce DVD a nie CD, w DVD są pewne problemy z tym. Ale nawet gdyby ich nie było, to nie jest rozwiązanie, żeby dogrywać coraz to nowsze wydania TrueCrypta do płyty, nie tędy droga.

0

Pozwolisz, że spytam - jaki ma sens tworzenie mocno szyfrowanej płyty DVD z filmami?

0

to ma być płyta z filmami (podałem tylko przykład), ale z pewną zawartością która ma nie być dostępna tak po prostu po włożeniu płyty.

0

ad 1. To montuj pod literą Q. Albo jakąś inną.

ad 2. #1 Sprawdź, czy na komputerze jest zainstalowany TrueCrypt. Jeśli tak, to użyj
go, jeśli nie, to użyj tego z płyty.

ad 2. #2 Można. O ile np. AllPlayer umożliwia uruchamianie z parametrami. Ale uruchomienie w domyślnym odtwarzaczu nie powinno być problemem, wystarczy tylko dodać odpowiednie polecenie w start.bat.

0

Przedstawione przez ciebie propozycje w pewnym stopniu rozwiązują problem ale rozwiązania są na tyle trywialne, że znika funkcjonalność autostartu.

somekind napisał(a)

ad 1. To montuj pod literą Q. Albo jakąś inną.

Można oczywiście montować pod inną literą ale jak ta inna będzie zajęta ?, a przypominam, że to jaka litera jest montowana jest na stałe wpisane w pliku start.bat i stop.bat. Nie znalazłem opcji w internecie żeby w czasie takiego montowania obrazu można było sobie wybrać literę.

somekind napisał(a)

ad 2. #1 Sprawdź, czy na komputerze jest zainstalowany TrueCrypt. Jeśli tak, to użyj
go, jeśli nie, to użyj tego z płyty.

Działa to tak, że jak na płycie jest stary TrueCrypt to autostart uruchomi go i wyświetli błąd, a właśnie chodzi mi żeby uniknąć wyświetlenia tego błędu, albo wyświetlić komunikat, że należy użyć TrueCrypta z komputera aby zamontować plik. Bo na chwilę obecną to komunikat dotyczy niezgodności wersji TrueCrypta i jeśli osoba nie wie co i jak to jest zgrzyt.

somekind napisał(a)

ad 2. #2 Można. O ile np. AllPlayer umożliwia uruchamianie z parametrami. Ale uruchomienie w domyślnym odtwarzaczu nie powinno być problemem, wystarczy tylko dodać odpowiednie polecenie w start.bat.

Oczywiście allplayer można uruchomić z wiersza poleceń, ale TrueCrypt nie chce uruchomić autostartu z autorun.inf, zamieszczonego na zamontowanej partycji, albo ja nie wiem jak go do tego zmusić.

0

Nie wiem jaka funkcjonalność znika.

Sprawdź wolne litery i zamontuj pod wolną. Sprawdź, czy TrueCrypt jest zainstalowany i w razie czego uruchom odpowiednia wersję. Uruchom AllPlayera ze swojego bata po zamontowaniu TrueCryptowego woluminu.
Czegoś z tej listy nie da się wykonać?

0
somekind napisał(a)

Sprawdź wolne litery i zamontuj pod wolną.

Czyli piszesz o montowaniu ręcznym a nie poprzez automat w autostarcie.

somekind napisał(a)

Sprawdź, czy TrueCrypt jest zainstalowany i w razie czego uruchom odpowiednia wersję. Uruchom AllPlayera ze swojego bata po zamontowaniu TrueCryptowego woluminu.

Ale autostart najpierw wyrzuci błąd o niezgodności wersji.

W twoich rozwiązaniach wszystko wykonuje się "na piechotę". W taki sposób można wiele rzeczy rozwiązać. Mi bardziej chodzi o kwestie automatyzacji tego.

EDIT
ok, montowanie dysku już wiem jak rozwiązać, jeśli jakaś litera jest zajęta, ale jesli nie wiem pod jaka litera zamontowal, przegladam dokumentacje TrueCrypta i tam pisze, że odmontować można albo konkretna litere z linii koment, albo wszystkie dyski. A może jest jakiś sposob zeby gdzies przechowac informacje o tym pod jaka litera zostal zamontowany dysk ?

0
wafcio napisał(a)

W twoich rozwiązaniach wszystko wykonuje się "na piechotę". W taki sposób można wiele rzeczy rozwiązać. Mi bardziej chodzi o kwestie automatyzacji tego.

Cały czas pisałem o automatycznym wykonaniu żądanych czynności poprzez skrypty. Ani słowem nie napisałem, żeby coś robić ręcznie.

Wtórny analfabetyzm czy zwyczajne zmęczenie?

0
somekind napisał(a)

Cały czas pisałem o automatycznym wykonaniu żądanych czynności poprzez skrypty. Ani słowem nie napisałem, żeby coś robić ręcznie.

Pisać to ja też mogę wiele rzeczy, ale jak nie podasz przykładów jak to rozwiązać w praktyce to jestes tylko w fazie teorii.

0

Próbowałeś użyć polecenia IF EXIST?
Możesz nim sprawdzić:
a) Czy TrueCrypt jest zainstalowany.
b) Czy dana litera partycji już istnieje w systemie.

A żeby uruchomić dowolny program, to trzeba wpisać w pliku bat ścieżkę do niego i ewentualnie parametry. Więc w czym problem?

0
somekind napisał(a)

Próbowałeś użyć polecenia IF EXIST?
Możesz nim sprawdzić:
a) Czy TrueCrypt jest zainstalowany.
b) Czy dana litera partycji już istnieje w systemie.

A żeby uruchomić dowolny program, to trzeba wpisać w pliku bat ścieżkę do niego i ewentualnie parametry. Więc w czym problem?

Co do sprawdzania partycji to jest dobry pomysł, ale trzeba było tak na początku napisać.

Co do drugiej rzeczy, to jak instalujemy program, to możemy go zainstalować pod dowolną lokalizacją i ścieżkę do programu w pliku bat trzeba podać statyczną.

0

No to sprawdź ścieżkę w rejestrze (reg.exe). Gdzie ona jest? Sprawdź przez regedit (szukaj).

0

wasze odpowiedzi są jak najbardziej uzasadnione, ale może każdą byście poparli jakimś kodem. Szukam już tego w rejestrze trochę i tak do końca nie wiem, czy to co znalazłem to mówi mi gdzie znajduje się zainstalowany program.

A więc zamieszczam co udało mi się do tej pory zrobić:

  • montowanie pod pierwszą wolną literą:
    start.vbs
Dim MyNetDrv, MyServer, MyShare

'Find out next available drive letter
set objFS=CreateObject ("Scripting.FileSystemObject")
set colDrives=objFS.Drives
letter=Asc("c")
while objFS.DriveExists(Chr(letter)+":")
letter=letter+1
wend

'mount disc
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "TrueCrypt\TrueCrypt.exe /v data /l"+UCASE(Chr(letter))+" /e /m rm /q"

tutaj mam pytanie, czy stosowanie vbs to dobre rozwiązanie czy zapisać to za pomocą plików bat ?

0

No bez przesady, kod można sobie wygooglać. Ja np. nie mam czasu na pisanie skryptów dla Ciebie.

Użycie VBS jest dobrym pomysłem, bo masz dostęp do WMI i ogólnie rzecz biorąc więcej możesz zdziałać. Jeśli go znasz, to lepiej jego użyć.

0
somekind napisał(a)

No bez przesady, kod można sobie wygooglać. Ja np. nie mam czasu na pisanie skryptów dla Ciebie.

Użycie VBS jest dobrym pomysłem, bo masz dostęp do WMI i ogólnie rzecz biorąc więcej możesz zdziałać. Jeśli go znasz, to lepiej jego użyć.
może źle napisałem, nie chodzi o pisanie całego kodu, bo to przecież sam moge zrobić, ale jakaś wskazówka jak to programistycznie rozwiązać jest lepsza niż pomysł teoretyczny.

EDIT:
pracuje teraz nad odmontowywaniem, chce wyszukać partycji, która jest zamontowana z okreslonego pliku. W TrueCrypcie to wyświetla się w głównym oknie. Chce ogólnie zrobić coś takiego, że program wyszukiwałbym najpierw litery dysku pod którą zamontowany jest określony plik, a następnie dysk z tą literą by odmontowywał za pomocą programu TrueCrypta. Czy da się zrobić to szukanie zamontowanej partycji np. w vbs ?

EDIT2:
odmontowywanie zrobiłem na razie tak:
stop.bat
start TrueCrypt\TrueCrypt.exe /f
ale w tym rozwiązaniu muszę ręcznie wybrać napęd do odmontowania.

0

Hmm...
A czy tego wszystkiego (zamontowanie, uruchomienie playera, odmontowanie) nie może robić jeden skrypt? Wtedy mógłbyś zapamiętać literę partycji w jakiejś zmiennej. A jeśli nie, to może można zapisać ją do tymczasowego pliku?

0
somekind napisał(a)

Hmm...
A czy tego wszystkiego (zamontowanie, uruchomienie playera, odmontowanie) nie może robić jeden skrypt? Wtedy mógłbyś zapamiętać literę partycji w jakiejś zmiennej. A jeśli nie, to może można zapisać ją do tymczasowego pliku?

no właśnie tak myślałem nad zapamietaniem litery w jakims utworzonym pliku na dysku C, a jeśli chodzi o zapamietanie litery przez skrypt to chyba nie zabardzo, bo najpierw jest uruchamiana procedura montowania, a pózniej odmontowania, ktore wywoluje sie niezaleznie. Z tym plikiem to jeszcze pomyśle. Ale zmniejszyłem kod na montowanie zaszyfrowanego pliku i teraz wygląda on tak:
start.bat
start TrueCrypt\TrueCrypt.exe /v data.tc /e /m rm /q /a
ewentualnie bez /e, jeśli nie chcemy aby pokazywał się eksplorator z zamontowanym dyskiem, parametr /a odpowiada wlasnie za zamontowanie w pierwszym wolnym, ale jak chce zapamietac w pliku zewnetrznym ta litere montowania, to chyba bede musial skorzystac z vbs. Tylko pojawia się problem, jak zapisywać litery montowanych dysków w przypadku gdy wystąpi kilka montowań tym skryptem.

0

Dziwne rzeczy tworzysz. Płyta dostępna tylko z poziomu Windows to raz. Po drugie nie każdy musi mieć włączony autostart.

A po trzecie, najwięcej możliwości masz wtedy gdy nie użyjesz skryptu, a napiszesz prawdziwy program (.exe) - dodatkowa zaleta taka że ukryjesz przed użytkownikiem wszystkie działania. Do skryptu może sobie zwyczajnie zajrzeć, do skompilowanego programu już mniej.

0
  1. na razie płyta dostępna tylko pod Windows, później mam to zamiar rozszerzyć również na linuxa.
  2. Jeśli nie ma się włączonego autostartu to nie widze problemu, bo wszystkie pliki są na płycie do podmontowania i odmontowania dysku.
  3. mi chodziło o jakieś szybkie rozwiązanie, myślałem, że można trucrypta szybko zaadaptować do podobnej funkcjonalności jaką oferuje program "Master Voyager", który kosztuje bagatela, ponad 60 dolarów. poza tym to nie ma być żadne rozwiązanie komercyjne, że musze ukrywać kod w obawie czy ktoś mi go nie ukradnie.

Przyglądałem się również kodu źródłowemu TrueCrypta, ale jest on strasznie kiepsko opisany (brak komentarzy, powoduje, że dopiero po wnikliwej analizie można dojść co jak działa).

O ile problem montowania i odmontowania został nijako rozwiązany, to chyba największym problemem teraz jest niezgodność wersji i kiepskie działanie traveler mode. Z tego co znalazłem, to jedyne rozwiązanie na niezgodność wersji, z którą ten tryb sobie nie radzi (tzn. nowszy program na komputerze niż na płycie), jest taki: odinstaluj program na komputerze i zainstaluj sobie właściwy. Jeśli mamy mówić w kontekście modilności to nie nazwałbym tego trybu w taki sposób.

1 użytkowników online, w tym zalogowanych: 0, gości: 1