einstein
April 27th, 2004, 10:38
Hi,
i hope someone can help me.
This program is for a pocket pc. (like iPAQ)
Look at this:
.text:00023B38 STMFD SP!, {R4,R5,LR}
.text:00023B3C SUB SP, SP, #8
.text:00023B40 MOV R5, R0
.text:00023B44 ADD R0, SP, #0
.text:00023B48 BL sub_15378
.text:00023B4C ADD R1, SP, #0
.text:00023B50 ADD R0, R5, #0x98
.text:00023B54 BL _GetWindowTextW_CWnd__QBAXAAVCString___Z ; CWnd::GetWindowTextW(CString &
.text:00023B58 ADD R0, SP, #4
.text:00023B5C ADD R1, SP, #0
.text:00023B60 BL __0CString__QAA_ABV0__Z ; CString::CString(CString const &
.text:00023B64 LDR R4, =unk_BB6D4
.text:00023B68 LDR R1, [SP,#4]
.text:00023B6C LDR R0, [R4]
.text:00023B70 BL sub_69E78
.text:00023B74 LDR R0, [R4]
.text:00023B78 LDRB R3, [R0,#0x328]
.text:00023B7C CMP R3, #0
.text:00023B80 BEQ loc_23B94
.text:00023B84 MOV R0, R5
.text:00023B88 BL sub_23890
.text:00023B8C B loc_23BB8
.text:00023B8C ; ---------------------------------------------------------------------------
.text:00023B90 off_23B90 DCD unk_BB6D4 ; DATA XREF: .text:00023B64r
.text:00023B94 ; ---------------------------------------------------------------------------
.text:00023B94
.text:00023B94 loc_23B94 ; CODE XREF: .text:00023B80j
.text:00023B94 MOV R1, #0xAF00
.text:00023B98 LDR R2, =aInvalidRegistr
.text:00023B9C ORR R1, R1, #0xF9
.text:00023BA0 ADD R0, SP, #0
.text:00023BA4 BL sub_3ADF8
.text:00023BA8 LDR R0, [SP]
.text:00023BAC MOV R2, #0
.text:00023BB0 MOV R1, #0x40
.text:00023BB4 BL sub_8F978
.text:00023BB8
.text:00023BB8 loc_23BB8 ; CODE XREF: .text:00023B8Cj
.text:00023BB8 ADD R0, SP, #0
.text:00023BBC BL sub_845F0
.text:00023BC0 ADD SP, SP, #8
.text:00023BC4 LDMFD SP!, {R4,R5,PC}
.text:00023BC4 ; ---------------------------------------------------------------------------
.text:00023BC8 off_23BC8 DCD aInvalidRegistr ; DATA XREF: .text:00023B98r
.text:00023BC8 ; "Invalid registration key!"
.text:00023BCC
at adress 23B54 the program read the serial (i think)
at adress 23B70 the serial will be checked
at adress 23B80 the program jump to the invalid regkey.
at the sub 69E78 ida show this:
.text:00069E78
.text:00069E78 sub_69E78 ; CODE XREF: .text:00023B70p
.text:00069E78 ; sub_66B78+68p
.text:00069E78
.text:00069E78 var_74 = -0x74
.text:00069E78 var_6C = -0x6C
.text:00069E78 var_68 = -0x68
.text:00069E78 var_64 = -0x64
.text:00069E78 var_60 = -0x60
.text:00069E78 var_5C = -0x5C
.text:00069E78 var_5B = -0x5B
.text:00069E78 var_5A = -0x5A
.text:00069E78 var_59 = -0x59
.text:00069E78 var_58 = -0x58
.text:00069E78 var_57 = -0x57
.text:00069E78 var_56 = -0x56
.text:00069E78 var_55 = -0x55
.text:00069E78 var_54 = -0x54
.text:00069E78 var_53 = -0x53
.text:00069E78 var_52 = -0x52
.text:00069E78 var_51 = -0x51
.text:00069E78 var_50 = -0x50
.text:00069E78 var_4F = -0x4F
.text:00069E78 var_4E = -0x4E
.text:00069E78 var_4D = -0x4D
.text:00069E78 var_4A = -0x4A
.text:00069E78 var_46 = -0x46
.text:00069E78 var_C = -0xC
.text:00069E78 arg_0 = 0
.text:00069E78
.text:00069E78 MOV R12, SP
...
what must i do now?
I hope anyone can help me.
regards
Einstein
i hope someone can help me.
This program is for a pocket pc. (like iPAQ)
Look at this:
.text:00023B38 STMFD SP!, {R4,R5,LR}
.text:00023B3C SUB SP, SP, #8
.text:00023B40 MOV R5, R0
.text:00023B44 ADD R0, SP, #0
.text:00023B48 BL sub_15378
.text:00023B4C ADD R1, SP, #0
.text:00023B50 ADD R0, R5, #0x98
.text:00023B54 BL _GetWindowTextW_CWnd__QBAXAAVCString___Z ; CWnd::GetWindowTextW(CString &

.text:00023B58 ADD R0, SP, #4
.text:00023B5C ADD R1, SP, #0
.text:00023B60 BL __0CString__QAA_ABV0__Z ; CString::CString(CString const &

.text:00023B64 LDR R4, =unk_BB6D4
.text:00023B68 LDR R1, [SP,#4]
.text:00023B6C LDR R0, [R4]
.text:00023B70 BL sub_69E78
.text:00023B74 LDR R0, [R4]
.text:00023B78 LDRB R3, [R0,#0x328]
.text:00023B7C CMP R3, #0
.text:00023B80 BEQ loc_23B94
.text:00023B84 MOV R0, R5
.text:00023B88 BL sub_23890
.text:00023B8C B loc_23BB8
.text:00023B8C ; ---------------------------------------------------------------------------
.text:00023B90 off_23B90 DCD unk_BB6D4 ; DATA XREF: .text:00023B64r
.text:00023B94 ; ---------------------------------------------------------------------------
.text:00023B94
.text:00023B94 loc_23B94 ; CODE XREF: .text:00023B80j
.text:00023B94 MOV R1, #0xAF00
.text:00023B98 LDR R2, =aInvalidRegistr
.text:00023B9C ORR R1, R1, #0xF9
.text:00023BA0 ADD R0, SP, #0
.text:00023BA4 BL sub_3ADF8
.text:00023BA8 LDR R0, [SP]
.text:00023BAC MOV R2, #0
.text:00023BB0 MOV R1, #0x40
.text:00023BB4 BL sub_8F978
.text:00023BB8
.text:00023BB8 loc_23BB8 ; CODE XREF: .text:00023B8Cj
.text:00023BB8 ADD R0, SP, #0
.text:00023BBC BL sub_845F0
.text:00023BC0 ADD SP, SP, #8
.text:00023BC4 LDMFD SP!, {R4,R5,PC}
.text:00023BC4 ; ---------------------------------------------------------------------------
.text:00023BC8 off_23BC8 DCD aInvalidRegistr ; DATA XREF: .text:00023B98r
.text:00023BC8 ; "Invalid registration key!"
.text:00023BCC
at adress 23B54 the program read the serial (i think)
at adress 23B70 the serial will be checked
at adress 23B80 the program jump to the invalid regkey.
at the sub 69E78 ida show this:
.text:00069E78
.text:00069E78 sub_69E78 ; CODE XREF: .text:00023B70p
.text:00069E78 ; sub_66B78+68p
.text:00069E78
.text:00069E78 var_74 = -0x74
.text:00069E78 var_6C = -0x6C
.text:00069E78 var_68 = -0x68
.text:00069E78 var_64 = -0x64
.text:00069E78 var_60 = -0x60
.text:00069E78 var_5C = -0x5C
.text:00069E78 var_5B = -0x5B
.text:00069E78 var_5A = -0x5A
.text:00069E78 var_59 = -0x59
.text:00069E78 var_58 = -0x58
.text:00069E78 var_57 = -0x57
.text:00069E78 var_56 = -0x56
.text:00069E78 var_55 = -0x55
.text:00069E78 var_54 = -0x54
.text:00069E78 var_53 = -0x53
.text:00069E78 var_52 = -0x52
.text:00069E78 var_51 = -0x51
.text:00069E78 var_50 = -0x50
.text:00069E78 var_4F = -0x4F
.text:00069E78 var_4E = -0x4E
.text:00069E78 var_4D = -0x4D
.text:00069E78 var_4A = -0x4A
.text:00069E78 var_46 = -0x46
.text:00069E78 var_C = -0xC
.text:00069E78 arg_0 = 0
.text:00069E78
.text:00069E78 MOV R12, SP
...
what must i do now?
I hope anyone can help me.
regards
Einstein
