爱技术

 找回密码
 注册会员

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 426|回复: 7
收起左侧

[求助] 请问lisugar一些问题。。

[复制链接]
发表于 2005-9-12 16:50:16 | 显示全部楼层 |阅读模式

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

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

x
lisugar,我在看老大的《如何用Keil ARM编译器作x65的Patch》是发现他反编译S65V50的代码片断如下:

  1. A1253530             ; 圹圹圹圹圹圹圹?S U B R O U T I N E 圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹圹?
  2. A1253530
  3. A1253530
  4. A1253530             wndACCUMonitor                          ; CODE XREF: j_wndACCUMonitorj
  5. A1253530                                                     ; DATA XREF: ROM:off_A0A2EBD8o
  6. A1253530
  7. A1253530             var_34          = -0x34
  8. A1253530             var_30          = -0x30
  9. A1253530             var_2C          = -0x2C
  10. A1253530
  11. A1253530 F0 4D 2D E9                 STMFD   SP!, {R4-R8,R10,R11,LR}
  12. A1253534 01 40 A0 E1                 MOV     R4, R1
  13. A1253538 00 70 A0 E1                 MOV     R7, R0
  14. A125353C 04 00 A0 E1                 MOV     R0, R4
  15. A1253540 4C 13 9F E5                 LDR     R1, =asc_A1410094
  16. A1253544 18 D0 4D E2                 SUB     SP, SP, #0x18
  17. A1253548 9A 20 A0 E3                 MOV     R2, #0x9A
  18. A125354C 71 D7 0E EB                 BL      memcpy
  19. A1253550 0C 20 A0 E3                 MOV     R2, #0xC
  20. A1253554 CF 1F 8F E2                 ADR     R1, asc_A1253898 ; "AkkuMon (1)"
  21. A1253558 07 00 A0 E1                 MOV     R0, R7
  22. A125355C 6D D7 0E EB                 BL      memcpy
  23. A1253560 09 10 A0 E3                 MOV     R1, #9
  24. A1253564 00 00 A0 E3                 MOV     R0, #0
  25. A1253568 B0 04 00 EB                 BL      GetAkku
  26. A125356C 08 00 8D E5                 STR     R0, [SP,#0x38+var_30]
  27. A1253570 00 00 A0 E3                 MOV     R0, #0
  28. A1253574 07 10 A0 E3                 MOV     R1, #7
  29. A1253578 AC 04 00 EB                 BL      GetAkku
  30. A125357C 04 00 8D E5                 STR     R0, [SP,#0x38+var_34]
  31. A1253580 00 00 A0 E3                 MOV     R0, #0
  32. A1253584 08 10 A0 E3                 MOV     R1, #8
  33. A1253588 A8 04 00 EB                 BL      GetAkku
  34. A125358C 00 50 A0 E1                 MOV     R5, R0
  35. A1253590 00 00 A0 E3                 MOV     R0, #0
  36. A1253594 06 10 A0 E3                 MOV     R1, #6
  37. A1253598 A4 04 00 EB                 BL      GetAkku
复制代码


但是我按照老大的反编译方法后处理的结果如下:


  1. ROM:A1253530 F0 4D                       LDR     R5, =0xE59F06B4
  2. ROM:A1253530             ; ?
  3. ROM:A1253532 2D                          DCB 0x2D ; -
  4. ROM:A1253533 E9                          DCB 0xE9 ; ?
  5. ROM:A1253534             ; ?
  6. ROM:A1253534 01 40                       AND     R1, R0
  7. ROM:A1253536 A0 E1                       B       loc_A125387A
  8. ROM:A1253538             ; ?
  9. ROM:A1253538
  10. ROM:A1253538             loc_A1253538                            ; CODE XREF: ROM:loc_A12532D6j
  11. ROM:A1253538 00 70                       STRB    R0, [R0]
  12. ROM:A125353A A0 E1                       B       unk_A125387E
  13. ROM:A125353C             ; ?
  14. ROM:A125353C 04 00                       LSL     R4, R0, #0
  15. ROM:A125353E A0 E1                       B       loc_A1253882
  16. ROM:A1253540             ; ?
  17. ROM:A1253540 4C 13                       ASR     R4, R1, #0xD
  18. ROM:A1253542 9F E5                       B       loc_A1253084
  19. ROM:A1253544             ; ?
  20. ROM:A1253544 18 D0                       BEQ     loc_A1253578
  21. ROM:A1253546 4D E2                       B       loc_A12539E4
  22. ROM:A1253548             ; ?
  23. ROM:A1253548
  24. ROM:A1253548             loc_A1253548                            ; CODE XREF: ROM:A12532E6j
  25. ROM:A1253548 9A 20                       MOV     R0, #0x9A
  26. ROM:A125354A A0 E3                       B       loc_A1253C8E
  27. ROM:A125354C             ; ?
  28. ROM:A125354C 71 D7                       BVC     loc_A1253632
  29. ROM:A125354C             ; ?
  30. ROM:A125354E 0E                          DCB  0xE
  31. ROM:A125354F EB                          DCB 0xEB ; ?
  32. ROM:A1253550             ; ?
  33. ROM:A1253550
  34. ROM:A1253550             loc_A1253550                            ; CODE XREF: ROM:A12532EEj
  35. ROM:A1253550 0C 20                       MOV     R0, #0xC
  36. ROM:A1253552 A0 E3                       B       loc_A1253C96
  37. ROM:A1253554             ; ?
  38. ROM:A1253554
  39. ROM:A1253554             loc_A1253554                            ; CODE XREF: ROM:A12539CEj
  40. ROM:A1253554 CF 1F                       SUB     R7, R1, #7
  41. ROM:A1253556 8F E2                       B       unk_A1253A78
  42. ROM:A1253558             ; ?
  43. ROM:A1253558
  44. ROM:A1253558             loc_A1253558                            ; CODE XREF: ROM:A12532F6j
  45. ROM:A1253558 07 00                       LSL     R7, R0, #0
  46. ROM:A125355A A0 E1                       B       loc_A125389E
  47. ROM:A125355C             ; ?
  48. ROM:A125355C
  49. ROM:A125355C             loc_A125355C                            ; CODE XREF: ROM:A1253A1Aj
  50. ROM:A125355C 6D D7                       BVC     loc_A125363A
  51. ROM:A125355C             ; ?
  52. ROM:A125355E 0E          unk_A125355E    DCB  0xE                ; CODE XREF: ROM:A1252E1Aj
  53. ROM:A125355F EB                          DCB 0xEB ; ?
  54. ROM:A1253560             ; ?
  55. ROM:A1253560
  56. ROM:A1253560             loc_A1253560                            ; CODE XREF: ROM:A12532FEj
  57. ROM:A1253560                                                     ; ROM:A1253A1Ej
  58. ROM:A1253560 09 10                       ASR     R1, R1, #0x20
  59. ROM:A1253562 A0 E3                       B       unk_A1253CA6
  60. ROM:A1253564             ; ?
  61. ROM:A1253564 00 00                       LSL     R0, R0, #0
  62. ROM:A1253566 A0 E3                       B       unk_A1253CAA
  63. ROM:A1253568             ; ?
  64. ROM:A1253568
  65. ROM:A1253568             loc_A1253568                            ; CODE XREF: ROM:A1253306j
  66. ROM:A1253568 B0 04                       LSL     R0, R6, #0x12
  67. ROM:A1253568             ; ?
  68. ROM:A125356A 00                          DCB    0
  69. ROM:A125356B EB                          DCB 0xEB ; ?
  70. ROM:A125356C             ; ?
  71. ROM:A125356C 08 00                       LSL     R0, R1, #0
  72. ROM:A125356E 8D E5                       B       loc_A125308C
  73. ROM:A1253570             ; ?
  74. ROM:A1253570 00 00                       LSL     R0, R0, #0
  75. ROM:A1253572 A0 E3                       B       unk_A1253CB6
  76. ROM:A1253574             ; ?
  77. ROM:A1253574 07 10                       ASR     R7, R0, #0x20
  78. ROM:A1253576 A0 E3                       B       unk_A1253CBA
  79. ROM:A1253578             ; ?
  80. ROM:A1253578
  81. ROM:A1253578             loc_A1253578                            ; CODE XREF: ROM:A1253544j
  82. ROM:A1253578 AC 04                       LSL     R4, R5, #0x12
  83. ROM:A1253578             ; ?
  84. ROM:A125357A 00                          DCB    0
  85. ROM:A125357B EB                          DCB 0xEB ; ?
  86. ROM:A125357C             ; ?
  87. ROM:A125357C 04 00                       LSL     R4, R0, #0
  88. ROM:A125357E 8D E5                       B       loc_A125309C
  89. ROM:A1253580             ; ?
  90. ROM:A1253580
  91. ROM:A1253580             loc_A1253580                            ; CODE XREF: ROM:A1252EDAj
  92. ROM:A1253580                                                     ; ROM:A12539FAj
  93. ROM:A1253580 00 00                       LSL     R0, R0, #0
  94. ROM:A1253582 A0 E3                       B       unk_A1253CC6
  95. ROM:A1253584             ; ?
  96. ROM:A1253584 08 10                       ASR     R0, R1, #0x20
  97. ROM:A1253586 A0 E3                       B       unk_A1253CCA
  98. ROM:A1253588             ; ?
  99. ROM:A1253588 A8 04                       LSL     R0, R5, #0x12
  100. ROM:A1253588             ; ?
  101. ROM:A125358A 00          unk_A125358A    DCB    0                ; CODE XREF: ROM:A1252EE6j
  102. ROM:A125358B EB                          DCB 0xEB ; ?
  103. ROM:A125358C             ; ?
  104. ROM:A125358C 00 50                       STR     R0, [R0,R0]
  105. ROM:A125358E A0 E1                       B       loc_A12538D2
  106. ROM:A1253590             ; ?
  107. ROM:A1253590
  108. ROM:A1253590             loc_A1253590                            ; CODE XREF: ROM:loc_A125332Ej
  109. ROM:A1253590 00 00                       LSL     R0, R0, #0
  110. ROM:A1253592             ; START OF FUNCTION CHUNK FOR sub_A125170E
  111. ROM:A1253592
  112. ROM:A1253592             loc_A1253592                            ; CODE XREF: sub_A125170E+17E0j
  113. ROM:A1253592 A0 E3                       B       loc_A1253CD6
  114. ROM:A1253592             ; END OF FUNCTION CHUNK FOR sub_A125170E
  115. ROM:A1253594             ; ?
  116. ROM:A1253594
  117. ROM:A1253594             loc_A1253594                            ; CODE XREF: ROM:A12538C0j
  118. ROM:A1253594 06 10                       ASR     R6, R0, #0x20
  119. ROM:A1253596 A0 E3                       B       loc_A1253CDA
  120. ROM:A1253598             ; ?
  121. ROM:A1253598 A4 04                       LSL     R4, R4, #0x12
  122. ROM:A1253598             ; ?
复制代码


这是为什么,是不是在反编译的时候有什么设置???
发表于 2005-9-12 17:57:07 | 显示全部楼层
这段用32位反编译啊
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-12 18:23:10 | 显示全部楼层
原帖由 robin 于 2005-9-12 17:57 发表
这段用32位反编译啊


再问老大,是在IDA最开始反编译的时候设置还是说后期通过手动调整的???
回复 支持 反对

使用道具 举报

发表于 2005-9-12 21:38:45 | 显示全部楼层
是的,Bennie那段是ARM代码不是Thumb模式下的代码,你用的是Thumb模式下反汇编出来的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-13 09:43:50 | 显示全部楼层
原帖由 lisugar 于 2005-9-12 21:38 发表
是的,Bennie那段是ARM代码不是Thumb模式下的代码,你用的是Thumb模式下反汇编出来的

同样的问:是在IDA最开始反编译的时候设置还是说后期通过手动调整的???
回复 支持 反对

使用道具 举报

发表于 2005-9-13 11:36:35 | 显示全部楼层
IDA打开那段之后,直接按C转换,不用ALT+G改
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-13 12:01:10 | 显示全部楼层
原帖由 robin 于 2005-9-13 11:36 发表
IDA打开那段之后,直接按C转换,不用ALT+G改


现在的问题是我一开始就还是用C转换的,从来没有用过ALT+G改,就已经变成我上面写到的那个样子了。。。奇怪!!我用过两种方式都不行,一种仅仅将代码段选中用C转换,还有一种是将整个32M的全部C转换,但是结果都是一样。。。。愿闻其详。。。
回复 支持 反对

使用道具 举报

发表于 2005-9-13 12:38:51 | 显示全部楼层
你前后是不是没用弄完整代码?我意思是,你可以复制多几个字节进去再转换,按ALT+G,数值填0,然后转试试?
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-22 02:25

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2020, Tencent Cloud.

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