📄 tstril.asm
字号:
ldr r3, [sp, #0x4BC]
str r3, [sp, #4]
ldr r3, [sp, #0x4B8]
str r3, [sp]
ldr r3, [sp, #0x4B4]
ldr r2, [sp, #0x4B0]
ldr r1, [pc, #0x414]
add r0, sp, #8
bl wsprintfW
; 199 : SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);
add r3, sp, #8
mov r2, #0
mov r1, #6, 26
ldr r0, [pc, #0x3D8]
ldr r0, [r0]
bl SendMessageW
; 200 : switch (dwCode) {
ldr r3, [sp, #0x4B0]
str r3, [sp, #0x498]
ldr r2, [sp, #0x498]
mov r3, #2, 12
orr r3, r3, #0xA1
cmp r2, r3
beq |$LN10@NotifyCall|
ldr r2, [sp, #0x498]
mov r3, #2, 12
orr r3, r3, #0xA2
cmp r2, r3
beq |$LN3@NotifyCall|
ldr r2, [sp, #0x498]
mov r3, #2, 12
orr r3, r3, #0xA3
cmp r2, r3
beq |$LN2@NotifyCall|
ldr r2, [sp, #0x498]
mov r3, #2, 12
orr r3, r3, #0xA4
cmp r2, r3
beq |$LN1@NotifyCall|
b |$LN11@NotifyCall|
|$LN10@NotifyCall|
; 201 : case RIL_NOTIFY_SIMTOOLKITCMD:
; 202 : {
; 203 : RILSIMTOOLKITCMD *cmddata = (RILSIMTOOLKITCMD *)lpData;
ldr r3, [sp, #0x4B4]
str r3, [sp, #0x40C]
; 204 : unsigned char *prm = (unsigned char *)lpData;
ldr r3, [sp, #0x4B4]
str r3, [sp, #0x408]
; 205 : wsprintf(szString, L" A SIM Toolkit command:");
ldr r1, [pc, #0x380]
add r0, sp, #8
bl wsprintfW
; 206 : SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);
add r3, sp, #8
mov r2, #0
mov r1, #6, 26
ldr r0, [pc, #0x348]
ldr r0, [r0]
bl SendMessageW
; 207 : memset(szString, 0, 256 * sizeof(TCHAR));
mov r2, #2, 24
mov r1, #0
add r0, sp, #8
bl memset
; 208 : if(cbData > 256)
ldr r3, [sp, #0x4B8]
cmp r3, #1, 24
bls |$LN9@NotifyCall|
; 209 : {
; 210 : break;
b |$LN11@NotifyCall|
|$LN9@NotifyCall|
; 211 : }
; 212 :
; 213 : for(int i = 0; i < cbData; i++)
mov r3, #0
str r3, [sp, #0x414]
b |$LN8@NotifyCall|
|$LN7@NotifyCall|
ldr r3, [sp, #0x414]
add r3, r3, #1
str r3, [sp, #0x414]
|$LN8@NotifyCall|
ldr r2, [sp, #0x414]
ldr r3, [sp, #0x4B8]
cmp r2, r3
bcs |$LN6@NotifyCall|
; 214 : {
; 215 : TCHAR text[2] ;
; 216 : wsprintf(text, L"0x%2x", prm[i]);
ldr r2, [sp, #0x408]
ldr r3, [sp, #0x414]
add r3, r2, r3
ldrb r3, [r3]
mov r2, r3
ldr r1, [pc, #0x2FC]
mov r0, #1, 22
orr r0, r0, #0x18
add r0, sp, r0
bl wsprintfW
; 217 : wcscat(szString, text);
mov r1, #1, 22
orr r1, r1, #0x18
add r1, sp, r1
add r0, sp, #8
bl wcscat
; 218 : wcscat(szString, L" ");
ldr r1, [pc, #0x2D0]
add r0, sp, #8
bl wcscat
; 219 : }
b |$LN7@NotifyCall|
|$LN6@NotifyCall|
; 220 : SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);
add r3, sp, #8
mov r2, #0
mov r1, #6, 26
ldr r0, [pc, #0x29C]
ldr r0, [r0]
bl SendMessageW
; 221 :
; 222 : HRESULT result;
; 223 : if( hashandle == FALSE)
ldr r3, [pc, #0x2A4]
ldr r3, [r3]
cmp r3, #0
bne |$LN5@NotifyCall|
; 224 : {
; 225 : RILSIMTOOLKITRSP response = {0};
mov r3, #0
str r3, [sp, #0x41C]
mov r2, #0x1C
mov r1, #0
add r0, sp, #0x42, 28
bl memset
; 226 : response.cbSize = sizeof(RILSIMTOOLKITRSP);// Structure and text size in bytes
mov r3, #0x20
str r3, [sp, #0x41C]
; 227 : response.dwParams = 0x1f; // Indicates valid parameters
mov r3, #0x1F
str r3, [sp, #0x420]
; 228 : response.dwId = 0x01;// ID number of command
mov r3, #1
str r3, [sp, #0x424]
; 229 : response.dwTag = *((unsigned char *)lpData + 2);// Command tag (with comprehension bit)
ldr r3, [sp, #0x4B4]
add r3, r3, #2
ldrb r3, [r3]
str r3, [sp, #0x428]
; 230 : response.dwType = 0x24; // Type of command (DISPLAY TEXT, etc.)
mov r3, #0x24
str r3, [sp, #0x42C]
; 231 : response.dwQualifier = 0x0; // Command details qualifier
mov r3, #0
str r3, [sp, #0x430]
; 232 : response.dwResponse = 0; // Command result from SIM toolkit layer
mov r3, #0
str r3, [sp, #0x434]
; 233 : response.dwAdditionalInfo = 0;// Additional command result information.
mov r3, #0
str r3, [sp, #0x438]
; 234 :
; 235 : SIMTKITRSPITEM Detail;
; 236 : Detail.cbSize = sizeof(SIMTKITRSPITEM);
mov r3, #0xC
str r3, [sp, #0x448]
; 237 : Detail.dwParams = 1;
mov r3, #1
str r3, [sp, #0x44C]
; 238 : Detail.dwId = 1;
mov r3, #1
str r3, [sp, #0x450]
; 239 :
; 240 : result = RIL_SendSimToolkitCmdResponse(g_hRil, &response, (LPBYTE)&Detail, Detail.cbSize);
ldr r3, [sp, #0x448]
mov r2, #1, 22
orr r2, r2, #0x48
add r2, sp, r2
mov r1, #1, 22
orr r1, r1, #0x1C
add r1, sp, r1
ldr r0, [pc, #0x1FC]
ldr r0, [r0]
bl RIL_SendSimToolkitCmdResponse
str r0, [sp, #0x49C]
ldr r3, [sp, #0x49C]
str r3, [sp, #0x410]
; 241 :
; 242 : BYTE envcmd[9];
; 243 : envcmd[0] = 0xd3; // Menu selection tag
mov r3, #0xD3
strb r3, [sp, #0x43C]
; 244 : envcmd[1] = 0x07; // Length
mov r3, #7
strb r3, [sp, #0x43D]
; 245 : envcmd[2] = 0x02; // Device Identity Tag
mov r3, #2
strb r3, [sp, #0x43E]
; 246 : envcmd[3] = 0x02; // Device Identity length
mov r3, #2
strb r3, [sp, #0x43F]
; 247 : envcmd[4] = 0x82; // Source: ME
mov r3, #0x82
strb r3, [sp, #0x440]
; 248 : envcmd[5] = 0x81; // Destination: SIM
mov r3, #0x81
strb r3, [sp, #0x441]
; 249 : envcmd[6] = *((unsigned char *)lpData + 11); // Item Identifier tag
ldr r3, [sp, #0x4B4]
add r3, r3, #0xB
ldrb r3, [r3]
strb r3, [sp, #0x442]
; 250 : envcmd[7] = 0x01; // Item Identifier length
mov r3, #1
strb r3, [sp, #0x443]
; 251 : envcmd[8] = 0x01; // Item chose
mov r3, #1
strb r3, [sp, #0x444]
; 252 : //result = RIL_FetchSimToolkitCmd(g_hRil);
; 253 : result = RIL_SendSimToolkitEnvelopeCmd(g_hRil, envcmd, 9);
mov r2, #9
mov r1, #1, 22
orr r1, r1, #0x3C
add r1, sp, r1
ldr r3, [pc, #0x184]
ldr r0, [r3]
bl RIL_SendSimToolkitEnvelopeCmd
str r0, [sp, #0x4A0]
ldr r3, [sp, #0x4A0]
str r3, [sp, #0x410]
; 254 : hashandle = TRUE;
ldr r2, [pc, #0x170]
mov r3, #1
str r3, [r2]
; 255 : }
; 256 : else
b |$LN4@NotifyCall|
|$LN5@NotifyCall|
; 257 : {
; 258 : RILSIMTOOLKITRSP response = {0};
mov r3, #0
str r3, [sp, #0x454]
mov r2, #0x1C
mov r1, #0
mov r0, #1, 22
orr r0, r0, #0x58
add r0, sp, r0
bl memset
; 259 : response.cbSize = sizeof(RILSIMTOOLKITRSP);// Structure and text size in bytes
mov r3, #0x20
str r3, [sp, #0x454]
; 260 : response.dwParams = 0x1f; // Indicates valid parameters
mov r3, #0x1F
str r3, [sp, #0x458]
; 261 : response.dwId = 0x01;// ID number of command
mov r3, #1
str r3, [sp, #0x45C]
; 262 : response.dwTag = 0x81;//*((unsigned char *)lpData + 2);// Command tag (with comprehension bit)
mov r3, #0x81
str r3, [sp, #0x460]
; 263 : response.dwType = 0x24; // Type of command (DISPLAY TEXT, etc.)
mov r3, #0x24
str r3, [sp, #0x464]
; 264 : response.dwQualifier = 0x0; // Command details qualifier
mov r3, #0
str r3, [sp, #0x468]
; 265 : response.dwResponse = 0; // Command result from SIM toolkit layer
mov r3, #0
str r3, [sp, #0x46C]
; 266 : response.dwAdditionalInfo = 0;// Additional command result information.
mov r3, #0
str r3, [sp, #0x470]
; 267 :
; 268 : SIMTKITRSPITEM Detail;
; 269 : Detail.cbSize = sizeof(SIMTKITRSPITEM);
mov r3, #0xC
str r3, [sp, #0x474]
; 270 : Detail.dwParams = 1;
mov r3, #1
str r3, [sp, #0x478]
; 271 : Detail.dwId = 1;
mov r3, #1
str r3, [sp, #0x47C]
; 272 : result = RIL_SendSimToolkitCmdResponse(g_hRil, &response, (LPBYTE)&Detail, Detail.cbSize);
ldr r3, [sp, #0x474]
mov r2, #1, 22
orr r2, r2, #0x74
add r2, sp, r2
mov r1, #1, 22
orr r1, r1, #0x54
add r1, sp, r1
ldr r0, [pc, #0xC8]
ldr r0, [r0]
bl RIL_SendSimToolkitCmdResponse
str r0, [sp, #0x4A4]
ldr r3, [sp, #0x4A4]
str r3, [sp, #0x410]
|$LN4@NotifyCall|
; 273 : }
; 274 : }
; 275 : break;
b |$LN11@NotifyCall|
|$LN3@NotifyCall|
; 276 : case RIL_NOTIFY_SIMTOOLKITCALLSETUP:
; 277 : {
; 278 : RILMESSAGE *prm = (RILMESSAGE *)lpData;
ldr r3, [sp, #0x4B4]
str r3, [sp, #0x480]
; 279 :
; 280 : wsprintf(szString, L" SIM Toolkit is trying to set up a call ");
ldr r1, [pc, #0xA0]
add r0, sp, #8
bl wsprintfW
; 281 : SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);
add r3, sp, #8
mov r2, #0
mov r1, #6, 26
ldr r0, [pc, #0x7C]
ldr r0, [r0]
bl SendMessageW
; 282 : break;
b |$LN11@NotifyCall|
|$LN2@NotifyCall|
; 283 : }
; 284 : case RIL_NOTIFY_SIMTOOLKITEVENT:
; 285 : {
; 286 : RILMESSAGE *prm = (RILMESSAGE *)lpData;
ldr r3, [sp, #0x4B4]
str r3, [sp, #0x484]
; 287 : wsprintf(szString, L" A SIM Toolkit command was handled by the radio or the radio sent a SIM Toolkit command response to the SIM ");
ldr r1, [pc, #0x6C]
add r0, sp, #8
bl wsprintfW
; 288 : SendMessage(g_hwndEdit, LB_ADDSTRING, 0, (LPARAM) szString);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -