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

📄 flasherdlg.h

📁 A flasher for old nokia phones.you need to use a special interface for that not ptovided here in doc
💻 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 + -