本页主题: [原创][VB]内存修改器教程 打印 | 加为IE收藏 | 复制链接 | 收藏主题 | 上一主题 | 下一主题

lms7888
介就素人生啊
级别: 论坛版主


精华: 0
发帖: 109
威望: 10 点
金钱: 2150 胜利币
贡献值: 0 点
在线时间:28(小时)
注册时间:2007-05-19
最后登录:2008-09-06

 [原创][VB]内存修改器教程

0
管理提醒:
本帖被 superttl 执行置顶操作(2007-12-25)
阅读本文需要一定的汇编基础知识和OD使用经验.另外,对VB也要有一定的了解.
前几天论坛的一个朋友给我发短信,说"高手教教我",呵呵,我不是高手,我也是从一无所知过来的.我只不过是早学了一段时间.如果你能拿出时间来学习的话,你一定会更棒的!好了.言归正传.
下面我们以英雄无敌3 3.1 中文版来说明.
工具:OD,VB6.0 SP6,GM8,SPY++

首先,开始游戏,进入游戏后,发现英雄名字是"克里斯丁",好了切换到GM8,搜索该英雄的名字.
[attachment=449079]
搜索出5个地址
[attachment=449080]
经过试验,第二个地址是英雄名字存放的地方.
[attachment=449081]
[attachment=449082] 
看,改了以后,英雄的名字变了.成了"舅里斯丁"了.汗.
[attachment=449083]

然后,记下刚才我们修改的地址打开OD,选"文件"-"附加",附加英雄无敌3的程序
[ [attachment=449084]
附加完成后,在数据栏中,点右键,选"转到",输入刚才我们记下的那个地址,输入正确的话,应该能看到下面的图画.

[attachment=449085]
然后,用鼠标选中这一段数据,点右键,选内存断点-内存访问断点.然后,回到游戏中,双击英雄头像.程序被断下了.在如图的位置.

[attachment=449086]
这只是一个模块.我们要知道是哪里调用他,地址是哪来的.OD中,按Ctrl+F9,执行到返回.我们看到如图.

[attachment=449087]
程序停在我用红线标的地方.我们往上找,到了我用鼠标选中的那一行里,我们知道了,在地址8261D8中存放的数据+23就是英雄名字的地址.一试,果然如此.

汗,上班到点了,先写到这.晚上下班后,接着写第二节...欢迎大家继续收看.
本帖最近评分记录:
  • 金钱:+200(superttl) 支持教程
  • 写修改器还是用VB吧.用.Net来写修改器有种高射炮打蚊子的感觉...
    顶端 Posted: 2007-12-24 12:50 | [楼 主]
    chft01
    级别: 初入江湖


    精华: 0
    发帖: 1
    威望: 1 点
    金钱: 1 胜利币
    贡献值: 0 点
    在线时间:0(小时)
    注册时间:2008-07-07
    最后登录:2008-07-07

     

    假如地址就是8261D8
    yy=text1.text
    ReadProcessMemory hProcess,&H8261D8 , MyAddr, 4, 0
    ReadProcessMemory hProcess,"&H"+"8261D8" , MyAddr, 4, 0
    ReadProcessMemory hProcess,yy , MyAddr, 4, 0
    请问版主..这个些有什么不同..
    为什么读出的地址就不是一样的呢?????????烦
    &H8261D8 这个是什么类型的,,
    顶端 Posted: 2008-07-07 10:47 | 1 楼
    帖子浏览记录 版块浏览记录
    胜利之歌超级论坛 » PC修改专区


    浙ICP备05022506号
    Total 0.093652(s) query 6, Time now is:09-07 05:07, Gzip enabled
    Powered by PHPWind v6.3.2 Certificate Code © 2003-08 PHPWind.com Corporation