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

📄 tstril.asm

📁 wince ril程序
💻 ASM
📖 第 1 页 / 共 5 页
字号:

	add         r3, sp, #8
	mov         r2, #0
	mov         r1, #6, 26
	ldr         r0, [pc, #0x4C]
	ldr         r0, [r0]
	bl          SendMessageW

; 289  : 				break;

	b           |$LN11@NotifyCall|
|$LN1@NotifyCall|

; 290  : 			}
; 291  :      case RIL_NOTIFY_SIMTOOLKITSESSIONEND:
; 292  :             {
; 293  : 				RILMESSAGE *prm = (RILMESSAGE *)lpData;

	ldr         r3, [sp, #0x4B4]
	str         r3, [sp, #0x488]

; 294  : 				wsprintf(szString, L"A SIM Toolkit command session is ending ");

	ldr         r1, [pc, #0x38]
	add         r0, sp, #8
	bl          wsprintfW

; 295  : 				SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	add         r3, sp, #8
	mov         r2, #0
	mov         r1, #6, 26
	ldr         r0, [pc, #0x1C]
	ldr         r0, [r0]
	bl          SendMessageW
|$LN11@NotifyCall|
|$LN13@NotifyCall|

; 191  : {

	ldr         r0, [sp, #0x48C]
	bl          __security_check_cookie

; 296  : 				break;
; 297  : 			}
; 298  :       }
; 299  :     }
; 300  : }

	mov         r12, #1, 22
	orr         r12, r12, #0xA8
	add         sp, sp, r12
	ldmia       sp, {sp, pc}
|$LN19@NotifyCall|
	DCD         |?g_hwndEdit@@3PAUHWND__@@A|
	DCD         |$SG32218|
	DCD         |$SG32213|
	DCD         |$SG32208|
	DCD         |?g_hRil@@3PAXA|
	DCD         |?hashandle@?1??NotifyCallback@@YAXKPBXKK@Z@4HA|
	DCD         |$SG32187|
	DCD         |$SG32186|
	DCD         |$SG32177|
	DCD         |$SG32166|
	DCD         |__security_cookie|
	DCD         0xfffffb58
|$M32429|

	ENDP  ; |?NotifyCallback@@YAXKPBXKK@Z|, NotifyCallback

	EXPORT	|__$ArrayPad$| [ DATA ]
	EXPORT	|?ResultCallback@@YAXKJPBXKK@Z|		; ResultCallback

	AREA	|.pdata|, PDATA
|$T32441| DCD	|$LN5@ResultCall|
	DCD	0x40001f04
; Function compile flags: /Odsp

	AREA	|.text|, CODE, ARM

|?ResultCallback@@YAXKJPBXKK@Z| PROC			; ResultCallback

; 304  : {

|$LN5@ResultCall|
	mov         r12, sp
	stmdb       sp!, {r0 - r3}
	stmdb       sp!, {r12, lr}
	sub         sp, sp, #0x86, 30
|$M32438|
	ldr         r3, [pc, #0x60]
	ldr         r3, [r3]
	str         r3, [sp, #0x20C]

; 305  :     TCHAR szString[256];
; 306  :     BYTE *prm = (BYTE *)lpData;

	ldr         r3, [sp, #0x228]
	str         r3, [sp, #0x208]

; 307  :     wsprintf(szString, L"ResultCallback result: dwCode=%d, hrCmdID=%d lpData=%p, cbData=%d",
; 308  :     dwCode, hrCmdID, lpData, cbData);    

	ldr         r3, [sp, #0x22C]
	str         r3, [sp, #4]
	ldr         r3, [sp, #0x228]
	str         r3, [sp]
	ldr         r3, [sp, #0x224]
	ldr         r2, [sp, #0x220]
	ldr         r1, [pc, #0x30]
	add         r0, sp, #8
	bl          wsprintfW

; 309  :     SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	add         r3, sp, #8
	mov         r2, #0
	mov         r1, #6, 26
	ldr         r0, [pc, #0x14]
	ldr         r0, [r0]
	bl          SendMessageW

; 304  : {

	ldr         r0, [sp, #0x20C]
	bl          __security_check_cookie

; 310  : 
; 311  :    /*szString[0] = 0;
; 312  :     for(int i = 0; i < cbData; i++)
; 313  :     {
; 314  :         TCHAR text[2] ;
; 315  :         wsprintf(text, L"0x%2x", prm[i]);
; 316  :         wcscat(szString, text);
; 317  :         wcscat(szString, L" ");                    
; 318  :     }
; 319  :     SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);*/
; 320  : }

	add         sp, sp, #0x86, 30
	ldmia       sp, {sp, pc}
|$LN6@ResultCall|
	DCD         |?g_hwndEdit@@3PAUHWND__@@A|
	DCD         |$SG32230|
	DCD         |__security_cookie|
|$M32439|

	ENDP  ; |?ResultCallback@@YAXKJPBXKK@Z|, ResultCallback

	EXPORT	|__$ArrayPad$| [ DATA ]
	EXPORT	|?DoRIL@@YAKPAX@Z|			; DoRIL
	IMPORT	|RIL_RegisterOnNetwork|
	IMPORT	|RIL_UnregisterFromNetwork|
	IMPORT	|Sleep|
	IMPORT	|RIL_Initialize|

	AREA	|.pdata|, PDATA
|$T32451| DCD	|$LN8@DoRIL|
	DCD	0x40007b04
; Function compile flags: /Odsp

	AREA	|.text|, CODE, ARM

|?DoRIL@@YAKPAX@Z| PROC					; DoRIL

; 325  : {	

|$LN8@DoRIL|
	mov         r12, sp
	stmdb       sp!, {r0}
	stmdb       sp!, {r12, lr}
	sub         sp, sp, #9, 26
|$M32448|
	ldr         r3, [pc, #0x1D0]
	ldr         r3, [r3]
	str         r3, [sp, #0x220]

; 326  : 	HRESULT result;
; 327  : 	DWORD dwNotificationClasses = 0xFF0000;

	mov         r3, #0xFF, 16
	str         r3, [sp, #0x218]

; 328  : 	LRESULT lresult;
; 329  : 	TCHAR szString[256];
; 330  : 
; 331  : 	SendMessage(g_hwndEdit, LB_RESETCONTENT, 0, 0);

	mov         r3, #0
	mov         r2, #0
	mov         r1, #0x61, 30
	ldr         r0, [pc, #0x194]
	ldr         r0, [r0]
	bl          SendMessageW

; 332  : 	lresult = SendMessage(g_hwndEdit,	LB_GETHORIZONTALEXTENT, 0, 0);

	mov         r3, #0
	mov         r2, #0
	mov         r1, #1, 24
	orr         r1, r1, #0x93
	ldr         r0, [pc, #0x178]
	ldr         r0, [r0]
	bl          SendMessageW
	str         r0, [sp, #0x230]
	ldr         r3, [sp, #0x230]
	str         r3, [sp, #0x214]

; 333  : 	SendMessage(g_hwndEdit,	LB_SETHORIZONTALEXTENT, 1000, 0);

	mov         r3, #0
	mov         r2, #0xFA, 30
	mov         r1, #0x65, 30
	ldr         r0, [pc, #0x154]
	ldr         r0, [r0]
	bl          SendMessageW

; 334  : 
; 335  : 	result = RIL_Initialize(1, ResultCallback, NotifyCallback, dwNotificationClasses, g_dwParam, &g_hRil);

	ldr         r3, [pc, #0x150]
	str         r3, [sp, #4]
	ldr         r3, [pc, #0x158]
	ldr         r3, [r3]
	str         r3, [sp]
	ldr         r3, [sp, #0x218]
	ldr         r2, [pc, #0x144]
	ldr         r1, [pc, #0x13C]
	mov         r0, #1
	bl          RIL_Initialize
	str         r0, [sp, #0x234]
	ldr         r3, [sp, #0x234]
	str         r3, [sp, #0x21C]

; 336  : 	wsprintf(szString, L"RIL Handle: %08X, result %08X", g_hRil, result);

	ldr         r3, [sp, #0x21C]
	ldr         r2, [pc, #0x118]
	ldr         r2, [r2]
	ldr         r1, [pc, #0x114]
	add         r0, sp, #8
	bl          wsprintfW

; 337  :     Sleep(100);

	mov         r0, #0x64
	bl          Sleep

; 338  : 	SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString); 

	add         r3, sp, #8
	mov         r2, #0
	mov         r1, #6, 26
	ldr         r0, [pc, #0xE8]
	ldr         r0, [r0]
	bl          SendMessageW

; 339  :     result = RIL_UnregisterFromNetwork(g_hRil);

	ldr         r3, [pc, #0xE4]
	ldr         r0, [r3]
	bl          RIL_UnregisterFromNetwork
	str         r0, [sp, #0x238]
	ldr         r3, [sp, #0x238]
	str         r3, [sp, #0x21C]

; 340  :     Sleep(3000);

	mov         r0, #0xB, 24
	orr         r0, r0, #0xB8
	bl          Sleep

; 341  :     result = RIL_RegisterOnNetwork(g_hRil, RIL_OPSELMODE_AUTOMATIC, NULL);

	mov         r2, #0
	mov         r1, #1
	ldr         r3, [pc, #0xB8]
	ldr         r0, [r3]
	bl          RIL_RegisterOnNetwork
	str         r0, [sp, #0x23C]
	ldr         r3, [sp, #0x23C]
	str         r3, [sp, #0x21C]

; 342  : 
; 343  : 
; 344  :     BYTE envcmd[9];
; 345  :     envcmd[0] = 0xd3; // Menu selection tag

	mov         r3, #0xD3
	strb        r3, [sp, #0x208]

; 346  :     envcmd[1] = 0x07; // Length

	mov         r3, #7
	strb        r3, [sp, #0x209]

; 347  :     envcmd[2] = 0x02; // Device Identity Tag

	mov         r3, #2
	strb        r3, [sp, #0x20A]

; 348  :     envcmd[3] = 0x02; // Device Identity length

	mov         r3, #2
	strb        r3, [sp, #0x20B]

; 349  :     envcmd[4] = 0x82; // Source: ME

	mov         r3, #0x82
	strb        r3, [sp, #0x20C]

; 350  :     envcmd[5] = 0x81; // Destination: SIM

	mov         r3, #0x81
	strb        r3, [sp, #0x20D]

; 351  :     envcmd[6] = 0x10; // Item Identifier tag

	mov         r3, #0x10
	strb        r3, [sp, #0x20E]

; 352  :     envcmd[7] = 0x01; // Item Identifier length

	mov         r3, #1
	strb        r3, [sp, #0x20F]

; 353  :     envcmd[8] = 0x01; // Item chosen

	mov         r3, #1
	strb        r3, [sp, #0x210]

; 354  :     //result = RIL_SendSimToolkitEnvelopeCmd(g_hRil, envcmd, 9);
; 355  :    
; 356  :     if(result == RIL_RESULT_ERROR)

	ldr         r3, [sp, #0x21C]
	cmp         r3, #3
	bne         |$LN3@DoRIL|

; 357  :     {        
; 358  :         wsprintf(szString, L"RIL_SendSimToolkitEnvelopeCmd error");

	ldr         r1, [pc, #0x48]
	add         r0, sp, #8
	bl          wsprintfW

; 359  :         SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);

	add         r3, sp, #8
	mov         r2, #0
	mov         r1, #6, 26
	ldr         r0, [pc, #0x2C]
	ldr         r0, [r0]
	bl          SendMessageW
|$LN3@DoRIL|
|$LN2@DoRIL|

; 360  :     }
; 361  : 
; 362  :     while(1) 
; 363  :     {
; 364  : 	    Sleep(100);

	mov         r0, #0x64
	bl          Sleep

; 365  : 
; 366  :     }

	b           |$LN2@DoRIL|

; 367  : 
; 368  : 
; 369  : 	return 0;

	ldr         r0, [sp, #0x220]
	bl          __security_check_cookie
	mov         r3, #0
	str         r3, [sp, #0x22C]

; 370  : }

	ldr         r0, [sp, #0x22C]
	add         sp, sp, #9, 26
	ldmia       sp, {sp, pc}
|$LN9@DoRIL|
	DCD         |?g_hwndEdit@@3PAUHWND__@@A|
	DCD         |$SG32243|
	DCD         |?g_hRil@@3PAXA|
	DCD         |$SG32239|
	DCD         |?ResultCallback@@YAXKJPBXKK@Z|
	DCD         |?NotifyCallback@@YAXKPBXKK@Z|
	DCD         |?g_dwParam@@3KA|
	DCD         |__security_cookie|
|$M32449|

	ENDP  ; |?DoRIL@@YAKPAX@Z|, DoRIL

	EXPORT	|?InitInstance@@YAHPAUHINSTANCE__@@H@Z|	; InitInstance
	EXPORT	|WinMain|
	IMPORT	|RIL_Deinitialize|
	IMPORT	|DispatchMessageW|
	IMPORT	|TranslateMessage|
	IMPORT	|TranslateAcceleratorW|
	IMPORT	|GetMessageW|
	IMPORT	|LoadAcceleratorsW|

	AREA	|.pdata|, PDATA
|$T32458| DCD	|$LN9@WinMain|
	DCD	0x40003304
; Function compile flags: /Odsp

	AREA	|.text|, CODE, ARM

|WinMain| PROC

; 376  : {

|$LN9@WinMain|
	mov         r12, sp
	stmdb       sp!, {r0 - r3}
	stmdb       sp!, {r12, lr}
	sub         sp, sp, #0x34
|$M32455|

; 377  : 	MSG msg;
; 378  : 	HACCEL hAccelTable;
; 379  : 
; 380  : 	// Perform application initialization:
; 381  : 	if (!InitInstance (hInstance, nCmdShow)) 

	ldr         r1, [sp, #0x48]
	ldr         r0, [sp, #0x3C]
	bl          |?InitInstance@@YAHPAUHINSTANCE__@@H@Z|
	str         r0, [sp, #0x24]
	ldr         r3, [sp, #0x24]
	cmp         r3, #0
	bne         |$LN4@WinMain|

; 382  : 	{
; 383  : 		return FALSE;

	mov         r3, #0
	str         r3, [sp, #0x20]
	b           |$LN5@WinMain|
|$LN4@WinMain|

; 384  : 	}
; 385  : 
; 386  : 	hAccelTable = LoadAccelerators(hInstance, (LPCTSTR)IDC_TSTRIL);

	mov         r1, #3
	ldr         r0, [sp, #0x3C]
	bl          LoadAcceleratorsW
	str         r0, [sp, 

⌨️ 快捷键说明

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