![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++软件逆向
文章平均质量分 95
当时上学那会儿不仅仅对网络渗透感兴趣,还对软件逆向产生了极大的兴趣,毕竟有很多外挂软件就是通过软件逆向等技术来完成的。这个也算是初步入门了,和网络渗透一样都没有再过多的深入下去了。
吾名招财
硕士,研究方向机器视觉,爱好较广泛
展开
-
项目实战——外挂开发(30小时精通C++和外挂实战)
全局指针变量g_data的地址值是固定死的,它存储的是gamedata的地址,我们可以通过这个找到g_data的存储空间里存储的地址(new出来的是变化的),就能找到gamedata的存储空间,找到了gamedata的存储空间就能找到成员变量sun指针(跳过前面4个字节地址)变量的存储空间,知道它里面存储的值(阳光存储空间的地址值)就能找到阳光存储空间,就能找到阳光存储空间中的阳光值value(跳过前面8个字节地址)。这样就达到了秒杀僵尸的功能了,我们发现第一个字节都是一样的,我们改后面三个字节就可以了。原创 2024-07-25 18:10:42 · 798 阅读 · 0 评论 -
项目实战1(30小时精通C++和外挂实战)
首先有个exe程序A,它要进行加壳,相当于加了一个exe程序C这个课,也就是说,我们表面上看到的,载进内存看到的exeC将exeA的代码可能包起来了,甚至exe中程序代码可能是经过加密的,exeC先运行跑起来,跑起来后再将exeA代码进行解密,解密后再将exeA程序跑起来,所以我们载进内存的是他们混合二进制机器码,像这种已经加壳的破解,应该先脱壳,脱壳后只剩下exeA机器码,就可以分析破解导出新的exe程序了。在MFC中,checkbox对应类型是Cbutton,它就是button所以有buttonid。原创 2024-07-25 18:09:59 · 927 阅读 · 2 评论 -
四、面向对象2(30小时精通C++和外挂实战)
因为car对象是new出来的,它在堆空间,在堆空间不可能自动回收,必须主动调用delete,在哪个地方调用,这个car对象是在person类内部new出来的,所以我们应该在在person的析构函数中delete掉car。,因为对象还活着,main函数并未执行完,getchar使其暂停了,我们可以将对象创建在一个作用域中,活着在另一函数中,这样可以看到函数执行完后,栈空间会回收,对象被销毁,析构函数被调用。在对象销毁的时候,可以认为对象内存被回收的时候,就会调用析构函数,在对象销毁之前内部也会进行清理工作。原创 2024-07-24 19:13:46 · 552 阅读 · 0 评论 -
四、面向对象1(30小时精通C++和外挂实战)
我们看其内存是就能发现是OXCC,这个是啥,是函数调用栈的问题,每当调用一个函数时,会给函数分配一段栈空间,这个栈空间的数据可能是上一个函数用过的,可能是一些垃圾数据,真正把给这个函数栈空间用起来之前,会先将分配好的栈空间全部用CC填充,会用一大堆的C去填充这个栈空间,说白了,这个栈空间里面全是C,为什么要填充CC,不填充0呢?代码区是只读的,内存受保护的,不可更改,局部变量既然要改变,就不能在代码区分配,而在栈空间分配,会在栈空间中分配一段连续的栈空间来存储函数的变量,这是不矛盾的。原创 2024-07-24 19:13:20 · 563 阅读 · 0 评论 -
三、基础语法2(30小时精通C++和外挂实战)
一旦内联函数,就不存在函数调用了,程序运行时,直接执行函数体中的内容,不存在调用函数,也就是不存在函数栈空间的开辟,也不存在回收栈空间,这样其实执行效率变高了,就不会去分配回收内存了,就直接相加了。左边的地址值是右边机器码的地址值,我们的机器码、代码都是载入内存的,每一个机器码都有地址,每次启动时代码地址值可能会变,只要改变代码,再启动,地址都会变,或者切换运行环境,代码值也会变。推荐大家使用内联函数,内联函数目前看来还是个函数,看起来是个函数,我们写代码时是有提示的在内联函数里,在写宏的时候没有提示。原创 2024-07-23 19:20:57 · 704 阅读 · 0 评论 -
三、基础语法1(30小时精通C++和外挂实战)
我们经常使用#ifndef、#define、#endif来防止文件的内容被重复包含(任何版本都能用,而且可以针对某段代码)#pragma once可以防止整个文件的内容被重复包含(版本不同可能此句不能用,针对所有文件)原创 2024-07-23 19:20:36 · 866 阅读 · 0 评论 -
前言及汇编(30小时精通C++和外挂实战)
对C++疑惑C++学习意义何在?什么地方能用到C++主要内容C++(只学习核心语法,面向有基础的人)语法通过反汇编窥探底层Windows编程项目实战(X86汇编、植物大战僵尸外挂)If-else和switch那个效率高(直接看汇编代码)引用的本质是什么?多态\需函数的实现原理是什么?函数(方法)的函数、局部变量在内存中是如何布局的?看一下植物大战僵尸的外挂功能1,打开外挂程序,程序监控是否打开游戏,若无,当中内容无法点击。原创 2024-07-22 18:58:45 · 935 阅读 · 0 评论