Click here to Skip to main content
15,887,027 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hello, I need to start thinking about a final project for school. It basically can be any program complicated enough.
I thought about making an antivirus (a lame one) so I need to know what will I need to know in order to make it.
And I think I should start with a sandbox. So, how can I limit a programs access to memory?
And if you have any suggestions it will be great!
Thanks!
P.S. I know C#, C++ and very basic assembly (only 8086).
Posted
Comments
Sergey Alexandrovich Kryukov 25-Apr-15 20:30pm    
First of all, I would not recommend doing anything lame. It would be much better to solve some much less ambitious problem, but in a decent way.

Your question is unclear. Even though the notion of "sandbox" is suggestive, I would prefer to hear your question: what programs should be restricted from what access to what memory.

What is your platforms? Remember that in 8086/8088 mode (real mode) you cannot limit anything, by definition. If this is a "real" real mode (not compatibility simulation of it), you can switch to protected mode and organize such things.

With protected mode, just the opposite, it's easy to block access to some segment of code for all processes, but if you do it in a really existing OS in an application mode, your code itself will get limited access to the CPU instructions, so you want be allowed to do such tricks; you would need to work in kernel mode, which is possible if you modify the OS kernel or develop a special kernel-mode driver. So, the possibilities you have are not easy.

It seems to me that your knowledge is way too deficient to get to such problems, but you can always grow your knowledge. However, it may take considerable amount of time.

—SA
Adam Katav 26-Apr-15 1:52am    
I know I know nothing. I have 13 month to do that project and I'm not alone. I want to learn the subjects regardless to my project and it eventually I will not choose that project I will still learn those subjects.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900