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

Вниз

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

Наверх




Память: 0.47 MB
Время: 0.05 c
15-1345982874
чудокод
2012-08-26 16:07
2013.03.22
Подскажите редактор кода с 2 колонками, как в Total Commandere


2-1338107276
rikitiki2012
2012-05-27 12:27
2013.03.22
Автоматически прерывает выполнение (BreakPoint в настройках )


15-1349123402
Юрий
2012-10-02 00:30
2013.03.22
С днем рождения ! 2 октября 2012 вторник


15-1348000202
Юрий
2012-09-19 00:30
2013.03.22
С днем рождения ! 19 сентября 2012 среда


15-1352709195
Аббат Пиккола
2012-11-12 12:33
2013.03.22
За демократию