易语言吧 关注:266,688贴子:1,666,292
  • 13回复贴,共1

萌新从零开始E语言学习记录1

取消只看楼主收藏回复

作为1个萌新(100%纯的)...开个贴子记录下我的E语言学习过程...顺便找几位dalao教教我
(作为一个9年贴吧号....第一次正式发帖= =真尴了个尬..)
每个人学习编程可能会有各种各样的原因吧....我学习E语言是因为我觉得这个编程语言写外挂可能比较容易吧....其实写外挂什么的是次要的,在学习过程中发现困难,解决困难的那种成就感才是我学习的动力....而写外挂大概是最有成就感的啦....因为现实生活中你要遵守各种各样的规则...而在计算机里你可以轻松违背它..
------------------------------------------------------------------------------------
废话不多说了....开始记录吧...
因为第一次接触E语言....第一次学习写外挂(其实好像和E语言没啥关系...)...就先定个小目标吧.....
作为我电脑上为数不多的单击游戏(其实我的主机999元买的...玩不了啥游戏)...我决定写个红警3的金钱外挂...大概就是这样....不知道要多久才能写(qi)完(keng)
后面更新会比较慢....因为我边学边写......请大家见谅


IP属地:云南1楼2017-02-02 10:44回复
    先说说昨晚学了些啥吧....
    顺便@一些dalao们...
    @回锅小肉肉 @【IMiss】 @tqydyqt @挚爱丶Mikasa @PER青木
    昨天晚上把语言下载好了......然后喜闻乐见不能编译.......只能求助一下度娘....经过一系列 呵呵呵呵 终于能编译了....

    好开心.....


    IP属地:云南4楼2017-02-02 10:52
    收起回复
      现在已经知道怎么用最简单的方法找到金钱的地址了...但是这个地址每次都会变...是黑色的...在研究怎么找到绿色的不变的基址.......



      IP属地:云南10楼2017-02-02 11:11
      回复
        找到是什么地址写了这个地址(find out what writes to this address)
        我觉得应该有很多会写这个地址吧.....建造各种房屋都会写吧(减钱)....采矿应该也会写吧(加钱)

        那我应该找哪个基址呢.......如果我找到了造电厂的基址...让他不减钱...那造其他东西的时候应该还是会减钱吧....突然不知道该怎么做了.......我要去百度一下....


        IP属地:云南12楼2017-02-02 11:23
        回复
          研究了好长时间终于搞定了.....

          但是还是处于半懵逼状态....后面再自己研究下.......


          IP属地:云南16楼2017-02-02 19:08
          回复
            又学习了下怎么找电力


            IP属地:云南17楼2017-02-02 19:28
            回复
              CE游戏地址已经找到了...
              所以现在我准备正式开始学习E语言...
              第一步我打算先把壳子做出来...就是外观....应该只要拖拖空间就行啦...
              第二步开始把CE里实现的那部分作弊功能加到第一步的壳子上...


              IP属地:云南23楼2017-02-03 10:27
              回复

                壳子大概是这样....

                这个已经有的注册热键不知道怎么用.也没提示......= =
                不知道怎么看它的说明....不会用....坑爹.....


                IP属地:云南25楼2017-02-03 11:27
                收起回复

                  遇到了好多问题.....比如.....
                  为什么我按F1也是进上面那个断点...按F2也是进上面那个断点....
                  不是应该按F1的时候进下面那个断点吗??太奇怪了吧...
                  @laowang479 谢谢啦


                  IP属地:云南27楼2017-02-03 12:47
                  收起回复
                    刚才发现注册热键连续调用2次以后第一次绑定的标签就不能接收热键了...只有第二次绑定的标签才能接收到热键....不懂为啥...但是没关系....现在全部绑定到1个标签上好了...壳子差不多做完啦....准备学习怎么用E语言修改内存....目前代码如下..
                    --------------------------------代码----------------------------
                    .版本 2
                    .支持库 shellEx
                    .程序集 窗口程序集_启动窗口
                    .程序集变量 f1
                    .程序集变量 f2
                    .子程序 为标签框注册热键
                    f1 = 注册热键 (取窗口句柄 (), 金钱标签.取窗口句柄 (), 0, #F1键)
                    f2 = 注册热键 (取窗口句柄 (), 电力标签.取窗口句柄 (), 0, #F2键)
                    ' 不知道为啥调用2次注册热键以后前一次注册的标签会失效....全部都绑定到第2次注册的标签上了= =..原因不明...
                    .子程序 __启动窗口_创建完毕
                    为标签框注册热键 ()
                    .子程序 _电力标签_反馈事件, 整数型, , 金钱和电子的热键
                    .参数 参数一, 整数型
                    .参数 参数二, 整数型
                    .如果真 (参数一 = f2)
                    电力选择框.选中 = 取反 (电力选择框.选中)
                    .如果真结束
                    .如果真 (参数一 = f1)
                    金钱选择框.选中 = 取反 (金钱选择框.选中)
                    .如果真结束


                    IP属地:云南29楼2017-02-03 13:05
                    回复

                      在大神们的知道下修改了下...
                      然后终于要进入最难得修改内存部分啦


                      IP属地:云南31楼2017-02-03 13:16
                      收起回复
                        现在已经可以在外挂上设置金钱和电力了....就是不知道怎么把这2个值锁住
                        -----------------------------代码---------------------------
                        .版本 2
                        .支持库 shellEx
                        .程序集 窗口程序集_启动窗口
                        .程序集变量 f1
                        .程序集变量 f2
                        .程序集变量 进程ID
                        .子程序 为标签框注册热键
                        f1 = 注册热键 (取窗口句柄 (), 电力标签.取窗口句柄 (), 0, #F1键)
                        f2 = 注册热键 (取窗口句柄 (), 电力标签.取窗口句柄 (), 0, #F2键)
                        ' 不知道为啥调用2次注册热键以后,如果绑定到的标签不同,前一次注册的标签会失效....全部都绑定到第2次注册的标签上了= =..原因不明...
                        .子程序 __启动窗口_创建完毕
                        为标签框注册热键 ()
                        进程ID = 进程取ID (“ra3_1.12.game”)
                        .子程序 _电力标签_反馈事件, 整数型, , 金钱和电子的热键
                        .参数 参数一, 整数型
                        .参数 参数二, 整数型
                        .如果真 (参数一 = f2)
                        电力选择框.选中 = 取反 (电力选择框.选中)
                        .如果真结束
                        .如果真 (参数一 = f1)
                        金钱选择框.选中 = 取反 (金钱选择框.选中)
                        .如果真结束
                        .如果真 (电力选择框.选中)
                        修改电力值 ()
                        .如果真结束
                        .如果真 (金钱选择框.选中)
                        修改金钱值 ()
                        .如果真结束
                        .子程序 修改金钱值
                        .局部变量 修改值
                        .局部变量 指针1
                        .局部变量 指针2
                        .局部变量 指针3
                        .局部变量 指针4
                        .局部变量 指针5
                        ' 调试输出 (金钱值)
                        修改值 = 到数值 (编辑框1.内容)
                        指针1 = 读内存整数型 (进程ID, 十六到十 (取进程基址 (进程ID)) + 十六到十 (“8E8C9C”))
                        指针2 = 读内存整数型 (进程ID, 指针1 + 十六到十 (“28”))
                        指针3 = 读内存整数型 (进程ID, 指针2 + 十六到十 (“e4”))
                        指针4 = 读内存整数型 (进程ID, 指针3 + 十六到十 (“0”))
                        指针5 = 指针4 + 十六到十 (“4”)
                        写内存整数型 (进程ID, 指针5, 修改值)
                        .子程序 修改电力值
                        .局部变量 修改值
                        .局部变量 指针1
                        .局部变量 指针2
                        .局部变量 指针3
                        .局部变量 指针4
                        ' 调试输出 (金钱值)
                        修改值 = 到数值 (编辑框1.内容)
                        指针1 = 读内存整数型 (进程ID, 十六到十 (取进程基址 (进程ID)) + 十六到十 (“8E8C9C”))
                        指针2 = 读内存整数型 (进程ID, 指针1 + 十六到十 (“28”))
                        指针3 = 读内存整数型 (进程ID, 指针2 + 十六到十 (“74”))
                        指针4 = 指针3 + 十六到十 (“4”)
                        写内存整数型 (进程ID, 指针4, 修改值)


                        IP属地:云南32楼2017-02-03 17:47
                        回复
                          好吧....百度了一下....似乎蛮简单....有个组件叫时钟....可以周期做一些事......
                          另外前面的代码有点问题.....电力值和金钱值取了同一个编辑框的值...现在修改好了....
                          至此这次外挂应该算是写完了吧...
                          --------------------------代码----------------------
                          .版本 2
                          .支持库 shellEx
                          .程序集 窗口程序集_启动窗口
                          .程序集变量 f1
                          .程序集变量 f2
                          .程序集变量 进程ID
                          .子程序 为标签框注册热键
                          f1 = 注册热键 (取窗口句柄 (), 电力标签.取窗口句柄 (), 0, #F1键)
                          f2 = 注册热键 (取窗口句柄 (), 电力标签.取窗口句柄 (), 0, #F2键)
                          ' 不知道为啥调用2次注册热键以后,如果绑定到的标签不同,前一次注册的标签会失效....全部都绑定到第2次注册的标签上了= =..原因不明...
                          .子程序 __启动窗口_创建完毕
                          为标签框注册热键 ()
                          进程ID = 进程取ID (“ra3_1.12.game”)
                          .子程序 _电力标签_反馈事件, 整数型, , 金钱和电子的热键
                          .参数 参数一, 整数型
                          .参数 参数二, 整数型
                          .如果真 (参数一 = f2)
                          电力选择框.选中 = 取反 (电力选择框.选中)
                          .如果真结束
                          .如果真 (参数一 = f1)
                          金钱选择框.选中 = 取反 (金钱选择框.选中)
                          .如果真结束
                          .子程序 修改金钱值
                          .局部变量 修改值
                          .局部变量 指针1
                          .局部变量 指针2
                          .局部变量 指针3
                          .局部变量 指针4
                          .局部变量 指针5
                          ' 调试输出 (金钱值)
                          修改值 = 到数值 (编辑框1.内容)
                          指针1 = 读内存整数型 (进程ID, 十六到十 (取进程基址 (进程ID)) + 十六到十 (“8E8C9C”))
                          指针2 = 读内存整数型 (进程ID, 指针1 + 十六到十 (“28”))
                          指针3 = 读内存整数型 (进程ID, 指针2 + 十六到十 (“e4”))
                          指针4 = 读内存整数型 (进程ID, 指针3 + 十六到十 (“0”))
                          指针5 = 指针4 + 十六到十 (“4”)
                          写内存整数型 (进程ID, 指针5, 修改值)
                          .子程序 修改电力值
                          .局部变量 修改值
                          .局部变量 指针1
                          .局部变量 指针2
                          .局部变量 指针3
                          .局部变量 指针4
                          ' 调试输出 (金钱值)
                          修改值 = 到数值 (编辑框2.内容)
                          指针1 = 读内存整数型 (进程ID, 十六到十 (取进程基址 (进程ID)) + 十六到十 (“8E8C9C”))
                          指针2 = 读内存整数型 (进程ID, 指针1 + 十六到十 (“28”))
                          指针3 = 读内存整数型 (进程ID, 指针2 + 十六到十 (“74”))
                          指针4 = 指针3 + 十六到十 (“4”)
                          写内存整数型 (进程ID, 指针4, 修改值)
                          .子程序 _时钟2_周期事件
                          .如果真 (电力选择框.选中)
                          修改电力值 ()
                          .如果真结束
                          .子程序 _时钟1_周期事件
                          .如果真 (金钱选择框.选中)
                          修改金钱值 ()
                          .如果真结束


                          IP属地:云南33楼2017-02-03 17:58
                          回复
                            最终的效果:
                            http://ojz58eu0w.bkt.clouddn.com/ra3_e.wmv
                            最终成果:
                            http://oksnab29j.bkt.clouddn.com/ra3_%E9%87%91%E9%92%B1%E7%94%B5%E5%8A%9B%E4%BF%AE%E6%94%B9.exe
                            谢谢大家收看


                            IP属地:云南37楼2017-02-03 18:34
                            回复