How JustAnswer Works:
  • Ask an Expert
    Experts are full of valuable knowledge and are ready to help with any question. Credentials confirmed by a Fortune 500 verification firm.
  • Get a Professional Answer
    Via email, text message, or notification as you wait on our site.
    Ask follow up questions if you need to.
  • 100% Satisfaction Guarantee
    Rate the answer you receive.
Ask Mr. Gregory White Your Own Question
Mr. Gregory White
Mr. Gregory White, Professor
Category: Homework
Satisfied Customers: 5240
Experience:  M.A., M.S. Education / Educational Administration
46856550
Type Your Homework Question Here...
Mr. Gregory White is online now
A new question is answered every 9 seconds

I need to create a program to create 10 .com files using c

Customer Question

I need to create a program to create 10 .com files using c or c++. 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 work. Each file
should look different at the assembly level
Submitted: 1 year ago.
Category: Homework
Expert:  Mr. Gregory White replied 1 year ago.
THIS ANSWER IS LOCKED!

You need to spend $3 to view this post. Add Funds to your account and buy credits.
Customer: replied 1 year ago.
Hi Mr White,Heres the full assignment instructions: And Ideally I would like a newly written code that has not been used before.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. Here is a tutorial that you can use to get started on creating a .com file in its assembled form. http://eli.thegreenplace.net/2009/12/21/creating-a-tiny-hello-world-executable-in-assembly/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;
}
Customer: replied 1 year ago.
Mr. WhiteI have not received the assignment from you and yet I am asking to rate your service.Did you forget to attach the assignment?

Related Homework Questions