⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 test.h

📁 将exe等可执行文件转化成c程序的反编译程序,先到汇编再到c
💻 H
📖 第 1 页 / 共 2 页
字号:

class CTest1
{
private:	//default for class is private
protected:
public:
	DWORD	id1;
	char*	id2;

	CTest1();
	~CTest1();
};

typedef unsigned char UCHAR;
typedef unsigned short USHORT;
typedef unsigned long ULONG;

typedef struct  _DCB_cd_entry { /* */
        PVOID   DCB_cd_io_address;      // addr of request routine
        ULONG   DCB_cd_flags;           // demand bits - as defined below
        ULONG   DCB_cd_ddb;             // driver's DDB pointer
        ULONG   DCB_cd_next;            // pointer to next cd entry
        USHORT  DCB_cd_expan_off;       // offset of expansion area
        UCHAR   DCB_cd_layer_flags;     // flags for layer's use
        UCHAR   DCB_cd_lgn;             // load group number
} DCB_cd_entry, *pDCB_cd_entry;

/*
** union fields follow
*/



/*
** fields common to physical and logical disk DCB's
*/

typedef struct  _DCB_COMMON { /* */

        ULONG   DCB_physical_dcb;       /* DCB for physical device */
        ULONG   DCB_expansion_length;   /* total length of IOP extension filled */
                                        /* in by IOS (excludes IOP size) */
        /*
         * Link fields follow
         */

        PVOID   DCB_ptr_cd;             /* pointer to calldown list */
        ULONG   DCB_next_dcb;           /* link to next DCB */
        ULONG   DCB_next_logical_dcb;   /* pointer to next logical dcb */
                                        /* for physical device */

        BYTE    DCB_drive_lttr_equiv;   /* drive number (A: = 0, etc.) */
                                        /* set up by iosserv during logical */
                                        /* device associate processing. */

        BYTE    DCB_unit_number;        /* either physical drive number */
                                        /* (sequential drive number or'd */
                                        /* with 80h) or unit number within */
                                        /* tsd. set up by iosbid for disk */
                                        /* physical dcb's. set up by tsdpart*/
                                        /* for disk logical dcb's. set up by*/
                                        /* tsdaer for cdrom physical dcb's. */

        USHORT  DCB_TSD_Flags;          /* Flags for TSD */

        /*
         * Volume Tracking fields follow
         */

        ULONG   DCB_vrp_ptr;            /* pointer to VRP for this DCB */

        ULONG   DCB_dmd_flags;          /* demand bits of the topmost layer */

        ULONG   DCB_device_flags;       /* was BDD_Flags */
        ULONG   DCB_device_flags2;      /* second set of general purpose flags*/

        ULONG   DCB_Partition_Start;    /* partition start sector */

        ULONG   DCB_track_table_ptr;    /* pointer for the track table buffer */
                                        /* for ioctls */

        ULONG   DCB_bds_ptr;            /* DOS BDS corresp. to this DCB */
                                        /* (logical DCB's only) */
        ULONG   DCB_Reserved1;          /* reserved - MBZ */
        //ULONG   DCB_Reserved2;          /* reserved - MBZ */
        ULONG   DCB_pEid;               /* IDE ID block */

        BYTE    DCB_apparent_blk_shift; /* log of apparent_blk_size */
        BYTE    DCB_partition_type;     /* partition type */
        USHORT  DCB_sig;                /* padding and signature */
        BYTE    DCB_device_type;        /* Device Type */
        ULONG   DCB_Exclusive_VM;       /* handle for exclusive access to this device */
        UCHAR   DCB_disk_bpb_flags;     /* bpb flags see defines below */
        UCHAR   DCB_cAssoc;             /* count of logical drives */
                                        /* associated with this logical DCB */
        UCHAR   DCB_Sstor_Host;         /* This field indicates a sstor host volume */

        USHORT DCB_user_drvlet;         /* contains the userdriveletter settings else ff*/
        USHORT DCB_Reserved3;           /* reserved - MBZ */

        //#ifndef OnNow
        //ULONG   DCB_Reserved4;          /* reserved - MBZ */
        //#else OnNow
        BYTE    DCB_fACPI;              /* Are we on ACPI subtree ? */
        BYTE    DCB_fSpinDownIssued;    /* Has a spindown issued ? */
        BYTE    DCB_bPowerState;
        BYTE    DCB_bEidLength;
        //#endif


} DCB_COMMON, *PDCB_COMMON;

/*
** RMM uses DCB_Reserved2 field. This should be mutually exclusive to
** Pmode IDE driver controlled DCB which should never be controlled by RMM.
*/

#define DCB_Reserved2 DCB_pEid


/*
** blockdev compatible fields in physical disk DCB's
*/

typedef struct  _DCB_BLOCKDEV { /* */

        /* The initial set of fields below should not be re-ordered or modified in
         * anyway as the offset and the size of fileds have to match those
         * in BLOCKDEV.H for COMPATIBITLITY!!!
         */

        ULONG   DCB_BDD_Next;
        BYTE    DCB_BDD_BD_Major_Version;       /* INIT <BDD_BD_Major_Ver>                        */
        BYTE    DCB_BDD_BD_Minor_Version;       /* INIT <BDD_BD_Minor_Ver>                        */
        BYTE  DCB_BDD_Device_SubType;
        BYTE  DCB_BDD_Int_13h_Number;
        ULONG DCB_BDD_flags;                                    /* was BDD_Flags                                                  */
        ULONG DCB_BDD_Name_Ptr;
        ULONG   DCB_apparent_sector_cnt[2];/* num. of secs as seen by tsd and above */
        ULONG   DCB_apparent_blk_size;  /* blk size of dev. as seen by tsd and above */
        ULONG   DCB_apparent_head_cnt;  /* num. of heads as seen by tsd and above */
        ULONG DCB_apparent_cyl_cnt;     /* num. of cyls as seen by tsd and above */
        ULONG   DCB_apparent_spt;       /* num. of secs/trk as seen by tsd and above */
        ULONG DCB_BDD_Sync_Cmd_Proc;
        ULONG DCB_BDD_Command_Proc;
        ULONG DCB_BDD_Hw_Int_Proc;              /* INIT <0> */
        ULONG   DCB_BDP_Cmd_Queue_Ascending;
        ULONG   DCB_BDP_Cmd_Queue_Descending;
        ULONG   DCB_BDP_Current_Flags;
        ULONG   DCB_BDP_Int13_Param_Ptr;
        ULONG   DCB_BDP_Current_Command;
        ULONG   DCB_BDP_Current_Position[2];
        ULONG   DCB_BDP_Reserved[5];
        ULONG   DCB_fastdisk_bdd;         /* set for DCBs created when a fastdisk regs */
                                                                             /* with the blockdev BDD for it else 0 */

        /*
         *  End BlockDev compatibility
         */

} DCB_BLOCKDEV, *PDCB_BLOCKDEV;

/*
** define the device control block (dcb) for physical devices (i.e., disks)
*/

typedef struct  _DCB { /* */

        DCB_COMMON      DCB_cmn;

        ULONG   DCB_max_xfer_len;       /* maximum transfer length */

        /*
         *      Actual geometry data follows
         */

        ULONG   DCB_actual_sector_cnt[2];/* number of sectors as seen below  */
                                        /* the tsd.                         */
        ULONG   DCB_actual_blk_size;    /* actual block size of the device  */
                                        /* as seen below the tsd.           */
        ULONG   DCB_actual_head_cnt;    /* number of heads as seen below    */
                                        /* the tsd.                         */
        ULONG   DCB_actual_cyl_cnt;     /* number of cylinders as seen      */
                                        /* below the tsd.                   */
        ULONG     DCB_actual_spt;         /* number of sectors per track as   */
                                        /* seen below the tsd.              */

        PVOID   DCB_next_ddb_dcb;                 /* link to next DCB on DDB chain */

        PVOID     DCB_dev_node;                   /* pointer to dev node for this device */
        BYTE    DCB_bus_type;           /* Type of BUS, see below           */

        BYTE    DCB_bus_number;           /* channel (cable) within adapter   */
        UCHAR   DCB_queue_freeze;  /* queue freeze depth counter */

        UCHAR   DCB_max_sg_elements;    /* max # s/g elements.  set initially */
                                          /* by port, but may be MORE RESTRICTIVELY */
                                                                                           /* updated by other layers */
        UCHAR   DCB_io_pend_count; /* indicates number of requests pending */
                                   /* for this DCB (VOLUME TRACKING LAYER USE ONLY) */
        UCHAR   DCB_lock_count;    /* depth counter for LOCK MEDIA commands */
                                   /* (VOLUME TRACKING LAYER USE ONLY) */
        /*
         * SCSI fields follow
         */

        USHORT  DCB_SCSI_VSD_FLAGS;     /* Flags for SRB builder            */

        BYTE    DCB_scsi_target_id;              /* SCSI target ID */
        BYTE    DCB_scsi_lun;                                           /* SCSI logical unit number         */
        BYTE    DCB_scsi_hba;                    /* adapter number relative to port driver */
        BYTE    DCB_max_sense_data_len; /* Maximum sense Length             */
        USHORT  DCB_srb_ext_size;         /* miniport srb extension length    */

        BYTE    DCB_inquiry_flags[8];   /* Device Inquiry Flags             */
        BYTE    DCB_vendor_id[8];       /* Vendor ID string                 */

        BYTE    DCB_product_id[16];     /* Product ID string                */

        BYTE    DCB_rev_level[4];       /* Product revision level           */

        BYTE    DCB_port_name[8];

        UCHAR   DCB_current_unit;       /* used to emulate multiple logical devices */
                                        /* with a single physical device */
        ULONG   DCB_blocked_iop;        /* pointer to requests for an inactive */
                                          /* volume (VOLUME TRACKING LAYER USE ONLY) */
        ULONG   DCB_vol_unlock_timer;   /* unlock timer handle */
        UCHAR   DCB_access_timer;       /* used to measure time between accesses */
        UCHAR   DCB_Vol_Flags;          /* Flags for Volume Tracking          */
                                        /* volume tracking use only */
        BYTE    DCB_q_algo;             /* queuing algorithm index - see    */
                                        /* values below.                    */

        BYTE    DCB_unit_on_ctl;        /* relative device number on ctlr (0-based) */
        ULONG   DCB_Port_Specific;      /* bytes for PORT DRIVER use        */

        ULONG   DCB_spindown_timer;      /* timer for drive spin down      */

        DCB_BLOCKDEV    DCB_bdd;

} DCB, *PDCB;


/* ASM

;; changing the DCB size will break all precompiled utilities.

.errnz SIZE DCB NE 299

*/


/*
** define the device control block (dcb) for logical disk devices
*/

typedef struct  _LOG_DCB { /* */

        DCB_COMMON      DCB_cmn;

} LOG_DCB, *PLOG_DCB;

/*
** define the device control block (dcb) for disk and cd-rom device types
*/

//
//  NOTE: Any changes in this structure must also be reflected in cfr.h
//

// shk BUGBUG Note that this same structure is used for floppies too...
// see iosbid.asm in inquiry_type_table.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -