How can a program hide from its creator?

The idea is that I want a program that can edit the file, but I, the programmer, cannot edit or tamper with the file. Encrypting the file is an obvious choice, but even then I still have to somehow hide the secret key from myself.

Disguising the secret doesn't seem to work, because I could just use the hiding part of the code that I need for the program.

I ask this because I'm trying to create a program that will keep me productive by controlling my actions and telling my friends / boss / family how terrible I am a procrastinator if I don't live up to the goals I set the previous day (by others words: introduce me, can make the future me not to postpone)

+3


source to share


1 answer


It looks like the contents of the program are not that important, but you want to make sure that the timestamp and contents of the log are not tampered with. I suggest writing the log to some external site where you can put data, but not delete.

Logging false values โ€‹โ€‹can only be prevented by using a log that progresses over time. For example, if you hide expenses from your bank account, you will run into problems because future balances will be lower than expected.

For the sake of brevity, information such as your account balance, just post it on a public website like Twitter. AFAIK it is not possible to post to Twitter like they were posted a while ago.



For more complex data, like the progress of a software development project, push your changes with a version control system like git to a remote repo where you can't delete or overwrite history.

Update: As you explained in the comments, you want to register data on your computer that can be faked to everything. IMHO it is nearly impossible for you to write a program yourself that runs on your own computer rooted but cannot be controlled. The only kind of software that is in any way similar to your request is DRM software that calls home to prevent software "piracy". You need a binary program written by someone else or remote source. It will require some kind of encrypted and confusing network communication that you cannot understand.

I think you are not too hopeful of using this approach. Better learn to control yourself rather than answering random questions with strangers on Stackoverflow, ehem.

+2


source







All Articles