常见的软件脱壳思路

news/2024/6/3 21:57:16 标签: 软件, 脱壳, 思路, 分享

单步跟踪法

1.本方法采用OD载入。
2.跟踪F8,实现向下的跳。
3.遇到程序回跳按F4。
4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现!
5.刚载入程序有一个CALL的,我们就F7跟进去,不然程序很容易跑飞,这样很快就能到程序的OEP。
6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入
7.一般有很大的跳转(大跨段),比如 jmp XXXXXX 或者 JE XXXXXX 或者有RETN的一般很快就会到程序的OEP。
 

ESP定律

1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车!
3.选中下断的地址,断点--->硬件访--->WORD断点。
4.按一下F9运行程序,接着删除硬件访问断点 直接来到了跳转处,按下F8,到达程序OEP。


http://www.niftyadmin.cn/n/5068594.html

相关文章

学信息系统项目管理师第4版系列18_采购管理

1. 协议 1.1. 合同 1.1.1. 国际合作的项目经理应牢记,无论合同规定如何详尽,文化和当地法律对合同及其可执行性均有影响 1.2. 服务水平协议(SLA) 1.3. 谅解备忘录 1.4. 协议备忘录(MOA) 1.5. 订购单 …

Java中如何在抽象层统一获取泛型类型

在Java中,我们经常会使用泛型来增强代码的可读性和可维护性。但是,在处理泛型的时候,我们有时会遇到一些问题,比如在抽象层如何统一获取泛型类型。 那么,如何解决这个问题呢?其实很简单,我们只…

[NSSRound#1 Basic]sql_by_sql - 二次注入+布尔盲注||sqlmap

进入注册界面后   假设sql:update user set password ‘’ where username ‘’ and password ‘’     此时如果我们注册的用户名是admin’–、admin’#、admin’–的话   update user set password ‘123’ where username ‘admin’#’ and passwor…

2023-10-5一些笔试题(1)

1、有一个web服务器,cpu是8核i7,磁盘数1,那么数据库连接池的连接数的合理配置应该为()左右。 合理配置数据库连接池的连接数取决于多个因素,包括预计的并发请求量、数据库的负载情况、应用程序的需求等。虽…

Python 编程基础 | 第四章-函数 | 4.1、函数定义

一、函数 1、函数定义 Python中定义函数使用def关键字,函数结构如下: def 函数名(参数):函数体return 语句下面定义一个简单的函数,例如: def display(param1, param2):print(参数1&#xff1a…

【吞噬星空】第四季出现技术事故,巴巴塔变秃头,提升质量成笑话

Hello,小伙伴们,我是小郑继续为大家深度解析国漫资讯。 《吞噬星空》动画第四季复播了,而且还是连播两集,不少粉丝都表示这次看爽了,不过在看爽了的同时,这一季的不少细节也引起了大家广泛的关注和讨论。这部动画作品以…

flink集群部署

虚拟机配置 bigdata-hmaster 192.168.135.112 4核心 32GB bigdata-hnode1 192.168.135.113 4核心 16GB bigdata-hnode2 192.168.135.114 4核心 16GB 安装包:https://dlcdn.apache.org/flink/flink-1.17.1/flink-1.17.1-bin-scala_2.12.tgz 放到/usr/lcoal/lib目录…

十天学完基础数据结构-第八天(哈希表(Hash Table))

哈希表的基本概念 哈希表是一种数据结构,用于存储键值对。它的核心思想是将键通过哈希函数转化为索引,然后将值存储在该索引位置的数据结构中。 哈希函数的作用 哈希函数是哈希表的关键部分。它将输入(键)映射到哈希表的索引位…