Delphi:加密资源文件
|
我有这个功能,应该从资源文件中加密字节,但是它只是崩溃了我的应用程序:
function crypt(src: Pointer; len: DWORD): DWORD;
var
B: TByteArray absolute src;
index: DWORD;
begin
for index := 0 to len - 1 do
begin
B[index] := B[index] xor 5; //just to test if its working
end;
result := 1;
end;
我正在这样使用它:
hFind := FindResource(...);
size := SizeOfResource(HInstance, hFind);
hRes :=LoadResource(HInstance, hFind);
bytes :=LockResource(hRes);
crypt(bytes, size);
如果我不调用crypt函数,则程序有效。我究竟做错了什么?
没有找到相关结果
已邀请:
2 个回复
钾涎净介
自然,您确实需要尊重Sertac强调的只读内存问题。我只是添加此代码来说明我认为是遍历作为空指针到达的缓冲区的规范方法。
暑袜眠退
其次,您仍然会收到尝试修改只读内存段的AV。根据您要执行的操作,可以在调用\'crypt \'之前在\'bytes \'上使用
,或者将内存复制到字节数组并在那里进行修改,或者如果您\\使用use5ѭ-
-
正在尝试修改资源。