亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? bat.c

?? binary analysis tool
?? C
字號:
/* * (c) petter wahlman, badeip@binary-art.net * * binary analysis tool: combined cat, dd, hexdump * * To get colorized output with a pager, use e.g 'less' * with -R *  *  */#include <stdio.h>#include <stdlib.h>#include <fcntl.h>#include <unistd.h>#include <ctype.h>#include <getopt.h>#include <signal.h>#include <string.h>#include <arpa/inet.h>#include <sys/types.h>#include <sys/stat.h>#include <bat.h>static u32 opt_hex_print = 0;static u32 opt_verbose = 0;static u32 opt_count = 0;u32 print_usage(void){   fprintf(stderr, "by petter wahlman. badeip@binary-art.net\n");   fprintf(stderr, "usage: bat source [option(s)]\n"                   "       -s,  --soff   <offset>\n"                   "       -d,  --doff   <offset>\n"                   "       -c,  --count  <bytes>   dump #bytes data\n"                   "       -h,  --hex              dump output in hex/dwords/ascii\n"                   "       -W,  --nodwords         don't display 32-bit hex values\n"                   "       -C,  --nocolors         don't use colorized output\n"                   "       -e,  --eswap            swap endianness of 32-bit values in hex output\n"                   "       -v,  --verbose          display verbose output [only if printing to terminal]\n"                   "\n"                   );   exit(1);}#define HEX_SWAP_ENDIAN    1#define HEX_PRINT_DWORDS   2#define HEX_PRINT_COLORS   4off_t g_src_offset;u32 g_quit = 0;void sigint_handler(s32 sig) { g_quit = 1; }static void hex_print(s32 fd, u8 *data, u32 bytes, u32 flags){   s8 line[512];   s32 i;   if (!bytes)      return;   i = 0;   while (i < bytes) {      u32 idx, len, chunk, values;      u32 colorize;      len = 0;      //---[ offset: ]---      len += sprintf(line, "0x%08lx |", g_src_offset);      //---[ 4 chunks of 4 characters ]---      idx = 0;      colorize = 0;      for (chunk = 0; chunk < 4; chunk++) {         colorize ^= 1;         if (colorize && (flags & HEX_PRINT_COLORS))             len += sprintf(&line[len], LIGHT);         //---[ 1 * 4 chars ]---         values = 0;         while (values++ < 4)             len += sprintf(&line[len], "%.2x ", data[i + idx++]);         if (flags & HEX_PRINT_COLORS)             len += sprintf(&line[len], NORMAL);      }          len += sprintf(&line[len], "|");      //---[ 4 * 1 dword ]----      idx = 0;      if (flags & HEX_PRINT_DWORDS) {         values = 0;         while (values++ < 4) {            colorize ^= 1;            if (colorize && (flags & HEX_PRINT_COLORS))                len += sprintf(&line[len], LIGHT);            len += sprintf(&line[len], "%.8x ", flags & HEX_SWAP_ENDIAN ? htonl(*(u32 *)&data[i + idx]) : *(u32 *)&data[i + idx]) ;            idx += sizeof(u32);            if (flags & HEX_PRINT_COLORS)                len += sprintf(&line[len], NORMAL);         }         len += sprintf(&line[len], "|");      }      //---[ 16 * 1 chars ]----      idx = 0;      values = 0;      while (values++ < 16) {         if (isprint(data[i + idx]))             len += sprintf(&line[len], "%c", data[i + idx++]);         else {            if (flags & HEX_PRINT_COLORS) {               sprintf(&line[len], RED);               len += strlen(RED);            }            len += sprintf(&line[len], "."), idx++;            if (flags & HEX_PRINT_COLORS) {               sprintf(&line[len], NORMAL);               len += strlen(NORMAL);            }         }      }      len += sprintf(&line[len], "|");      i += 16;      g_src_offset += 16;      puts(line);      if (g_quit) {         printf("bye\n");         break;      }   }   return;}int main(int argc, char **argv){   struct sigaction  act;   struct stat st;   off_t soff, doff;   u8 buf[8192];   s8 *source;   s8 *dest;   u32 hex_flags;   u32 blocksize;   u32 count;   u32 fd, fdd;   u32 nr;   u32 rc = 1;   soff = 0;   doff = 0;   count = 0;   fd = fileno(stdin);   fdd = fileno(stdout);   blocksize = sizeof(buf);   hex_flags = HEX_PRINT_DWORDS | HEX_PRINT_COLORS;   // handle SIGINT:   act.sa_handler = sigint_handler;   act.sa_flags = 0;   sigemptyset (&act.sa_mask);   sigaction(SIGINT, &act, NULL);   sigaction(SIGQUIT, &act, NULL);   while (1) {      u32 c;      s32 option_index = 0;      static struct option long_options[] = {         { "soff",    1, 0, 's' },          { "doff",    1, 0, 'd' },         { "count",   1, 0, 'c' },         { "hex",     0, 0, 'x' },         { "nodwords",0, 0, 'W' },         { "nocolors",0, 0, 'C' },         { "eswap",   0, 0, 'e' },         { "verbose", 0, 0, 'v' },         { NULL,      0, 0,  0  }      };      c = getopt_long(argc, argv, "s:d:c:hWCexv", long_options, &option_index);      if (-1 == c)         break;      switch (c) {         case 's':            soff = strtoul(optarg, NULL, 0x0);            break;         case 'd':            doff = strtoul(optarg, NULL, 0x0);            break;         case 'c':            count = strtoul(optarg, NULL, 0x0);            opt_count = 1;            break;         case 'x':            opt_hex_print = 1;            break;         case 'W':            hex_flags &= ~HEX_PRINT_DWORDS;            break;         case 'C':            hex_flags &= ~HEX_PRINT_COLORS;            break;         case 'e':            hex_flags |= HEX_SWAP_ENDIAN;            break;         case 'v':            if (isatty(1))               opt_verbose = 1;            break;         default:            print_usage();      }   }      if (argc > optind) {      source = argv[optind++];      fd = open(source, O_RDONLY);      if (-1 == fd) {         perror(source);         return rc;      }      fstat(fd, &st);      if (soff > st.st_size) {         fprintf(stderr, "source offset: 0x%08lx > file size: 0x%08lx\n", soff, st.st_size);         return rc;      }      g_src_offset = lseek(fd, soff, SEEK_SET);      if (((off_t)-1 == g_src_offset) || (soff != g_src_offset)) {         fprintf(stderr, "unable to seek to offset: 0x%08lx\n", soff);         close(fd);         return rc;      }             } else // can't seek on stdin      soff = 0;   if (argc > optind) {      dest = argv[optind++];      fdd = open(dest, O_WRONLY | O_CREAT, 0644);      if (-1 == fdd) {         perror(dest);         close(fd);         return rc;      }      fstat(fd, &st);      if (soff > st.st_size) {         fprintf(stderr, "offset: 0x%08lx > file size: 0x%08lx\n", soff, st.st_size);         return rc;      }#if 1 // this is legal, but rarely wanted:      if (doff != lseek(fdd, doff, SEEK_SET)) {         fprintf(stderr, "unable to seek to offset: 0x%08lx\n", soff);         close(fd);         return rc;      } #endif    } else // can't seek on stdout      doff = 0;   if (opt_verbose) {      printf("src: offset: 0x%08lx (%.10ld): %s\n",   soff, soff, source ? source : "stdin");      printf("dst: offset: 0x%08lx (%.10ld): %s\n\n", doff, doff, dest ? dest : "stdout");   }   if (opt_count) {      if (blocksize > count)         blocksize = count;   }   nr = 0;   do {      if (opt_count) {         count -= nr;         if (!count)            break;         if (blocksize > count)            blocksize = count;      }      nr = read(fd, buf, blocksize);      if (-1 == nr)         break;      opt_hex_print ?  hex_print(fdd, buf, nr, hex_flags) : write(fdd, buf, nr);      if (g_quit)         break;   } while(nr);   close(fd);   if (dest)      close(fdd);   return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀a∨国产成人精品| 91国产免费看| av午夜精品一区二区三区| 丰满少妇久久久久久久| 国产中文字幕一区| 精品综合免费视频观看| 久久国产欧美日韩精品| 日韩福利电影在线| 久久激情五月激情| 成人国产精品免费观看动漫| 99视频国产精品| 欧美日韩一区二区三区在线看| 欧美一区二区三区四区久久| 欧美电影在哪看比较好| 日韩精品一区二区三区在线观看| 精品一区二区三区久久久| 国产精品亚洲午夜一区二区三区| 国产一区在线观看视频| 99亚偷拍自图区亚洲| 亚洲精品在线三区| 亚洲欧洲色图综合| 久久国产精品第一页| 91麻豆精品视频| 久久夜色精品国产噜噜av| 中文字幕一区在线观看视频| 婷婷亚洲久悠悠色悠在线播放| 精品一区二区三区免费毛片爱| www.亚洲色图.com| 欧美一级高清大全免费观看| 中国av一区二区三区| 亚洲成人第一页| 色香蕉久久蜜桃| 国产午夜精品久久久久久免费视 | 国产一区日韩二区欧美三区| 在线观看亚洲精品视频| 国产精品伦理在线| 蜜臀av性久久久久蜜臀av麻豆| 91黄色免费看| 亚洲国产精品99久久久久久久久| 日韩国产精品91| 91片黄在线观看| 欧美国产禁国产网站cc| 九九热在线视频观看这里只有精品| 91女神在线视频| 国产午夜亚洲精品理论片色戒 | 18成人在线视频| 国产一区美女在线| 久久青草国产手机看片福利盒子| 国内偷窥港台综合视频在线播放| 日韩欧美你懂的| 国产一区二区三区黄视频| 日韩视频在线一区二区| 美国三级日本三级久久99 | 国产综合色产在线精品| 欧美一区二区三区在线观看| 亚洲123区在线观看| 欧美精品日韩精品| 日本欧美在线看| 精品久久久网站| 国产精品一区二区在线观看网站| 久久久午夜精品| 色综合久久综合网| 奇米色一区二区| 久久亚洲综合色一区二区三区| 粉嫩久久99精品久久久久久夜| 国产精品毛片大码女人| 色94色欧美sute亚洲13| 亚洲一区免费在线观看| 欧美日韩精品欧美日韩精品一| 日日夜夜精品视频天天综合网| 国产人妖乱国产精品人妖| 99麻豆久久久国产精品免费优播| 亚洲一区二区三区四区五区黄| 538prom精品视频线放| 精品午夜一区二区三区在线观看| 精品国产电影一区二区| 成人污污视频在线观看| 日本欧美一区二区在线观看| 亚洲欧美综合另类在线卡通| 日韩午夜激情av| 91色乱码一区二区三区| 国产精品一级黄| 亚洲国产欧美在线| 欧美国产日韩亚洲一区| 欧美另类久久久品| av高清不卡在线| 国产在线日韩欧美| 亚洲成人av中文| 亚洲欧美另类图片小说| 久久一二三国产| 欧美色倩网站大全免费| 欧洲精品在线观看| 成人天堂资源www在线| 免费观看成人av| 蜜桃视频一区二区三区| 亚洲男同性恋视频| 国产成人综合在线播放| 亚洲国产日韩av| 亚洲黄色小视频| 亚洲精品国产高清久久伦理二区| 日韩av一区二区三区四区| 一区二区三区不卡在线观看| 国产成人精品综合在线观看| www成人在线观看| 久久精品国产免费看久久精品| 日韩欧美激情一区| 精品一区二区三区香蕉蜜桃| 国产午夜精品在线观看| 99精品欧美一区二区三区综合在线| 亚洲欧美激情插| 欧美猛男男办公室激情| 久久激五月天综合精品| 中文一区二区在线观看| 色综合中文字幕| 秋霞影院一区二区| 亚洲精品一区二区三区99| 99麻豆久久久国产精品免费 | 欧美xxxx在线观看| 粉嫩av一区二区三区在线播放 | 91激情在线视频| 日本欧美一区二区三区| 国产视频亚洲色图| 欧美性视频一区二区三区| 国产曰批免费观看久久久| 亚洲乱码国产乱码精品精可以看| 日韩午夜av一区| 99久久免费视频.com| 蜜臀va亚洲va欧美va天堂| 国产精品国产三级国产普通话99| 欧美美女一区二区三区| 高清日韩电视剧大全免费| 香蕉加勒比综合久久| 中文字幕不卡三区| 日韩色在线观看| 日韩精品一区二区在线观看| 精品久久人人做人人爰| 日本韩国欧美在线| 国产成人精品1024| 日本在线不卡一区| 亚洲欧美在线视频| 精品福利视频一区二区三区| 色婷婷激情综合| 国产成人日日夜夜| 日本亚洲三级在线| 亚洲尤物在线视频观看| 中文字幕av资源一区| 精品日产卡一卡二卡麻豆| 欧美性生活影院| www.欧美.com| 国产精品一区一区三区| 青青草原综合久久大伊人精品| 亚洲精选一二三| 久久精品亚洲麻豆av一区二区| 欧美精品第1页| 在线视频欧美区| 不卡的av网站| 国产成人超碰人人澡人人澡| 蜜桃久久av一区| 亚洲国产wwwccc36天堂| 国产精品福利电影一区二区三区四区| 欧美sm极限捆绑bd| 欧美精品自拍偷拍| 欧美视频一区二| 91女厕偷拍女厕偷拍高清| 成人国产在线观看| 国产98色在线|日韩| 久久精品国产999大香线蕉| 日韩av在线发布| 日本va欧美va精品| 五月婷婷激情综合网| 亚洲自拍偷拍麻豆| 亚洲黄色免费电影| 一区二区三区在线观看视频| 亚洲欧洲日韩在线| 国产精品国产三级国产专播品爱网 | 欧美激情综合在线| 国产亚洲va综合人人澡精品| 精品国产污污免费网站入口| 日韩情涩欧美日韩视频| 日韩一卡二卡三卡国产欧美| 538prom精品视频线放| 7799精品视频| 日韩视频123| 亚洲精品一区二区三区福利| 久久综合久久鬼色中文字| 精品国产成人在线影院 | 懂色av一区二区夜夜嗨| 国产成人精品综合在线观看| 国产91丝袜在线播放0| 成人性生交大片免费看中文网站| 国产成人一区在线| 懂色av一区二区夜夜嗨| 99久久99久久精品免费观看| 91在线视频网址| 欧美中文字幕一区二区三区| 欧美在线免费播放| 欧美另类久久久品| 精品少妇一区二区三区视频免付费 | www国产精品av| 中文字幕免费一区|