Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Вниз= Record Найти похожие ветки
← →
toropoff (2012-03-31 15:44) [0]допустим есть запись:
tMyRegData = record
offsetTest: pointer;
end;
PMyRegData = ^tMyRegData;
MyRegData: pMyRegData;
New(MyRegData);
я хочу защитить от изменений извне.
допустим простым ксором
var
i: Integer;
p: PByteArray;
begin
p:= PByteArray(MyRegData);
for i := 0 to sizeOf(MyRegData^) do begin
p^[0]:= p^[0] xor 100;
inc(p);
end;
тоесть проксорил, прочитал.записал данные, опять проксорил.
вроде бы как работает что-то, но при закрытии приложения, где висит у меня Dispose(MyRegData) вываливается..
без этого ксора всё Ок.
не могли бы подсказать где ошибка и вообще это полная хрень или если ксор заменить на нормальный вариант кодирования более менее защищу этот кусок памяти от изменений, например добавив ещё поле CRC это записи?
← →
KilkennyCat © (2012-03-31 16:06) [1]как защита xor полная хрень. и содержимое цикла - полная хрень. какой смысл постоянно ксорить нулевой элемент
← →
toropoff (2012-03-31 16:13) [2]ксор пока тест..
и наверное вы не заметили inc(p);
ну пусть будет так:
for i := 0 to sizeOf(TMyRegData) do begin
p^[i]:= p^[i] xor 100;
end;
не могу понять почему после Dispose(MyRegData); получаю вылет..
как в памяти располагается record моя? просто 4 байта для 32-х указателя?
или может как string - в начале например длина а потом уже сами данные записи?
← →
Sha © (2012-03-31 16:27) [3]ты ксоришь больше, чем выделено
← →
Дмитрий С © (2012-03-31 16:49) [4]for i := 0 to sizeOf(TMyRegData) -1 do begin
p^[i]:= p^[i] xor 100;
end;
← →
Дмитрий С © (2012-03-31 16:50) [5]
> KilkennyCat © (31.03.12 16:06) [1]
>
> как защита xor полная хрень. и содержимое цикла - полная
> хрень. какой смысл постоянно ксорить нулевой элемент
Даже если, например, заксорить первый элемент всякие ArtMoney уже не найдут адрес.
← →
toropoff (2012-03-31 16:51) [6]от блин, точно.. на таких мелочах туплю...
спасибо!
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.094 c