回 帖 发 新 帖 刷新版面

主题:新手系列之(13)

函数名: open
功  能: 打开一个文件用于读或写
用  法: int open(char *pathname, int access[, int permiss]);
程序例:

#include <string.h>
#include <stdio.h>
#include <fcntl.h>
#include <io.h>

int main(void)
{
   int handle;
   char msg[] = "Hello world";

   if ((handle = open("TEST.$$$", O_CREAT | O_TEXT)) == -1)
   {
      perror("Error:");
      return 1;
   }
   write(handle, msg, strlen(msg));
   close(handle);
   return 0;
}
  
  

函数名: outport
功  能: 输出整数到硬件端口中
用  法: void outport(int port, int value);
程序例:

#include <stdio.h>
#include <dos.h>

int main(void)
{
   int value = 64;
   int port = 0;

   outportb(port, value);
   printf("Value %d sent to port number %d\n", value, port);
   return 0;
}
  
  

函数名: outportb
功  能: 输出字节到硬件端口中
用  法: void outportb(int port, char byte);
程序例:

#include <stdio.h>
#include <dos.h>

int main(void)
{
   int value = 64;
   int port = 0;

   outportb(port, value);
   printf("Value %d sent to port number %d\n", value, port);
   return 0;
}
  
  

函数名: outtext
功  能: 在视区显示一个字符串
用  法: void far outtext(char far *textstring);
程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int midx, midy;

   /* initialize graphics and local variables */
   initgraph(&gdriver, &gmode, "");

   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }

   midx = getmaxx() / 2;
   midy = getmaxy() / 2;

   /* move the C.P. to the center of the screen */
   moveto(midx, midy);

   /* output text starting at the C.P. */
   outtext("This ");
   outtext("is ");
   outtext("a ");
   outtext("test.");

   /* clean up */
   getch();
   closegraph();
   return 0;
}
  
  

函数名: outtextxy
功  能: 在指定位置显示一字符串
用  法: void far outtextxy(int x, int y, char *textstring);
程序例:

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
   /* request auto detection */
   int gdriver = DETECT, gmode, errorcode;
   int midx, midy;

   /* initialize graphics and local variables */
   initgraph( &gdriver, &gmode, "");

   /* read result of initialization */
   errorcode = graphresult();
   if (errorcode != grOk)  /* an error occurred */
   {
      printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1); /* terminate with an error code */
   }

   midx = getmaxx() / 2;
   midy = getmaxy() / 2;

   /* output text at the center of the screen*/
   /* Note: the C.P. doesn't get changed.*/
   outtextxy(midx, midy, "This is a test.");

   /* clean up */
   getch();
   closegraph();
   return 0;
}

回复列表 (共2个回复)

沙发

我是个新手,但我是那种新的可爱的那种了
我有个问题都不知道该不该问,就是如果把一个现有的程序打开到它的原代码,并把它的原代码进行改动,变成另外一个有着别的用途的程序,可以做到吗?假设可以怎么做,用什么工具,

板凳

你的问题是软件破解问题!
首先,你要会汇编。
用peid工具检测程序是否有壳,如果有壳的话,就要脱壳。
然后,用反汇编工具,查看程序原代码,这是静态的过程。
再者吗,用动态调试工具调试原程序。工具是od。
接下来,就看你如何去修改原程序了。

我来回复

您尚未登录,请登录后再回复。点此登录或注册