Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.068 c
15-1330633805
Юрий
2012-03-02 00:30
2013.03.22
С днем рождения ! 2 марта 2012 пятница


15-1337113805
Юрий
2012-05-16 00:30
2013.03.22
С днем рождения ! 16 мая 2012 среда


15-1334149857
AV
2012-04-11 17:10
2013.03.22
Как отменить умный поиск AdobeReader(v8.1.2)


15-1349434291
oxffff
2012-10-05 14:51
2013.03.22
Ищем ABAP стажеров(разработчиков).


2-1337023197
Влад
2012-05-14 23:19
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский