怪物农场2修改日志1 - FirstBlood

最近有朋友分享了安卓上的playstation模拟器,我又开始玩ps上的怪物农场2.这是一个怪物养成类游戏,玩家要养育,训练怪物,并参加比赛.

游戏制作公司是Tecmo,游戏中怪物的模型贴图等非常优秀,合体系统也是我见过最好的(从某种角度上看,完爆真女神转生).

该游戏有个特色系统是,可以通过ps的换盘机制,从光盘生成不同的怪物,甚至生成稀有的怪物.因此玩家需要收集各种各样的光盘(模拟器可以使用光盘镜像)来生成怪物.

虽然我10年前就开始玩这个游戏,断断续续玩了很久,还是有很多稀有的怪物收集不到.因此早就想通过破解来收集所有的怪物.

所以就这么开始填这个10年前的坑了.

首先在网上瞎找,找到no$psx模拟器\调试器,试跑了下,感觉不太好用.

之后换了PSX,感觉似乎好些,运行和调试都没问题,但是完全不知道要怎么入手.

汇编是MIPS的,还不熟悉,内存也没法搜索.试着随意调试了下,暂时不知道要如何找到生成怪物的那个函数.

于是继续在网上寻找资料,找到了slowbeef汉化Policenauts的日志.

slowbeef做的第一步是找到游戏中的文本,修改文本,并在游戏界面中可以观察到变化.文本通常是破解的切入点之一.

所以这也是我要做的第一步,找到游戏中的某个文本,修改它.

游戏开始时,会让玩家输入自己的名字,就决定先修改名字好了.

明文搜索不到,使用python脚本做relative search,还是搜索不到.

怀疑是不是游戏中的字符串经过了加密处理.

通过观察,想到文字可能是存了2个字节.

修改python脚本,做relative search,终于找到了字符串.

时间: 07-06

怪物农场2修改日志1 - FirstBlood的相关文章

怪物农场2修改日志5 - 极乐净土

接上篇,怪物农场2修改日志4 - 决战前夜 bgm,最近血洗B站的极乐净土 上篇中,我们成功的找到了从光盘中读取的数据得到的怪物种族Id和副种族Id在内存中存储的位置. 通过修改该内存位置,可以直接决定最后生成的怪物,包括特殊怪物都能直接生成. 接下来我们会看下这些数据是如何通过CDROM中读取的数据计算得到的,顺便会挖掘下其他受CDROM影响的初始怪物数据. 通过查询外文攻略站得到如下信息. CD中最后一条音轨的分钟数决定了怪物的主种族Id. CD中除去最后一条音轨,剩余的总时间的秒数部分,决

怪物农场2修改日志3 - 年轮

接上篇,怪物农场2修改日志2 - 奇妙能力歌 bgm是神秘妹纸唱的超好听的年轮 上篇中,我们顺利找到了"已收集怪物Id"这个列表. 接下来该做什么呢? 根据上篇的推理,当玩家生成新的怪物时,游戏程序会更新这个列表,加上新的怪物的id. 我们可以设置内存断点,在生成新怪物的时机中断,然后反推出生成怪物的数据(主要是id)来自何处. 我们读取没有生成169号クリック小朋友时的游戏记录,查看9703C,也就是"已收集怪物Id"列表. 可以看到,0x97151(278号的モ

SpringBoot系列十一:SpringBoot整合Restful架构(使用 RestTemplate 模版实现 Rest 服务调用、Swagger 集成、动态修改日志级别)

1.概念:SpringBoot整合Restful架构 2.背景 Spring 与 Restful 整合才是微架构的核心,虽然在整个 SpringBoot(SpringCloud)之中提供有大量的服务方便整合,但是这些 整合都不如 Rest 重要,因为 Rest 是整个在微架构之中进行通讯的基础模式.那么对于 Rest 首先必须对其有一个最为核心的解释: 利用 JSON 实现数据的交互处理.而且 Spring 里面提供有一个非常强大的 RestTemplate 操作模版,利用此模版可以非常轻松的实

C#实体类对象修改日志记录

C#实体类对象修改日志记录 类型验证帮助类 public static class TypeExtensions { public static bool InheritsFrom(this Type source, Type target) { if (null == source || null == target) { return false; } if (source == target) { return true; } if (source.GetTypeInfo().IsGene

springboot动态修改日志级别+权限认证

1. springboot动态修改日志级别+权限认证 1.1. 需求 网上找到的动态修改日志级别的方式,基本都是没有权限验证的,或者特地关闭权限验证,但也没给出加上验证的解决方式 修改日志等级也是一个敏感操作,最好不能暴露地址直接修改,所以我研究了下,把权限验证加上了 1.2. 解决 1.2.1. pom 首先加上pom <dependency> <groupId>org.springframework.boot</groupId> <artifactId>

一个通用的通过触发器实现的,可配置的表修改日志解决方案

在MIS系统中,系统审计功能是很重要的一部分,审计的一部分就是记录数据修改日志.记录数据修改日志有很多种实现方案,有通过后台程序实现的,在修改程序中增加日志代码,也有通过数据库实现的,使用触发器来记录修改日志.本方案采用第二种方案.这种方案的优点是无论你通过什么方式修改数据,都会记录下来,极少需要修改代码:缺点是需要应用程序配合,以便能知道是哪个应用系统的账号做的修改. 本方案的核心是,通过一个配置表,配置哪些表需要记录日志.修改哪些列的时候记录日志.然后根据配置信息,为每个表生成用于记录日志的

log4j2和logback动态修改日志级别工具类

工作中,有些场景需要动态修改线上日志记录器的打印日志级别, 本文的两个工具类使用的版本如下: ----------------logback--------------------- <dependency>   <groupId>ch.qos.logback</groupId>   <artifactId>logback-core</artifactId>   <version>1.1.8</version></d

Centos7 keepalived 修改日志路径

Keepalived默认所有的日志都是写入到/var/log/message下的,由于message的日志太多了,而Keepalived的日志又很难分离出来,所以本文提供了一个调整Keepalived日志输出路径的方法.具体操作步骤如下:1. 修改 /etc/sysconfig/keepalived 把KEEPALIVED_OPTIONS="-D" 修改为KEEPALIVED_OPTIONS="-D -d -S 0" #其中-S指定syslog的facility 2

maillog修改日志保留时间

maillog默认是保留一个月,(一周1清理一次.保留4个副本) 1.修改 /etc/logrotate.conf 文件. 如果只需要保留一周,把副本改成1份.  或者把清理改成每日,然后设置不同的份 2.设置好之后,重启. /etc/init.d/rsyslog restart  服务重启一下 备注: 若删除了 /var/log/下的日志, 比如 maillog 他不会自动生成,也需要重启 rsyslog服务. 原文地址:http://blog.51cto.com/net881004/2072