fc反编译的简单方法

fc反编译的简单方法

ID:8805980

大小:44.00 KB

页数:2页

时间:2018-04-08

fc反编译的简单方法_第1页
fc反编译的简单方法_第2页
资源描述:

《fc反编译的简单方法》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、FC反编译的简单方法:适用范围:mapper=0,并且没有trainer如何判断适用范围呢?只要看文件头就知道了。用16进制编辑器打开ROM,查看前面的16个字节。文件头格式偏移字节数内容0-34字符串“NES^Z”用来识别.NES文件4116kBROM的数目518kBVROM的数目61D0:1=垂直镜像,0=水平镜像  D1:1=有电池记忆,SRAM地址$6000-$7FFF  D2:1=在$7000-$71FF有一个512字节的trainer  D3:1=4屏幕VRAM布局  D4-D7:ROMMapper的低4位71D0-D3:保留,必须是0(准备作为副Mapper号^_^) 

2、 D4-D7:ROMMapper的高4位8-F8保留,必须是016-16KxMROM段升序排列,如果存在trainer,它的512字节摆在ROM段之前-EOF8KxNVROM段,升序排列要求bit7的高位(即D4-D7)为0,bit6的高位(即D4-D7)为0,则mapper=0要求bit6的D2为0,则没有trainer步骤1.找出3个重要地址nmi,start,irp2.提取程序部分3.用工具反汇编4.分析程序祥细操作1找出3个重要地址nmi,start,irq可用16进制编辑器或”No$nes”,打开ROM,并跳到FFFA,记录下由FFFA开始的连续6个字节。ROM和别的程序一

3、样,在记录地址时,总是先记录低位再记录高位的。低位高位NMIFFFAFFFBSTARTFFFCFFFDIRQFFFEFFFF这6个字节分别是nmi,start,irq的低位和高位了。Start一般是C000或者8000(16进制的)2提取程序部分先要知道mapper=0,ROM的数据结构。文件头程序填充FF3个重要地址2段字模操作是:去除ROM的文件头16个字节去除由全是FF的部分到末尾的所有内容。余下就是程序部分。另存。这个文件是ROM的一部分,我取后缀名叫part13用工具反汇编打开“反汇编器.exe”,点右面”6502”用这个“反汇编器.exe”打开这个.part1选择文件时,

4、选”ALLFILES”就可以显示了。点打开后,选中”BIN文件”,并写入start的地址(见步骤1)确定4分析程序由于程序一般中数据和程序混合的,自己要跟踪代码,分析那一段是数据,那一段是指令。一般程序是从第一行开始执行,并且不会拿数据来当指令执行。也就是说从第一行开始,只要看“跳转”就可以知道程序经过的地址,没有经过的就是数据了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。