找call写call吧 关注:96贴子:951
  • 4回复贴,共1

组队研究:CALL 存放(子程序’第一句代码)的地址。

只看楼主收藏回复

组队研究:CALL 存放(子程序’第一句代码)的地址。
1:首先讲为什么要学call
按键精灵做出的模拟按键挂只能前台按键,后台插件都被有客户端的游戏屏蔽掉。
,,,,,,
游戏窗口,最小化或者后置,模拟按键挂就会无效。
呵呵,大家都知道的。
我见了很多菜鸟卡在这里,满世界发帖求助。
所以我开始满世界找,可以后台按键的方法,到处找资料逛论坛之后发现2个可能实现方法。
(1)用call(2)winio,这个还正在学习中,具体情况还不清楚
我选择了call,因为强手们的这个武器,对我来说很神秘的。


来自手机贴吧1楼2015-02-02 08:58回复
    网络游戏保护强度大,找CALL难度大。
    广海社区中,你研究这个游戏,我研究那个游戏,人心不齐。
    研究的力量薄弱,难有大的进步。
    网络游戏经常更新升级,CALL的地址长期变动,不适合组队长期学习。
    ………………
    ………………
    本队练手的游戏,和找CALL模拟器有3只:
    植物大战僵尸中文版。
    【wygailf】制作的模拟器:游戏找CALL练习实例one
    F8老师的模拟发包的小程序:F8CALL01-04
    ………………
    ………………
    本队统一使用的工具:CE6.4,OD,郁金香代码注入器。
    ………………
    ………………
    CALL,
    就是与子程序有关的东西。
    按键精灵中,调用走路子程序代码如下:
    CALL 走路子程序()
    在OD反汇编窗口中,就变成CALL 006A9EC0
    ………………
    再讲讲什么是关键CALL。
    英文单词CALL,是调用的意思。
    调用CALL格式:
    CALL 内存地址
    (意思是在OD汇编窗口中,,,调用,存放子程序第一句代码的内存地址)。
    (在代码注入器窗口中也一样的。,,,就是调用,存放子程序第一句代码的内存地址。)
    比如走路Call,只要调用存放走路子程序第一句代码的内存地址。。。
    走路子程序就会继续运行完毕,完成游戏人物走路的功能。
    ………………
    找CALL写CALL的难度非常之大,不是一个人的思维,一个人的领悟可以学懂。
    所以要组队研究。希望大家勇跃发贴,多分享学习心得和技术。


    来自手机贴吧2楼2015-02-02 09:01
    回复
      还没弄清楚call是啥玩意,
      只知道在按键里call是调用sub
      的。
      @大宝S窝的蜜
      ………………
      ………………
      在按键中,call是调用自己编写的sub
      的。
      在代码注入器中,call也是调用sub的。
      不过,代码注入器调用的是,游戏编写者的sub的。
      ………………
      ………………
      比如,游戏程序内部有走路Sub,打怪Sub,加红加蓝Sub,拾取Sub。
      Call 存放“走路Sub”的第一句代码的地址,游戏角色就会走到相应座标点。


      来自手机贴吧5楼2015-02-02 09:03
      回复
        汇编语言中的堆栈有什么作用?
        堆栈是个保护盒子。(像周润发的和平饭店)

        堆栈是个既深层又狭窄的盒子。(像Excel工作表一样,不过只有一列。)
        堆栈有堆栈地址。 (像Excel工作表一样,一行就是一个堆栈地址,一个地址只放一个数据。)
        (最先放入的数据在堆栈地址的最底层,最迟放入的数据在堆栈地址的最上层)
        ………………
        ………………


        来自手机贴吧8楼2015-02-02 09:07
        回复
          将 寄存器的值进行压入堆栈的地址中,是为保护寄存器中的值。
          比方说主程序在计算所得结果分别放在寄存器eax和edx中,
          这时主程序准备调用子程序,,,
          子程序在编写过程中也要用到eax和edx,
          如果直接调用子程序,那么eax和edx中原有的 计算值会 被覆盖,
          同时影响了主程序和子程序的运算结果。
          ,,,
          ,,,
          这时需要一个深层又狭窄的盒子,用来保存大程序的结果。
          因为这样就用到了栈。
          子程序运算结束后,再从安全盒子中取出受保护的值。
          覆盖到eax和edx两个寄存器中,继续执行主程序的运算。
          ret 默认是返回一个地址即 ret 4
          在调用子程序前,入栈多少个参数,子程序调用完后,就要弹出相应的地址个数。


          来自手机贴吧9楼2015-02-02 09:08
          回复