voidunknown
June 17th, 2005, 12:38
I'm new to the forums, and to Windows CE Cracking. I'm working on a GPS program. So, I loaded my program into IDA Pro, found the serial check spot, changed a BEQ to B. Started the program on my PPC and it seemed to work. However, when the program is cracked, it works for 3 minutes (180 seconds) and then DROPS the GPS signal. I know it's not the receiver, its the program refusing GPS information. Anyone have any ideas? Here is the code:
I changed:
.text:000E6ADC BEQ loc_E6B7C ; Branch
TO
.text:000E6ADC B loc_E6B7C ; Branch
I changed:
.text:000E6ADC BEQ loc_E6B7C ; Branch
TO
.text:000E6ADC B loc_E6B7C ; Branch
Code:
.text:000E6A84 loc_E6A84 ; CODE XREF: sub_E61A0+90Cj
.text:000E6A84 ADD R0, SP, #0x6744+var_6714 ; Rd = Op1 + Op2
.text:000E6A88 LDRB R1, [R4,R0] ; Load from Memory
.text:000E6A8C SUB R0, R3, #1 ; Rd = Op1 - Op2
.text:000E6A90 SUBS R3, R3, #1 ; Rd = Op1 - Op2
.text:000E6A94 MOV R2, R1,LSL R0 ; Rd = Op2
.text:000E6A98 MOV R1, R5,LSL#16 ; Rd = Op2
.text:000E6A9C ORR R0, R2, R1,LSR#16 ; Rd = Op2 | Op1
.text:000E6AA0 MOV R2, R0,LSL#16 ; Rd = Op2
.text:000E6AA4 MOV R5, R2,LSR#16 ; Rd = Op2
.text:000E6AA8 ADD R4, R4, #1 ; Rd = Op1 + Op2
.text:000E6AAC BNE loc_E6A84 ; Branch
.text:000E6AB0 CMP R4, #0x10 ; Set cond. codes on Op1 - Op2
.text:000E6AB4 BLT loc_E6A7C ; Branch
.text:000E6AB8 MOV R0, #0xB ; Rd = Op2
.text:000E6ABC BL sub_C23A4 ; Branch with Link
.text:000E6AC0 MOV R1, #0xB ; Rd = Op2
.text:000E6AC4 MOV R7, R0 ; Rd = Op2
.text:000E6AC8 BL sub_2D7800 ; Branch with Link
.text:000E6ACC MOV R0, R6,LSL#16 ; Rd = Op2
.text:000E6AD0 MOV R3, R5,LSL#16 ; Rd = Op2
.text:000E6AD4 MOV R1, R0,LSR#16 ; Rd = Op2
.text:000E6AD8 CMP R1, R3,LSR#16 ; Set cond. codes on Op1 - Op2
.text:000E6ADC BEQ loc_E6B7C ; Branch
.text:000E6AE0 LDR R1, =unk_34FA4C ; char *
.text:000E6AE4 LDR R0, =unk_34FA40 ; char *
.text:000E6AE8 BL fopen ; Branch with Link
.text:000E6AEC MOV R4, R0 ; Rd = Op2
.text:000E6AF0 LDR R0, =unk_34FA38 ; void *
.text:000E6AF4 MOV R3, R4 ; FILE *
.text:000E6AF8 MOV R2, #6 ; size_t
.text:000E6AFC MOV R1, #1 ; size_t
.text:000E6B00 BL fwrite ; Branch with Link
.text:000E6B04 MOV R0, R4 ; FILE *
.text:000E6B08 BL fclose ; Branch with Link
.text:000E6B0C ADD R0, SP, #0x6744+var_66B4 ; Rd = Op1 + Op2
.text:000E6B10 BL sub_2DFED4 ; Branch with Link
.text:000E6B14 ADD R0, SP, #0x6744+var_66EC ; Rd = Op1 + Op2
.text:000E6B18 BL sub_2DFED4 ; Branch with Link
.text:000E6B1C LDR R0, [SP,#0x6744+var_6730] ; Load from Memory
.text:000E6B20 BL sub_C23AC ; Branch with Link
.text:000E6B24 LDR R0, [SP,#0x6744+var_671C] ; Load from Memory
.text:000E6B28 BL sub_C23AC ; Branch with Link
.text:000E6B2C LDR R0, [SP,#0x6744+var_6734] ; Load from Memory
.text:000E6B30 BL sub_C23AC ; Branch with Link
.text:000E6B34 LDR R0, [SP,#0x6744+var_6738] ; Load from Memory
.text:000E6B38 BL sub_C23AC ; Branch with Link
.text:000E6B3C MOV R0, R11 ; Rd = Op2
.text:000E6B40 BL sub_C23AC ; Branch with Link
.text:000E6B44 MOV R0, R10 ; Rd = Op2
.text:000E6B48 BL sub_C23AC ; Branch with Link
.text:000E6B4C MOV R0, R9 ; Rd = Op2
.text:000E6B50 BL sub_C23AC ; Branch with Link
.text:000E6B54 MOV R0, R7 ; Rd = Op2
.text:000E6B58 BL sub_C23AC ; Branch with Link
.text:000E6B5C MOV LR, #0xA ; Rd = Op2
.text:000E6B60 MOV R9, LR ; Rd = Op2
.text:000E6B64 STR LR, [SP,#0x6744+var_673C] ; Store to Memory
.text:000E6B68 MOV R0, R9 ; Rd = Op2
.text:000E6B6C MOVL R12, 0x6720
.text:000E6B74 ADD SP, SP, R12 ; Rd = Op1 + Op2
.text:000E6B78 LDMFD SP!, {R4-R11,PC} ; Load Block from Memory
.text:000E6B7C ; ---------------------------------------------------------------------------
.text:000E6B7C
.text:000E6B7C loc_E6B7C ; CODE XREF: sub_E61A0+93Cj
.text:000E6B7C MOV R0, #0x34 ; Rd = Op2
.text:000E6B80 BL sub_C23A4 ; Branch with Link
.text:000E6B84 MOV R1, #0x34 ; Rd = Op2
.text:000E6B88 MOV R4, R0 ; Rd = Op2
.text:000E6B8C BL sub_2D7800 ; Branch with Link
.text:000E6B90 LDR R0, [SP,#0x6744+var_6730] ; Load from Memory
.text:000E6B94 MOV R2, #0x34 ; size_t
.text:000E6B98 MOV R1, R0 ; void *
.text:000E6B9C MOV R0, R4 ; void *
.text:000E6BA0 BL memcpy ; Branch with Link
.text:000E6BA4 LDR R0, [SP,#0x6744+var_6728] ; void *
.text:000E6BA8 MOV R2, #0x35 ; size_t
.text:000E6BAC MOV R1, #0 ; int
.text:000E6BB0 BL memset ; Branch with Link
.text:000E6BB4 LDR R5, [SP,#0x6744+var_6738] ; Load from Memory
.text:000E6BB8 LDR LR, [SP,#0x6744+var_6728] ; Load from Memory
.text:000E6BBC MOV R2, #0x34 ; Rd = Op2
.text:000E6BC0 LDR R6, [SP,#0x6744+var_6734] ; Load from Memory
.text:000E6BC4 MOV R3, #0x31 ; Rd = Op2
.text:000E6BC8 SUB R1, R10, LR ; Rd = Op1 - Op2
.text:000E6BCC


 
  
  How could the world be so cruel?
  How could the world be so cruel?   
  But, hey, it's YOUR LEFE, why start now using you noggin for anything other than holding up your hair.
 But, hey, it's YOUR LEFE, why start now using you noggin for anything other than holding up your hair. 