agopoe吧 关注:35,982贴子:549,281

【c++ 打造属于自己的辅助】第二课 3SSS+三速写法 开教!

只看楼主收藏回复

首先感谢 @yk4441 @释摩陀 分享的源码 然后 开教!


IP属地:广东1楼2015-10-14 23:21回复


    来自Android客户端2楼2015-10-14 23:24
    回复


      来自Android客户端3楼2015-10-14 23:24
      回复
        顶了
           -- 与其临渊羡鱼,不如退而结网。若不给自己设限,则人生中就没有限制你发挥的藩篱。


        IP属地:广东来自Android客户端4楼2015-10-14 23:28
        回复
          #include <iostream>
          using namespace std;
          int add(int a,int b);
          int add(int a,int b)
          {
          int num=0;
          num=a+b;
          return num;
          }
          int main()
          {
          int c=0;
          c=add(1,2);
          cout<<c<<endl;
          return 0;
          }
          可以看到结果输出3


          IP属地:广东6楼2015-10-14 23:40
          回复
            函数还有一种写法 不过函数一定要放在int main上面 这种是省去定义的
            #include <iostream>
            using namespace std;
            int add(int a,int b)//只有函数体
            {
            int num=0;
            num=a+b;
            return num;
            }
            int main()
            {
            int c=0;
            c=add(1,2);//调用函数add 把1和2放进去 并把返回的结果给c
            cout<<c<<endl;//输出c 换行
            return 0;
            }


            IP属地:广东7楼2015-10-14 23:42
            收起回复
              再讲讲头文件 第一课讲过头文件 像Windows.h 这种就是头文件 头文件里有很多函数可以调用 这种就是头文件
              现在我们就写一个头文件 并用函数来调用 创建方法跟c++source file差不多 只是选的是这个


              IP属地:广东8楼2015-10-14 23:47
              回复
                在头文件add.h里写上刚才的那个函数
                int add(int a,int b);
                int add(int a,int b)
                {
                int num=0;
                num=a+b;
                return num;
                }
                关掉 保存


                IP属地:广东9楼2015-10-14 23:50
                回复
                  再建立个c++ source file 取名 add.cpp(名字其实没啥关系 只是为了美观点··)
                  在里面写上
                  #include <iostream>
                  #include "add.h"
                  using namespace std;
                  int main()
                  {
                  int c=0;
                  c=add(1,2);
                  cout<<c<<endl;
                  return 0;
                  }
                  编译 运行 你就会看到输出结果3 结果跟上面的一样不同的是把函数放头文件来调用了


                  IP属地:广东10楼2015-10-14 23:53
                  回复
                    这里粗略讲下程序是怎样运行 #include<iostream> 就不讲了 理解为iostream.h这个头文件的函数都已经在程序里 主要讲下main的运行
                    首先 int c=0; 定义c为int型(整数)
                    c=add(1,2);这里分两部分 调用add()函数 这时就会跳到int add(int a,int b) 这个函数里 把1和2作为参数给int a和int b 这时a就是1 b就是2 然后执行函数体 int num=0;定义个num int型并赋值为0
                    然后num=a+b; 就是1+2然后赋值给num(右边开始读) 这是num就是3
                    return num;就是把这个3返回去主函数 这时主函数main里的c就是3
                    cout<<c<<endl;输出c到屏幕 换行
                    #include <iostream>
                    using namespace std;
                    int add(int a,int b)
                    {
                    int num=0;
                    num=a+b;
                    return num;
                    }
                    int main()
                    {
                    int c=0;
                    c=add(1,2);
                    cout<<c<<endl;
                    return 0;
                    }


                    IP属地:广东11楼2015-10-15 00:05
                    回复
                      到了这里 我自己都忍不住要bb两句 说那么多干啥 快入正片
                      其实正片都要用到以上的知识 所以讲下···


                      IP属地:广东13楼2015-10-15 00:07
                      收起回复
                        好了 开始正片


                        IP属地:广东14楼2015-10-15 00:08
                        收起回复
                          因为要用到加密 为了方便调用 就写到头文件了 与第一节课不同 这里的读写内存函数 也做了个包装 放到头文件里 也是为了方便+美观 函数如下
                          dnf_code.h
                          //写内存
                          DWORD WriteMemory(DWORD Address,DWORD n,HANDLE hProcss)
                          {
                          WriteProcessMemory(hProcss, (LPVOID)Address, &n, sizeof(n), NULL);
                          return 0;
                          }
                          //读内存
                          DWORD ReadMemory(DWORD Address,HANDLE hProcss)
                          {
                          DWORD tmp=0;
                          ReadProcessMemory(hProcss, (LPCVOID)Address, &tmp, sizeof(tmp), NULL);
                          return tmp;
                          }
                          dnf_code.cpp //调用
                          WeadMemory(ENCODE_BASE_ADDRESS,hProcss);
                          ReadMemory(ENCODE_BASE_ADDRESS,hProcss);


                          IP属地:广东15楼2015-10-15 00:13
                          收起回复
                            惊现C++大神


                            IP属地:山东来自Android客户端16楼2015-10-15 00:14
                            回复
                              加解密函数就不说了 主要讲下调用方法 首先3s写法

                              (用评分基址的值) 加上 (十六进制的110转十进制的值) 得出一个需要加密写入的地址 (110是3sss偏移)
                              99999999是待需要修改的值 就是把评分修改成这个


                              IP属地:广东17楼2015-10-15 00:19
                              回复