📄 srccmospwd.h
字号:
//---------------------------------------------------------------------------
#include <windows.h>
#ifndef srcCmosPwdH
#define srcCmosPwdH
//---------------------------------------------------------------------------
#define TAILLE_CMOS 0x80
#define PORT_CMOS_0 0x70
#define PORT_CMOS_1 0x71
typedef unsigned char Bit8u;
typedef unsigned short Bit16u; /* type of 16 bit unsigned quantity */
typedef unsigned long Bit32u; /* type of 32 bit unsigned quantity */
enum { METH_PARC_NORMAL, METH_PARC_SWAP };
enum { ALGO_AMI_F0, ALGO_AMI, ALGO_AMI_80, ALGO_UNKNOW, ALGO_AWARD, ALGO_TOSHIBA, ALGO_ACER, ALGO_PACKARD,ALGO_NONE,ALGO_PHOENIX_DEC,ALGO_PHOENIX_XOR};
enum { AFF_SCAN,AFF_ASCII};
class TCmos{
private:
unsigned char CmosBuf[ 256 ];
protected:
char InPortb(Bit16u Port);
void OutPortb(Bit16u Port, char Value);
void SetPermissions(void) {};
void UnSetPermissions(void){};
bool LoadCmos(void);
Bit16u Get32(int position);
Bit16u Rol(Bit16u n);
Bit8u ReadCmos(const int cell);
void WriteCmos(const int cell, const BYTE value);
void GenericBasic(const int position, const int lng, const int meth_parcourt,const int algo,const int val_stop,const int mode_aff);
void GenericTable(const int *table, const int lng, const int algo,const int val_stop,const int mode_aff);
bool CheckCRCAdd(int position, int size, int pos_crc);
bool CheckFilled(const unsigned char*value, const int lng, const unsigned char filled_value);
bool BuildTable(const int position, const int lng, const int meth_parcourt, int *table);
public:
TCmos() { LoadCmos(); }
char* Data(void) { return CmosBuf; }
virtual char* Password(int Index) = 0;
};
class TAward : public TCmos{
private:
int AwardPos;
unsigned char AwardPasswd[9];
bool BruteAward(Bit16u but);
bool BruteAward(Bit16u but, Bit16u somme, BYTE lng);
void GenericCRC(int algo, int position);
public:
TAward() {}
char* Password(int Index);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -