anyways, making an operating system is tough work, let alone the bootstrap. I am quickly seeing a need to incorporate ways to protect my hard work.
I guess all you really need on a bootstrap is a copyright notice, which I hear legally states that you acknowledge the software as your own, and that no one has your permission to copy your work, or take pieces from it. then again, I'm no lawyer. and I just think copyright notices are cool, that they add a professional touch.
so I included a nice little copyright message, opened up my new binary file in a hex editor, fooled around with it a bit, and quite easily was able to change that notice.
so I thought about it, and came up with a small simple solution to obfuscate your copyright, which I would like some feedback on.
old code:
- PRINT_MSG_TITLE:
- MOV SI, MSG_TITLE
- PRINT:
- MOV AH, 0x0E
- PRINT_CONT:
- LODSB
- OR AL, AL
- JZ RETURN
- INT 0x10
- JMP PRINT_CONT
a possible solution could look like like:
- MOV AH, 0x0E
- MOV AL, 0x49
- INT 0x10
- MOV AL, 0x50
- INT 0x10
- MOV AL, 0x51
- INT 0x10
- MOV AL, 0x52
- INT 0x10
- MOV AL, 0x53
- INT 0x10
- PRINT_MSG_C:
- MOV AL, 0x43
- INT 0x10
- RET
- PRINT_MSG_D:
- MOV AL, 0x44
- INT 0x10
- RET
- PRINT_MSG_E:
- MOV AL, 0x45
- INT 0x10
- RET
- PRINT_MSG_F:
- MOV AL, 0x46
- INT 0x10
- RET
- PRINT_MSG_G:
- MOV AL, 0x47
- INT 0x10
- RET
- PRINT_MSG_H:
- MOV AL, 0x48
- INT 0x10
- RET
- PRINT_MSG_I:
- MOV AL, 0x49
- INT 0x10
- RET
- MAIN:
- MOV AH, 0x0E
- CALL PRINT_MSG_C;
- CALL PRINT_MSG_D;
- CALL PRINT_MSG_E;
- CALL PRINT_MSG_F;
- CALL PRINT_MSG_G;
- CALL PRINT_MSG_H;
- CALL PRINT_MSG_I;
I'm also anticipating the fact that it may eat up my 510kb real quick, which I don't think will be a problem if I'm extra careful, and remove unnecessary letters.
I just wanted to share what I'm thinking, and I know I'm getting sidetrack... but I think it's good to do that atleast a little so I don't lose interest.
I'm sure as I learn more, I will learn better ways to do this, and I also realize that if all I have is a silly bootstrap, then worrying about obfuscation so soon is also silly.