[SK6Cv50]中文JAVA程序安装乱码修正 V1.0
用于安装带中文文件名JAVA程序时,出现乱码的情况。从文件管理器安装jar,jad都已经没有问题了,浏览器下载没试过。
v1.0修正JAD没有复制问题;中文JAVA程序安装乱码修正
;(c) BingK(binghelingxi)
;SK6Cv50
;v1.0
;FIX_ZH_CN_PATH_FCOPY_HOOK
0x002CD2E8: 851084E2 86592DFB
;FIX_ZH_CN_PATH_FIND_HOOK1
0x00749590: CF0F8DE2 E3681BFA
;FIX_ZH_CN_PATH_ISDIR_HOOK1
0x007495D8: CF0F8DE2 CE681BFA
;FIX_ZH_CN_PATH_FIND_HOOK2
0x0074961C: 0D00A0E1 C0681BFB
;FIX_ZH_CN_PATH_FSTATU_HOOK1
0x00751C90: 140090E5 1E471BFA
;FIX_ZH_CN_PATH_FSTATU_HOOK2
0x00752350: 140094E5 6F451BFA
;FIX_ZH_CN_PATH_FOPEN_HOOK
0x00755FD4: 08308DE2 53361BFB
;FIX_ZH_CN_PATH_ISDIR_HOOK2
0x00756B14: 40008DE2 81331BFA
;FIX_ZH_CN_PATH_MKDIR_HOOK
0x00756B3C: 40008DE2 70331BFB
;FIX_ZH_CN_PATH_MSGWIN_HOOK
0x00858B44: 4301FBFB 782B17FB
;FIX_ZH_CN_PATH_BODY
#pragma enable old_equal_ff
0x00E23880: 70B44378010002003A2B02D183785C2B
0x00E23890: 02D070BC7047521C1378002BFBD10378
0x00E238A0: 401C1F2BF5DB5C2B01D02F2B00D10100
0x00E238B0: 812BF4DB0B78202BF1D3521C13009942
0x00E238C0: 05D25D1E2E781E702B009942F9D31F23
0x00E238D0: 0B7004002378002BE1D0641C20005C2B
0x00E238E0: 01D02F2BF6D12100D9E7000025742025
0x00E238F0: 63000000FFB5FFF7C3FFFFBDFFB5081C
0x00E23900: FFF7BEFFFFBD10A8F4E785202118F5E7
0x00E23910: 4069EFE76069EDE70F4A00A88018E9E7
0x00E23920: 10A8E7E7F8E76846E8E702ABE2E7FFB5
0x00E23930: 061C0A490A4FB84780200A4FB847041C
0x00E23940: 291C8022084FB847301C211C074FB847
0x00E23950: 201C074FB847FFBD3C030000EC38E2A0
0x00E23960: 5B9071A0539871A0EF7B98A0B99971A0
0x00E23970: 9D9171A0
#pragma disable old_equal_ff
以下为老版本,仅供撤销;中文JAVA程序安装乱码修正
;(c) BingK(binghelingxi)
;SK6Cv50
;FIX_ZH_CN_PATH_FCOPY_HOOK
0x002CD2E8: 851084E2 84592DFA
;FIX_ZH_CN_PATH_FIND_HOOK1
0x00749590: CF0F8DE2 E2681BFB
;FIX_ZH_CN_PATH_ISDIR_HOOK1
0x007495D8: CF0F8DE2 CD681BFB
;FIX_ZH_CN_PATH_FIND_HOOK2
0x0074961C: 0D00A0E1 C0681BFA
;FIX_ZH_CN_PATH_FSTATU_HOOK1
0x00751C90: 140090E5 1D471BFB
;FIX_ZH_CN_PATH_FSTATU_HOOK2
0x00752350: 140094E5 6E451BFB
;FIX_ZH_CN_PATH_ISDIR_HOOK2
0x00756B14: 40008DE2 80331BFB
;FIX_ZH_CN_PATH_MKDIR_HOOK
0x00756B3C: 40008DE2 6E331BFA
;FIX_ZH_CN_PATH_MSGWIN_HOOK
0x00858B44: 4301FBFB 792B17FA
;FIX_ZH_CN_PATH_BODY
#pragma enable old_equal_ff
0x00E23880: 70B44378010002003A2B02D183785C2B
0x00E23890: 02D070BC7047521C1378002BFBD10378
0x00E238A0: 401C1F2BF5DB5C2B01D02F2B00D10100
0x00E238B0: 812BF4DB0B78202BF1D3521C13009942
0x00E238C0: 05D25D1E2E781E702B009942F9D31F23
0x00E238D0: 0B7004002378002BE1D0641C20005C2B
0x00E238E0: 01D02F2BF6D12100D9E7000025742025
0x00E238F0: 63000000FFB5FFF7C3FFFFBD10A8F9E7
0x00E23900: 85202118FFB5081CFFF7BAFFFFBD4069
0x00E23910: F0E76069EEE7114A00A88018EAE710A8
0x00E23920: E8E7F8E76846FFB5081CFFF7A9FFFFBD
0x00E23930: FFB5061C0A490B4FB84780200A4FB847
0x00E23940: 041C291C8022094FB847301C211C084F
0x00E23950: B847201C074FB847FFBD00003C030000
0x00E23960: EC38E2A05B9071A0539871A0EF7B98A0
0x00E23970: B99971A09D9171A0
#pragma disable old_equal_ff
[ 本帖最后由 BingK 于 2008-5-25 11:03 编辑 ] 加分.. 貌似是沙发,呵呵
顶楼主,强!!:/sl 移植到其他65上机器上啊.我要C65的 支持下楼主,这个很有用啊 原帖由 crack4000 于 2008-5-26 13:45 发表 http://mobile.0110.cn/images/common/back.gif
移植到其他65上机器上啊.我要C65的
源码:#define FIX_ZH_CN_PATH
#ifdef FIX_ZH_CN_PATH
extern doZH_CNPathFix
//ROM:A0756B3C 40 00 8D E2 ADD R0, SP, #0x40
CODE32
RSEG FIX_ZH_CN_PATH_MKDIR_HOOK
BLX FIX_ZH_CN_PATH_MKDIR_
//ROM:A02CD2E8 85 10 84 E2 ADD R1, R4, #0x85
CODE32
RSEG FIX_ZH_CN_PATH_FCOPY_HOOK
BLX FIX_ZH_CN_PATH_FCOPY_
//ROM:A0858B44 43 01 FB FB BLX sub_A071905A ; int wsprintf (WSHDR *,const char *format,...)
CODE32
RSEG FIX_ZH_CN_PATH_MSGWIN_HOOK
BLX FIX_ZH_CN_PATH_MSGWIN_
//ROM:A0751C90 14 00 90 E5 LDR R0,
CODE32
RSEG FIX_ZH_CN_PATH_FSTATU_HOOK1
BLX FIX_ZH_CN_PATH_FSTATU_1
//ROM:A0752350 14 00 94 E5 LDR R0,
CODE32
RSEG FIX_ZH_CN_PATH_FSTATU_HOOK2
BLX FIX_ZH_CN_PATH_FSTATU_2
//ROM:A07495D8 CF 0F 8D E2 ADD R0, SP, #0x33C
CODE32
RSEG FIX_ZH_CN_PATH_ISDIR_HOOK1
BLX FIX_ZH_CN_PATH_ISDIR_1
//ROM:A0756B14 40 00 8D E2 ADD R0, SP, #0x40
CODE32
RSEG FIX_ZH_CN_PATH_ISDIR_HOOK2
BLX FIX_ZH_CN_PATH_ISDIR_2
//ROM:A0749590 CF 0F 8D E2 ADD R0, SP, #0x33C
CODE32
RSEG FIX_ZH_CN_PATH_FIND_HOOK1
BLX FIX_ZH_CN_PATH_FIND_1
//ROM:A074961C 0D 00 A0 E1 MOV R0, SP
CODE32
RSEG FIX_ZH_CN_PATH_FIND_HOOK2
BLX FIX_ZH_CN_PATH_FIND_2
//ROM:A0755FD4 08 30 8D E2 ADD R3, SP, #8
CODE32
RSEG FIX_ZH_CN_PATH_FOPEN_HOOK
BLX FIX_ZH_CN_PATH_FOPEN_
RSEG FIX_ZH_CN_PATH_BODY
DATA
FMT
DCD "%t %c"
CODE16
DIRECT_DO_FIX
PUSH {R0-R7, LR}
BL doZH_CNPathFix
POP {R0-R7, PC}
DO_FIX_R1
PUSH {R0-R7, LR}
MOV R0, R1
BL doZH_CNPathFix
POP {R0-R7, PC}
FIX_ZH_CN_PATH_MKDIR_
ADD R0, SP, #0x40
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_FCOPY_
MOV R0, #0x85
ADD R1, R4, R0
B DO_FIX_R1
FIX_ZH_CN_PATH_FSTATU_1
LDR R0,
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_FSTATU_2
LDR R0,
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_ISDIR_1
LDR R2, =0x33C
ADD R0, SP, #0
ADD R0, R0, R2
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_ISDIR_2
ADD R0, SP, #0x40
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_FIND_1
B FIX_ZH_CN_PATH_ISDIR_1
FIX_ZH_CN_PATH_FIND_2
MOV R0, SP
B DO_FIX_R1
FIX_ZH_CN_PATH_FOPEN_
ADD R3, SP, #8
B DIRECT_DO_FIX
FIX_ZH_CN_PATH_MSGWIN_
PUSH {R0-R7, LR}
MOV R6, R0
LDR R1, =FMT
LDR R7, =0xA071905A+1 //wsprintf
BLX R7
MOV R0, #0x80
LDR R7, =0xA0719852+1 //AllocWS
BLX R7
MOV R4, R0
MOV R1, R5
MOV R2, #0x80
LDR R7, =0xA0987BEE+1 //utf8_2ws
BLX R7
MOV R0, R6
MOV R1, R4
LDR R7, =0xA07199B8+1 //wstrcat
BLX R7
MOV R0, R4
LDR R7, =0xA071919C+1 //FreeWS
BLX R7
POP {R0-R7, PC}
#endif
__thumb void doZH_CNPathFix(char *path) @ "FIX_ZH_CN_PATH_BODY"
{
char *p=path;
char *pp=p; //'\\'
char *p1=p; //end
char *temp=0; //temp
intc=0;
//if(path/0x10000000!=0xA)
// return;
if(*(p+1)!=':'||*(p+2)!='\\')
return;
while(*p1)
{
p1++;
}
while((c=*p++)>=X_CHAR)
{
if(c=='\\'||c==0x2F) // '/'
pp=p;
if(c>0x80)
{
if(*pp>X_CHAR)
{
p1++;
temp=p1;
while(temp>pp)
{
*temp=*(temp-1);
temp--;
}
*pp=X_CHAR;
temp=p;
while((c=*temp))//goto end or next "\\"
{
temp++;
p=temp;
if(c=='\\'||c==0x2F)
{
pp=temp;
break;
}
}
}
}
}
}//修正中文路径操作问题
-Z(CODE)FIX_ZH_CN_PATH_MKDIR_HOOK=A0756B3C-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FCOPY_HOOK=A02CD2E8-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FSTATU_HOOK1=A0751C90-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FSTATU_HOOK2=A0752350-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_ISDIR_HOOK1=A07495D8-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_ISDIR_HOOK2=A0756B14-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FIND_HOOK1=A0749590-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FIND_HOOK2=A074961C-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_FOPEN_HOOK=A0755FD4-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_MSGWIN_HOOK=A0858B44-FFFFFFFF
-Z(CODE)FIX_ZH_CN_PATH_BODY=A0E23880-FFFFFFFF 顶了,支持,已经打补丁 真的很强大··· 测试,不行
浏览器下 回死机.只要一点网上的jad就死 用浏览器下载百分之百死机。 wap55::ii 冰大太强大咯…强烈支持 死机的就不要了,呵呵 也来顶上咯
页:
[1]