找到游戏的上分动态获取游戏内存地址址了求基址

关注PPSSPP模拟器时间稍长一点的玩家都知道,此模拟器的更新速度非常快,一日数更是常有的事。这样做的好处是老版中存在的问题可能会很快修复,但坏处则是修复了老问题却带了新问题,上一个版本运行正常的游戏到了下一个版本可能就会出问题。因此,想要模拟更多的游戏,各个版本的模拟器都需要准备一份。这样一来,喜欢修改的就麻烦了。虽然网上能找到几个银河漫步大大公布的正式版基址,由于数量太少,远不能匹配日新月异的其它版本模拟器。而相关搜索教程就更别提了。  还好,在switch0523网友所发的基址查找求助帖里,经Blader网友的指点,本人终于在自家电脑上成功找到其它版本模拟器的基址,这里特对Blader网友表示感谢。而原帖里所使用的修改工具MECC不太为人所知,为了方便更多人加入到研究修改PPSSPP的队伍中来,特地做了个CE移植版,希望大家能多多支持。                      教程篇  教程开始前要说明一下,载入不同的游戏PPSSPP查看内存功能所显示的内容也会不一样,需要区别对待。以下会分别以《怪物猎人2G》与《重生传说》做例子来讲解如何搜索基址,所使用的PPSSPP版本为:0.9.5-357-gddf5b69。  先载入游戏,按Ctrl+M键打开内存查看窗口(图01),按原帖所讲从开始用“字节数组”方式搜索图中红框选中的8个字节(图02),会得到两个地址,此时打开计算器,先选中科学模式下的16进制,再用下面那一个较大的地址按原帖教程所讲,依次减去4、0得到最终要搜索的数值4C00000。最后回到CE,用“精确数值+4字节”并钩选Hex直接用16进制方式搜索4C00000就能得到基址了(图03)。01&&0203   接下来用《重生传说》再搜索一次,为的是让大家能像原帖讲的那样举一反三,灵活处理。同样先载入游戏并打开内存查看窗口,发现从开始是一大段的0(图04),那么该如何搜索呢?经本人尝试,最好是从“头部”也就是020、030开始的地址搜索,这里选择从开始搜索8个字节,同样得到了两个地址(图05)。接下来就简单了,这次用下面较大的地址依次减去20、0,同样得到最终要搜索的数值4C00000,那么结果显而易见了,由于地址相同就不重复贴图了。0405                       疑问篇  教程到此结束,本人却产生更多疑惑。在CM中添加正确的相关信息后,可以很方便指定搜索范围以过滤掉不必要的地址。由于PPSSPP是动态运行的,在得知了基址后,如何在CE上实现CM这样,指定只属于PPSSPP 0-1800000的搜索范围,此其一;  第二,有过其它机种模拟器Hack或Debug经验的人应该知道,参考金手指码可以很容易得到偏移地址,也能很方便地转移到CE或添加了基址的EC与CM上使用。以SFC金手指为例:7E1234表示偏移为04则表示11234),在CE中用基址加1234的偏移便可得到指向该金手指所控制地址的指针。而在添加了基址的EC或CM中,则可直接在内存窗口中输入1234的偏移地址从而转到对应的内存地址。  这里再以《怪物猎人2G》举例:通过CE搜索金钱得到的动态地址为XXXFF090(不管怎么搜索只有前三位不固定),而对应的金手指码为211FF090,后面5位与CE动态地址后5位是相同的,不知这与查找偏移之间有没有什么关联呢?那么,问题来了,像这种通过多次计算得到的基址,该如何参考金手指码从而在CE中正确地添加偏移得到稳定的指针呢?  第三,其实解决了上面两个问题后,应该可以实现大部份金手指码的功能,但PSP的金手指码中有一种很复杂的指针码,也是需要通过基址+偏移来定位的(例如战神系列的HP地址),像这种本身就包含指针的地址,CE或CM又该如何解决呢?  PPSSPP发布已经一年多了,至今还没有一款CE或CM制作的动态修改器(如果有请指正),我想应该与这些问题都没有解决有关吧,希望这篇教程能吸引更多的人加入讨论,以便早日打破这种怪圈。
switch0523
回复 謝謝Z大的詳細CE教程,有空來試試尋找另外有個問題提問一下,問題如下:以網路上搜尋到的ppsspp金手指為例_S ULJM-05093_G 頭文字D_C0 失敗數0_L 0x204950DC 0x_C0 速度控制(按上230KM/S按下100KM/S)(作者為:PLUSER)(原代碼為渣FC用,轉換為CMF用)_L 0xEx104B3ACC_L 0xDx_L 0x204B3ACC 0x_L 0xDx_L 0x204B3ACC 0x41F00000如上述2個金手指,很明顯『失敗數0』的0x204950DC,此code可以看作004950DC,可運用在CM修改器製作,但速度控制code很明顯的是指針類型問題:有辦法在CM制作實現如下圖的修改器嗎? 750) this.width = 750;attachimg(this, 'load');" onmouseover="attachimginfo(this, 'attach_837', 1);attachimg(this, 'mouseover')" onclick="zoom(this);" onmouseout="attachimginfo(this, 'attach_837', 0, event)"
/>(6.69 K)11/26/:28 AM
switch0523 最后编辑于
首先很榮幸能解決樓主的問題另此篇比小的製作的解說還要更加詳細且實用在此不得不讚一個~問題二要說與尋找偏移的關聯應該就在於基址跟CWCheat的改造碼都需要偏移8800000...XXXFF090減去11FF090得到起始位址起始位址減去8800000的值用以搜尋基址而211FF090指的是在FF090的位址寫入32bit的數值至於跟CE或CM相關的問題小的就無能為力了雖然很不好意思但小的只懂用MECC...希望站長與眾網友能夠諒解
回复 其實速度控制的改造碼並非指針喔~而是使用判斷碼意思大致如下0xEx104B3ACC若位址B3ACC不為16bit數值0000則啟用之後的4條改造碼否則跳過0xDx若是按下&上&則啟用之後的1條改造碼否則跳過0x204B3ACC 0x在位址B3ACC寫入32bit數值0xDx若是按下&下&則啟用之後的1條改造碼否則跳過0x204B3ACC 0x41F00000在位址B3ACC寫入32bit數值41F00000希望這樣說明您能看懂
Blader 最后编辑于
我只能说模拟器的数据段也存在可用的指针但是在添加了基地址的情况下用法和pc指针用法稍微不同而已PSP 机战APS 机战Alpha外传我皆使用了模拟器的ram段指针来定位就是这么个原理PSP动态修改器我做了两个一个是 机战A:一个是 鬼魂力量本来准备搞西林3的但是最近没空玩那个
银河漫步 最后编辑于
另外有关基地址搜索这种方法可以但是其实也没你想的那么麻烦你把CE的下面这个选项打开就行了Dolphin同理(62.22 K)11/26/:34 AM
to switch0523:简单来说,PSP实机上使用的金手指码有直写码、压缩码、条件码、键位码、逻辑运算码等多种格式,以《怪物猎人2G》金钱最大为例:_L 0x211FF090 0x0001046A = 0x2aaaaaaa 0xbbbbbbbb。其中2表示代码格式的定义,aaaaaaa就是地址,bbbbbbbb表示要写入的数值。再细分下来2表示32bit直写,0表示8bit直写,1表示16bit直写。另外,8表示压缩码,6表示指针码,D表示键位码等。关于PSP金手指码格式的详细说明建议访问“PSP電玩金手指查找研究專欄”(打不开请挂代理),地址如下:不过,本以为上面网站所介绍的金手指码格式应该是比较完整的了,哪知细看之下发现你所提出的E开头的码在网站中找不到相关说明,也正是因为像这类详细说明金手指码格式的资料太少了,所以特别希望有高手能将其补全。从Blader的回复来看,似乎对这方面有所了解,可能的话,也希望你能在参考上面的网站之后,对其中没说到的地方加以补充吧。to Blader:MECC这么强大的修改工具软件在大陆这边一直没有得到很好的推广,与其语言有很大关系。本人一直在期待何时有高手能汉化一下这么好的软件,以便让此软件更快地普及开来。关于你所说的研究都是基于MECC的,没关系,作为MECC的支持者,反而很希望你能将此软件研究的越透彻越好,再说相关技术原理基本上是相通的,如果以后有了更好地研究成果,本人愿意像这次一样,将其转化成其它工具支持的版本以方便推广。to 银河漫步:本人电脑上的CE版本从5.6.1一直到6.3都有安装,且默认都是钩选了图中所示的搜索设置。正是因为以前按CM电子书中所讲,用那种“查找什么改写了当前地址”的方式怎么也无法找到基址,所以苦恼至今,直到昨天遇见Blader所讲的方法才算了却心愿。但是,正如本人主帖所说,查到基址只是第一步,如何将基址应用到实际中去才是接下来主要研究的方向。像机战A那样例子,希望你有空闲时间了能多提供一点思路或说明吧。如果可能的話,最好以switch0523曾经询问过的,至今没有得到答案的《讨鬼传》每关体力地址不同,需要重新搜索为实例(地址:),以便咱们可以举一反三,从而应用到更多类似的游戏中去。to all:本人在搜索各种有关PSP金手指码的资料时,了解到PSP实机上各种金手指工具的强大,而且这种强大让本人这种没有接触过实机的人甚至无法理解。比如之前讲的SFC金手指主要是包含了偏移地址,直写码将某个地址写入最大数值等等,但《怪物猎人》系列的显血码就让人弄不明白了,同样只是在不同的地址上写入数据,是怎么构造出这么强大的功能的?这已经远超其它机种上金手指所能实现的功能了吧。这一切的一切本人都非常想将其彻底研究清楚,将来好转化到CE或CM这样的修改工具中去。无奈水平实现有限,心有余而力不足,要不是Blader的指点,本人至今还在查找基址那儿卡着呢。俗话说,人多力量大,现在本人唯有冀希望于更多的、喜欢研究修改的朋友加入进来,量变引起质变,早日在电脑上用CE或CM等工具实现金手指的全部功能。
zsyf 最后编辑于
我现在不想写教程了就等着cm新版发布psp金手指、nds金手指都提供了一些判断金手指和循环类金手指只要找到对应代码实现各种功能都不是什么难事只是目前尚未发现好用的Windows上的psp debug工具而已
PSP CWCheat代碼格式以上應該是完整的代碼格式說明在此就不贅述了有看不懂可以再行提問至於&討鬼傳&小的有回覆過解決方法只是沒有附上詳細圖文那麼這次就在此篇稍微解說一下由於手邊沒有&討鬼傳&因此使用GBA的Pokemon Emerald來做解說其實方法都是一樣的首先看到選起來的位址是主人公的名字在這個狀態下選擇搜尋方式&増減&並按下&検索開始&接著任意切換一個畫面或地圖可以發現位址偏移了+4這時再以搜尋方式&増減&但搜尋數值寫入+4並按下&絞込み検索”可以發現搜尋結果很多但只有一個是完全符合的若是在&討鬼傳&中沒有完全符合的結果也沒關係挑一個距離HP位址最接近的搜尋結果作為指針就可以了希望這樣說明各位可以看懂圖片一樣上傳至Google協作平台看不到的朋友可以試試掛代理(翻牆)
switch0523
這篇教學文真的很棒希望能有些其他模擬器的基址查找教學,如Dolphin、desmume等查看: 23170|回复: 38
CE怎么查找游戏动态内存地址
阅读权限50
结帖率: (9/10)
本人小白,以植物大战僵尸为例,教你如何搜索内存中动态的值。
搜先搜索阳光 150
在游戏中改变下阳光的值,然后再次搜索 我这里是50
然后列表里就只剩下这一个了,双击它,然后如图,寻找访问此地址 的代码
出来两行,双击其中一行,记下EDX的值和5560
然后搜索EDX的值,记得是16进制的。
搜索出来应该有很多,选第一个,如以上的步骤,记下EDI的值和768
然后搜索EDI的值,找到6a9ec0 记下来,这个时候给出了 ...
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
揭阳精易科技有限公司申明:我公司所有的培训课程版权归精易所有,任何人以任何方式翻录、盗版、破解本站培训课程,我们必将通过法律途径解决!
公司简介:揭阳市揭东区精易科技有限公司致力于易语言教学培训/易语言学习交流社区的建设与软件开发,多年来为中小企业编写过许许多多各式软件,并把多年积累的开发经验逐步录制成视频课程供学员学习,让学员全面系统化学习易语言编程,少走弯路,减少对相关技术的研究与摸索时间,从而加快了学习进度!
防范网络诈骗,远离网络犯罪
违法和不良信息举报电话,QQ: ,邮箱:@b.qq.com
Powered by
X3.2 揭阳市揭东区精易科技有限公司
粤公网安备 25找到游戏中的基址
为鼓励上传资源,我们采用积分下载方式,希望您能发布更多更好的资源互相分享
1.上传软件或电子书,源码,资料等,审核后即获2积分;如发布时设了下载需积分,其他用户下载后你将获得相应积分
2.当您首次注册时,可以获送10个下载积分,供您下载资源和熟悉网站下载的使用
3.发现资源有误或其他问题,通过举报按钮反馈后我们将奖励积分
4.您可以在论坛通过发帖等方式获取
5.参加本站可以在有效期内不限次数下载
6.您也(1元=10积分)或
7.我们会不定期举办各种活动,参加活动可以获取积分,请关注下载频道首页公告。
您可能遇到这些“伪问题”:
1.资料无法解压:
请确保所有分卷均下载完毕,如果有未知后缀文件,请搜索相应解压软件;
2.chm文件无内容:
您的电脑锁定了这一文件,请右击文件属性,点击右下方“解除锁定”,关闭文件后再打开;
3.下载不下来:
请尝试重新下载(重新下载不扣积分);
4.杀毒软件报毒:
黑客安全及破解类软件容易报毒,但可正常使用,如担心安全请谨慎使用。
录制的时候可以能会有点卡。。
&我 是 E.S.t 一个月换一个网名& 呵呵 QQ
交友。。。加Q 不收徒在学外挂制作和木马免杀的+q
今天教大家找到游戏中的基址
所谓的基址就是 游戏中的一个数值的内存地址
这个内存地址不会变化 除非游戏更新了
&我为了做教程 下载了一个游戏 挂接进程先
现在我们寻找游戏中血值的基址
这里是 1100
我们搜索1100& 然后打怪 减少血值 搜索减少的数值 再搜索。。。。
有两个& 两个都可以的
最后出来了,。
寻找所有操作这个地址的代码 将汇编代码抄下来
esi+4 esi=& 098C0AF8& 搜索一下这个地址 hex是十六进制
这个 4是偏移
偏移+基址=血的值 偏移可能会有多个 还不知道。。。
还有指针地址要记录下来
我们现在来搜索指针地址 将搜索出来的第一个放下来
寻找所有操作这个地址的代码
这里有一个传说指令 mov【013E517C】这个就是基址
如果不确认 就搜索一下这个地址 如果搜索不出来就是基址了
是基址了 我们将他在Ce里显示出来& 正确的基址!
教程结束 不懂的 跟帖子问
您对本软件有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力
下载地址:
您正在下载:找到游戏中的基址
热门最新推荐
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。
文章下载读书&>&修改游戏,内存基址固定不变啦,好吧
修改游戏,内存基址固定不变啦,好吧
上传大小:11KB
你试没试过用金山游侠修改红警二的金钱?如果有的话你应该知道每玩一次就要改一次,因为这个游戏是动态分配内存的,每次重新开始都会改变。所以你会选择到网上去下载一个专用的修改器,那么你有没有想过自己做一上呢?想过?那你为什么不做?什么不会?那就好办了,看了这篇教程你就会了
综合评分:0
下载个数:
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var parentWrap = $(this).parents(".respond_box"),
q = parentWrap.find(".form1").serializeArray(),
resStr = $.trim(parentWrap.find(".res_area_r").val());
console.log(q);
//var res_area_r = $.trim($(".res_area_r").val());
if (resStr == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
//var mess = $(".res_area_r").val();
var mess = resS
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, data.com_username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click", '.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
var parentWrap = $(v).parents(".respond_box");
parentWrap.find(".res_area_r").val($.trim(parentWrap.find(".res_area").val()));
评论共有0条
gogogo8008
综合评分:
积分/C币:3
VIP会员动态
CSDN下载频道资源及相关规则调整公告V11.10
下载频道用户反馈专区
下载频道积分规则调整V1710.18
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
资源所需积分/C币
当前拥有积分
当前拥有C币
输入下载码
为了良好体验,不建议使用迅雷下载
修改游戏,内存基址固定不变啦,好吧
会员到期时间:
剩余下载个数:
剩余积分:0
为了良好体验,不建议使用迅雷下载
积分不足!
资源所需积分/C币
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
为了良好体验,不建议使用迅雷下载
资源所需积分/C币
当前拥有积分
当前拥有C币
您的积分不足,将扣除 10 C币
为了良好体验,不建议使用迅雷下载
无法举报自己的资源
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可返还被扣除的积分
被举报人:
举报的资源分:
请选择类型
资源无法下载 ( 404页面、下载失败、资源本身问题)
资源无法使用 (文件损坏、内容缺失、题文不符)
侵犯版权资源 (侵犯公司或个人版权)
虚假资源 (恶意欺诈、刷分资源)
含色情、危害国家安全内容
含广告、木马病毒资源
*详细原因:
修改游戏,内存基址固定不变啦,好吧后使用快捷导航没有帐号?
 论坛入口:
  |   |    |   | 
查看: 4411|回复: 8
VB游戏动态内存问题
我现在弄一个小型外挂,找到了产生血的基址
004fe226 mov ,[esi+04e8] .exz
下一步我该怎么样写我的代码呢?(最好代码要VB的!)
提出思路亦可!
Re:VB游戏动态内存问题
高手很多,愿意回答的个把人。
我的思路:看一下当前ESI值 记下来&a&
用记来的&a&去搜索,会出现很多个,一般是第一个地址,记下这个地址&b&,读取的时候先读出&B&返回的就是存放ESI的地址,再读出ESI值,再加上04e8偏移,就是你想要的数据了。就是个指针思想。
Re:VB游戏动态内存问题
当然用DMA可能效果会更好一点,但用指针代码简单多了,用按键精灵都可以做到
Re: Re:VB游戏动态内存问题
ghostscat: Re:VB游戏动态内存问题
高手很多,愿意回答的个把人。
我的思路:看一下当前ESI值 记下来&a&
用记来的&a&quo...
ESI的值在同一台电脑是上固定的,换到其他电脑就会改变。这个也是个问题~
Re:VB游戏动态内存问题
先把esi的值保存到一个固定的地址,然后用程序读这个固定地址,也就是读出esi的值,再读esi+偏移量的值就读出血的值了
Re:VB游戏动态内存问题
利用OD,找一块空白地址内存和空白数据内存
004fe226 mov ,[esi+04e8] .exz
改为jmp 空白地址内存
空白地址代码: mov ,[esi+04e8] .exz
mov [空白数据地址],esi
jmp 原地址的下一句
之后读取空白内存地址得到基址,加上偏移量就OK了。
c++可以直接嵌入汇编,vb简单的办法就是用writeprocessmomery写进机器码,再用readprocessmemory 读出来。
Re:VB游戏动态内存问题
利用OD,找一块空白地址内存和空白数据内存
004fe226 mov ,[esi+04e8] .exz
改为jmp 空白地址内存
空白地址代码: mov ,[esi+04e8] .exz
mov [空白数据地址],esi
jmp 原地址的下一句
之后读取空白内存地址得到基址,加上偏移量就OK了。
c++可以直接嵌入汇编,vb简单的办法就是用writeprocessmomery写进机器码,再用readprocessmemory 读出来。
===============
c++直接嵌入汇编 ,要怎么样写才能实现上面的效果。。
Re:VB游戏动态内存问题
DMA注射法,动态转静态
Re: VB游戏动态内存问题
本人需要答题外挂,类似征途答题外挂,不过不是征途的,有意和我联系,QQ。}

我要回帖

更多关于 动态内存地址 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信