📄 main.txt
字号:
0002c8 7128 STRB r0,[r5,#4] ; SC_ADPU
0002ca 3308 ADDS r3,r3,#8
0002cc 613c STR r4,[r7,#0x10] ; i
|L3.718|
;;;260 {
;;;261 SC_ADPU.Body.Data[i] = CHV1[i];
0002ce 6938 LDR r0,[r7,#0x10] ; i
0002d0 5c19 LDRB r1,[r3,r0]
0002d2 182a ADDS r2,r5,r0
0002d4 7151 STRB r1,[r2,#5]
0002d6 1c40 ADDS r0,r0,#1
0002d8 6138 STR r0,[r7,#0x10] ; i
0002da 7929 LDRB r1,[r5,#4] ; SC_ADPU
0002dc 4281 CMP r1,r0
0002de d8f6 BHI |L3.718|
0002e0 e003 B |L3.746|
|L3.738|
;;;262 }
;;;263 while(i < LCmax)
;;;264 {
;;;265 SC_ADPU.Body.Data[i++] = 0;
0002e2 1829 ADDS r1,r5,r0
0002e4 714c STRB r4,[r1,#5]
0002e6 1c40 ADDS r0,r0,#1
0002e8 6138 STR r0,[r7,#0x10] ; i
|L3.746|
0002ea 2814 CMP r0,#0x14
0002ec d3f9 BCC |L3.738|
0002ee e01c B |L3.810|
|L3.752|
;;;266 }
;;;267 SC_ADPU.Body.LE = 0;
;;;268
;;;269 SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
;;;270 }
;;;271 }
;;;272 else
;;;273 {
;;;274 if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED)
0002f0 4550 CMP r0,r10
0002f2 d121 BNE |L3.824|
;;;275 {
;;;276 /* Verify CHV1 (PIN1) ------------------------------------------------*/
;;;277 SC_ADPU.Header.CLA = SC_CLA_GSM11;
0002f4 702e STRB r6,[r5,#0] ; SC_ADPU
;;;278 SC_ADPU.Header.INS = SC_VERIFY;
0002f6 2020 MOVS r0,#0x20
0002f8 7068 STRB r0,[r5,#1] ; SC_ADPU
;;;279 SC_ADPU.Header.P1 = 0x00;
0002fa 70ac STRB r4,[r5,#2] ; SC_ADPU
;;;280 SC_ADPU.Header.P2 = 0x01;
0002fc 2001 MOVS r0,#1
0002fe 70e8 STRB r0,[r5,#3] ; SC_ADPU
;;;281 SC_ADPU.Body.LC = 0x08;
000300 2008 MOVS r0,#8
;;;282
;;;283 for(i = 0; i < SC_ADPU.Body.LC; i++)
000302 4b2a LDR r3,|L3.940|
000304 7128 STRB r0,[r5,#4] ; SC_ADPU
000306 3308 ADDS r3,r3,#8
000308 613c STR r4,[r7,#0x10] ; i
|L3.778|
;;;284 {
;;;285 SC_ADPU.Body.Data[i] = CHV1[i];
00030a 6938 LDR r0,[r7,#0x10] ; i
00030c 5c19 LDRB r1,[r3,r0]
00030e 182a ADDS r2,r5,r0
000310 7151 STRB r1,[r2,#5]
000312 1c40 ADDS r0,r0,#1
000314 6138 STR r0,[r7,#0x10] ; i
000316 7929 LDRB r1,[r5,#4] ; SC_ADPU
000318 4281 CMP r1,r0
00031a d8f6 BHI |L3.778|
00031c e003 B |L3.806|
|L3.798|
;;;286 }
;;;287 while(i < LCmax)
;;;288 {
;;;289 SC_ADPU.Body.Data[i++] = 0;
00031e 1829 ADDS r1,r5,r0
000320 714c STRB r4,[r1,#5]
000322 1c40 ADDS r0,r0,#1
000324 6138 STR r0,[r7,#0x10] ; i
|L3.806|
000326 2814 CMP r0,#0x14
000328 d3f9 BCC |L3.798|
|L3.810|
;;;290 }
;;;291 SC_ADPU.Body.LE = 0;
;;;292
;;;293 SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
00032a 4a1e LDR r2,|L3.932|
00032c 766c STRB r4,[r5,#0x19] ; SC_ADPU
00032e f1a2f1a2 SUB r1,r2,#0x1a
000332 a802 ADD r0,sp,#8
000334 f7fff7ff BL SC_Handler
|L3.824|
;;;294 }
;;;295 }
;;;296 /* Read Binary in IMSI ---------------------------------------------------*/
;;;297 if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED)
000338 f8bbf8bb LDRH r0,[r11,#0x14] ; SC_Responce
00033c ba40 REV16 r0,r0
00033e 4550 CMP r0,r10
000340 d10d BNE |L3.862|
;;;298 {
;;;299 SC_ADPU.Header.CLA = SC_CLA_GSM11;
000342 702e STRB r6,[r5,#0] ; SC_ADPU
;;;300 SC_ADPU.Header.INS = SC_READ_BINARY;
000344 20b0 MOVS r0,#0xb0
000346 7068 STRB r0,[r5,#1] ; SC_ADPU
;;;301 SC_ADPU.Header.P1 = 0x00;
000348 70ac STRB r4,[r5,#2] ; SC_ADPU
;;;302 SC_ADPU.Header.P2 = 0x00;
00034a 70ec STRB r4,[r5,#3] ; SC_ADPU
;;;303 SC_ADPU.Body.LC = 0x00;
00034c 712c STRB r4,[r5,#4] ; SC_ADPU
;;;304
;;;305 SC_ADPU.Body.LE = 9;
00034e 2009 MOVS r0,#9
;;;306
;;;307 SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
000350 4a14 LDR r2,|L3.932|
000352 7668 STRB r0,[r5,#0x19] ; SC_ADPU
000354 f1a2f1a2 SUB r1,r2,#0x1a
000358 a802 ADD r0,sp,#8
00035a f7fff7ff BL SC_Handler
|L3.862|
;;;308 }
;;;309 if(((SC_Responce.SW1 << 8) | (SC_Responce.SW2)) == SC_OP_TERMINATED)
00035e f8bbf8bb LDRH r0,[r11,#0x14] ; SC_Responce
000362 ba40 REV16 r0,r0
000364 4550 CMP r0,r10
000366 d10e BNE |L3.902|
;;;310 {
;;;311 /* Copy the IMSI File content into IMSI_Content buffer */
;;;312 for(i = 0; i < SC_ADPU.Body.LE; i++)
000368 490e LDR r1,|L3.932|
00036a 613c STR r4,[r7,#0x10] ; i
00036c 46bc MOV r12,r7
00036e 3923 SUBS r1,r1,#0x23
000370 7e6b LDRB r3,[r5,#0x19]
000372 4620 MOV r0,r4
000374 e005 B |L3.898|
|L3.886|
;;;313 {
;;;314 IMSI_Content[i] = SC_Responce.Data[i];
000376 f81bf81b LDRB r2,[r11,r0]
00037a 540a STRB r2,[r1,r0]
00037c 1c40 ADDS r0,r0,#1
00037e f8ccf8cc STR r0,[r12,#0x10] ; i
|L3.898|
000382 4283 CMP r3,r0
000384 d8f7 BHI |L3.886|
|L3.902|
;;;315 }
;;;316 }
;;;317 /* Disable the Smartcard interface */
;;;318 SCState = SC_POWER_OFF;
000386 2005 MOVS r0,#5
;;;319 SC_Handler(&SCState, &SC_ADPU, &SC_Responce);
000388 4a06 LDR r2,|L3.932|
00038a 9002 STR r0,[sp,#8]
00038c f1a2f1a2 SUB r1,r2,#0x1a
000390 a802 ADD r0,sp,#8
000392 f7fff7ff BL SC_Handler
;;;320 CardInserted = 0;
000396 60bc STR r4,[r7,#8] ; CardInserted
000398 e692 B |L3.192|
;;;321 }
;;;322 }
ENDP
00039a 0000 DCW 0x0000
|L3.924|
00039c 40011000 DCD 0x40011000
|L3.928|
0003a0 40011800 DCD 0x40011800
|L3.932|
0003a4 0000002d DCD ||.bss||+0x2d
|L3.936|
0003a8 00000000 DCD ||.data||
|L3.940|
0003ac 00000000 DCD ||.constdata||
AREA ||i.RCC_Configuration||, CODE, READONLY, ALIGN=2
RCC_Configuration PROC
000000 b510 PUSH {r4,lr}
000002 f7fff7ff BL RCC_DeInit
000006 f44ff44f MOV r4,#0x10000
00000a 4620 MOV r0,r4
00000c f7fff7ff BL RCC_HSEConfig
000010 f7fff7ff BL RCC_WaitForHSEStartUp
000014 4916 LDR r1,|L4.112|
000016 7008 STRB r0,[r1,#0] ; HSEStartUpStatus
000018 7808 LDRB r0,[r1,#0] ; HSEStartUpStatus
00001a 2801 CMP r0,#1
00001c d122 BNE |L4.100|
00001e 2010 MOVS r0,#0x10
000020 f7fff7ff BL FLASH_PrefetchBufferCmd
000024 2002 MOVS r0,#2
000026 f7fff7ff BL FLASH_SetLatency
00002a 2000 MOVS r0,#0
00002c f7fff7ff BL RCC_HCLKConfig
000030 2000 MOVS r0,#0
000032 f7fff7ff BL RCC_PCLK2Config
000036 11a0 ASRS r0,r4,#6
000038 f7fff7ff BL RCC_PCLK1Config
00003c f44ff44f MOV r1,#0x1c0000
000040 4620 MOV r0,r4
000042 f7fff7ff BL RCC_PLLConfig
000046 2001 MOVS r0,#1
000048 f7fff7ff BL RCC_PLLCmd
|L4.76|
00004c 2039 MOVS r0,#0x39
00004e f7fff7ff BL RCC_GetFlagStatus
000052 2800 CMP r0,#0
000054 d0fa BEQ |L4.76|
000056 2002 MOVS r0,#2
000058 f7fff7ff BL RCC_SYSCLKConfig
|L4.92|
00005c f7fff7ff BL RCC_GetSYSCLKSource
000060 2808 CMP r0,#8
000062 d1fb BNE |L4.92|
|L4.100|
000064 2101 MOVS r1,#1
000066 e8bde8bd POP {r4,lr}
00006a 2051 MOVS r0,#0x51
00006c f7fff7ff B.W RCC_APB2PeriphClockCmd
ENDP
|L4.112|
000070 00000000 DCD ||.data||
AREA ||.data||, DATA, ALIGN=2
HSEStartUpStatus
000000 01000000 DCB 0x01,0x00,0x00,0x00
TimingDelay
000004 00000000 DCD 0x00000000
CardInserted
000008 00000000 DCD 0x00000000
CHV1Status
00000c 00000000 DCD 0x00000000
i
000010 00000000 DCD 0x00000000
AREA ||.constdata||, DATA, READONLY, ALIGN=0
MasterRoot
000000 3f00 DCB 0x3f,0x00
GSMDir
000002 7f20 DCB 0x7f,0x20
ICCID
000004 2fe2 DCB 0x2f,0xe2
IMSI
000006 6f07 DCB 0x6f,0x07
CHV1
000008 30303030 DCB 0x30,0x30,0x30,0x30
00000c 30303030 DCB 0x30,0x30,0x30,0x30
AREA ||.bss||, DATA, NOINIT, ALIGN=0
ICCID_Content
% 10
IMSI_Content
% 9
SC_ADPU
% 26
SC_Responce
% 22
__ARM_use_no_argv EQU 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -