摘要:
常用工具以及下载链接见文章> https://bbs.kanxue.com/thread-263443.htm#msg_header_h1_4 阅读全文
摘要:
最近都在忙着学习QT开发,对于逆向有点手生了,打算拿一个程序练练手,发现电脑上的程序基本都逆向过了,只有虚拟机软件是直接用的网上的注册码,今天就来逆向分析一下这个每天都在用的虚拟机软件。 三种破解思路: 修改注册表:该程序有一个判断时间的功能,即还有几天的剩余时间。在注册表当中肯定会存储相应的时间, 阅读全文
摘要:
逆向学习笔记 基本内容 1. 前置知识 C、 C++语言 x86汇编语言 少量的组成原理、编译原理等方面知识 少量Python类脚本语言编程 部分密码算法知识 熟悉Base64编码 熟悉MD5,SHA1等hash算法 熟悉DES、AES、RC4、TEA等分组加密算法 熟悉RSA等非对称加密算法 了解 阅读全文
摘要:
一.常用函数 1.def hex(str) #把字符串转换成十六进制 2.def MinEA() #获取反汇编窗口中代码段的最小地址 3.def MaxEA() #获取反汇编窗口中代码段的最大地址 4.def ScreenEA() #获取光标所在位置 5.def SegEnd(str) #获取程序中 阅读全文
摘要:
反调试技术 一. 使用Windows API函数 1. IsDebuggerPresent函数 2.CheckRemoteDebuggerPresent函数 3.OutputDebuggerPresent函数 二. 手动检测数据结构 1. 检测BeingDebugged属性 BeingDebugge 阅读全文
摘要:
常见的字符串操作指令在x86汇编中有很多,以下是其中一些常见的指令: MOVSB/MOVSW/MOVSD:将一个字节/字/双字从源地址复制到目的地址,并递增源和目的指针。 REP MOVS: 重复执行MOVSB/MOVSW/MOVSD指令,用于复制整个字符串。 STOSB/STOSW/STOSD:将 阅读全文
摘要:
### 一. 相同目标的跳转指令 当jz与jnz的目地地址相同时,此时相当于jmp,但是IDA会将jnz后面的指令(实际上不会执行的指令)进行反汇编,这个时候如果加上比如call(E8),jmp(E9)等字节指令,那么势必会导致反汇编出现问题。 这个时候我们需要将jnz后面的代码转化为数据,然后使正 阅读全文
摘要:
## 一. 复制自身至Windows文件以及用户文件 GetModuleFileName(); GetWindowsDirectory(); GetSystemDirectory(); CopyFile(); ## 二. 获得系统信息有关函数 GetVersionEx();//获取操作系统版本 Ge 阅读全文
摘要:
在恶意代码分析过程中,关注的重点是恶意代码的整体行为机制和运行逻辑,但是现在由于我们对底层实现逻辑还不太清楚所以花费了大量的时间在具体实现上,要在积累的前提下大胆猜测小心求证。今天我们换一种分析方式,先通过基础静态分析大致猜测恶意代码行为然后再具体分析具体的实现机制。 一. 注册表行为 在恶意代码当 阅读全文
摘要:
# 一. 什么是栈帧 在汇编语言当中每调用一个函数后为其构建一个对应的栈帧,用于存储改函数当中的局部变量以及参数,栈帧是一个栈的结构,ebp指针指向该栈帧的底部即栈底,esp指针指向该栈帧顶部即栈顶,在上而下地址数值不断增加。由于栈空间是有限的,倘若不断增加栈中元素,会导致栈溢出等错误,所以需要在每 阅读全文