Question: The assignment should be a single program written in C or C++ that creates 10 .com files. (Using something such as the Visual Studio .com

The assignment should be a single program written in C or C++ that creates 10 .com files. (Using something such as the Visual Studio .com file creator will not satisfy the assignment. We can discuss in more detail if you have questions on that.) See here for more about .com files: https://en.wikipedia.org/wiki/COM_file It is a really simple file that has the binary compiled form of assembly code. You are creating a program to create 10 .com files. Each .com file should be different in appearance when compiled but yield the same result of printing "Hello World" to the screen. Some hints of techniques to consider are encryption/obfuscation, modifying the assembly code to accomplish the same function through another approach, and/or inserting assembly code that causes no actions. Repeating the same basic code 10 times and naming the 10 .com files to be something different will not meet the polymorphism goal of this assignment. Each file should look different at the assembly level. How you choose that difference should be the goal of this assignment. Remember the basic idea as presented in the lecture: "Can you make a set of .com files where there are no easy hex strings that can be used to identify your program?" The goal of polymorphism is to evade string based detection by an anti-virus type program. To help illustrate the basic assignment, here is (sloppy) c code that will create a single .com file that prints "Hello World!" based on the above example. I compiled on gcc on Linux and moved over to a Windows machine running DosBox to verify that it works. Feel free to build off of this code and add your own polymorphism to it. #include (less than sign) stdio.h (greater than sign) int main(void) { FILE *myfile = fopen("hello.com", "wb"); putc(0x0E, myfile); putc(0x1f, myfile); putc(0xba, myfile); putc(0x0E, myfile); putc(0x01, myfile); putc(0xb4, myfile); putc(0x09, myfile); putc(0xcd, myfile); putc(0x21, myfile); putc(0xb8, myfile); putc(0x01, myfile); putc(0x4c, myfile); putc(0xcd, myfile); putc(0x21, myfile); putc(0x48, myfile); putc(0x65, myfile); putc(0x6c, myfile); putc(0x6c, myfile); putc(0x6f, myfile); putc(0x20, myfile); putc(0x57, myfile); putc(0x6f, myfile); putc(0x72, myfile); putc(0x6c, myfile); putc(0x64, myfile); putc(0x21, myfile); putc(0x24, myfile); fclose(myfile); return 0; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!