www.pudn.com > UFSTool.rar > UFSTool.Inc


.586 
.model flat,stdcall 
option casemap:none 
 
	include windows.inc 
   include user32.inc 
   include kernel32.inc 
   include comdlg32.inc 
   include comctl32.inc 
    
   ;include C:\RadASM\Masm\Inc\RADbg.inc 
    
   includelib user32.lib 
   includelib kernel32.lib 
   includelib comdlg32.lib 
   includelib comctl32.lib 
    
   FT_PROGRAM_DATA STRUCT 
   	Signature1        DWord ? 
  		Signature2        DWord ? 
  		Version           DWord ? 
  		VendorID          Word ? 
  		ProductID         Word ? 
	   Manufacturer      LPSTR ? 
	   ManufacturerID    LPSTR ? 
	   Description       LPSTR ? 
	   SerialNumber      LPSTR ? 
	   MaxPower          Word ? 
	   PnP               Word ? 
	   SelfPowered       Word ? 
	   RemoteWakeup      Word ? 
	 	; Rev4 extensions 
	   Rev4              Byte ? 
	   IsoIn             Byte ? 
	   IsoOut            Byte ? 
	   PullDownEnable    Byte ? 
	   SerNumEnable      Byte ? 
	   USBVersionEnable  Byte ? 
	   USBVersion        Word ? 
	 	; FT2232C extensions 
	   Rev5              Byte ? 
	   IsoInA            Byte ? 
	   IsoInB            Byte ? 
	   IsoOutA           Byte ? 
	   IsoOutB           Byte ? 
	   PullDownEnable5   Byte ? 
	   SerNumEnable5     Byte ? 
	   USBVersionEnable5 Byte ? 
	   USBVersion5       Word ? 
	   AIsHighCurrent    Byte ? 
	   BIsHighCurrent    Byte ? 
	   IFAIsFifo         Byte ? 
	   IFAIsFifoTar      Byte ? 
	   IFAIsFastSer      Byte ? 
	   AIsVCP            Byte ? 
	   IFBIsFifo         Byte ? 
	   IFBIsFifoTar      Byte ? 
	   IFBIsFastSer      Byte ? 
	   BIsVCP            Byte ? 
	 	; FT232R extensions 
	   ;UseExtOsc         Byte ? 
	   ;HighDriveIOs      Byte ? 
	   ;EndpointSize      Byte ? 
	   ;PullDownEnableR   Byte ? 
	   ;SerNumEnableR     Byte ? 
	   ;InvertTXD         Byte ? 
	   ;InvertRXD         Byte ? 
	   ;InvertRTS         Byte ? 
	   ;InvertCTS         Byte ? 
	   ;InvertDTR         Byte ? 
	   ;InvertDSR         Byte ? 
	   ;InvertDCD         Byte ? 
	   ;InvertRI          Byte ? 
	   ;Cbus0             Byte ? 
	   ;Cbus1             Byte ? 
	   ;Cbus2             Byte ? 
	   ;Cbus3             Byte ? 
	   ;Cbus4             Byte ? 
	   ;RIsVCP            Byte ? 
	FT_PROGRAM_DATA ENDS 
	 
	SHA1HashSize equ 20 
 
	SHA1Context STRUCT 
		Intermediate_Hash 	DWord SHA1HashSize/4 dup (?)	;Message Digest 
		Length_Low				DWord ?	;Message length in bits 
		Length_High				DWord ?	;Message length in bits 
		Message_Block_Index	DWord ?	;Index into message block array 
		Message_Block 			Byte 64 dup (?)	;512-bit message blocks 
		Computed					DWord ?	;Is the digest computed?  
		Corrupted 				DWord ?	;Is the message digest corrupted? 
	SHA1Context ENDS 
 
 
.const 
 
	IDI_ICONSM			equ 200 
	IDI_ICON				equ 500 
	 
	IDC_MainDlg 		equ 1000 
	IDC_GRP_Flash 		equ 1005 
	IDC_GRP_Activ 		equ 1013 
	IDC_GRP_SN 			equ 1024 
	IDC_BTN_Connect 	equ 1002 
	IDC_CBO_SelDevice equ 1003 
	IDC_LST_Info 		equ 1006 
	IDC_EDT_SN 			equ 1007 
	IDC_BTN_Backup 	equ 1010 
	IDC_BTN_Restore 	equ 1011 
	IDC_BTN_Fix 		equ 1012 
	IDC_EDT_Info 		equ 1014 
	IDC_EDT_EnterSN 	equ 1015 
	IDC_BTN_Close 		equ 1018 
	IDC_CHK_Firmware 	equ 1019 
	IDC_CHK_EEPROM 	equ 1020 
	IDC_CHK_93c46 		equ 1021 
	IDC_BTN_FBI 		equ 1022 
	IDC_STC_LastFree 	equ 1001 
	IDC_STC_UniSoft 	equ 1023 
	IDC_CBO_Firmware 	equ 1027 
	IDC_BTN_Clipboard equ 1008 
	IDC_CHK_HWK 		equ 1026 
	IDC_BTN_EnterSN 	equ 1028 
	IDC_EDT_Reseller 	equ 1029 
	IDC_BTN_Reseller 	equ 1030 
	IDC_CHK_SaveLOG 	equ 1032 
	IDC_BTN_Calculator equ 1017 
	IDC_BTN_Refresh 	equ 1004 
	 
	IDC_BTN_Break	equ 1001 
	IDC_PGB_Flash	equ 1002 
	IDC_LBL_ReadAddr equ 1003 
	 
	;FT_Open_Ex Flags 
	FT_OPEN_BY_SERIAL_NUMBER    equ 1 
	FT_OPEN_BY_DESCRIPTION      equ 2 
	FT_OPEN_BY_LOCATION         equ 4 
	;FT_List_Devices Flags 
	FT_LIST_NUMBER_ONLY         equ 80000000h 
	FT_LIST_BY_INDEX            equ 40000000h 
	FT_LIST_ALL                 equ 20000000h 
	;Baud Rate Selection 
   FT_BAUD_300 		equ 300 
   FT_BAUD_600 		equ 600 
   FT_BAUD_1200 		equ 1200 
   FT_BAUD_2400 		equ 2400 
   FT_BAUD_4800 		equ 4800 
   FT_BAUD_9600 		equ 9600 
   FT_BAUD_14400 		equ 14400 
   FT_BAUD_19200 		equ 19200 
   FT_BAUD_38400 		equ 38400 
   FT_BAUD_57600 		equ 57600 
   FT_BAUD_115200 	equ 115200 
   FT_BAUD_230400 	equ 230400 
   FT_BAUD_460800 	equ 460800 
   FT_BAUD_921600 	equ 921600 
	;Data Bits Selection 
   FT_DATA_BITS_7 	equ 7 
   FT_DATA_BITS_8 	equ 8 
	;Stop Bits Selection 
   FT_STOP_BITS_1 	equ 0 
   FT_STOP_BITS_2 	equ 2 
	;Parity Selection 
   FT_PARITY_NONE 	equ 0 
   FT_PARITY_ODD 		equ 1 
   FT_PARITY_EVEN 	equ 2 
   FT_PARITY_MARK 	equ 3 
   FT_PARITY_SPACE 	equ 4 
   ;Flow Control Selection 
   FT_FLOW_NONE 		equ 0000h 
   FT_FLOW_RTS_CTS 	equ 0100h 
   FT_FLOW_DTR_DSR 	equ 0200h 
   FT_FLOW_XON_XOFF 	equ 0400h 
   ;Purge Commands  
	FT_PURGE_RX 		equ 1 
   FT_PURGE_TX 		equ 2 
   ;Notification Events 
   FT_EVENT_RXCHAR 	equ 1 
   FT_EVENT_MODEM_STATUS equ 2 
    
   Tornado1Box		equ 1 
   Tornado2Box		equ 2 
   TwisterBox 		equ 3 
   NBoxBox			equ 4 
   PowFlasherBox	equ 5 
   SFlasherBox		equ 6 
   BalckListBox	equ -1 
    
   NokiaActSeed		equ 44435434h 
   EricssonActSeed	equ 45524154h 
   SamsungActSeed		equ 53414D53h 
   FreiaActSeed		equ 1D1D1F02h 
   MotorolaActSeed	equ 4D543139h 
   Dctx1HwkActSeed	equ 1E190E6Eh 
   Kfz1HwkActSeed		equ 91F161Dh 
   Sams1HwkActSeed	equ 91B1709h 
    
SHA1FUNC1 macro m1,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,[esi] 
	rol	esp,5 
	bswap	edi 
	add	r1,esp 
	mov	m1,edi 
	mov	esp,r2 
	add	esi,4 
	xor	esp,r3 
	add	r1,edi 
	and	esp,r4 
	xor	esp,r3 
	ror	r4,2 
	lea	r1,[esp+r1+5A827999h]	;2^30*sqr(2) 
endm 
 
SHA1FUNC2 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	and	esp,r4 
	mov	m4,edi 
	xor	esp,r3 
	add	r1,edi 
	ror	r4,2 
	lea	r1,[esp+r1+5A827999h]	;2^30*sqr(2) 
endm 
 
SHA1FUNC3 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	xor	esp,r4 
	mov	m4,edi 
	add	r1,esp 
	ror	r2,2 
	lea	r1,[edi+r1+6ED9EBA1h]	;2^30*sqr(3) 
endm 
 
SHA1FUNC4 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	or		esp,r3 
	rol	edi,1 
	and	esp,r4 
	mov	m4,edi 
	add	r1,edi 
	mov	edi,r2 
	and	edi,r3 
	or		edi,esp 
	ror	r2,2 
	lea	r1,[edi+r1+8F1BBCDCh]	;2^30*sqr(5) 
endm 
 
SHA1FUNC5 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	xor	esp,r4 
	mov	m4,edi 
	add	r1,esp 
	ror	r2,2 
	lea	r1,[edi+r1+0CA62C1D6h]	;2^30*sqr(10) 
endm 
 
SHA2FUNC1 macro m1,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,[esi] 
	rol	esp,5 
	bswap	edi 
	add	r1,esp 
	mov	m1,edi 
	mov	esp,r2 
	add	esi,4 
	xor	esp,r3 
	add	r1,edi 
	and	esp,r4 
	xor	esp,r3 
	ror	r4,2 
	lea	r1,[esp+r1+696A5748h] 
endm 
 
SHA2FUNC2 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	and	esp,r4 
	mov	m4,edi 
	xor	esp,r3 
	add	r1,edi 
	ror	r4,2 
	lea	r1,[esp+r1+696A5748h] 
endm 
 
SHA2FUNC3 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	xor	esp,r4 
	mov	m4,edi 
	add	r1,esp 
	ror	r2,2 
	lea	r1,[edi+r1+0EBABE641h] 
endm 
 
SHA2FUNC4 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	or		esp,r3 
	rol	edi,1 
	and	esp,r4 
	mov	m4,edi 
	add	r1,edi 
	mov	edi,r2 
	and	edi,r3 
	or		edi,esp 
	ror	r2,2 
	lea	r1,[edi+r1+471BACBEh] 
endm 
 
SHA2FUNC5 macro m1,m2,m3,m4,r0,r1,r2,r3,r4 
	mov	esp,r0 
	mov	edi,m1 
	rol	esp,5 
	xor	edi,m2 
	add	r1,esp 
	xor	edi,m3 
	mov	esp,r2 
	xor	edi,m4 
	xor	esp,r3 
	rol	edi,1 
	xor	esp,r4 
	mov	m4,edi 
	add	r1,esp 
	ror	r2,2 
	lea	r1,[edi+r1+0FECCA123h] 
endm