此條目没有列出任何参考或来源。 (2021年5月18日) 維基百科所有的內容都應該可供查證。请协助補充可靠来源以改善这篇条目。无法查证的內容可能會因為異議提出而被移除。 |
花指令是一种防止程序被反汇编、调试的手段。
种类 编辑
跳转到多字长指令的参数中 编辑
一般来说,反汇编器会按顺序进行反汇编,但是,如果程序跳转到多字长指令的参数中,反汇编的结果就会和实际情况不符。
示例(使用 6502 指令集,数字如无特殊说明均为十六进制) 内存地址 | 0 | 1 | 2 | 3 | 4 | 5 |
---|
机器码 | 4C | 04 | 00 | A9 | A9 | 60 |
反汇编出的指令 | JMP $0004 | LDA #$A9 | RTS |
释义 | 跳转到地址 4 | 将 A9 载入累加器中 | 子程序返回 |
实际执行的指令 | JMP $0004 | 这里不会被执行 | LDA #$60 |
释义 | 跳转到地址 4 | 将 60 载入累加器中 |
这个例子过于简单,是可以被调试器检测到的。实际应用的花指令比这个更复杂,含有条件跳转指令。
参见 编辑
花指令, 此條目没有列出任何参考或来源, 2021年5月18日, 維基百科所有的內容都應該可供查證, 请协助補充可靠来源以改善这篇条目, 无法查证的內容可能會因為異議提出而被移除, 是一种防止程序被反汇编, 调试的手段, 种类, 编辑跳转到多字长指令的参数中, 编辑, 一般来说, 反汇编器会按顺序进行反汇编, 但是, 如果程序跳转到多字长指令的参数中, 反汇编的结果就会和实际情况不符, 示例, 使用, 6502, 指令集, 数字如无特殊说明均为十六进制, 内存地址, 5机器码, 60反汇编出的指令, 0004, r. 此條目没有列出任何参考或来源 2021年5月18日 維基百科所有的內容都應該可供查證 请协助補充可靠来源以改善这篇条目 无法查证的內容可能會因為異議提出而被移除 花指令是一种防止程序被反汇编 调试的手段 种类 编辑跳转到多字长指令的参数中 编辑 一般来说 反汇编器会按顺序进行反汇编 但是 如果程序跳转到多字长指令的参数中 反汇编的结果就会和实际情况不符 示例 使用 6502 指令集 数字如无特殊说明均为十六进制 内存地址 0 1 2 3 4 5机器码 4C 04 00 A9 A9 60反汇编出的指令 JMP 0004 LDA A9 RTS释义 跳转到地址 4 将 A9 载入累加器中 子程序返回实际执行的指令 JMP 0004 这里不会被执行 LDA 60释义 跳转到地址 4 将 60 载入累加器中这个例子过于简单 是可以被调试器检测到的 实际应用的花指令比这个更复杂 含有条件跳转指令 参见 编辑代码混淆 取自 https zh wikipedia org w index php title 花指令 amp oldid 65671599, 维基百科,wiki,书籍,书籍,图书馆,
文章
,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。