📄 flasherdlg.h
字号:
// FlasherDlg.h : header file
//
#if !defined(AFX_FLASHERDLG_H__34987BA7_D17A_11D3_AE07_0000E8CEC293__INCLUDED_)
#define AFX_FLASHERDLG_H__34987BA7_D17A_11D3_AE07_0000E8CEC293__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
/////////////////////////////////////////////////////////////////////////////
// CFlasherDlg dialog
void Flash(); // - functie flash - asm
static BYTE bool_timeout; // setat cu 1 la timeout, altfel = 0
void Eroare(); // afisare eroare
void Textout(CString str); // afisare statusuri
void Status(); // apelare afisare status
void StatusDecodare(); // afisare status la decodare
static UINT dw_587e = 0x0190; // delay
static UINT dw_68b7 = 0x400000; //timeout
static BYTE b_5826 = 0xff; //byte curent
static BYTE b_AL; // registrul al
static BYTE b_AH; // registrul ah
static BYTE b_921b = 61; // flash type
static BYTE b_921c = 02; // flash type
static UINT bootbin_size_5897; // lungime boot bin
static BYTE* bootbin_589b; // pointer boot bin
static UINT adr_start_590d; //adresa start
static UINT adr_end_5911; //adresa end
static UINT dw_flashid_68bb; // flash id in clar
static UINT floader_size_58b8; // lungime floader
static BYTE* floader_58bc; // pointer floader
static BYTE* flsfile_58c0; // pointer fls file
static BYTE b_6499[0x3e8]; // buffer intrare? pointer
static BYTE b_read_or_write; // 0= read, 1= write
static BYTE b_error; // cod de eroare la iesire fortata
static BYTE ajutator[100];
static BYTE* dw_8cce; // comenzi ?
static BYTE dw_8f9e; // variabila paritate la scriere !!!
static BYTE b_msg; // mesaje pt status
static int int_rutina_timeout; // nr rutina unde a dat timeout
static BYTE unk_61d6 []=
{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff};
static BYTE unk_8ea9 [] =
{ 0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,
0xC6,5,0xCE , 0x8C,0,0,8, 0xB9,0,0,
0,0, 0xE8, 0x3D ,0xFF, 0xFF ,0xFF, 0xC7 ,5,0xB7,
0x68,0,0,0,0,0,4,0xE8, 0xA4 ,0xD9,
0xFF, 0xFF, 0xC7, 5,0xB7, 0x68,0,0,0,0,
0x20, 0, 0x0F, 0x82,0x46,0xDC,0xFF, 0xFF,0xE8,0xB9,
0xFE, 0xFF, 0xFF, 0xC3 }; //74 bytes
static CStatic* text[6];
static int mesaj_curent = 0;
static int dw_adresa_curenta;
BOOL FindFlash(int nrflash,UINT flashid,UINT &alias, CString &tipflash,CString &floader);
int GetNrFlashes(BYTE* buffer, int length);
void CreateFlashStruct(BYTE* buffer, int nrflash);
BOOL OpenLoader(CString &loadername);
struct flashes
{
UINT flashid; //4octeti
UINT aliasid;
CString tipflash;
CString floaderfile;
}static *flash;
static BYTE* buffdevtype; //buffer sir coduri flashuri
static int nrflashuri; // nr flashuri in fisier
static buffdevlen; // lungime buffer flashuri
static UINT stivaESP; // pt iesire fortata - reface ESP
static BYTE verbuff[0x1000]; // buffer versiune
static BYTE p_8cce[10]; // buffer param 8e0b
BOOL GetPhoneType(CString &type); // NSE -> 5110,6110 ...
UINT GetStartAddress(CString &type, CString &ver); //get decod address (for flashing)
UINT GetPPMAddress(CString type); // adresa de citire PPM - model, ver
BOOL SetFlsFile(CString type,CString ver); // alege fisierul fix
static BYTE exit_decod; ; // flag iesire la eroare
static BYTE check61; // flag verific param 61
static BYTE search_ppm; //flag cautare zona ppm
static BYTE b_hlfound; // flag existenta hardlock
static BYTE b_random; // nr aleat pt rutina verifyhl
void VerifyHL();
static BYTE flsfile_58c0_2[0x20000];
static UINT cal_factor;
static BYTE getver; // 1 pt faza getver 0 pt decod
void SelectPhone(CString type);
static int option_loader;
static BYTE b_3310v406; // flag model cu fix de 128k
static BYTE serialHDD[8]; // PC ID
static BYTE CalcB(BYTE* ser, BYTE* key);
static BYTE* GetKey();
static BYTE* GetSerialHDD();
static BYTE* ConvHDD8to4(BYTE* serHDD);
class CFlasherDlg : public CDialog
{
// Construction
public:
void CloseTel();
void Text2(CString text2);
BOOL cal_bad;
void Calibrare();
void AfiseazaEroareFinal();
BOOL Try61();
static UINT ThrPIC(LPVOID parstr);
void OpenPhone();
BOOL Try65();
BOOL Try65xx();
BOOL Try61xx();
void ResetPhone();
void InitFlashes();
struct tipph
{
BYTE par6x;
BYTE parmic;
}tipPhone[10];
CFlasherDlg(CWnd* pParent = NULL); // standard constructor
// Dialog Data
//{{AFX_DATA(CFlasherDlg)
enum { IDD = IDD_FLASHER_DIALOG };
CStatic m_text1;
CStatic m_text2;
CStatic m_text3;
CStatic m_text4;
CStatic m_text5;
CStatic m_text;
CString m_strtext;
int m_option;
//}}AFX_DATA
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CFlasherDlg)
protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support
//}}AFX_VIRTUAL
// Implementation
protected:
HICON m_hIcon;
// Generated message map functions
//{{AFX_MSG(CFlasherDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
afx_msg void OnTimer(UINT nIDEvent);
afx_msg void OnAutounlock();
afx_msg void OnAbout();
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_FLASHERDLG_H__34987BA7_D17A_11D3_AE07_0000E8CEC293__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -