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

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? 29a-7.025

?? 從29A上收集的病毒源碼
?? 025
字號(hào):

/*
   Examine the OLE 2.0 Structured Storage (aka OLE Docfile) property storage
   name.
   Copyright (c) 1999-2003  Slash Wu <slash@ms32.url.com.tw>

   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published  by
   the Free Software Foundation; either version 2 of the License, or
   (at your option) any later version.

   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307  USA
 */

#include <stdio.h>
void
examine_pps_name (unsigned char *root, long pps)
{
  static int level = 0;
  int i;
  if (root[0x80 * pps + 0x42] == 2) {	/* if it is a stream */
    for (i = 0; i < level; i++)
      printf ("  ");
    for (i = 0; *(short *) &root[0x80 * pps + i] != 0; i += 2)
      putchar (*(short *) &root[0x80 * pps + i]);
    putchar ('\n');
  }
  if (*(long *) &root[0x80 * pps + 0x44] != -1L)
    examine_pps_name (root, *(long *) &root[0x80 * pps + 0x44]);
  if (*(long *) &root[0x80 * pps + 0x48] != -1L)
    examine_pps_name (root, *(long *) &root[0x80 * pps + 0x48]);
  if (root[0x80 * pps + 0x42] != 2) {	/* if it is a storage or root */
    for (i = 0; i < level; i++)
      printf ("  ");
    for (i = 0; *(short *) &root[0x80 * pps + i] != 0; i += 2)
      putchar (*(short *) &root[0x80 * pps + i]);
    putchar ('\n');
  }
  if (*(long *) &root[0x80 * pps + 0x4c] != -1L) {
    level++;
    examine_pps_name (root, *(long *) &root[0x80 * pps + 0x4c]);
    level--;
  }
}


main (int argc, char *argv[])
{
  FILE *fp;
  long identifier;
  unsigned char *header, *bbd, *sbd, *root;
  long *sbd_list, *root_list;
  int i;
  int count;
  if (argc != 2) {
    fprintf (stderr, "usage: %s OLE2_Docfile\n", argv[0]);
    exit (1);
  }

  /* ok, 1st we open the docfile, and check if it is an OLE Docfile */
  if ((fp = fopen (argv[1], "rb")) == (FILE *) 0) {
    perror (argv[1]);
    exit (1);
  }
  fread (&identifier, 1, 4, fp);
  if (identifier != 0xe011cfd0L) {
    fprintf (stderr, "this is not an OLE Docfile.\n");
    exit (1);
  }
  fread (&identifier, 1, 4, fp);
  if (identifier != 0xe11ab1a1L) {
    fprintf (stderr, "this is not an OLE Docfile.\n");
    exit (1);
  }
  rewind (fp);

  /* 2nd, we read in Docfile header (block -1) */
  if ((header = (unsigned char *) calloc (1, 0x200)) == (unsigned char *) 0) {
    printf ("not enough memory\n");
    return;
  }
  fread (header, 1, 0x200, fp);

  /* 3rd, we read in `big block depot' blocks */
  if ((bbd =
       (unsigned char *) calloc (0x200,
				 *(long *) &header[0x2c])) ==
      (unsigned char *) 0) {
    printf ("not enough memory, maybe too many `bbd' blocks\n");
    free (header);
    return;
  }

  for (i = 0; i < *(long *) &header[0x2c]; i++) {
    fseek (fp, 0x200 * (1 + ((long *) &header[0x4c])[i]), SEEK_SET);
    fread (bbd + i * 0x200, 1, 0x200, fp);
  }

  /* 4th, we extract the `sbd_list' (this is for further use) */
  if (*(long *) &header[0x3c] != -2L) {

    /* we 1st count the number of sbd blocks */
    long prev;
    for (prev = *(long *) &header[0x3c], count = 1;
	 (prev = ((long *) bbd)[prev]) != -2L; count++);

    /* so we can allocate appropriate array to put the `sbd block numbers' */
    if ((sbd_list = (long *) calloc (4, count)) == (long *) 0) {
      printf ("not enough memory, maybe too many `sbd' blocks\n");
      free (header);
      free (bbd);
      return;
    }

    for (sbd_list[0] = *(long *) &header[0x3c], i = 1;
	 ((long *) bbd)[sbd_list[i - 1]] != -2L; i++)
      sbd_list[i] = ((long *) bbd)[sbd_list[i - 1]];

    /* now, we read in `small block depot' blocks */
    if ((sbd = (unsigned char *) calloc (0x40, count)) == (unsigned char *) 0) {
      printf ("not enough memory, maybe too many `sbd' blocks\n");
      free (header);
      free (bbd);
      free (sbd_list);
      return;
    }

    for (i = 0; i < count; i++) {
      fseek (fp, 0x200 * (1 + sbd_list[i]), SEEK_SET);
      fread (sbd + i * 0x40, 1, 0x40, fp);
    }
  }

  /* 5th, we extract the `root_list' */
  /* we 1st count the number of root blocks */
  {
    long prev;
    for (prev = *(long *) &header[0x30], count = 1;
	 (prev = ((long *) bbd)[prev]) != -2L; count++);
  }

  /* so we can allocate appropriate array to put the `root block numbers' */
  if ((root_list = (long *) calloc (4, count)) == (long *) 0) {
    printf ("not enough memory, maybe too many `root' blocks\n");
    free (header);
    free (bbd);
    if (*(long *) (header + 0x3c) != -2L) {
      free (sbd_list);
      free (sbd);
    }
    return;
  }

  for (root_list[0] = *(long *) &header[0x30], i = 1;
       ((long *) bbd)[root_list[i - 1]] != -2L; i++)
    root_list[i] = ((long *) bbd)[root_list[i - 1]];

  /* now, we read in `root' blocks */
  if ((root = (unsigned char *) calloc (0x200, count)) == (unsigned char *) 0) {
    printf ("not enough memory, maybe too many `root' blocks\n");
    free (header);
    free (bbd);
    if (*(long *) (header + 0x3c) != -2L) {
      free (sbd_list);
      free (sbd);
    }
    free (root_list);
    return;
  }

  for (i = 0; i < count; i++) {
    fseek (fp, 0x200 * (1 + root_list[i]), SEEK_SET);
    fread (root + i * 0x200, 1, 0x200, fp);
  }

  /* ok, what we want to do could be followed, now we want to examine each 
     pps name */
  examine_pps_name (root, 0L);	/* from pps 0 (Root Entry) */

  /* free allocated memory */
  free (header);
  free (bbd);
  if (*(long *) (header + 0x3c) != -2L) {
    free (sbd_list);
    free (sbd);
  }
  free (root_list);
  free (root);
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美视频第二页| 国产成人8x视频一区二区 | 99免费精品在线| 国产精品免费aⅴ片在线观看| 久久99久久99小草精品免视看| 精品日产卡一卡二卡麻豆| 美女视频一区二区三区| 精品久久久久久久久久久久久久久久久| 久久国产免费看| 国产女同性恋一区二区| jlzzjlzz亚洲女人18| 亚洲精品菠萝久久久久久久| 欧美日韩一区高清| 国产一区二区免费在线| 国产精品毛片无遮挡高清| 一本大道久久a久久精品综合| 亚洲午夜一区二区| 欧美变态tickle挠乳网站| 国产成人午夜片在线观看高清观看| 国产精品视频一区二区三区不卡| 色偷偷久久一区二区三区| 日韩精品亚洲专区| 国产精品久久久久久久久晋中| 一本大道久久a久久精二百| 美女看a上一区| 国产精品理论片在线观看| 久久久久久久国产精品影院| 成人亚洲精品久久久久软件| 亚洲福利一二三区| 久久午夜老司机| 欧洲国内综合视频| 国产v日产∨综合v精品视频| 午夜私人影院久久久久| 国产欧美精品一区二区三区四区| 欧美日韩电影一区| 波多野结衣91| 极品少妇一区二区| 亚洲福利一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整| 在线观看视频一区| 粉嫩av一区二区三区| 日韩黄色一级片| 一区二区三区中文字幕电影| 久久女同精品一区二区| 欧美日韩1区2区| 色综合久久综合中文综合网| 国产精品1区2区| 免费成人你懂的| 天堂久久一区二区三区| ●精品国产综合乱码久久久久| 欧美精品一区二区三| 欧美欧美欧美欧美首页| 色婷婷一区二区| 成人永久看片免费视频天堂| 精品一区二区三区影院在线午夜| 亚洲一区二区五区| 亚洲男同性视频| 中文字幕一区视频| 国产精品入口麻豆九色| 2020日本不卡一区二区视频| 4438x成人网最大色成网站| 欧美一区三区四区| 欧美美女激情18p| 欧美三级日韩三级| 欧美综合在线视频| 色网综合在线观看| 色婷婷av一区二区三区gif| 99久久精品国产一区二区三区| 国产一区 二区| 高清成人免费视频| 国产91精品一区二区麻豆亚洲| 精品一区二区在线免费观看| 精品写真视频在线观看| 极品销魂美女一区二区三区| 久久99精品久久久久久| 另类小说综合欧美亚洲| 久久精品免费观看| 精东粉嫩av免费一区二区三区| 国产在线视频不卡二| 国产真实乱偷精品视频免| 精品一区二区三区免费播放| 国产一区二区日韩精品| 成人午夜精品在线| 99精品桃花视频在线观看| 99re6这里只有精品视频在线观看| 成人午夜电影久久影院| 99精品欧美一区二区蜜桃免费 | 91精品欧美一区二区三区综合在| 欧美另类高清zo欧美| 91.com视频| 久久综合九色综合欧美就去吻| 久久久久久久网| 亚洲三级视频在线观看| 夜夜操天天操亚洲| 不卡av在线网| 一本一道波多野结衣一区二区| 欧美日韩免费观看一区三区| 欧美大片日本大片免费观看| 久久久国产精品不卡| 国产精品色哟哟网站| 一区二区成人在线| 蜜臀av性久久久久蜜臀av麻豆| 国产专区欧美精品| 一本大道综合伊人精品热热 | 久久精品一区二区三区av| 欧美国产精品专区| 亚洲精品乱码久久久久久黑人| 亚洲大片一区二区三区| 精品一区二区日韩| caoporn国产一区二区| 欧美日韩免费一区二区三区 | 国产精品网站在线播放| 亚洲美女视频在线观看| 久久爱www久久做| 99久久国产综合精品麻豆 | 久久久综合激的五月天| ㊣最新国产の精品bt伙计久久| 午夜国产不卡在线观看视频| 久久国产精品免费| 91麻豆精品一区二区三区| 91精品蜜臀在线一区尤物| 中文字幕av一区二区三区免费看| 亚洲一区影音先锋| 国产福利不卡视频| 欧美日韩国产色站一区二区三区| 久久精品这里都是精品| 舔着乳尖日韩一区| www.色综合.com| 日韩三级视频在线看| 亚洲欧美日韩中文字幕一区二区三区 | 亚洲情趣在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 欧美色网一区二区| 国产精品国模大尺度视频| 另类中文字幕网| 欧美嫩在线观看| 亚洲免费观看在线视频| 国产一区二区三区最好精华液 | 精品福利av导航| 亚洲最色的网站| 成人免费视频播放| 久久亚洲精品国产精品紫薇| 调教+趴+乳夹+国产+精品| 欧美在线视频你懂得| 中文字幕视频一区二区三区久| 国产乱子伦视频一区二区三区| 91精品国产免费久久综合| 亚洲大片免费看| 欧美午夜在线观看| 亚洲精品成人a在线观看| 99精品偷自拍| 国产精品二三区| av日韩在线网站| 欧美高清在线视频| 成人在线视频一区| 国产日韩欧美a| 成人午夜视频网站| 亚洲综合视频网| 91精品福利在线| 亚洲制服欧美中文字幕中文字幕| www.亚洲免费av| 亚洲精品中文字幕乱码三区| 国产·精品毛片| 中文字幕av一区二区三区高| 盗摄精品av一区二区三区| 欧美国产日韩亚洲一区| 丰满少妇在线播放bd日韩电影| 欧美激情在线免费观看| 高潮精品一区videoshd| 国产精品三级视频| 播五月开心婷婷综合| 亚洲欧美国产高清| 色嗨嗨av一区二区三区| 性久久久久久久| 日韩午夜在线观看视频| 日本欧美韩国一区三区| 欧美电影免费观看高清完整版在线 | 亚洲一区视频在线| 欧美日本乱大交xxxxx| 日韩高清中文字幕一区| 欧美调教femdomvk| 免费在线观看成人| 国产性做久久久久久| 成+人+亚洲+综合天堂| 亚洲精品日韩综合观看成人91| 在线看日韩精品电影| 日本大胆欧美人术艺术动态| 久久亚区不卡日本| 91日韩一区二区三区| 亚洲国产aⅴ成人精品无吗| 欧美一区二区免费| 成人午夜av影视| 天天免费综合色| www成人在线观看| 99久久久国产精品| 日韩精品视频网站| 久久久久久一二三区| 色婷婷国产精品| 国产一区二区三区在线观看免费视频| 国产精品情趣视频|