📄 tstril.asm
字号:
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 + -