Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Вниз

Вот взялся за руссификацию программ и ....   Найти похожие ветки 

 
Ahmad   (2002-09-24 17:12) [0]

В свободное от программирование время, я руссифицирую проги. Вот не давно наткнулся на такую прогу "Hide Folder XP" ну перевел, сохранил как прогу, врубаю и шизею, выводится окошко с надписью, что данная прога яв-ся хакерской. Хотелось бы узнать как эта прога догадалась что я её изменил, и как это можно реализовать в своей проге?


 
Дежавюев   (2002-09-24 17:15) [1]

Надо было так ставить вопрос:

"В свободное от программирование время, я нелегально, подпольно руссифицирую проги."

Если сурьёзно - связаться с автором и предложить свои услуги :)


 
MBo   (2002-09-24 17:29) [2]

контрольную сумму проверила


 
Ahmad   (2002-09-24 19:17) [3]


> "В свободное от программирование время, я нелегально, подпольно
> руссифицирую проги."

Можно сказать и так :)
Но проблема в другом, дело в том, что я недавно создал свою прогу которую у меня заказала, через моего друга, одна организация, ну я естественно поставил туды присловутый "About..." и все такое, так вот этот вот якобы друг,из зависти,через те же проги "уссификаторы" поменял тамощний абоут, сказал что это все он написал ну все такое...
Фирме прога понравилась и они попросили его написать более доработанную полную версию проги, он кнечно обратился ко мне, ну вот я и не хочу второй раз наступать на эти грабли, встает извечный вопрос "Что делать?" :)


 
Странник   (2002-09-24 20:02) [4]

исходники не отдавать, в код "грабли" вставить, чтоб твой друг при инсталяции в лужу сел, раз такой грамотный.


 
Malder   (2002-09-24 20:55) [5]

MBo © (24.09.02 17:29)
контрольную сумму проверила


Вероятно. Только возникает вопрос. Откуда она взяла эту контрольную сумму ? Если из какого-либо файла, то еще понятно. Но если эта контрольная сумма хранится в exe-шнике - очень интересно было бы посмотреть на алгоритм, реализующий это.


 
V.exeR   (2002-09-24 21:05) [6]

Например, простое сложение 32-разрядное всего екзешника.
...
{$R-}
var Sum, B: Integer;
F: File;
...
AssignFile(F, ExeFile);
ReSet(F, 1);
...
BlockRead(F,B,4);
Sum:=Sum+B;
...
ну или вроде того... Или вообще XOR.


 
cyborg   (2002-09-24 21:37) [7]

А меня вот интересует, как контрольная сумма считается? До сих пор не знаю.


 
RV   (2002-09-24 21:44) [8]

UNIT CRC32;


{CRC32 рассчитывает код циклической избыточности (cyclic redundancy code - CRC),
известный как CRC-32, с использованием алгоритма byte-wise ("мудрый байт").


(C) Авторские права 1989, 1995-1996 Earl F. Glynn, Overland Park, KS.
Все права защищены.


Данный модуль является производным от программы CRCT FORTRAN 77, опубликованной
в "Byte-wise CRC Calculations" за авторством Aram Perez из IEEE Micro, Июнь 1983,
страницы 40-50. Константы для полиномиального генератора CRC-32, приведенные
здесь, опубликованы в "Microsoft Systems Journal", Март 1995, страницы 107-108.


Данный CRC алгоритм имеет бОльшую скорость за счет 512 элементов таблицы
поиска.}

INTERFACE


PROCEDURE CalcCRC32 (p: pointer; nbyte: WORD; VAR CRCvalue: LongInt);
PROCEDURE CalcFileCRC32 (FromName: STRING; VAR CRCvalue: LongInt;
VAR IOBuffer: pointer; BufferSize: WORD; VAR TotalBytes: LongInt;
VAR error: WORD);

IMPLEMENTATION


CONST
table: ARRAY[0..255] OF LongInt =
($00000000, $77073096, $EE0E612C, $990951BA,
$076DC419, $706AF48F, $E963A535, $9E6495A3,
$0EDB8832, $79DCB8A4, $E0D5E91E, $97D2D988,
$09B64C2B, $7EB17CBD, $E7B82D07, $90BF1D91,
$1DB71064, $6AB020F2, $F3B97148, $84BE41DE,
$1ADAD47D, $6DDDE4EB, $F4D4B551, $83D385C7,
$136C9856, $646BA8C0, $FD62F97A, $8A65C9EC,
$14015C4F, $63066CD9, $FA0F3D63, $8D080DF5,
$3B6E20C8, $4C69105E, $D56041E4, $A2677172,
$3C03E4D1, $4B04D447, $D20D85FD, $A50AB56B,
$35B5A8FA, $42B2986C, $DBBBC9D6, $ACBCF940,
$32D86CE3, $45DF5C75, $DCD60DCF, $ABD13D59,
$26D930AC, $51DE003A, $C8D75180, $BFD06116,
$21B4F4B5, $56B3C423, $CFBA9599, $B8BDA50F,
$2802B89E, $5F058808, $C60CD9B2, $B10BE924,
$2F6F7C87, $58684C11, $C1611DAB, $B6662D3D,


$76DC4190, $01DB7106, $98D220BC, $EFD5102A,
$71B18589, $06B6B51F, $9FBFE4A5, $E8B8D433,
$7807C9A2, $0F00F934, $9609A88E, $E10E9818,
$7F6A0DBB, $086D3D2D, $91646C97, $E6635C01,
$6B6B51F4, $1C6C6162, $856530D8, $F262004E,
$6C0695ED, $1B01A57B, $8208F4C1, $F50FC457,
$65B0D9C6, $12B7E950, $8BBEB8EA, $FCB9887C,
$62DD1DDF, $15DA2D49, $8CD37CF3, $FBD44C65,
$4DB26158, $3AB551CE, $A3BC0074, $D4BB30E2,
$4ADFA541, $3DD895D7, $A4D1C46D, $D3D6F4FB,
$4369E96A, $346ED9FC, $AD678846, $DA60B8D0,
$44042D73, $33031DE5, $AA0A4C5F, $DD0D7CC9,
$5005713C, $270241AA, $BE0B1010, $C90C2086,
$5768B525, $206F85B3, $B966D409, $CE61E49F,
$5EDEF90E, $29D9C998, $B0D09822, $C7D7A8B4,
$59B33D17, $2EB40D81, $B7BD5C3B, $C0BA6CAD,


$EDB88320, $9ABFB3B6, $03B6E20C, $74B1D29A,
$EAD54739, $9DD277AF, $04DB2615, $73DC1683,
$E3630B12, $94643B84, $0D6D6A3E, $7A6A5AA8,
$E40ECF0B, $9309FF9D, $0A00AE27, $7D079EB1,
$F00F9344, $8708A3D2, $1E01F268, $6906C2FE,
$F762575D, $806567CB, $196C3671, $6E6B06E7,
$FED41B76, $89D32BE0, $10DA7A5A, $67DD4ACC,
$F9B9DF6F, $8EBEEFF9, $17B7BE43, $60B08ED5,
$D6D6A3E8, $A1D1937E, $38D8C2C4, $4FDFF252,
$D1BB67F1, $A6BC5767, $3FB506DD, $48B2364B,
$D80D2BDA, $AF0A1B4C, $36034AF6, $41047A60,
$DF60EFC3, $A867DF55, $316E8EEF, $4669BE79,
$CB61B38C, $BC66831A, $256FD2A0, $5268E236,
$CC0C7795, $BB0B4703, $220216B9, $5505262F,
$C5BA3BBE, $B2BD0B28, $2BB45A92, $5CB36A04,
$C2D7FFA7, $B5D0CF31, $2CD99E8B, $5BDEAE1D,


$9B64C2B0, $EC63F226, $756AA39C, $026D930A,
$9C0906A9, $EB0E363F, $72076785, $05005713,
$95BF4A82, $E2B87A14, $7BB12BAE, $0CB61B38,
$92D28E9B, $E5D5BE0D, $7CDCEFB7, $0BDBDF21,
$86D3D2D4, $F1D4E242, $68DDB3F8, $1FDA836E,
$81BE16CD, $F6B9265B, $6FB077E1, $18B74777,
$88085AE6, $FF0F6A70, $66063BCA, $11010B5C,
$8F659EFF, $F862AE69, $616BFFD3, $166CCF45,
$A00AE278, $D70DD2EE, $4E048354, $3903B3C2,
$A7672661, $D06016F7, $4969474D, $3E6E77DB,
$AED16A4A, $D9D65ADC, $40DF0B66, $37D83BF0,
$A9BCAE53, $DEBB9EC5, $47B2CF7F, $30B5FFE9,
$BDBDF21C, $CABAC28A, $53B39330, $24B4A3A6,
$BAD03605, $CDD70693, $54DE5729, $23D967BF,
$B3667A2E, $C4614AB8, $5D681B02, $2A6F2B94,
$B40BBE37, $C30C8EA1, $5A05DF1B, $2D02EF8D);



 
RV   (2002-09-24 21:44) [9]



TYPE
buffer = ARRAY[1..65521] OF BYTE; { самый большой буфер, который }
{ только можно распределить в Куче }
VAR
i: WORD;
q: ^buffer;


PROCEDURE CalcCRC32 (p: pointer; nbyte: WORD; VAR CRCvalue: LongInt);
{Ниже выполняется небольшое криптование (но выполняется очень быстро).
Алгоритм работает следующим образом:
1. совершаем операцию "И/ИЛИ" (XOR) входного байта с младшей
частью регистра CRC для получения INDEX
2. сдвигаем регистр CRC на восемь битов вправо
3. совершаем операцию "И/ИЛИ" (XOR) с CRC регистром и
Table[INDEX]
4. повторяем шаги с 1 по 3 для всех байтов }
BEGIN
q := p;
FOR i := 1 TO nBYTE DO
CRCvalue := (CRCvalue SHR 8) XOR
Table[ q^[i] XOR (CRCvalue AND $000000FF) ]
END {CalcCRC32};



PROCEDURE CalcFileCRC32 (FromName: STRING; VAR CRCvalue: LongInt;
VAR IOBuffer: pointer; BufferSize: WORD; VAR TotalBytes: LongInt;
VAR error: WORD);
VAR
BytesRead: WORD;
FromFile : FILE;
i : WORD;
BEGIN
FileMode := 0; {Turbo по умолчанию 2 для R/W и 0 для R/O}
CRCValue := $FFFFFFFF;
ASSIGN (FromFile,FromName);
{$I-} RESET (FromFile,1); {$I+}
error := IOResult;
IF error = 0
THEN BEGIN
TotalBytes := 0;
REPEAT
BlockRead (FromFile,IOBuffer^,BufferSize,BytesRead);
CalcCRC32 (IOBuffer,BytesRead,CRCvalue);
INC (TotalBytes, BytesRead)
UNTIL BytesRead = 0;
CLOSE (FromFile)
END;
CRCvalue := NOT CRCvalue
END {CalcFileCRC32};

END {CRC}.


 
Юрий Зотов   (2002-09-25 00:29) [10]

IMHO, человек, занимающийся русификацией программ, должен уметь правильно писать на русском языке хотя бы слово "русификация".


buffer = ARRAY[1..65521] OF BYTE;
{ самый большой буфер, который только можно распределить в Куче }

Такое ограничение было в DOS. Забудьте.


 
RV   (2002-09-25 00:50) [11]

Юрий Зотов © (25.09.02 00:29)

да, да, да
Такое ограничение было в DOS
забыл это дописать, это был пример для Д1


 
Ahmad   (2002-09-25 07:09) [12]


> IMHO, человек, занимающийся русификацией программ, должен
> уметь правильно писать на русском языке хотя бы слово "русификация".

Это я прикалывался... :)
Даа... ну и простыни вы тута написали, а нельзя просто проверять дату создания проги и если не совпадет выдать вот это сообщение, хотя дату можно поменять...


 
RV   (2002-09-25 07:15) [13]

Ahmad © (25.09.02 07:09)

или сразу спросить юзера
- а ты часом прогу мою не ковырял?
Yes, No - такой диалог вываливаеться....


 
Esu   (2002-09-25 07:18) [14]


> - а ты часом прогу мою не ковырял?

И если Yes форматируется винчестер...


 
Akella   (2002-09-25 08:34) [15]

У MicroSoft-а Win дубовый
Златая price на Win-е том.
И днем и ночъю bug крученый
Все ходит по Win-у кругом.
Пойдет налево boot заводит,
Hаправо - Help-ы говорит.
Там driver-а, там вирус бродит,
В засаде GPF сидит.

Там на неведомых дорожках
Мозги невинных user-ей.
И Office там на Cyr-ъих Font-ах
Стоит при окнах без дверей.

Там RAM и винт картинок полны.
Там при загрузке плещут волны
Под Screen небесно-голубой
И тридцатъ драйверов, как волки,
Между собой грызутся долго
И с ними Kernel их swap-ной.

Там серый ламер мимоходом
Заносит вирус с флопаря.
Там в облаках перед народом
Через ... короче говоря,
Вы снова грузитесъ с SafeMod-ом.

В окошке там MS-DOS тужит,
Ей старый BIOS верно служит.
Там script-ы с Sun-овой Явой
Идут-бредут сами собой.


Там Билли Гейтс над златом чахнет.
Там баксов дух, там SUX-ом пахнет.

И я там был, Win-ы грузил,
Hа Scrееп-е видел флаг их драный,
Пред ним сидел, и Help незванный
Свои мне сказки говорил...



 
Ahmad   (2002-09-26 18:22) [16]


> { самый большой буфер, который }
> { только можно распределить в Куче }

А, кстати, какой буфер рекомендуется и как его оформлять?



Страницы: 1 вся ветка

Форум: "Потрепаться";
Текущий архив: 2002.10.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.62 MB
Время: 0.05 c
3-68636
riland
2002-09-26 18:38
2002.10.21
Вопрос о защите данных в приложении


14-68925
den_c
2002-09-26 07:07
2002.10.21
Что делать когда не знаешь серийный номер и Authorization Key


1-68780
123000
2002-10-11 19:23
2002.10.21
Опять Richedit


14-68958
Бильврёст
2002-09-27 13:08
2002.10.21
Помогите справиться с ошибкой.


3-68681
SunnyTm
2002-09-30 22:33
2002.10.21
Как поймать исключение по несоответствию маске в EditMask?





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