吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3256|回复: 7
收起左侧

[其他转载] NEC(瑞萨)78K0R汇编实例分析

[复制链接]
飘零星夜 发表于 2021-3-11 10:58
本帖最后由 飘零星夜 于 2021-3-11 11:01 编辑

NEC(瑞萨)78K0R汇编实例分析     
78k0r原属于NEC16位架构(现在属于瑞萨),主要用于汽车防盗等领域。这里举例简单介绍一下。      首先,当然是用IDA反汇编一下bin文件。得到一个如图的界面。接下来按顺序介绍图中各条语句。
       1.png

1ROM12753  sub_12753》》函数名称。

2ROM12753  push HL》》将寄存器HL压栈,78kor416位通用寄存器,分别是AX,BC,DE,HL.假设调用本函数时候SP = 0xFFE00。此时SP = 0xFFDFE 。特别的,HL通常是全局变量,进入函数之前要保存,退出函数时候要恢复原值。

3ROM12754  push AX 》》压栈AX。通常情况下,程序要的是他的副总用,开辟2字节的栈空间。此时SP = 0xFFDFC了。

4ROM12755  movw HL,!_SP 》》movw就是赋值,即 HL = SP .

5ROM12758  movw AXHL 》》 AX = HL = 0xFFDFC

6ROM12759  incw AX 》》 AX = AX +1.incw 就是自加1decw是自减1.

7ROM1275A  push AX 》》 压栈 AX78k0r函数只能接收一个参数AX,当有多个参数的时候,要将其他参数压栈传递。这里将栈地址0xFFDFD传递给子函数。

8ROM1275B  movw AX,!word_FF2E2 》》 AX = 0xf2e2,78k0r的段地址固定等于0xf。实际上 AX指向 0xff2e2//send data 是自己添加的注释。

9ROM1275E  incw AX 》》 AX = 0xFF2E3

10ROM1275F  call sub_13795 》》调用子函数13795 。有参数AX和压栈参数0Xffdfd.

11ROM12763  pop AX。》》恢复传递参数时候占用的栈。

12ROM12764  mov A[HL +0001h] 》》将0xFFDFD上的值赋给A 。子函数sub_13795的计算结果。78k0r416位通用寄存器可以拆分为88位的通用寄存器:X,A,C,B,E,D,L,H.例如AX = 0x1234 等价于 A = 0x12,X=0x34

13ROM12766  cmp0 A 》》A 0进行比较。

14ROM12767  bz loc_12772 》》等于0跳转到ROM12772,反之跳转到ROM12769

15ROM12769  movw DE,!word_FF2E4 》》DE = 0xff2e4

16ROM1276C  mov A,【DE】》》将地址0xff2e4上的值赋给A

17ROM1276D  add A,【HL +0001h】。》》A加上0xffdfd上的值。

18ROM1276F  mov DE】,A 》》将更新后的A存回到0xff2e4上。

19ROM12772  call loc_127e0 》》调用子函数 127e0 。这里的子函数怎么不是函数的默认开头sub ,而是语句块的头 loc 因为该函数被编译器优化了,把多个函数糅合在一起。通常这种情况下,都是库函数。不会是用户代码。可以不分析。

20ROM12776  pop AX 》》对应第3步。恢复栈。注意,这里没有恢复AX.

21ROM12777  pop HL 》》 恢复 HL.

22ROM12778   ret 》》函数返回 。就是return   

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

meridian 发表于 2021-3-11 11:06
完全看不懂,但是我还要坚持看完
佚丶名 发表于 2021-3-11 11:14
 楼主| 飘零星夜 发表于 2021-3-11 11:18
meridian 发表于 2021-3-11 11:06
完全看不懂,但是我还要坚持看完

我写个伪C的截图传上来,这个和X86差不多的。
 楼主| 飘零星夜 发表于 2021-3-11 11:18
佚丶名 发表于 2021-3-11 11:14
看不懂,但是我还要坚持看完

凤毛麟角的大佬你好。就不要这样说了。
 楼主| 飘零星夜 发表于 2021-3-11 11:25
2.png


题外话:我不会写刷隐藏,真不会。
wwaaffll 发表于 2021-8-14 17:33
学习了谢谢分享
头像被屏蔽
依行 发表于 2021-9-6 17:36
提示: 该帖被管理员或版主屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 13:41

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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