口袋社区-Poke The BBS's Archiver

enler 发表于 2010-8-19 12:58

【小技巧文】主要是ct2跟no$gba的(不断更新)

[size=4][color=Red]查看ds内存的方法[/color][/size]
内存查看在很多方面有着实际用处,想必很多人这方面跟我有着一样的体会,现在介绍几种我自己常用的。
访问no$gba运行ds游戏时的内存,
[b]1.用CT2[/b]
ct2有这部分功能,可以查看主内存(0x02000000~0x023FFFFF)跟显存 vram(0x06xxxxxx)
具体方法如下,用no$gba打开ds游戏,然后打开ct2(请确保ct2的版本在09.09.13之后,不然访问的内存有误),文件菜单下有个“乱入ds模拟器”选项,选中模拟器,之后会弹出如下的窗口:
[attach]28956[/attach]
点击右下角,可以看到2个选项,如下:
[attach]28957[/attach]
上面一个就是显存,下面一个就是主内存,任选一个进入,哦,对了,此举还可以[color=Red]简易汉化模拟器[/color]哦~~[yct6]
小贴士,[yct6] 有时候,在运行有些游戏进入不了内存,这时候,就需要一个媒介了。
举个例子,模拟器运行空之探险队的时候,无法乱入内存,但运行时暗探险队的时候,可以乱入内存,那么可以这样做。
模拟器运行时暗探险队→用ct2乱入内存,顺便汉化模拟器→模拟器运行空之探险队→内存变为运行空之探险队的了
用这种间接的方式,达到访问内存的目的,常备一个可以被乱入内存的rom,以备各种情况。


[b]2.用no$gba自带的[/b]
这个很好说了,调试版本的no$gba左下角就是内存窗口/断点窗口,2者的切换也很容易,右键菜单选择Break/Watch window|data window就可以互相切换了,当切换到data window的时候,右键菜单选goto,接着键入内存地址即可。这是一种,不过只能查看,如果要做高级的,就需要其他的方法了。
接上,转到目标地址之后,在工具菜单下导出十六进制数据(模拟器没汉化的话,就是utility选项下,选择hexdump to file),然后输入要导出的字节,不过导出的其实是文本文件,不是二进制文件。
那么,需要二进制文件的话,又该怎么办呢?
很简单,选择文件菜单下的保存即时存档(模拟器没汉化的话,就是file选项下,选择write snapshot),生成的SNA文件就保存了内存中的大部分数据,为什么说是大部分,因为no$gba的即时存档功能并不完善,没有保存诸如高速缓存部分的内存。
小贴士,如果打开SNA文件,发觉数据几乎无法被查看,那就是即时存档被压缩了,解决方法有2个
第一个
[quote]在模拟器目录中找到“NO$GBA.INI”文件。打开后,找到“SAV/SNA File Format == Compressed”一行,把“Compressed”改为“Raw”[/quote]
第二个
进入模拟器的设置选项,就是options那个,选择files setup,也就是文件设置,左下角有一个SAV/SNA file format,选择Raw即可。
小贴士2,在SNA文件中可以查看平时无法被模拟器访问的3D材质哦,从而给修改或者破解提供了更多的方向,至于为什么模拟器无法查看,是因为ds的3D材质对于CPU不可见,仅对图形引擎可见,模拟器也做了这方面的模拟。

[color=Red][size=4]ARM指令修改[/size][/color]
ct2基本上没办法敲arm指令,貌似就nop空指令可以,thumb有时候也无法识别,不过no$gba基本支持,首先要能够进入内存,如果是用ct2访问内存,接着在用no$gba修改指令,在no$gba中修改指令是很容易的事情,直接在指令窗口输入指令,即可完成,修改完以后,由于[color=Red]ct2可以直接复制粘贴十六进制数据[/color],直接把内存中的数据复制粘贴到对应的rom文件中,就可以完成修改了。

[size=4][color=Red]arm9.bin/overlay压缩问题[/color][/size]
有时候,会碰到压缩的arm9.bin/overlay,这时候该怎么下手呢?
ct2有提供这方面的功能,打开arm9.bin或者overlay被压缩的nds文件,然后打开工具菜单下的nds文件系统信息,
[attach]28958[/attach]
如上所示,选择解压,然后文件就被解压缩了,不过要压缩回去怎么办呢?
也很简单,选择压缩选择,然后选择目标arm9.bin即可完成。
小贴士,ct2的这个功能,其实不单单是压缩,还做了导入处理,所以一次性就可以把压缩跟导入问题给搞定了~

[color=Red][size=4]CT2的图块/tile编辑修改调整功能[/size][/color]
1.基本的图块修改
图块跟tile貌似是一个概念,下面我都这样理解了啊~~
用ct2打开目标文件,点击要修改的图块,运用鼠标左键或右键点击目标像素,可以修改了,但颜色好像就2种,怎么换颜色呢?
很简单,切换到调色板视图
[attach]28977[/attach]
先点击“文本”按钮,然后鼠标左键点击别的颜色,这样子,鼠标左键能修改的颜色就发生变化了,要修改鼠标右键对应的颜色,点击“背景”按钮,再选择对应颜色即可。
2.调整功能
Ctrl + 左/右 微调图块偏移
Ctrl + 上/下 调整图像显示格式
Alt + 左/右 调整单位图块的宽
Atl + 上/下 调整单位图块的高
shift + 左/右 调整显示出来的图块的列数
shift + 上/下 调整显示出来的图块的行数
Ctrl + C/Ctrl + V 复制/粘贴图块

[[i] 本帖最后由 enler 于 2010-8-21 11:30 编辑 [/i]]

口袋精灵 发表于 2010-8-19 13:16

恩。不错不错。不过这些我以前就会了,期待更精彩的!

enler 发表于 2010-8-19 13:47

谢谢楼上支持,其实我觉得也没啥什么很营养的内容,随便看看就是了
[yct81][yct82]吐槽一句,还是没有洋葱头喝茶表情[yct28]

风衣的节操呢 发表于 2013-4-29 11:02

[tsj62] 有点难懂

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.