基于异常的反调试实践

前言 最近在学习软件调试相关的内容,顺便举一反三找找反调试以及反反调试的相关方法。逛着逛着找到了这个网站:2种…

硬件断点探幽

硬件断点 调试寄存器 IA-32处理器定义了8个调试寄存器,分别是DR0\~DR7。在32位模式下,它们都是3…

软件断点探幽

软件断点 x86系列的处理器支持一条专门用来调试指令INT 3,也即是通常所说的“软件断点”,这条指令的目的是…

CPU基础

[TOC] CPU的操作模式 保护模式 所有IA-32位处理器的本位(native)模式,具有强大的虚拟内存支…

失效的比特币病毒 CTB-Locker

前言 之前分析过一个比特币勒索病毒,但是因为水平不太够,而且没有仔细分析,所以只是分享我分析的过程,希望可以互…

地址无关代码(PIC)

地址无关代码(PIC) 0x00 动态链接的基本思想 动态链接的基本思想是把程序按照模块拆分成各个相对独立部分…

Blowfish算法逆向分析

Blowfish算法逆向分析 Blowfish算法简介 Blowfish 算法是一种对称加密算法,该算法由两大…

C++与汇编——段与寄存器

段与寻址 段是在程序中专门定义的一个区域,它是一个包括代码、数据以及堆栈的区域。比如,用ida打开一个exe程…

C++与汇编——四则运算

表达式求值 算数运算和赋值 算术运算又称四则运算,计算机中的四则运算和数学上的有些不同。 赋值 赋值运算类似于…

常用的动态调试断点

常用的断点的种类有以下几种:CC断点,内存断点,硬件断点,条件断点,记录断点,条件记录断点,消息断点等。 断点…

IDA基本介绍

简介 交互式反汇编器专业版(Interactive Disassembler Professional),简称…

逆向与反汇编工具

分类工具 通常,在初次遇到一个不熟悉的文件时,不要通过文件的扩展名来确定文件的类型。可以通过以下几个工具来判断…

反汇编基础

反汇编概念 在传统软件开发的过程中,程序员使用编译器、汇编器和链接器其中一个或几个来创建可执行程序。为了回溯编…

windows下C/C++的内存泄露检测

C/C++由于其没有垃圾回收机制,所以内存的释放一直以来都依靠于程序员的手工释放,因此极其容易出现内存泄露的问…

软件汉化简单入门

我们在日常软件使用中,会碰到很多英文版的小软件,对于英文水平有限的笔主来说很影响软件的使用体验,于是就产生了对…

零基础入门windows逆向(一)

介绍 什么是逆向 逆向包含很多方面的内容,从最简单的修改程序内容,到破解认证,再到脱壳,可以说只要是对原程序进…

C++逆向——数据存储基础

基本数据类型的表现形式和操作指令 整型 无符号整数 在内存中,无符号整数的所有位都用来表示数值。 当无符号整型…