佳丽云

英雄无敌3-WoG中文站

 找回密码
 英雄注册|Register
查看: 3073|回复: 15

求教贤知有您,这个脚本的地址是如何查到的?

[复制链接]

该用户从未签到

1066

回帖

7228

金币

1

精华

5级 Honorable Hero

Rank: 5Rank: 5

积分
6026
发表于 2017-5-6 21:36:53 | 显示全部楼层 |阅读模式
贤知有您
!!SN:L^EraPlugins\erm_hooker.era^/?y1 Ay1/^SetHook^/?y2 Ay1/^UnsetHook^/?y3;    ..记录Ay1/^SetHook^/?y2插入?  Ay1/^UnsetHook^/?y3;记录还原..

!!SN&x1=0:Ey2/1/4462078/111218; hook at 004415FE => FU111218                  4462078(肉搏攻击,环击进行前 )插队到这个内存地...用 FU111218
                                                                                                                                    
!!SN&x1=1:Ey3/1/4462078;                                                                                      还原



这个你是如何知道这个地址的???难道有反汇编软件让运行wog然后另一侧显示地址变化?这个的需要个简易的操作教程啊....我试了下反汇编软件运行..但是高清那个打不开..无法窗口.然后运用也是一脸蒙...求一个简易的战场内存地址查找教程....感觉这插件谁然好只是目前使用面也太窄了吧??基本都是攻击前后..伤害计算前后..这套用和BG没有质变....很悖论的节奏唯一的质变就是这个最好计算吸血伤害..能修改让吸血鬼吸更多血..


ZVSE
*by贤知有您 Hawaiing 2015-7-31
*bloodsuck&retaliation
*用于解决环击和吸血无法共存的问题.修复后,环击时吸血生物可以对目标吸血(非群体吸血).
*需要erm_hooker.era插件才能运行.不能与其它修改过相关地方的脚本混用.
*FU111217-FU111218
*FU111219-FU111220
!?PI;[test]
!!MA:X63/?i;
!!VRi:|524288;
!!MA:X63/i;[吸血鬼王为环击-用于测试]
*--------------------SetHook&UnsetHook---------------
!?BA0&1000;[战斗前]
!!FU111217:P0;
!!FU111219:P0;

!?BA1&1000;[战斗后]
!!FU111217:P1;
!!FU111219:P1;
*------------------------------------------------------------
!?FU111217;[肉搏攻击,环击进行前]
*004415FE - 8d 45 e8 - lea eax,[ebp-18]
!!SN:L^EraPlugins\erm_hooker.era^/?y1 Ay1/^SetHook^/?y2 Ay1/^UnsetHook^/?y3;
!!SN&x1=0:Ey2/1/4462078/111218; hook at 004415FE => FU111218
!!SN&x1=1:Ey3/1/4462078;

!?FU111218;
*此时目标堆栈[ebp+08],写入的目标地址是[ebp-24]
*计算目标堆栈的总HP,并写入目标地址
*需提取地址: EBP (8)
!!SN:X?y1/1;[按原命令执行]
!!VRy2:Sy1+8;
!!UN:Cy2/4/?y3; =ebp
!!VRy4:Sy3+8;
!!UN:Cy4/4/?y5; y5=目标堆栈[ebp+08]
!!VRy6:Sy3-36; [ebp-24]
!_!UN:Cy6/4/?y7; 原值
!!VRy8:Sy5+192; BM:H
!!VRy9:Sy5+76; BM:N
!!VRy10:Sy5+88; BM:L
!!UN:Cy8/4/?y11 Cy9/4/?y12 Cy10/4/?y13;
!!VRy14:Sy11*y12-y13;
!!VRy14&y14<0:S0;
!!UN:Cy6/4/y14;[写入数据]
*------------------------------------------------------------
!?FU111219;[吸血过程中]
*0044095A - 8b 8e c0 00 00 00 - mov ecx,[esi+000000c0]
!!SN:L^EraPlugins\erm_hooker.era^/?y1 Ay1/^SetHook^/?y2 Ay1/^UnsetHook^/?y3;
!!SN&x1=0:Ey2/1/4458842/111220; hook at 0044095A => FU111220
!!SN&x1=1:Ey3/1/4458842;

!?FU111220;
*此时,本体堆栈esi,目标堆栈[ebp+08],目标堆栈原总HP[ebp+14],写入目标地址是[edi](指针)
*若本体堆栈拥有环击标志,但重算可吸血HP.用原总HP-当前目标堆栈总HP获得.并写入到相应内存上.
*需提取地址:EDI (0),ESI (4), EBP (8)
!!SN:X?y1/1;[按原命令执行]
!!UN:Cy1/4/?y2; y2=edi
!!VRy3:Sy1+4;
!!UN:Cy3/4/?y4; y4=esi
  !!VRy21:Sy4+132;
  !!UN:Cy21/4/?y22; y22=本体堆栈标志
  !!VRy22:&524288;是否环击
  !!FU&y22=0:E;
!!VRy5:Sy1+8;
!!UN:Cy5/4/?y6; y6=ebp
!!VRy7:Sy6+8;
!!UN:Cy7/4/?y8; y8=目标堆栈[ebp+08]
!!VRy9:Sy6+20;
!!UN:Cy9/4/?y10; y10=目标堆栈原总HP[ebp+14]
!!VRy11:Sy8+192; BM:H
!!VRy12:Sy8+76; BM:N
!!VRy13:Sy8+88; BM:L
!!VRy14:Sy8+132;BM:F
!!UN:Cy11/4/?y15 Cy12/4/?y16 Cy13/4/?y17 Cy14/4/?y18;
!!VRy19:Sy15*y16-y17;目标当前总HP
!!VRy20:Sy10-y19;[HP差额]
!!VRy20&y20<0:S0;
!!VRy18:&8388608;[是否克隆体]
!!VRy20&y18>0/y20>1:S1;[按原作设定克隆体只为1hp]
!!UN:Cy2/4/y20; 写入到 [edi]上

*贤知有您 Hawaiing*
复制代码


  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-6 23:25:25 | 显示全部楼层
    你单纯问怎样找到地址是没有意义的.学习都需要知识和过程的.
    反汇编的工具是很多的,有静态的也有动态的.我之前比较喜欢 CE 这款,就像内存编辑器一样,直接改机器码.
    但软件不是重点,重点是你需要先学习 汇编的知识.也就是需要知道软件编码是怎样运作的.
    有了汇编的知识,你就可以去看各种内存了.当你积累了很多,你就可以尝试去查找需要的编码,通过各种断点,了解各函数调用的情况.

    ERM_HOOKER的插件主要就是HOOK住内存并转换为ERM语言来设定你想要的结果.
    如果要说WOG的一些特性功能是怎么来的,基本都是HOOK了SOD并延展开来的.只不过编者有源码,所以直接用高级语言编写插件完成了这些.
    我们有了ERM和ERM_HOOKER,也就是把内存运行延伸到ERM语言控制上.

    回到最早的前提,楼主可以先学习汇编知识.
    007.jpg
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-6 23:40:10 | 显示全部楼层
    不过话说回来.玩内存是很累很累的.
    但是,如果没有UN:C SN:E 这样的内存修改和调用,就没有这么多精彩的WOG技能修改了.
    以前WOG只能圈在ERM原语法的框架下无法突破,当有了内存修改,几乎就是你想干啥都行.(理论上说的)

    回味当年和沧海一粟探讨突破各种ERM框架限制的时光.
    现在ERM越来越少人玩了.好在还有像XEricSin等不断进步和开发.
    希望各路大神坚持下去.
    顺便BS一下一些不尊重论坛劳动成果的人,害得沧海一粟都失去了封神后续创作的意向.

    点评

    air
    代码道到能看懂..只是不知道如何查..先运行wog?然后用这个扫?比如你截图的这个..是不是必须英雄上战场带上类似九头之类的攻击后才能扫出呢?  详情 回复 发表于 2017-5-7 07:50

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 07:50:50 | 显示全部楼层
    贤知有您 发表于 2017-5-6 23:40
    不过话说回来.玩内存是很累很累的.
    但是,如果没有UN:C SN:E 这样的内存修改和调用,就没有这么多精彩的WOG ...

    代码道到能看懂..只是不知道如何查..先运行wog?然后用这个扫?比如你截图的这个..是不是必须英雄上战场带上类似九头之类的攻击后才能扫出呢?
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-7 10:24:45 来自手机 | 显示全部楼层
    定位到主函数入口上,然后慢慢研究。

    点评

    air
    难道不需要运行??  详情 回复 发表于 2017-5-7 10:43

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 10:43:05 | 显示全部楼层
    贤知有您 发表于 2017-5-7 10:24
    定位到主函数入口上,然后慢慢研究。

    难道不需要运行??
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-7 12:12:38 来自手机 | 显示全部楼层
    运行方便断点调试。静态的话就是只能看exe或者dll之类的机器码,运行时可能受各种插件影响有变化。正如HD版本就像个外挂一样。
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-7 12:14:56 来自手机 | 显示全部楼层
    ERA之所以能随便修改wog内存,是事先去掉了exe的头保护。dll这些受保护的运行是不会让你随便在运行中修改的。

    点评

    air
    唉.好吧..研究一下午发现不是促发器的问题..而是一旦开始攻击就已经跳转了..乱改直接跳出..模拟出来的基本也差不多完美了... 话说封神里面这个如何用呢??? x2 x3 一脸蒙逼啊..... **FU16061:Px1/x2/x3; //  详情 回复 发表于 2017-5-7 20:43

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 20:43:36 | 显示全部楼层
    贤知有您 发表于 2017-5-7 12:14
    ERA之所以能随便修改wog内存,是事先去掉了exe的头保护。dll这些受保护的运行是不会让你随便在运行中修改的 ...

    唉.好吧..研究一下午发现不是促发器的问题..而是一旦开始攻击就已经跳转了..乱改直接跳出..模拟出来的基本也差不多完美了...

    话说封神里面这个如何用呢???   x2 x3 一脸蒙逼啊.....
    **FU16061:Px1/x2/x3;  //调用改变生物名称和说明函数 By 召唤师
    **x1=堆栈,x2=单数&复数ert名称,x3=特技ert说明
    !?FU16061;
    !!FU|x1<0/x1>41:E;
    !!BMx1:T?y1 N?y2;
    !!FU|y1<0/y2<1:E;
    !!SN:E7824928/1/x2;
    !!VRy3:Sv1;
    !!BMx1:G-67/y3/d G-68/y3/d;  -67生物复数名称,-68生物单数名称
    !!SN:E7824928/1/x3;
    !!VRy4:Sv1;
    !!BMx1:G-66/y4/d;     -66生物特技说明

    !?PI;
    !!UN:C6240582/4/8951691;
    !!UN:C6240586/4/1435041792;
    !!UN:C6240590/4/-1869574136;
    !!UN:C6240594/4/-1869574000;
    !!UN:C6240598/4/-1869574000;
    !!UN:C6240602/4/-1869574000;
    !!UN:C6240606/4/-1752489237;
    !!UN:C6240610/4/140;
    !!UN:C6240614/4/-1878502007;
    !!UN:C6240618/4/-1869574000;
    !!UN:C6240622/4/-1869574000;
    !!UN:C6240626/4/-1869574000;
    !!UN:C6240630/4/-342847344;

    !?GM0;
    !!UN:C6240582/4/8951691;
    !!UN:C6240586/4/1435041792;
    !!UN:C6240590/4/-1869574136;
    !!UN:C6240594/4/-1869574000;
    !!UN:C6240598/4/-1869574000;
    !!UN:C6240602/4/-1869574000;
    !!UN:C6240606/4/-1752489237;
    !!UN:C6240610/4/140;
    !!UN:C6240614/4/-1878502007;
    !!UN:C6240618/4/-1869574000;
    !!UN:C6240622/4/-1869574000;
    !!UN:C6240626/4/-1869574000;
    !!UN:C6240630/4/-342847344;

    !?PI;
    !!UN:C4794706/2/20619;
    !!UN:C4794708/1/52;
    !!UN:C4794709/2/53893;
    !!UN:C4794713/2/64129;
    !!UN:C4794715/4/256;
    !!UN:C4794719/2/6015;
    !!UN:C4794721/4/2425393296;
    !!UN:C4794725/4/2425393296;
    !!UN:C4794729/4/2425393296;
    !!UN:C4794733/2/37008;
    !!UN:C4794735/4/8945803;
    !!UN:C4794739/2/0;
    !!UN:C4794741/1/144;

    !?GM0;
    !!UN:C4794706/2/20619;
    !!UN:C4794708/1/52;
    !!UN:C4794709/2/53893;
    !!UN:C4794713/2/64129;
    !!UN:C4794715/4/256;
    !!UN:C4794719/2/6015;
    !!UN:C4794721/4/2425393296;
    !!UN:C4794725/4/2425393296;
    !!UN:C4794729/4/2425393296;
    !!UN:C4794733/2/37008;
    !!UN:C4794735/4/8945803;
    !!UN:C4794739/2/0;
    !!UN:C4794741/1/144;
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-7 22:16:14 来自手机 | 显示全部楼层
    16061函数主要是为现场临时召唤堆栈时,修改堆栈的一些文本说明,比如这里提到的堆栈名字和技能描述。x2-x3是指ert的序号,用ert存储文本。你看看调用函数的脚本就知道了,一串ert的数字,到ert文本中可以找到文字。

    点评

    air
    好吧找到了.....原来居然要TXT打开才能看到........  详情 回复 发表于 2017-5-7 23:38
    air
    找到了文本..不过都是侦查术等...汉字.而且只有行列...没有编号暗示..  详情 回复 发表于 2017-5-7 23:34
    air
    找到了ERT文件不过编号如何看呢??  详情 回复 发表于 2017-5-7 23:26

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 23:26:54 | 显示全部楼层
    贤知有您 发表于 2017-5-7 22:16
    16061函数主要是为现场临时召唤堆栈时,修改堆栈的一些文本说明,比如这里提到的堆栈名字和技能描述。x2-x3 ...

    找到了ERT文件不过编号如何看呢??

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 23:34:48 | 显示全部楼层
    贤知有您 发表于 2017-5-7 22:16
    16061函数主要是为现场临时召唤堆栈时,修改堆栈的一些文本说明,比如这里提到的堆栈名字和技能描述。x2-x3 ...

    找到了文本..不过都是侦查术等...汉字.而且只有行列...没有编号暗示..

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-7 23:38:08 | 显示全部楼层
    贤知有您 发表于 2017-5-7 22:16
    16061函数主要是为现场临时召唤堆栈时,修改堆栈的一些文本说明,比如这里提到的堆栈名字和技能描述。x2-x3 ...

    好吧找到了.....原来居然要TXT打开才能看到........
  • TA的每日心情
    郁闷
    2015-6-6 16:12
  • 签到天数: 52 天

    连续签到: 1 天

    [LV.5]女巫

    4949

    回帖

    3万

    金币

    35

    精华

    超级版主

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34677

    论坛守望者论坛元老杰出贡献

    发表于 2017-5-7 23:50:25 来自手机 | 显示全部楼层
    楼主对wog和era的构造还不够了解,嘿嘿

    点评

    air
    额.同名文件可用....不过要创建一个erm 和一个 ERA文本.然后做图时候地图对应事件和这个ert同名字....话说如此细节应该论坛出个贴集中说明一下...不然人家绘图调试脚本就累死了..结果再被这些细节坑一波,早就放弃尝  详情 回复 发表于 2017-5-8 08:48
    air
    不过还是无法使用..就算我创建ERT文件进mod.加载后人家压根就不读取....直接说空文本..  详情 回复 发表于 2017-5-8 00:23

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-8 00:23:05 | 显示全部楼层
    贤知有您 发表于 2017-5-7 23:50
    楼主对wog和era的构造还不够了解,嘿嘿

    不过还是无法使用..就算我创建ERT文件进mod.加载后人家压根就不读取....直接说空文本..

    该用户从未签到

    1066

    回帖

    7228

    金币

    1

    精华

    5级 Honorable Hero

    Rank: 5Rank: 5

    积分
    6026
     楼主| 发表于 2017-5-8 08:48:59 | 显示全部楼层
    贤知有您 发表于 2017-5-7 23:50
    楼主对wog和era的构造还不够了解,嘿嘿

    额.同名文件可用....不过要创建一个erm 和一个 ERA文本.然后做图时候地图对应事件和这个ert同名字....话说如此细节应该论坛出个贴集中说明一下...不然人家绘图调试脚本就累死了..结果再被这些细节坑一波,早就放弃尝试了...
    ahome_bigavatar:guest
    ahome_bigavatar:welcomelogin
    您需要登录后才可以回帖 登录 | 英雄注册|Register

    本版积分规则

    捐赠
    关注我们,英3Mod一网打尽!

    WoG中文站 ( 辽B2-20210485-10 )|辽公网安备 21128202000228 号

    GMT+8, 2024-11-18 07:47 , Processed in 0.522716 second(s), 24 queries , Gzip On, File On.

    Powered by Discuz! X3.4

    Copyright © 2004-2022, Beijing Second Sight Technology Co., LTD.

    快速回复 返回顶部 返回列表