Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2014.08.24;
Скачать: [xml.tar.bz2];

Вниз

AV при попытке расшифровать файл через DecryptFileA (и W тоже)   Найти похожие ветки 

 
Сварщик   (2014-01-26 15:33) [0]

Всем привет. Написал нехитрую функцию для для шифрования/дешифрования файлов с помощью встроенной EFS.

function EFSSetFileAttributes(const FileName: string; bEncrypt: Boolean): Boolean;
const
 DLL_NAME = "advapi32.dll";
 EXPORT_FUNC: array[0..1] of string = ("DecryptFileA", "EncryptFileA");
var
 hModule: THandle;
 EFSFunc: function(lpFileName: PAnsiChar): Boolean; stdcall;
begin
 Result := False;
 //SetErrorMode(SEM_FAILCRITICALERRORS);                              
 hModule := LoadLibrary(DLL_NAME);
 if hModule > 0 then
 begin
   @EFSFunc := GetProcAddress(hModule, PChar(EXPORT_FUNC[Word(bEncrypt)]));
   if @EFSFunc <> nil then
     Result := EFSFunc(PChar(FileName));
   FreeLibrary(hModule);
 end;  
 //SetErrorMode(0);
end;

procedure TForm2.Button1Click(Sender: TObject);
begin
if EFSSetFileAttributes("c:\newfolder\testfile.txt", True) then // если после вызвать с параметром False (расшифровка) возникнет AV
   ShowMessage("ok")
 else
   ShowMessage("fail");
end;


При шифровании все ок, а вот при дешифровке вылезает AV:
Access violation at address 00003F8. Read address 00003F8
Окно CPU:
http://s019.radikal.ru/i612/1401/42/65bab6afc4c9.jpg

Подскажите, в чем может быть проблема?
P.S Delphi 7


 
clickmaker ©   (2014-01-26 15:37) [1]

у DecryptFile 2 параметра


 
Сварщик   (2014-01-26 15:39) [2]


> clickmaker ©   (26.01.14 15:37) [1]
>
> у DecryptFile 2 параметра

ЧОрт! Не заметил! :) Спасибо.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2014.08.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.002 c
15-1390656072
Jimmy
2014-01-25 17:21
2014.08.24
Карточные игры


2-1380406476
Энтони
2013-09-29 02:14
2014.08.24
Вопрос по case of


11-1251813475
AndreyRus
2009-09-01 17:57
2014.08.24
Нужна ли FileClose в KOL?


2-1380528742
12345
2013-09-30 12:12
2014.08.24
не вызывается событие OnBeforePost


2-1380422621
Коля
2013-09-29 06:43
2014.08.24
Узнать заводской номер жёсткого диска





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский