前言

因为FSG是压缩壳,所以脱壳时最应该尝试的是ESP定律,其次就是单步跟踪,这里入口点没有PUSHAD/PUSHFD指令,所以用单步跟踪寻找OEP,再者也可以尝试用API特征寻找OEP

API特征:

release版的VS2013的第一个API调用是:GetSystemTimeAsFileTime

VC6.0的第一个API调用是:GetVersion

Delphi的第一个API调用是:GetModuleHandleA

单步跟踪寻找OEP

1、OD加载程序后,单步观察堆栈变化

2、程序一开始并没有保存环境,遇到这种情况单步继续跟踪,发现有解密代码的地方

3、这一片循环为修复IAT,修复完成会执行圈中的JMP,而这个JMP就是跳转到原始OEP的

API寻找OEP

1、用OD载入后,一开始便是POPAD

2、这里可以尝试在GetSystemTimeAsFileTime下断点

3、将程序运行起来,一开始断下来的是来自系统模块,可以判断与我们要找的无关

4、程序继续运行,可以看到调用来自00.0040221B,而不是来自系统模块

5、k窗口第一个栈回朔去看,看到这个组合(初始化Cookie)的时候就可以知道离真正的OEP不远了

6、点击第二个栈回朔,找到CALL、JMP,也就是真正的OEP

DUMP修复

1、去掉断点,运行到OEP处,DUMP下来

2、管理员权限打开ImportREC,选择正在脱壳的进程,输入真正的OEP地址,点击自动查找IAT,然后获取输入表,这里只获取到了kernel32.dll

3、来到上面找到的GetSystemTimeAsFileTime处,右键“数据窗口中跟随”,点击“内存地址”,查看函数为什么没获取全

4、由于ImportREC是以0为隔开标志的,而这里被改成了FFFFFFFF,所以导致ImportREC没将下面那些获取到

5、直接右键修改为0,让ImportREC可以正常识别

6、重新获取,可以看到user32.dll模块也获取到了,然后点击“转储到文件”,选择刚刚Dump下来的文件,这时就脱壳成功并可以正常运行了

脱壳之压缩壳-FSG相关推荐

  1. 逆向破解程序脱壳篇-压缩壳

    一.普及 What?壳 所谓"壳"就是专门压缩的工具. 这里的压缩并不是我们平时使用的RAR.ZIP这些工具的压缩,壳的压缩指的是针对exe.com.和dll等程序文件进行压缩,在 ...

  2. 006 kkrunchy_Ryd之类FSG压缩壳

    文章目录 前言 查壳 OD脱壳 修复导入表 前言 最近一直在看脱壳系列的教程,国内能找到的脱壳视频几乎都看了个遍,大部分由于年代实在是太久了,附带的示例程序完全不能运行,或者是某些未知原因用相同的步骤 ...

  3. 脱壳入门初级教学(第四课 常见压缩壳与加密壳)

    转自:http://bestmk.cn/thread-491.htm 加壳软件按照其加壳目的和作用,可分为两类:一是压缩(Packers),二是保护(Protectors).压缩这类壳主要目的是减小程 ...

  4. 脱壳入门(三)之UPX压缩壳

    脱壳入门(三)之UPX压缩壳 一.找OEP 查壳:UPX壳.链接器版本2.25(可能是Delphi程序).区段信息 根据ESP定律寻找OEP OEP定律原理:壳代码就像一个函数,进入时会开辟堆栈.保存 ...

  5. 【2022.1.3】手脱压缩壳练习(含练习exe)

    [2022.1.3]手脱压缩壳练习(含练习exe) 文章目录 [2022.1.3]手脱压缩壳练习(含练习exe) 0.简介 1.单步跟踪法 (#)方法介绍 (0)练习exe下载 (1).查看源程序 ( ...

  6. 【胖虎的逆向之路】04——脱壳(一代壳)原理脱壳相关概念详解

    [胖虎的逆向之路]04--脱壳(一代壳)原理&脱壳相关概念详解 [胖虎的逆向之路]01--动态加载和类加载机制详解 [胖虎的逆向之路]02--Android整体加壳原理详解&实现 [胖 ...

  7. android+so+upx,UPX压缩壳简介

    文件目录 首先看看UPX压缩壳的一个特点 壳特点 拿到一个so文件先放进IDA解析一波,从导出函数列表中我们可以看到一个函数叫做init_proc(),点进去可以看到上面的一大堆IDA识别不了的代码, ...

  8. 手工脱壳之 FSG压缩壳【IAT反修复】

    一.工具及壳介绍 使用工具:Ollydbg,PEID,ImportREC,LoadPE FSG壳 2.0: 二.脱壳 1.追踪 修复IAT表代码 入口处,没有pushad特征,无法使用ESP定律. 查 ...

  9. 35. 脱壳篇-UPX和WinUpack压缩壳的使用和脱法

    UPX官网:http;//upx.sourceforge.net UPX加壳 通过cmd窗口执行,进入upx目录,执行: upx.exe fishc.exe 或者直接将exe拖至upx.exe上即可 ...

  10. 脱壳系列_0_FSG壳_详细版

    1 查看信息 使用ExeInfoPe查看此壳程序 可以看出是很老的FSG壳. 分析: Entry Point : 000000154,熟悉PE结构的知道,入口点(代码)揉进PE头去了. 在WIN10 ...

最新文章

  1. Spring-AOP的五种通知和切面的优先级、通知变量声明
  2. tensorflow随笔-tf.decode_csv
  3. 汇编基础知识之输入输出
  4. (数据库系统概论|王珊)第九章关系查询与关系优化:习题
  5. C语言--第2次作业
  6. C# DataGridView属性设置
  7. HiveQL:文件格式和压缩方法
  8. PowerShell在SharePoint 2010自动化部署中的应用(1)--代码获取
  9. 计算机网络第1章概述
  10. mac 安装android sdk
  11. Symbols andSymbol Tables
  12. Serverless+SCF=打倒服务器,解放程序员
  13. Lua脚本语言——Lua脚本基础语法
  14. 戴尔服务器连接显示器无信号 键盘灯不亮,键盘灯不亮按键没反应怎么回事及解决办法...
  15. 淘宝SDK高级模板,设计师模块开放接口详解
  16. iOS开发中常用的方法
  17. 证明调和级数发散的方法
  18. 2022车险购买:新手上路必看
  19. Qt编写安防视频监控系统56-数据库分页
  20. 里氏代换原则、依赖倒转原则

热门文章

  1. linux分区卡住,紧张!正在安ubuntu9.10,分区卡住!
  2. MyBatis返回Map时值为null的字段会丢失
  3. unity 3D期末大作业-简单坦克射击游戏
  4. 银联权益信息API接口及管理平台解决方案相关介绍
  5. python机器学习——加州房价
  6. bsl计算机术语,一种BSL的确定方法、BIER-TE控制器和计算机存储介质与流程
  7. 【Watery DP】[Dota1002]光之守卫(Gandolf)
  8. python在电脑上怎样下载_怎样在电脑上下载哔哩哔哩的视频?
  9. 业务流程规范的战争兴起:XPDL、BPEL、BPDM
  10. iPhone4 兼容 iPhone 5 需要注意的地方