a hexedit (scoure code)

to write shell code in linux, we always want to see the execute code, so i write a hex edit myself.
the flowing is scoure. (it can only view execute code, can't edit it, but i will add it after, if i have time)

#include <stdio.h>

#define ONCE_READ 16
int main(int argc,char *argv[])
{
  int i;
  FILE *pfile;
  unsigned  char buf[ONCE_READ];
  int ret = 0x10;
  int size = 0;
  if(argc<2)
    {
      printf("two few arguments");
      return 0;
    }
  printf("/n/n");

  pfile=fopen(argv[1],"r");
  while(1)
    {
      if(ret == ONCE_READ) printf("%08x ",size);
      ret = fread(buf,sizeof(buf[0]),ONCE_READ,pfile);
      if(ret == 0)break;
      size += ret;
      for(i=0;i<ONCE_READ;i++)
    {
      if(i%4 == 0)
        printf(" ");
      if(i<ret)
        printf("%02x ",buf[i]);
      else
        printf("   ");
    }
      printf("  ");
      for(i=0;i<ret;i++)
    {
      if(buf[i]>=33 && buf[i]<=126)
        printf("%c",buf[i]);
      else printf(".");
    }
      printf("/n");
    }
  fclose(pfile);
  printf("/n/n total %d byte/n/n",size);
  return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值