爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 3628|回复: 13
收起左侧

[其它] [SK6Cv50]中文JAVA程序安装乱码修正 V1.0

[复制链接]
发表于 2008-5-25 09:26:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册会员 微信登录

x
用于安装带中文文件名JAVA程序时,出现乱码的情况。
从文件管理器安装jar,jad都已经没有问题了,浏览器下载没试过。
v1.0修正JAD没有复制问题
  1. ;中文JAVA程序安装乱码修正
  2. ;(c) BingK(binghelingxi)
  3. ;SK6Cv50
  4. ;v1.0

  5. ;FIX_ZH_CN_PATH_FCOPY_HOOK
  6. 0x002CD2E8: 851084E2 86592DFB
  7. ;FIX_ZH_CN_PATH_FIND_HOOK1
  8. 0x00749590: CF0F8DE2 E3681BFA
  9. ;FIX_ZH_CN_PATH_ISDIR_HOOK1
  10. 0x007495D8: CF0F8DE2 CE681BFA
  11. ;FIX_ZH_CN_PATH_FIND_HOOK2
  12. 0x0074961C: 0D00A0E1 C0681BFB
  13. ;FIX_ZH_CN_PATH_FSTATU_HOOK1
  14. 0x00751C90: 140090E5 1E471BFA
  15. ;FIX_ZH_CN_PATH_FSTATU_HOOK2
  16. 0x00752350: 140094E5 6F451BFA
  17. ;FIX_ZH_CN_PATH_FOPEN_HOOK
  18. 0x00755FD4: 08308DE2 53361BFB
  19. ;FIX_ZH_CN_PATH_ISDIR_HOOK2
  20. 0x00756B14: 40008DE2 81331BFA
  21. ;FIX_ZH_CN_PATH_MKDIR_HOOK
  22. 0x00756B3C: 40008DE2 70331BFB
  23. ;FIX_ZH_CN_PATH_MSGWIN_HOOK
  24. 0x00858B44: 4301FBFB 782B17FB
  25. ;FIX_ZH_CN_PATH_BODY
  26. #pragma enable old_equal_ff
  27. 0x00E23880: 70B44378010002003A2B02D183785C2B
  28. 0x00E23890: 02D070BC7047521C1378002BFBD10378
  29. 0x00E238A0: 401C1F2BF5DB5C2B01D02F2B00D10100
  30. 0x00E238B0: 812BF4DB0B78202BF1D3521C13009942
  31. 0x00E238C0: 05D25D1E2E781E702B009942F9D31F23
  32. 0x00E238D0: 0B7004002378002BE1D0641C20005C2B
  33. 0x00E238E0: 01D02F2BF6D12100D9E7000025742025
  34. 0x00E238F0: 63000000FFB5FFF7C3FFFFBDFFB5081C
  35. 0x00E23900: FFF7BEFFFFBD10A8F4E785202118F5E7
  36. 0x00E23910: 4069EFE76069EDE70F4A00A88018E9E7
  37. 0x00E23920: 10A8E7E7F8E76846E8E702ABE2E7FFB5
  38. 0x00E23930: 061C0A490A4FB84780200A4FB847041C
  39. 0x00E23940: 291C8022084FB847301C211C074FB847
  40. 0x00E23950: 201C074FB847FFBD3C030000EC38E2A0
  41. 0x00E23960: 5B9071A0539871A0EF7B98A0B99971A0
  42. 0x00E23970: 9D9171A0
  43. #pragma disable old_equal_ff
复制代码
以下为老版本,仅供撤销
  1. ;中文JAVA程序安装乱码修正
  2. ;(c) BingK(binghelingxi)
  3. ;SK6Cv50

  4. ;FIX_ZH_CN_PATH_FCOPY_HOOK
  5. 0x002CD2E8: 851084E2 84592DFA
  6. ;FIX_ZH_CN_PATH_FIND_HOOK1
  7. 0x00749590: CF0F8DE2 E2681BFB
  8. ;FIX_ZH_CN_PATH_ISDIR_HOOK1
  9. 0x007495D8: CF0F8DE2 CD681BFB
  10. ;FIX_ZH_CN_PATH_FIND_HOOK2
  11. 0x0074961C: 0D00A0E1 C0681BFA
  12. ;FIX_ZH_CN_PATH_FSTATU_HOOK1
  13. 0x00751C90: 140090E5 1D471BFB
  14. ;FIX_ZH_CN_PATH_FSTATU_HOOK2
  15. 0x00752350: 140094E5 6E451BFB
  16. ;FIX_ZH_CN_PATH_ISDIR_HOOK2
  17. 0x00756B14: 40008DE2 80331BFB
  18. ;FIX_ZH_CN_PATH_MKDIR_HOOK
  19. 0x00756B3C: 40008DE2 6E331BFA
  20. ;FIX_ZH_CN_PATH_MSGWIN_HOOK
  21. 0x00858B44: 4301FBFB 792B17FA
  22. ;FIX_ZH_CN_PATH_BODY
  23. #pragma enable old_equal_ff
  24. 0x00E23880: 70B44378010002003A2B02D183785C2B
  25. 0x00E23890: 02D070BC7047521C1378002BFBD10378
  26. 0x00E238A0: 401C1F2BF5DB5C2B01D02F2B00D10100
  27. 0x00E238B0: 812BF4DB0B78202BF1D3521C13009942
  28. 0x00E238C0: 05D25D1E2E781E702B009942F9D31F23
  29. 0x00E238D0: 0B7004002378002BE1D0641C20005C2B
  30. 0x00E238E0: 01D02F2BF6D12100D9E7000025742025
  31. 0x00E238F0: 63000000FFB5FFF7C3FFFFBD10A8F9E7
  32. 0x00E23900: 85202118FFB5081CFFF7BAFFFFBD4069
  33. 0x00E23910: F0E76069EEE7114A00A88018EAE710A8
  34. 0x00E23920: E8E7F8E76846FFB5081CFFF7A9FFFFBD
  35. 0x00E23930: FFB5061C0A490B4FB84780200A4FB847
  36. 0x00E23940: 041C291C8022094FB847301C211C084F
  37. 0x00E23950: B847201C074FB847FFBD00003C030000
  38. 0x00E23960: EC38E2A05B9071A0539871A0EF7B98A0
  39. 0x00E23970: B99971A09D9171A0
  40. #pragma disable old_equal_ff
复制代码
0.jpg

[ 本帖最后由 BingK 于 2008-5-25 11:03 编辑 ]

评分

参与人数 1实力分 +2 金钱数 +200 收起 理由
砂哥 + 2 + 200 奖励:感谢-你和大家分享资源与经验!

查看全部评分

发表于 2008-5-25 11:08:24 | 显示全部楼层
加分..
回复 支持 反对

使用道具 举报

发表于 2008-5-25 11:09:28 | 显示全部楼层
貌似是沙发,呵呵
顶楼主,强!!:/sl
回复 支持 反对

使用道具 举报

发表于 2008-5-26 13:45:16 | 显示全部楼层
移植到其他65上机器上啊.我要C65的
回复 支持 反对

使用道具 举报

发表于 2008-5-26 14:19:26 | 显示全部楼层
支持下楼主,这个很有用啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-5-26 18:36:16 | 显示全部楼层

源码:
  1. #define        FIX_ZH_CN_PATH
  2. #ifdef        FIX_ZH_CN_PATH
  3.         extern        doZH_CNPathFix
  4. //ROM:A0756B3C 40 00 8D E2                 ADD     R0, SP, #0x40
  5.         CODE32
  6.         RSEG        FIX_ZH_CN_PATH_MKDIR_HOOK
  7.         BLX        FIX_ZH_CN_PATH_MKDIR_
  8.        

  9. //ROM:A02CD2E8 85 10 84 E2                 ADD     R1, R4, #0x85
  10.         CODE32       
  11.         RSEG        FIX_ZH_CN_PATH_FCOPY_HOOK
  12.         BLX        FIX_ZH_CN_PATH_FCOPY_
  13.        
  14. //ROM:A0858B44 43 01 FB FB                 BLX     sub_A071905A    ; int wsprintf (WSHDR *,const char *format,...)
  15.         CODE32
  16.         RSEG        FIX_ZH_CN_PATH_MSGWIN_HOOK
  17.         BLX        FIX_ZH_CN_PATH_MSGWIN_
  18.        
  19. //ROM:A0751C90 14 00 90 E5                 LDR     R0, [R0,#0x14]
  20.         CODE32
  21.         RSEG        FIX_ZH_CN_PATH_FSTATU_HOOK1
  22.         BLX        FIX_ZH_CN_PATH_FSTATU_1

  23. //ROM:A0752350 14 00 94 E5                 LDR     R0, [R4,#0x14]
  24.         CODE32
  25.         RSEG        FIX_ZH_CN_PATH_FSTATU_HOOK2
  26.         BLX        FIX_ZH_CN_PATH_FSTATU_2
  27.        
  28. //ROM:A07495D8 CF 0F 8D E2                 ADD     R0, SP, #0x33C
  29.         CODE32
  30.         RSEG        FIX_ZH_CN_PATH_ISDIR_HOOK1
  31.         BLX        FIX_ZH_CN_PATH_ISDIR_1
  32.        
  33. //ROM:A0756B14 40 00 8D E2                 ADD     R0, SP, #0x40
  34.         CODE32
  35.         RSEG        FIX_ZH_CN_PATH_ISDIR_HOOK2
  36.         BLX        FIX_ZH_CN_PATH_ISDIR_2

  37. //ROM:A0749590 CF 0F 8D E2                 ADD     R0, SP, #0x33C
  38.         CODE32
  39.         RSEG        FIX_ZH_CN_PATH_FIND_HOOK1
  40.         BLX        FIX_ZH_CN_PATH_FIND_1
  41. //ROM:A074961C 0D 00 A0 E1                 MOV     R0, SP
  42.         CODE32
  43.         RSEG        FIX_ZH_CN_PATH_FIND_HOOK2
  44.         BLX        FIX_ZH_CN_PATH_FIND_2
  45. //ROM:A0755FD4 08 30 8D E2                 ADD     R3, SP, #8
  46.         CODE32
  47.         RSEG        FIX_ZH_CN_PATH_FOPEN_HOOK
  48.         BLX        FIX_ZH_CN_PATH_FOPEN_
  49.        
  50.         RSEG        FIX_ZH_CN_PATH_BODY
  51.         DATA
  52. FMT
  53.         DCD        "%t %c"
  54.        
  55.        
  56.         CODE16
  57. DIRECT_DO_FIX
  58.         PUSH        {R0-R7, LR}
  59.         BL        doZH_CNPathFix
  60.         POP        {R0-R7, PC}
  61. DO_FIX_R1
  62.         PUSH        {R0-R7, LR}
  63.         MOV        R0, R1
  64.         BL        doZH_CNPathFix
  65.         POP        {R0-R7, PC}

  66. FIX_ZH_CN_PATH_MKDIR_
  67.         ADD        R0, SP, #0x40
  68.         B        DIRECT_DO_FIX
  69.        
  70. FIX_ZH_CN_PATH_FCOPY_
  71.         MOV        R0, #0x85
  72.         ADD        R1, R4, R0
  73.         B        DO_FIX_R1
  74.        
  75. FIX_ZH_CN_PATH_FSTATU_1
  76.         LDR        R0, [R0,#0x14]
  77.         B        DIRECT_DO_FIX
  78.        
  79. FIX_ZH_CN_PATH_FSTATU_2
  80.         LDR        R0, [R4,#0x14]
  81.         B        DIRECT_DO_FIX

  82. FIX_ZH_CN_PATH_ISDIR_1
  83.         LDR        R2, =0x33C
  84.         ADD        R0, SP, #0
  85.         ADD     R0, R0, R2
  86.         B        DIRECT_DO_FIX
  87.        
  88. FIX_ZH_CN_PATH_ISDIR_2
  89.         ADD        R0, SP, #0x40
  90.         B        DIRECT_DO_FIX
  91.        
  92. FIX_ZH_CN_PATH_FIND_1
  93.         B        FIX_ZH_CN_PATH_ISDIR_1
  94.        
  95. FIX_ZH_CN_PATH_FIND_2
  96.         MOV        R0, SP
  97.         B        DO_FIX_R1

  98. FIX_ZH_CN_PATH_FOPEN_
  99.         ADD        R3, SP, #8
  100.         B        DIRECT_DO_FIX
  101.        
  102. FIX_ZH_CN_PATH_MSGWIN_
  103.         PUSH        {R0-R7, LR}
  104.         MOV        R6, R0
  105.         LDR        R1, =FMT
  106.         LDR        R7, =0xA071905A+1 //wsprintf
  107.         BLX        R7
  108.         MOV        R0, #0x80
  109.         LDR        R7, =0xA0719852+1 //AllocWS
  110.         BLX        R7
  111.         MOV        R4, R0
  112.         MOV        R1, R5
  113.         MOV        R2, #0x80
  114.         LDR        R7, =0xA0987BEE+1 //utf8_2ws
  115.         BLX        R7
  116.         MOV        R0, R6
  117.         MOV        R1, R4
  118.         LDR        R7, =0xA07199B8+1 //wstrcat
  119.         BLX        R7
  120.         MOV        R0, R4
  121.         LDR        R7, =0xA071919C+1 //FreeWS
  122.         BLX        R7
  123.         POP        {R0-R7, PC}
  124.        
  125.        
  126. #endif

复制代码
  1. __thumb void doZH_CNPathFix(char *path) @ "FIX_ZH_CN_PATH_BODY"
  2. {
  3.         char *p=path;
  4.         char *pp=p; //'\\'
  5.         char *p1=p; //end
  6.         char *temp=0; //temp
  7.         int  c=0;
  8.         //if(path/0x10000000!=0xA)
  9.         //        return;
  10.         if(*(p+1)!=':'||*(p+2)!='\\')
  11.                 return;
  12.         while(*p1)
  13.         {
  14.                 p1++;
  15.         }
  16.         while((c=*p++)>=X_CHAR)
  17.         {
  18.                 if(c=='\\'||c==0x2F) // '/'
  19.                         pp=p;
  20.                 if(c>0x80)
  21.                 {
  22.                         if(*pp>X_CHAR)
  23.                         {
  24.                                 p1++;
  25.                                 temp=p1;
  26.                                 while(temp>pp)
  27.                                 {
  28.                                         *temp=*(temp-1);
  29.                                         temp--;
  30.                                 }
  31.                                 *pp=X_CHAR;
  32.                                 temp=p;
  33.                                 while((c=*temp))//goto end or next "\"
  34.                                 {
  35.                                         temp++;
  36.                                         p=temp;
  37.                                         if(c=='\\'||c==0x2F)
  38.                                         {
  39.                                                 pp=temp;
  40.                                                 break;
  41.                                         }
  42.                                 }
  43.                         }
  44.                 }
  45.         }
  46. }
复制代码
  1. //修正中文路径操作问题

  2. -Z(CODE)FIX_ZH_CN_PATH_MKDIR_HOOK=A0756B3C-FFFFFFFF
  3. -Z(CODE)FIX_ZH_CN_PATH_FCOPY_HOOK=A02CD2E8-FFFFFFFF
  4. -Z(CODE)FIX_ZH_CN_PATH_FSTATU_HOOK1=A0751C90-FFFFFFFF
  5. -Z(CODE)FIX_ZH_CN_PATH_FSTATU_HOOK2=A0752350-FFFFFFFF
  6. -Z(CODE)FIX_ZH_CN_PATH_ISDIR_HOOK1=A07495D8-FFFFFFFF
  7. -Z(CODE)FIX_ZH_CN_PATH_ISDIR_HOOK2=A0756B14-FFFFFFFF
  8. -Z(CODE)FIX_ZH_CN_PATH_FIND_HOOK1=A0749590-FFFFFFFF
  9. -Z(CODE)FIX_ZH_CN_PATH_FIND_HOOK2=A074961C-FFFFFFFF
  10. -Z(CODE)FIX_ZH_CN_PATH_FOPEN_HOOK=A0755FD4-FFFFFFFF
  11. -Z(CODE)FIX_ZH_CN_PATH_MSGWIN_HOOK=A0858B44-FFFFFFFF
  12. -Z(CODE)FIX_ZH_CN_PATH_BODY=A0E23880-FFFFFFFF
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-6-11 03:00:15 | 显示全部楼层
顶了,支持,已经打补丁
回复 支持 反对

使用道具 举报

发表于 2008-6-14 11:19:25 | 显示全部楼层
真的很强大···
回复 支持 反对

使用道具 举报

发表于 2008-6-20 15:25:24 | 显示全部楼层
测试,不行
浏览器下 回死机.只要一点网上的jad就死
回复 支持 反对

使用道具 举报

发表于 2008-8-30 18:05:29 | 显示全部楼层
用浏览器下载百分之百死机。
回复 支持 反对

使用道具 举报

发表于 2008-12-14 19:28:11 | 显示全部楼层
wap55::ii
回复 支持 反对

使用道具 举报

发表于 2008-12-14 21:54:54 | 显示全部楼层
冰大太强大咯…强烈支持
回复 支持 反对

使用道具 举报

发表于 2009-3-20 08:29:17 | 显示全部楼层
死机的就不要了,呵呵
回复 支持 反对

使用道具 举报

发表于 2009-4-5 21:14:40 | 显示全部楼层
也来顶上咯
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员 微信登录

本版积分规则

小黑屋|Archiver|手机版|爱技术 ( 沪ICP备08115260号-3 )

GMT+8, 2024-5-7 12:09

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表