文章分类 - 逆向分析
摘要:简介:运行时压缩是软件逆向分析学的常见主题,为了理解好它,需要掌握有关PE文件格式,操作系统的基本知识,同时也要了解有关压缩/解压缩算法的基本内容. 数据压缩 不论哪种形态的文件,都是由二进制组成的,只要使用合适的压损算法,就能减缩其大小,若不能复原,就称为有损压缩. 无损压缩 无损压缩用来缩减文件
阅读全文
摘要:第一章 对应用程序文件或进程内存内容的更改被称为“打补丁”,破解与其含义类似,但后者的意图是非法和不道德的。 代码逆向准备: 目标:每次学习一定要去量化目标,不能学了,也不知道有没有学会,也不知道学了多少,也不知道效果怎么样,能不能实践。 激情:达成目标往往会刺激奖励系统去让我们不断地学习 坚持:逆
阅读全文
摘要:CPU简介 CPU寄存器:每种cpu都有其固定的通用寄存器(GPR)。x86cpu里一般有8个GPR,x64里往往有16个,而arm里则通常有16个GPR,您可以认为CPU寄存器是一种存储单元,能够无差别的存储所有临时变量。 最简函数 int f() { return 123; } arm GCC4
阅读全文
摘要:函数检测 原理:函数检测就是通过windows自带的公开或未公开的函数直接检测程序是否处于调试状态。最简单的调试器检测函数是IsDebuggerPresent(): 该函数查询进程环境块(PEB)中的BeingDebugged标志,如果进程处在调试上下文中,则返回一个非零值,否则返回零。 BOOL
阅读全文
摘要:对象是引用计数的——只有当对象的最后一个引用被释放之后,对象才会被销毁并从内存中释放。 对象不能被用户模式直接访问,用户模式通过一种间接的访问模式,这种机制被称为句柄,句柄是指向一个表格的入口索引。该表格在进程的基础上维护,逻辑上指向驻留在系统空间的一个内核对象。有各种函数用来打开,创建对象,并返回
阅读全文
摘要:序列号保护方式从网上下载的共享软件一般都有使用功能或者时间上的限制,如果超过了共享软件的试用期,注册过程一般是用户把自己的信息告诉软件公司,软件公司根据用户的信息,利用预先编写的一个用于计算注册码的程序算出一个序列号,并以电子邮件等形式将其发给用户。用户得到序列号之后在软件中输入注册信息和序列号。当
阅读全文
摘要:32位软件逆向技术 在编写win32应用程序时,都必须在源码里实现一个winmain函数,但首先执行的是启动函数的相关代码,由编译器生成。 函数的识别: call指令与跳转指令功能类似,不同的是,call指令保存返回信息,即将其之后的指令地址压入栈的顶部,当遇到ret指令时返回这个地址。 函数的参数
阅读全文

浙公网安备 33010602011771号