- 积分
- 567
- 实力分
- 点
- 金钱数
- 两
- 技术分
- 分
- 贡献分
- 分
|
发表于 2006-6-27 21:28:24
|
显示全部楼层
下面是这个补丁的源码:
$arm9e
GetProfile EQU 0xA08D1D0C+1 ;得到当前情景的函数
CtrKeyLight EQU 0xA0C118A0 ;键盘灯控制函数
AREA STARTUPCODE, CODE
CODE16
main:
PUSH {LR}
PUSH {R2-R7}
LDR R0, =GetProfile
BLX R0
LSL R0, R0, #24
LSR R0, R0, #24
LDR R1, =0xA08015C0 ;此处为自定义设置的基址,通过对R1寄存器的偏移即可得到不同情景下的设置
ADD R3, R0, R1
LDRB R1, [R3]
POP {R2-R7}
CMP R1, #2
BEQ AlwaysOff
CMP R1, #1
BNE Normal
AlwaysOn:
MOV R2, #0x2D
B Normal
AlwaysOff:
MOV R2, #0
Normal:
MOV R0, #1
MOV R1, #1
PUSH {R4}
LDR R4, = CtrKeyLight ;void CtrKeyLight(int a,int b, int flag, unsigned int length)
BLX R4
POP {R4}
POP {PC}
AREA SETPROFILEHook, CODE, AT 0xA0AE349A ;此处为hook
CODE16
BL main
END |
|