
逆向
逆向
星辞归野
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Shellcode
shellcode简介shellcode是一段用于利用软件漏洞而执行的代码,也可以认为是一段填充数据,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。shellcode常常使用机器语言编写。 可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。下面这张图就是shellcode工作流程,从功能上看,shellcode在整个漏洞利用过程中发挥主要作用就是对计算机端的控制。shellcode可以按照攻击者执行的位置分为本地s原创 2020-07-07 15:17:08 · 9162 阅读 · 2 评论 -
软件漏洞原理
缓冲区溢出漏洞缓冲区:程序在运行前会预留一些内存空间,这些空间用于临时存储I/O数据。缓冲区溢出:计算机向缓冲区内填充的数据超过了缓冲区本身的容量,导致合法的数据被覆盖。根据缓冲区所处的内存空间极其分配形式,可分为栈溢出和堆溢出两种。栈溢出栈:一种基本的数据结构,符合先进后出的原则。栈溢出:栈是向低地址方向生长的,而变量在栈中是向搞地质方向生长的,因此,当栈里面的变量被赋予的值超过其最大分配缓冲区大小时,就会覆盖前面push到栈里的返回地址,导致函数在返回时发生错误,即栈溢出。下列代码产生溢出原创 2020-07-07 14:33:06 · 699 阅读 · 0 评论 -
时间限制
时间限制程序有两类,一类是限制每次运行的时长。一类是有使用期限。定时器有一类程序,每次运行都有时间限制,这类程序中有一个计时器在统计程序运行的时间。SetTimer()函数,当你想每隔一段时间执行一件事的的时候可以使用它。 使用定时器的方法比较简单,通常告诉系统一个时间间隔,然后系统以此时间间隔周期性触发事件。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。...原创 2019-12-15 15:33:48 · 3346 阅读 · 0 评论 -
序列号保护方式
一些程序和软件可能会有时间或功能上的限制,需要注册方能继续使用,注册过程一般是通过输入的用户信息通过一系列计算得出一个序列号,当注册信息验证通过后就会取消各种限制,从而成为完全正式版本。每次启动时,程序或软件会从磁盘文件或者系统注册表中读取注册信息并进行检查,如果注册信息正确,则以正式版的模式运行,否则将作为有功能限制的版本来运行。程序验证序列号其实就是验证用户名和序列号之间的数学映射关系,因...原创 2019-12-15 15:31:38 · 744 阅读 · 0 评论 -
有关壳与脱壳方法
壳的概念壳最早出现是一种专用加密软件技术,用于保护程序不被静态分析。某些病毒木马程序也利用加壳技术来躲避杀毒软件的查杀。壳是一段专门保护软件不被非法修改或反汇编的程序。它们一般都是先于程序运行,拿到控制权。加壳的全称应该是可执行程序资源压缩,是保护文件的常用手段。加壳过的程序可以直接运行,但是不能查看源代码。要经过脱壳才可以查看源代码。常见的壳主要分两类压缩壳:压缩壳的特点是减少软...原创 2019-07-15 08:40:08 · 1037 阅读 · 0 评论 -
主流语言在OD下OEP特征
对于不同语言所编写的程序,它们反汇编之后,OEP都有不同的特征,接下来让我们掌握一些主流语言所编写的程序在OllyDbg下进行反汇编之后的OEP特征。VC++:VB:BC++:Delphi:易语言:MASM32 / TASM32入口:VC8入口:所以,这也就从侧面说明了,在我们拿到文件之后,使用peid去查文件,来判断它是用何种语言编写的重要性。在我们今后的逆向...原创 2019-07-15 08:46:21 · 635 阅读 · 0 评论 -
附加数据处理方法
附加数据[overlay]:附加数据是在附加在文件后面的,不被映射到内存空间中的数据,overlay是不映射到内存的,所以dump下来的时候是没有overlay的,需要我们手动把这一部分的数据粘贴到dump下来的数据后面。处理附加数据:原理:由于文件的对齐机制,磁盘上每个段的结束都填充了大量的0.附加数据在文件末尾,所以只要找到磁盘文件中最后一个全零段,接下来就是附加数据。实验步骤:首先...原创 2019-07-15 17:51:21 · 879 阅读 · 0 评论 -
实战去广告弹窗及主页锁定
首先放网站传送门:https://www.52pojie.cn/portal.php以下两个实例不再讲解脱壳步骤例一首先运行程序,会自动跳转到吾爱破解官方网站。关闭之后发现有个弹窗,点击确定之后进入页面通过这个窗口我们可以知道,我们要破解三个弹网页和一个弹窗。点击课程介绍也会进入吾爱破解官方网站。把程序放进C32Asm里,选择十六进制模式进入之后右键搜索,类型选择ANSI字符串...原创 2019-08-05 15:18:33 · 573 阅读 · 0 评论 -
程序去自校验方法
什么是自校验:意思是这些程序会检查自己有没有被修改,如果发现被修改的话,便会离开或进行其它动作。基本的校检方法包括 checksum, 检查大小, 检查跳转代码,等等。什么情况下考虑自校验:当一个程序脱壳前可以正常运行,脱壳以后不能运行,修复以后也不行,程序不能运行或者闪退、弹窗提示错误等,我们就要考虑是不是因为程序有自校验了。自校验破解思路:将脱壳前和脱壳后的程序分别单步运行,对比找出...原创 2019-08-05 15:27:45 · 1945 阅读 · 0 评论 -
重启验证的三种形式及其解决方法
什么是重启验证:重启验证顾名思义就是在程序启动时验证注册信息。执行流程:基本的执行流程:注册信息输入–>给出提示–>程序重启同时执行验证机制–>正常执行扩展的执行流程:注册信息输入–>执行部分验证机制/执行假验证机制–>程序重启–>执行真验证机制–>正常执行对于有经验的作者来说,可以在注册信息输入和程序重启之间加入假的验证机制,假的验证机制一...原创 2019-10-14 15:38:00 · 1852 阅读 · 0 评论 -
手脱aspack变形壳
首先放进查壳软件里,什么也没查出,但是在EP那里显示“皇后”,有点不正常,后来得知事aspack变形壳。放进OD里一开始就是一个大跳转,f8往下走。用单步追踪法,遇到近call就跟进,远call就步过,00418609是近call,我们f7跟进。进去函数里面之后一步步往下走,在0041862E这里有个跳转,这是个循环,如果选择F4跳过循环,那么程序会直接跑飞。并且多循环几次就会发现...原创 2019-09-07 15:16:39 · 281 阅读 · 0 评论 -
实战处理退出按桩
传送门:https://www.lanzous.com/i5btfmh首先运行程序,直接打不开,用peid查壳,显示是c++编写的。具体运行的步骤应该是,启动时判断程序试用是否到期,如果到期,则启动窗口销毁。所以就运行不了了。接下来就是直接放进OD里处理退出按桩。点击 插件-3.API断点设置工具-常用断点设置。点击常用断点,在“程序退出”前打勾,点击下方确定。这样就成功设置断点。...原创 2019-08-10 14:28:51 · 489 阅读 · 0 评论