随笔分类 - 逆向+汇编
摘要:逆向学习之IDA简介 IDA是Windwos下众多调试器工具中颇受欢迎的一种。IDA Pro首先是一个反汇编器,可以显示二进制会变吗(可执行文件或DLL(Dynamic Link Library),动态链接库),它提供的某些高级功能使我们更容易理解汇编代码。其次,它又是一个调试器,用户可以逐条调试二
阅读全文
摘要:加壳与脱壳理论详解 在自然界中,我想大家对壳这东西应该都不会陌生了,由上述故事,我们也可见一斑。自然界中植物用它来保护种子,动物用它来保护身体等等。同样,在一些计算机软件里也有一段专门负责保护软件不被非法修改或反编译的程序。它们一般都是先于程序运行,拿到控制权,然后完成它们保护软件的任务。就像动植物
阅读全文
摘要:汇编指令汇总 一、数据传输指令 它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据. 1. 通用数据传送指令. MOV 传送字或字节. MOVSX 先符号扩展,再传送. MOVZX 先零扩展,再传送. PUSH 把字压入堆栈. POP 把字弹出堆栈. PUSHA 把AX,CX,DX,BX,SP,
阅读全文
摘要:逆向实验小结 OllyDbg:修改程序标题 正常画面 查找需要修改的值 查找需要修改的值,查找用Ctrl+G来查找栈值。 修改数据 修改数据,选取值后 空格 修改; 保存文件 另存为一个新的可执行文件。 查看结果 程序爆破 题目:正常一个程序打开需要license,如何去绕过? 首先判断编程所属代码
阅读全文
摘要:逆向之利用地址覆盖执行Shellcode Shellcode Shellcode定义 Shellcode实际是一段代码(也可以是填充数据),是用来发送到服务器利用特定漏洞的代码一般可以获取权限。 Shellcode的作用 Shellcode一般是作为数据发送给受攻击服务器的。Shellcode是溢出
阅读全文
摘要:逆向之异常处理机制分析 异常处理简介 异常处理概念 是编程语言或计算机硬件里的一种机制,用于处理软件或信息系统中出现的异常状况(即超出程序正常执行流程的某些特殊条件) 异常处理的方法 异常处理使用try、catch和finally关键字来尝试可能未成功的操作,处理失败,以及在事后清理资源。 异常处理
阅读全文
摘要:逆向之虚函数执行分析 同名函数调用 函数重复定义: 在C++中,同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的,否则就是“重复定义” 不同层次的函数调用: 在类的继承层次结构中在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。编译系统按照同名覆盖的原则决定调用的对象
阅读全文
摘要:逆向之密码破解 OllyDbg介绍 OllyDbg的功能 OllyDbg提供程序动态调试的功能,可以在程序运行过程中修改汇编指令 OllyDbg的转移指令 在利用OllyDbg分析程序的过程中, “转移指令”就是在程序判断符合特定条件的情况下使程序发生跳转。 “转移指令”通常是分析程序的突破口。 常
阅读全文
摘要:逆向之整数溢出漏洞 溢出漏洞的简介 溢出漏洞的概念: 溢出是黑客利用程序的漏洞,专门开发的一种程序,加相应的参数运行后,就可以达到某种目的。溢出是程序设计者设计时的不足所带来的错误 溢出的类型: 溢出分为缓冲区溢出、 内存溢出、数据溢出等 整数的概念 整数的分类: 在计算机中,整数分为无符号整数以及
阅读全文
摘要:逆向之函数栈帧结构分析 函数的简介 函数的定义 计算机的函数,是一个固定的一个程序段,或称其为一个子程序,它在可以实现固定运算功能的同时,还带有一个入口和一个出口。 函数的入口: 函数的入口,就是函数所带的各个参数,我们可以通过这个入口,把函数的参数值代入子程序供计算机处理。 函数的出口: 函数的出
阅读全文
摘要:逆向之程序堆栈 计算机内存分布 计算机内存:计算机内存分为数据段、代码段、堆段和栈段。 堆和栈在数据结构中是两种不同的数据结构。两者都是数据项按序排列的数据结构。 栈 栈的定义:后进先出的数据结构。 栈的存取规则:后存放的先取先存放的后取,类似于取放在箱子底部的东西,首先要移开压在它上面的物体 堆
阅读全文
摘要:逆向之汇编语言 首先介绍计算机程序在计算机中的处理过程。 现代计算机存储和处理的信息以二值信号表示,也就是二进制序列,程序对于计算机而言就是一串二进制数据流,以流水线的方式进入CPU进行运算。主要在CPU与内存之间进行数据传递。但程序员写出来的程序是以高级语言的形式展现的,计算机不是人脑,看不懂高级
阅读全文
摘要:逆向之OllyDbg调试细则 快捷键转载 OllyDbg 窗口通用快捷键 快捷键 功能 Ctrl + F2 重启程序,即重新启动被调试程序( 重新载入程序 )。如果当前没有调试的程序,OllyDbg会运行历史列表[historylist]中的第一个程序。程序重启后,将会删除所有内存断点和硬件断点。译
阅读全文