分页: 1 / 2

[分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 20:56
dsdsdds
Linalter 能搜索、修改游戏中的数值。
程序原理是在“沙箱”中启动游戏程序。游戏程序的内存对于Linalter可读写。

安装方法:
方法A:安装本帖子所附的deb。
方法B:

代码: 全选

svn checkout http://linalter.googlecode.com/svn/trunk/ linalter-read-only
cd linalter-read-only
sudo make install
Linalter 只能在终端中运行。图形界面还在开发中...

下面举例说明如何在“GNOME-俄罗斯方块”改出一万分。

打开终端,运行
linalter `which gnometris`
或者运行
linalter /usr/games/gnometris

开始玩俄罗斯方块,在得40分后暂停游戏。
1.png
在终端中输入命令
f 40
输出
Result Set "r1", 98266 addrs, "f 40", since 20:48
表示找到了 98266 处内存值是40。

接着玩到80分,再暂停游戏。
2.png
在终端中输入命令
f 80
输出
Result Set "r2", 33832 addrs, "f 80", since 20:48

输入命令
^ r1 r2
表示求两个集合的交集。 道理如下:“俄罗斯方块”中保存分数的内存是固定的。假设这个内存地址为M。那么第一次查询,M包含在r1中,第二次查询,M包含在r2中。那么M必然包含在r1和r2的交集。
果然,结果为
Result Set "r3", 1 addrs, "^ r1 r2", since 20:48
只包含一个内存地址。
3.png
再输入命令
r3
输出
Result Set "r3", 1 addrs, "^ r1 r2", since 20:48
pid address
4967 21c8100

这就是保存分数的内存。

再执行命令
set 4967 21c8100 10000

然后在“俄罗斯方块”中消去一行,分数就变成 10040。如图 4.png 中所示。
4.png
linalter-1.0.deb
(9.53 KiB) 已下载 103 次
接下来详细说明 linalter 的用法:

1.启动:
linalter 游戏程序 参数
游戏程序要用全路径。
“参数“传给游戏程序的参数。
例如
linalter /usr/games/cuyo -s
linalter `which cuyo` -s


2.指令:
linalter启动后,出现“>”提示符。以下是各种指令:

f 十进制数值
在全部内存中查找指定数值。查找的结果自动新建保存到一个结果集(Result Set)里。

set 十进制pid 十六进制地址 十进制数值
set 十进制pid 十六进制地址 十进制数值 数值的长度
修改指定内存。
例如 set 4967 21c8100 10000
数值的长度一般不用指定。值为1、2、4、8。

rs
打印出所有结果集(Result Set)。每行打印一个。信息为:含有多少个地址、用什么命令创建的、创建的时间。

r1
打印指定的Result Set。打印此Result Set所包含的前十个地址。
命令的名称就是结果集的名称。 例如 r1r2 都是命令。

^ r1 r2
求交集。结果保存在一个新的Result Set里。

del r1
删除一个Result Set以释放内存。

t
列出游戏进程以及游戏进程的所有子进程的pid。不常用的指令。

vma
列出游戏进程以及游戏进程的所有子进程的vma(虚拟内存区域)。不常用的指令。

q
退出 linalter,并退出游戏。

?
h
列出所有可用的指令,和简短的指令说明。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 21:16
bjsm
没有哪个2B玩游戏会用这个费神的垃圾。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 21:19
dsdsdds
楼上的大哥,我这帖子把您惹着了? :em01

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 21:32
shellex
真好。
总算有个这样的工具了。我喜欢

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 21:42
AngelMAX
bjsm 写了:没有哪个2B玩游戏会用这个费神的垃圾。
欢迎PK,你们最好P出个更好的来 :em11

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 22:27
bjsm
没,我只是有感而发,修改个内存居然要打这么多命令,不玩也罢。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:44
dsdsdds
没,我只是有感而发,修改个内存居然要打这么多命令,不玩也罢。
我看是天气热,让楼上这位大哥火气大了点。楼上这位大哥可不应当把我发的帖子比喻成垃圾呀 :em01

再说,我原帖里也说了图形化的界面正在开发。你这么无端指责我,就有点没理由了。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:47
wangdu2002
楼主辛苦了,Linux下游戏贴少,楼主的探索精神值得肯定。路过帮顶! :em11

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:51
dsdsdds
没,我只是有感而发,修改个内存居然要打这么多命令,不玩也罢。
我的帖子里改个游戏数据用了四条命令。你说命令多倒是有情可原,可仔细看看就明白了,我的命令全是必需的命令。你用金山游侠改游戏数据,也需要至少四步

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:55
hcym
lz别和独眼一般见识,缺只眼嘛,内心焦虑

金山游侠
:em42

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:55
highwind
这个好,要收藏。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-05 23:59
dsdsdds
谢谢楼上各位朋友支持 :em11

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-06 0:12
fejich
有用的东西,嘻嘻 :em09

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-06 14:55
dragonfly
QGSpider:一款功能相似的软件,而且有图形界面,楼主可以参考一下。

Re: [分享][游戏工具] Linalter - Linux 游戏的内存修改器

发表于 : 2009-06-06 15:46
daf3707
虽然不玩游戏,支持!