home *** CD-ROM | disk | FTP | other *** search
- {
- I give you a simple encrypting/decrypting algoritm (it's easy to decrypt
-
- it with a descent program). }
-
- Procedure Encrypt(Var Data; Length: Word; Key: Byte);
-
- Var B: Byte;
- i: Word;
-
- Begin
-
- For i := 0 to Length-1 do
- Begin
- B := Mem[Seg(Data):Ofs(Data)+i];
- B := 255 - (B + Key);
- Mem[Seg(Data):Ofs(Data)+i] := B;
- end; { For }
-
- end;
-
- If You like assembler:
-
-
-
- Procedure Encrypt(Var Data; Length: Word; Key: Byte); ASSEMBLER;
-
- ASM
- MOV CX,Length
- DEC CX
- MOV BL,Key
- LES DI,Data
- @@Loop1:
- MOV AL,BYTE PTR ES:[DI]
- MOV BH,AL
- ADD BH,BL
- MOV AL,255
- SUB AL,BH
- MOV BYTE PTR ES:[DI],AL
- INC DI
- LOOP @@Loop1
- end;
-
- Procedure Decrypt(Var Data; Length: Word; Key: Byte);
-
- Var i: Word;
- B: Byte;
-
- Begin
-
- For i := 0 to Length-1 do
- Begin
- B := Mem[Seg(Data):Ofs(Data)+i];
- B := 255 - B + Key;
- Mem[Seg(Data):Ofs(Data)+i];
- end;{ For }
- end;
-
- Or:
-
- Procedure Decrypt(Var Data; Length: Word; Key: Byte); ASSEMBLER;
- ASM
- MOV CX,Length
- DEC CX
- MOV BL,Key
- LES DI,Data
- @@Loop1:
- MOV AL,BYTE PTR ES:[DI]
- MOV BH,AL
- ADD BH,BL
- MOV AL,255
- SUB AL,BH
- MOV BYTE PTR ES:[DI],AL
- INC DI
- LOOP @@Loop1
- end;
-
- { Key in the procedure Encrypt and Decrypt should be the same. }
-