爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 1826|回复: 21
收起左侧

[补丁] [S7Cv47]文件管理器中显示文件扩展名

[复制链接]
发表于 2009-5-14 12:58:05 | 显示全部楼层 |阅读模式

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

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

x
  1. ;Show File Extensions in Card-Explorer
  2. ;(c)BingK(binghelingxi)
  3. ;(r)SiNgle,1nvisible

  4. 0370AC6: 291C 12E0
复制代码
不用说明了吧

评分

参与人数 1实力分 +1 金钱数 +1 技术分 +1 贡献分 +1 收起 理由
askman_1 + 1 + 1 + 1 + 1 嗯,加分

查看全部评分

发表于 2009-5-14 13:08:49 | 显示全部楼层
沙发??
回复 支持 反对

使用道具 举报

发表于 2009-5-14 13:09:07 | 显示全部楼层
哈哈哈哈哈。冰的沙发。。。。哈哈哈哈
回复 支持 反对

使用道具 举报

发表于 2009-5-14 13:11:03 | 显示全部楼层
来晚了,支持冰,东西原来在这里
回复 支持 反对

使用道具 举报

发表于 2009-5-14 13:37:19 | 显示全部楼层
这个补丁早就想要了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 13:40:54 | 显示全部楼层
简单说一下这个补丁如何做出来的:
首先可以肯定的是S75是可以做出这样的补丁的,做过相关补丁的不难发现,E71文件管理器的代码是ARM模式的,S75的却是THUMB模式的,但功能基本相同,所以用来实现的代码是差不多的,所以这样的补丁是不能直接移植的

拿到E71Cv41的补丁:073DF10: 2E 1E
用IDA反汇编E71的FullFlash,转到A073DF10,没什么发现,但可以肯定的是2E就是ANSI编码的点号“.”
  1. ROM:A073DF00 06 00 A0 E1         MOV     R0, R6
  2. ROM:A073DF04 86 48 F7 FB         BLX     sub_A0510126            ; wstrlen(WSHDR *wshdr)
  3. ROM:A073DF08 00 10 A0 E1         MOV     R1, R0
  4. ROM:A073DF0C 06 00 A0 E1         MOV     R0, R6
  5. ROM:A073DF10 2E 20 A0 E3         MOV     R2, #0x2E
  6. ROM:A073DF14 CA 48 F7 FA         BLX     sub_A0510244   ;后来看了一下,这个函数就是wstrrchr
  7. ROM:A073DF18 01 00 40 E2         SUB     R0, R0, #1
  8. ROM:A073DF1C 00 18 A0 E1         MOV     R1, R0,LSL#16
  9. ROM:A073DF20 21 18 A0 E1         MOV     R1, R1,LSR#16
  10. ROM:A073DF24 06 00 A0 E1         MOV     R0, R6
  11. ROM:A073DF28 F8 4A F7 FA         BLX     sub_A0510B10            ; CutWSTR(void *WSHDR,int len)
复制代码
于是从这个函数上溯,即A073E390:
  1. ROM:A073DE68             sub_A073DE68                            ; ROM:A073E390
  2. ROM:A073DE68 F0 4D 2D E9         STMFD   SP!, {R4-R8,R10,R11,LR}
  3. ROM:A073DE6C 4A DF 4D E2         SUB     SP, SP, #0x128
  4. ROM:A073DE70 48 71 9D E5         LDR     R7, [SP,#0x148]
复制代码
前后观察一下:
  1. ROM:A073E2DC 28 57 89 A0 off_A073E2DC DCD unk_A0895728           ; ROM:A073DAACr
  2. ROM:A073E2E0 20 57 89 A0 off_A073E2E0 DCD unk_A0895720           ; ROM:A073DAB0r
  3. ROM:A073E2E4 25 64 20 25+s_DT    DCB "%d %t",0                   ; ROM:A073E148o
  4. ROM:A073E2EA 00                  DCB    0
  5. ROM:A073E2EB 00                  DCB    0
  6. ROM:A073E2EC 2C 11 01 00 dword_A073E2EC DCD 0x1112C              ; ROM:A073E194r
  7. ROM:A073E2F0 A7 13 01 00 dword_A073E2F0 DCD 0x113A7              ; ROM:A073E224r
  8. ROM:A073E2F4 18 57 89 A0 off_A073E2F4 DCD unk_A0895718           ; ROM:A073E278r
  9. ROM:A073E2F8 44 65 66 61+s_Default DCB "Default",0               ; ROM:A073E2C4o
  10. ROM:A073E300 50 72 65 76+s_Preview_1 DCB "Preview",0             ; ROM:A073E2CCo
  11. ROM:A073E308             ; *************** S U B R O U T I N E ***************************************
  12. ROM:A073E308             sub_A073E308                            ; ROM:A0736450p
  13. ROM:A073E308                                                     ; ROM:A07A645Cp
  14. ROM:A073E308             var_1378= -0x1378
  15. ROM:A073E308             var_1374= -0x1374
  16. ROM:A073E308             var_1370= -0x1370
  17. ROM:A073E308             var_136C= -0x136C
  18. ROM:A073E308             var_1358= -0x1358
  19. ROM:A073E308             var_B78 = -0xB78
  20. ROM:A073E308 F0 40 2D E9         STMFD   SP!, {R4-R7,LR}
  21. ROM:A073E30C 40 DD 4D E2         SUB     SP, SP, #0x1000
  22. ROM:A073E310 D9 DF 4D E2         SUB     SP, SP, #0x364
  23. ROM:A073E314 01 50 A0 E1         MOV     R5, R1
  24. ROM:A073E318 00 40 A0 E1         MOV     R4, R0
  25. ROM:A073E31C 80 0E 8D E2         ADD     R0, SP, #0x800
  26. ROM:A073E320 80 1E 8D E2         ADD     R1, SP, #0x800
  27. ROM:A073E324 73 1F 81 E2         ADD     R1, R1, #0x1CC
  28. ROM:A073E328 6E 0F 80 E2         ADD     R0, R0, #0x1B8
  29. ROM:A073E32C 0C 25 9F E5         LDR     R2, =0x4CB
  30. ROM:A073E330 FD 48 F7 FB         BLX     sub_A051072E            ; CreateLocalWS(WSHDR *wshdr,unsigned __int16 *wsbody,int len)
  31. ROM:A073E334 00 60 A0 E1         MOV     R6, R0
  32. ROM:A073E338 0C 00 8D E2         ADD     R0, SP, #0xC
  33. ROM:A073E33C FC 24 9F E5         LDR     R2, =0x4CB
  34. ROM:A073E340 20 10 8D E2         ADD     R1, SP, #0x20
  35. ROM:A073E344 F8 48 F7 FB         BLX     sub_A051072E            ; CreateLocalWS(WSHDR *wshdr,unsigned __int16 *wsbody,int len)
  36. ROM:A073E348 00 70 A0 E1         MOV     R7, R0
  37. ROM:A073E34C D3 E5 FF EB         BL      loc_A0737AA0
  38. ROM:A073E350 08 00 8D E5         STR     R0, [SP,#8]
  39. ROM:A073E354 10 00 94 E5         LDR     R0, [R4,#0x10]
  40. ROM:A073E358 01 00 50 E3         CMP     R0, #1
  41. ROM:A073E35C 16 00 00 0A         BEQ     loc_A073E3BC
  42. ROM:A073E360 04 00 A0 E1         MOV     R0, R4
  43. ROM:A073E364 C5 F9 FF EB         BL      sub_A073CA80
  44. ROM:A073E368 00 00 50 E3         CMP     R0, #0
  45. ROM:A073E36C 12 00 00 0A         BEQ     loc_A073E3BC
  46. ROM:A073E370 C1 E4 08 FB         BLX     sub_A097767E
  47. ROM:A073E374 00 00 50 E3         CMP     R0, #0
  48. ROM:A073E378 0F 00 00 1A         BNE     loc_A073E3BC
  49. ROM:A073E37C 07 30 A0 E1         MOV     R3, R7
  50. ROM:A073E380 00 60 8D E5         STR     R6, [SP]
  51. ROM:A073E384 08 20 8D E2         ADD     R2, SP, #8
  52. ROM:A073E388 05 10 A0 E1         MOV     R1, R5
  53. ROM:A073E38C 04 00 A0 E1         MOV     R0, R4
  54. ROM:A073E390 B4 FE FF EB         BL      sub_A073DE68
  55. ROM:A073E394 05 10 A0 E1         MOV     R1, R5
  56. ROM:A073E398 04 00 A0 E1         MOV     R0, R4
  57. ROM:A073E39C 07 FD FF EB         BL      sub_A073D7C0
  58. ROM:A073E3A0 04 00 8D E5         STR     R0, [SP,#4]
  59. ROM:A073E3A4 04 00 A0 E1         MOV     R0, R4
  60. ROM:A073E3A8 07 30 A0 E1         MOV     R3, R7
  61. ROM:A073E3AC 00 60 8D E5         STR     R6, [SP]
  62. ROM:A073E3B0 05 10 A0 E1         MOV     R1, R5
  63. ROM:A073E3B4 08 20 9D E5         LDR     R2, [SP,#8]
  64. ROM:A073E3B8 9C FC FF EB         BL      sub_A073D630
  65. ROM:A073E3BC             loc_A073E3BC                            ; ROM:A073E35Cj
  66. ROM:A073E3BC                                                     ; ROM:A073E36Cj
  67. ROM:A073E3BC                                                     ; ROM:A073E378j
  68. ROM:A073E3BC 40 DD 8D E2         ADD     SP, SP, #0x1000
  69. ROM:A073E3C0 D9 DF 8D E2         ADD     SP, SP, #0x364
  70. ROM:A073E3C4 F0 80 BD E8         LDMFD   SP!, {R4-R7,PC}
复制代码
发现上面这个“Default”,“Preview”,这两个字符串,可用做特征码。
同时这两个字符串是被从A073DE68开始的这个函数所调用的:
  1. ROM:A073E2B4 00 00 A0 E3         MOV     R0, #0
  2. ROM:A073E2B8 B9 E6 FF EB         BL      sub_A0737DA4
  3. ROM:A073E2BC 00 00 88 E5         STR     R0, [R8]
  4. ROM:A073E2C0 06 00 A0 E1         MOV     R0, R6
  5. ROM:A073E2C4 2C 10 8F E2         ADR     R1, s_Default           ; "Default"
  6. ROM:A073E2C8 48 9C 08 FA         BLX     sub_A09653F0            ; wsprintf(WSHDR *,const char *format,...)
  7. ROM:A073E2CC 2C 10 8F E2         ADR     R1, s_Preview_1         ; "Preview"
  8. ROM:A073E2D0 07 00 A0 E1         MOV     R0, R7
  9. ROM:A073E2D4 45 9C 08 FA         BLX     sub_A09653F0            ; wsprintf(WSHDR *,const char *format,...)
  10. ROM:A073E2D8 26 FF FF EA         B       loc_A073DF78
复制代码
取消以字符串方式显示:
  1. ROM:A073E2F8 44          unk_A073E2F8 DCB 0x44 ; D               ; ROM:A073E2C4o
  2. ROM:A073E2F9 65                  DCB 0x65 ; e
  3. ROM:A073E2FA 66                  DCB 0x66 ; f
  4. ROM:A073E2FB 61                  DCB 0x61 ; a
  5. ROM:A073E2FC 75                  DCB 0x75 ; u
  6. ROM:A073E2FD 6C                  DCB 0x6C ; l
  7. ROM:A073E2FE 74                  DCB 0x74 ; t
  8. ROM:A073E2FF 00                  DCB    0
  9. ROM:A073E300 50          unk_A073E300 DCB 0x50 ; P               ; ROM:A073E2CCo
  10. ROM:A073E301 72                  DCB 0x72 ; r
  11. ROM:A073E302 65                  DCB 0x65 ; e
  12. ROM:A073E303 76                  DCB 0x76 ; v
  13. ROM:A073E304 69                  DCB 0x69 ; i
  14. ROM:A073E305 65                  DCB 0x65 ; e
  15. ROM:A073E306 77                  DCB 0x77 ; w
  16. ROM:A073E307 00                  DCB    0
复制代码
记住ROM:A073E390 B4 FE FF EB         BL      sub_A073DE68,是A073E308开始的这个函数的倒数第三个BL

A073E308开始的这个函数,是在 A073DE68开始的这个函数 下面。

用Smelter打开S75的FullFlash,搜索特征码:
  1. 44 65 66 61 75 6C 74 00 50 72 65 76 69 65 77 00
复制代码
找到之后用IDA打开FullFlash反汇编,是这个位置:
  1. ROM:A0371048 44 65 66 61+s_Default       DCB "Default",0         ; A0370D68o
  2. ROM:A0371050 50 72 65 76+s_Preview_1     DCB "Preview",0         ; A0370D70o
复制代码
根据后面的调用关系到这里:
  1. ROM:A0370D68 B7 A1                       ADR     R1, s_Default   ; "Default"
  2. ROM:A0370D6A 30 1C                       ADD     R0, R6, #0
  3. ROM:A0370D6C B1 F0 9C EB                 BLX     sub_A04224A8    ; void wsprintf(WSHDR *,const char *format,...)
  4. ROM:A0370D6C
  5. ROM:A0370D70 B7 A1                       ADR     R1, s_Preview_1 ; "Preview"
  6. ROM:A0370D72 38 1C                       ADD     R0, R7, #0
  7. ROM:A0370D74 B1 F0 98 EB                 BLX     sub_A04224A8    ; void wsprintf(WSHDR *,const char *format,...)
  8. ROM:A0370D74
  9. ROM:A0370D78 D2 E6                       B       loc_A0370B20
复制代码
观察发现,这个函数和E71中的 A073DE68开始的这个函数 非常相似,其实只是一个是ARM的一个是THUMB的而已,
顺路找到他下面的一个函数:
  1. ROM:A0370D7A             sub_A0370D7A                            ; A036B70Ep
  2. ROM:A0370D7A                                                     ; A036DA68p
  3. ROM:A0370D7A
  4. ROM:A0370D7A             var_14          = -0x14
  5. ROM:A0370D7A             var_10          = -0x10
  6. ROM:A0370D7A             var_C           = -0xC
  7. ROM:A0370D7A             var_8           = -8
  8. ROM:A0370D7A             arg_C           =  0xC
  9. ROM:A0370D7A
  10. ROM:A0370D7A F0 B5                       PUSH    {R4-R7,LR}
  11. ROM:A0370D7C 0D 1C                       ADD     R5, R1, #0
  12. ROM:A0370D7E 04 1C                       ADD     R4, R0, #0
  13. ROM:A0370D80 B5 4B                       LDR     R3, =0xFFFFEC9C
  14. ROM:A0370D82 B7 48                       LDR     R0, =0x9CC
  15. ROM:A0370D84 B6 49                       LDR     R1, =0x9CC
  16. ROM:A0370D86 9D 44                       ADD     SP, R3
  17. ROM:A0370D88 14 38                       SUB     R0, #0x14
  18. ROM:A0370D8A 68 44                       ADD     R0, SP
  19. ROM:A0370D8C 69 44                       ADD     R1, SP
  20. ROM:A0370D8E B3 4A                       LDR     R2, =0x4CB
  21. ROM:A0370D90 86 F6 71 FE                 BL      sub_A01F7A76    ; WSHDR *CreateLocalWS(WSHDR *wshdr,unsigned __int16 *wsbody,int len)
  22. ROM:A0370D90
  23. ROM:A0370D94 07 1C                       ADD     R7, R0, #0
  24. ROM:A0370D96 03 A8                       ADD     R0, SP, #0x14+var_8
  25. ROM:A0370D98 B0 4A                       LDR     R2, =0x4CB
  26. ROM:A0370D9A 08 A9                       ADD     R1, SP, #0x14+arg_C
  27. ROM:A0370D9C 86 F6 6B FE                 BL      sub_A01F7A76    ; WSHDR *CreateLocalWS(WSHDR *wshdr,unsigned __int16 *wsbody,int len)
  28. ROM:A0370D9C
  29. ROM:A0370DA0 06 1C                       ADD     R6, R0, #0
  30. ROM:A0370DA2 FB F7 EB FB                 BL      sub_A036C57C
  31. ROM:A0370DA2
  32. ROM:A0370DA6 02 90                       STR     R0, [SP,#0x14+var_C]
  33. ROM:A0370DA8 20 69                       LDR     R0, [R4,#0x10]
  34. ROM:A0370DAA 01 28                       CMP     R0, #1
  35. ROM:A0370DAC 1B D0                       BEQ     loc_A0370DE6
  36. ROM:A0370DAC
  37. ROM:A0370DAE 20 1C                       ADD     R0, R4, #0
  38. ROM:A0370DB0 FE F7 D4 FF                 BL      sub_A036FD5C
  39. ROM:A0370DB0
  40. ROM:A0370DB4 00 28                       CMP     R0, #0
  41. ROM:A0370DB6 16 D0                       BEQ     loc_A0370DE6
  42. ROM:A0370DB6
  43. ROM:A0370DB8 B5 F0 64 EB                 BLX     sub_A0426484
  44. ROM:A0370DB8
  45. ROM:A0370DBC 00 28                       CMP     R0, #0
  46. ROM:A0370DBE 12 D1                       BNE     loc_A0370DE6
  47. ROM:A0370DBE
  48. ROM:A0370DC0 29 1C                       ADD     R1, R5, #0
  49. ROM:A0370DC2 20 1C                       ADD     R0, R4, #0
  50. ROM:A0370DC4 33 1C                       ADD     R3, R6, #0
  51. ROM:A0370DC6 00 97                       STR     R7, [SP,#0x14+var_14]
  52. ROM:A0370DC8 02 AA                       ADD     R2, SP, #0x14+var_C
  53. ROM:A0370DCA FF F7 55 FE                 BL      sub_A0370A78
  54. ROM:A0370DCA
  55. ROM:A0370DCE 29 1C                       ADD     R1, R5, #0
  56. ROM:A0370DD0 20 1C                       ADD     R0, R4, #0
  57. ROM:A0370DD2 FF F7 1E FC                 BL      sub_A0370612
  58. ROM:A0370DD2
  59. ROM:A0370DD6 01 90                       STR     R0, [SP,#0x14+var_10]
  60. ROM:A0370DD8 20 1C                       ADD     R0, R4, #0
  61. ROM:A0370DDA 29 1C                       ADD     R1, R5, #0
  62. ROM:A0370DDC 33 1C                       ADD     R3, R6, #0
  63. ROM:A0370DDE 00 97                       STR     R7, [SP,#0x14+var_14]
  64. ROM:A0370DE0 02 9A                       LDR     R2, [SP,#0x14+var_C]
  65. ROM:A0370DE2 FF F7 90 FB                 BL      sub_A0370506
  66. ROM:A0370DE2
  67. ROM:A0370DE6
  68. ROM:A0370DE6             loc_A0370DE6                            ; A0370DACj
  69. ROM:A0370DE6                                                     ; A0370DB6j
  70. ROM:A0370DE6                                                     ; A0370DBEj
  71. ROM:A0370DE6 9C 4B                       LDR     R3, =0xFFFFEC9C
  72. ROM:A0370DE8 5B 42                       NEG     R3, R3
  73. ROM:A0370DEA 9D 44                       ADD     SP, R3
  74. ROM:A0370DEC F0 BD                       POP     {R4-R7,PC}
  75. ROM:A0370DEC
  76. ROM:A0370DEC             ; End of function sub_A0370D7A
  77. ROM:A0370DEC
  78. ROM:A0370DEE
复制代码
从A0370D7A开始的这个函数,和E71中的 A073E308开始的这个函数 也非常相似
看它倒数第三个BL:
  1. ROM:A0370DCA FF F7 55 FE                 BL      sub_A0370A78
复制代码
看这个函数的代码,从A0370A78开始,
不难发现:
  1. ROM:A0370ACA FF F7 BC FF                 BL      sub_A0370A46    ; int IsExtRegged(void *, int unk_0_1)
  2. ROM:A0370ACA
  3. ROM:A0370ACE 00 28                       CMP     R0, #0
  4. ROM:A0370AD0 0D D0                       BEQ     loc_A0370AEE
  5. ROM:A0370AD0
  6. ROM:A0370AD2 30 1C                       ADD     R0, R6, #0
  7. ROM:A0370AD4 86 F6 CB FC                 BL      sub_A01F746E    ; int wstrlen(WSHDR *wshdr)
  8. ROM:A0370AD4
  9. ROM:A0370AD8 01 1C                       ADD     R1, R0, #0
  10. ROM:A0370ADA 2E 22                       MOV     R2, #0x2E
  11. ROM:A0370ADC 30 1C                       ADD     R0, R6, #0
  12. ROM:A0370ADE 86 F6 55 FD                 BL      sub_A01F758C    ; short wstrrchr(WSHDR *ws,unsigned int max_pos,unsigned int wchar)
  13. ROM:A0370ADE
  14. ROM:A0370AE2 01 38                       SUB     R0, #1
  15. ROM:A0370AE4 01 04                       LSL     R1, R0, #0x10
  16. ROM:A0370AE6 09 0C                       LSR     R1, R1, #0x10
  17. ROM:A0370AE8 30 1C                       ADD     R0, R6, #0
  18. ROM:A0370AEA 87 F6 B5 F9                 BL      sub_A01F7E58    ; void CutWSTR(void *WSHDR,int len)
复制代码
如果按照原来的补丁来的话,这样就可以达到显示拓展名的效果了:
  1. 0370ADA: 2E 1E
复制代码
但还可以优化一下,观察发现(用Armdebugger),这个函数就是用来判断是否是已经关联的文件,未关联文件是直接显示拓展名的,如果是已关联的,就继续往下去掉拓展名,如果未关联,跳转到A0370AEE不用去掉拓展名:
  1. ROM:A0370ACA FF F7 BC FF                 BL      sub_A0370A46    ; int IsExtRegged(void *, int unk_0_1)
  2. ROM:A0370ACE 00 28                       CMP     R0, #0
  3. ROM:A0370AD0 0D D0                       BEQ     loc_A0370AEE
复制代码
所以我们要做的补丁就是直接从A0370AC6跳转到A0370AEE就可以了
就是 A0370AC6 B A0370AEE,

评分

参与人数 1实力分 +1 金钱数 +1 技术分 +1 贡献分 +1 收起 理由
askman_1 + 1 + 1 + 1 + 1 这个没谁反对吧

查看全部评分

回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 13:42:38 | 显示全部楼层
楼上lusure111请自重
回复 支持 反对

使用道具 举报

发表于 2009-5-14 16:01:39 | 显示全部楼层
没想到一行补丁代码,居然需要如此多的。。。
回复 支持 反对

使用道具 举报

发表于 2009-5-14 16:45:56 | 显示全部楼层
这个补丁用起来很爽啊,谢谢wap45::ii
回复 支持 反对

使用道具 举报

发表于 2009-5-14 18:07:24 | 显示全部楼层
本帖最后由 loquat 于 2009-5-14 18:10 编辑

难得冰大帮忙移植,看教程的样子,不是冰大出手我无论如何都弄不出来啊。
帮截图
123.gif
教程先收录,继续学汇编。
回复 支持 反对

使用道具 举报

发表于 2009-5-14 20:10:25 | 显示全部楼层
很复杂,但很详细,学习了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-14 20:49:20 | 显示全部楼层
有点取巧,只当是方法之一吧
字符串不会随代码模式变化
回复 支持 反对

使用道具 举报

发表于 2009-5-14 21:44:03 | 显示全部楼层
字符串不会随代码模式改变。
记住鸟
回复 支持 反对

使用道具 举报

发表于 2009-5-14 21:51:34 | 显示全部楼层
谢谢冰  上次也是从字符串入手找到了锁键盘画面的函数
不过还是没把那个补丁搞定
从你的教程能学习很多
回复 支持 反对

使用道具 举报

发表于 2009-5-14 23:28:06 | 显示全部楼层
楼上的也是强人,玩小8玩得转的都是强人。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-15 00:03:32 | 显示全部楼层
传了一个我反汇编的S7Csw47的FullFlash到FTP,里面的一些函数都标出来了
/mobilesoft/SPGC/ARM/IDB_BingK
回复 支持 反对

使用道具 举报

发表于 2009-5-15 12:22:09 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2009-5-16 10:05:27 | 显示全部楼层
嘿嘿,下载中。。。
loquat 发表于 2009-5-15 12:22

打不开啊。。。
2009-05-16_100002.jpg
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-5-16 11:26:55 | 显示全部楼层
重新传了
回复 支持 反对

使用道具 举报

发表于 2009-5-17 22:59:20 | 显示全部楼层
再次支持冰块大哥
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-6 16:54

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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