Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2014.08.24;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
15-1390768202
Юрий
2014-01-27 00:30
2014.08.24
С днем рождения ! 27 января 2014 понедельник


2-1380565915
zibert
2013-09-30 22:31
2014.08.24
pred


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


15-1390920271
ухты
2014-01-28 18:44
2014.08.24
Когда выборы


2-1380108417
Вася
2013-09-25 15:26
2014.08.24
Это фишка или баг фрипаскаля?