土星游戏精灵王2游戏反向工程日志(1)
使用GHIDRA,反编译精灵王2 ISO,得到代码,由于世嘉土星的程序入口地址是06004000,(参考世嘉SGL文档),搜索字符串,及分析函数流程可知该游戏调用SGL的API加载TH2.LOW,流程是06080bcc=>TH2.LOW=>002e20f8 ,002e20f8 为SEGA SATURN LOW WORK RAM,
至此恍然大悟,原来.LOW不是扩展名文件类型,而是当时写这个的程序员怕记错加载地址,提示自己这段代码是要加载到LWRAM中,那么HWRAM600000与LWRAM 2000000(002e20f8 为HT2.LOW的入口地址 )区别是什么?通过阅读世嘉SGL文档知道,土星bios入口地址为0x06000000,而BIOS加载相当于IPL,加载后会有BSS,TEXT,DATA,RODATA段,及堆栈分布,然后加载SGL后会将入口地址土星游戏主程序 saturn_main() 定在06004000,这个过程由IDE及工具链指定,普通程序员无需关心,下一篇介绍TH2.LOW中代码分析,也就是汉化人员对该文件的分析,这个文件是本游戏核心
()
(利用ghidra中的show reference to 找到该函数调用)
土星游戏精灵王2游戏反向工程日志(1)相关推荐
- 【Iphone 游戏开发】游戏引擎剖析
为什么80%的码农都做不了架构师?>>> 李华明Himi 原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame. ...
- 多人网络游戏服务器开发基础学习笔记 I:基本知识 | 游戏设计模式 | 网游服务器层次结构 | 游戏对象序列化 | 游戏 RPC 框架 | 帧同步和状态同步
今天继续开新坑,尽管过了很多 Unix 套接字编程的坑,但是实际还是有很多不同场景和性能的需求,以及最服务器架构的内容也就接触过 preforking 和 master 带 worker 而已. 所以 ...
- android 开发游戏_Android游戏开发–基本游戏循环
android 开发游戏 在到目前为止的系列之后,您将对游戏架构有所了解. 即使只是短暂的一次,但我们知道我们需要以某种形式进行输入,更新游戏的内部状态,最后将其渲染到屏幕上,并产生一些声音和/或振动 ...
- 兼容android9的游戏盒子,安卓游戏盒子app下载
手机游戏,是安卓游戏玩家最好的游戏平台. 功能介绍 游戏中心:手机游戏汇集一箩筐,各种刺激各种虐: 个人中心:管理手机上的游戏,"我的手机,我做主"! 游戏礼包:可以在这里领取到各 ...
- 游戏服服务器——游戏服
服务器框架 https://blog.csdn.net/nie2314550441/article/details/105981967 一.游戏服介绍 负责用户游戏逻辑处理.一个游戏服是一个游戏房间, ...
- Python制作当年第一款手机游戏-贪吃蛇游戏(练习)
前言: 文章利用Python pygame做一个贪吃蛇的小游戏而且讲清楚每一段代码是用来干嘛的. 据说是贪吃蛇游戏是1976年,Gremlin公司推出的经典街机游戏,那我们今天用Python制作的这个 ...
- 服务国内超过70%游戏公司,腾讯游戏云发布游戏行业最全解决方案
9月10日,在2020腾讯全球数字生态大会游戏专场上,腾讯云发布了全新升级的游戏解决方案及游戏服务器引擎GSE.游戏原生数据库TcaplusDB等多款新产品,进一步提升游戏开发者的效率. 目前,腾讯云 ...
- 微信小游戏开发教程-游戏实现3
微信小游戏开发教程-游戏实现3 对象池 由于游戏过程中会创建很多临时对象,这些对象很快又不再使用,垃圾回收器也能帮我们主动回收这部分垃圾,但是回收时间不可控制,同时增大了创建对象的开销,所以我们使用对 ...
- 微信小游戏开发教程-游戏实现2
微信小游戏开发教程-游戏实现2 绘制地面 类似于绘制背景,读者自行完成代码.src/runtime/land.js 简易View系统 坐标布局对于复杂的页面来说维护相当困难,因此这里我们引入布局的概念 ...
最新文章
- 从PCB焊接角度谈画PCB图时应注意的问题
- ASP.NET弹出一个对话框
- CPU中的主要寄存器:有六类寄存器:指令寄存器(IR)、程序计数器(PC)、地址寄存器(AR)、数据寄存器(DR)、累加寄存器(AC)、程序状态字寄存器(PSW)
- 编程类-----matlab基础语法复习(1)
- imagesLoaded-检测图片是否正确加载的js插件
- 小米A3真机开箱照片曝光:水滴屏+后置三摄
- STL : List使用时应注意的问题
- [leetcode-117]填充每个节点的下一个右侧节点指针 II
- 阿里巴巴Java开发 之 MySQL规约
- E-Prime教程 | 打mark标记
- 在WINDOWS下的Services.mscl里有好几个ORACLE的SERVICES的一些作用
- dubbo的版本升级和-Xss的错误设置导致项目启动失败
- round函数c语言,fegetround
- python怎么弄成白色背景_python – 在matplotlib中为colorbar添加白色背景
- JAVA实现打字小游戏
- 《Linux/Unix设计思想》读书笔记与感想
- pandas判断和删除重复duplicated和drop_duplicates
- matlab设置xyz,matlab基本XYZ立体绘图命令
- Linux RPM 构建实战
- 番茄钟工作法--我们天生爱分享
热门文章
- IIS express 配置和500.22错误解决详解
- linux下安装drcom方法
- Beyond Part Models: Person Retrieval with Refined Part Pooling (and A Strong Convolutional Baseline)
- android七牛短视频sdk源码,使用七牛开发短视频
- 怎样玩魔方,魔方口诀,魔方玩法
- 关于java中的连等赋值问题(雷惊风)
- 听听别人怎么说:VueJS 与 ReactJS
- a4纸在html的像素,打印常识:A4纸张在显示器上应该要多少像素?
- win10计算机不分区,win10系统自带无损分区且数据不丢失的处理方案
- airbnb北京民宿运营情况分析