Главная страница
    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.45 MB
Время: 0.069 c
2-1336578971
мтк
2012-05-09 19:56
2013.03.22
SetOrdProp и составное свойтво


2-1340139775
Разведка
2012-06-20 01:02
2013.03.22
Перегрузка метода


2-1343902126
Wadimka
2012-08-02 14:08
2013.03.22
Как запись типа record записать в TStream?


15-1351951907
brother
2012-11-03 18:11
2013.03.22
Антивирус на win2008 x64


15-1329815103
Kolan
2012-02-21 13:05
2013.03.22
Напомните историю про уволенного программиста





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский