首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Aspack手动查找IAT完成脱壳修复

本文介绍以下 Aspack 修复 IAT 的步骤。 请出 Peid 进行查看,查壳的结果是“什么也没发现”。...换一个查壳工具接着查壳,用 Detect it Easy 0.64 查壳结果是 “Aspack2.12” 的壳。Aspack 的壳是压缩壳,是非常好脱的一个壳。...我们别着急关 OD,我们试运行一下我们脱壳后的文件,发现脱壳后的 crackme 并没有显示出来,说明我们需要对脱壳后的文件进行修复。...这次我们运行 dump_.exe 文件,可以看到我们脱壳后的 crackme 运行起来了。 我们较为详细的分析了对 ASPACK2.12 的脱壳过程,和脱壳后对导入表的修复过程。...注:文章时很久以前写的,crackme 文件已经找不到了,自己用 Aspack 压缩后测试即可。

1.4K30

脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律

脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的....二丶利用工具脱掉ASPACK2.12的壳 首先,我们找一个带壳的工具,利用PEID查壳.查看是什么壳. ? OD附加进程. ?...这个地方则是出来的地方,那么ASPack的壳有一个特征,就是出来之后会跳转,然后有两个ret 因为程序是32位程序,所以我们要放到32位的虚拟机里面去脱壳....然后我们使用OD的插件去脱壳, 这个插件是修复PE的导入表的.可以直接利用. ? 然后点击脱壳即可,如果没有这个工具,你需要自己手动解析PE,然后重建导入表才可以....默认选择方式1 脱壳之后,查看是否还有加密. ?  没有pushad保存寄存器环境了,已经成功脱壳.

1.9K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    UPX 脱壳初见

    :Caspr(ASPr V1.1-V1.2有效),Rad(只对ASPr V1.1有效),loader,peid (1)Aspack: 用的最多,但只要用UNASPACK或PEDUMP32脱壳就行了...(2)ASProtect+aspack:次之,国外的软件多用它加壳,脱壳时需要用到SOFTICE+ICEDUMP,需要一定的专业知识,但最新版现在暂时没有办法。...5.常见的壳脱法 (一)aspack脱壳可用unaspack或caspr 1.unaspack ,使用方法类似lanuage,傻瓜式软件,运行后选取待脱壳的软件即可....使用方法类似fi 优点:可以脱aspack任何版本的壳,脱壳能力极强缺点:Dos界面。...第二种:将aa.exe的图标拖到caspr.exe的图标上***若已侦测出是aspack壳,用unaspack脱壳出错,说明是aspack高版本的壳,用caspr脱即可。

    1.6K20

    X86逆向14:常见的脱壳手法

    压缩壳:upx ,aspack ,fsg ,pecompach 加密壳:ASProtect ,Armadillo(穿山甲),EXEcryptor,Themida,ZProtect 虚拟机壳:VMProtect...接下来我们将使用不同的方法来脱几个常见的壳(UPX,Aspack,FSG,PECompact) ----------------------------------------------------...1.首先我们使用OD载入附件中的【Aspack.exe】程序,然后会看到以下代码,第一条指令是Pushad,发现第一条命令是它,就能使用ESP定律搞。...7.然后直接脱壳,直接点击右键,然后选择【用OllyDump脱壳调试进程】。 8.直接点击【获取EIP作为OEP】,然后点击【脱壳】,直接保存文件即可完成。...单步跟踪脱壳法 单步跟踪法是软件脱壳中最基础的脱壳技巧,单步跟踪法就是利用OD的单条指令执行功能,从壳的入口一直执行到OEP,最终通过这个OEP将原程序dump出来 在使用单步法的脱壳时,要注意关键的CALL

    1.1K20

    脱壳——UPX脱壳原理(脱壳helloworld)

    脱壳——UPX脱壳原理 脱壳步骤 1 找到OEP 2 dump(导出)内存文件 3 修复 1 找到OEP 1 程序运行先从壳代码运行,壳代码执行完之后会跳转到真正的OEP,也就是是说第一步,首先要找到真正的...dump内存文件 就是把得到的新的源文件给它保存下来,可以采用从头到最后一个区段的手动复制下来,也可以用工具 3 修复 对于手动扒拉下来的内存文件,肯定还有一些问题,这里需要对PE文件进行修复 第一次脱壳...首先先查看程序的信息,先了解敌人: 采用PEID来查看程序的信息: 将程序拖进PEID后: 这里很明显是一个UPX加壳后的程序,采用的是UPX壳代码 连接器版本6.0 也就是vc6.0的 开始脱壳...GetVersion,所以这里肯定就是真正的OEP了 2 dump(导出)内存文件 需要再刚进入OEP的第一条指令就dump出来,因为不知道后面的代码逻辑是什么,万一有什么修改呢 od中可以直接调用OllyDump脱壳调试进程...总结 UPX脱壳 首先采取找到OEP,然后呢对整个PE文件进行dump出来,然后再修复,修复需要修复PE的区段头和导入表 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn

    1.7K10

    加壳工具的使用

    加壳工具的使用 0x01 前言 0x01 加壳简介 0x02 ASPack加壳 0x03 PE-Armor加壳 0x01 前言 这是我对加壳工具的使用的学习记录。...当被加壳的程序运行时,外壳程序先被执行,然后由这个外壳程序负责将用户原有的程序在内存中解压缩,并把控制权交还给脱壳后的真正程序。...2.常见到的压缩壳有“UPX”、“北斗程序压缩”、“ASPack”等,加密壳有“PE-Armor”、“ASProtect”等等。...0x02 ASPack加壳 1.在被控制端,安装瑞星杀毒软件,使用瑞星查杀冰河木马、灰鸽子木马、msf生成的木马和Rootkit生成的木马,能够看到灰鸽子木马、msf生成的木马被查杀。...2.在控制端安装ASPack加壳软件,对这四个木马进行加壳,加壳后会生成备份的。 3.将加壳的木马共享给被控制端,控制端再使用瑞星查杀,发现两个木马并查杀,有两个未检测出来。

    2.2K20

    使用upx脱壳工具脱壳

    使用upx脱壳工具脱壳(攻防世界新手第七题为例simple-unpack) 查壳工具链接:https://www.52pojie.cn/thread-437586-1-1.html 脱壳工具链接:https...type=reverse&number=4&grade=0) ida打开只有四个函数 丢入ExeinfoPe里面 发现有壳(最下面那行显示是upx壳) 脱壳 首先安装工具,解压完之后进入到最里层文件夹中复制下来此时的地址...,cmd打开命令行先cd把地址转换,之后直接输入upx.exe -h安装完成 会出现这样(一大串) 之后就可以脱壳了,还在这个窗口,因为刚刚已经把地址转到了upx脱壳工具这里了,所以这下不用再转...,(下次打开需要重新转) 先打操作指令 这些是指令,其中-d是这次要用到的脱壳指令 先打好指令upx -指令名 文件位置和名称 这样打 脱壳成功 好接下来再丢到ExeinfoPe

    4.8K31

    加壳脱壳笔记

    脱壳存根(stub) 脱壳存根执行了以下三个步骤: (1)将原始程序脱壳到内存中 (2)解析原始可执行文件的所有导入函数 (3)将可执行程序转移到原始的程序入口点(OEP) 手动查找OEP 查找尾部跳转指令...最简单的手动查找策略就是查找尾部跳转指令,当脱壳存根开始运行时,尾部跳转指令跳转的地址不包含有效指令,但是一旦原程序运行就肯定包含有效的指令。...多数脱壳器会使用GetProcess函数来解析原始函数的导出表。在该函数上设置断点可以使你绕过脱壳存根的开头代码。 在原始程序调用且继续向后工作的函数上设置断点。...使用OllyDbg的RunTrace选项 手动修复导入表 导入表在内存中实际上有两个表: 函数名称或者序号列表,其中包含加载器或脱壳存根所需要的函数名称或者序号 所有导入函数的地址列表。...常见的壳 UPX、ASPack、Petite、WinUpack(Upack)、Themida 脱壳exe和dll的区别 DLL中的OEP是DllMain原始函数的开始地址,加壳DLL列出的开始地址是脱壳存根中的一个地址

    1.5K40

    【Android 逆向】整体加固脱壳 ( 脱壳起点 : 整体加固脱壳 | Dalvik 脱壳机制 : 利用 DexClassLoader 加载过程进行脱壳 | 相关源码分析 )

    文章目录 一、脱壳起点 : 整体加固脱壳 二、Dalvik 脱壳机制 : 利用 DexClassLoader 加载过程进行脱壳 1、DexClassLoader 源码 2、DexClassLoader...加载 dex 字节码示例 一、脱壳起点 : 整体加固脱壳 ---- 一代壳 即 DEX 整体加固 , 所有类型的加固 , 都会在最外围加上一层 整体加固的 壳 , 即使进行了 VMP / Dex2C...: 如果拿到 DEX 文件后 , 发现是空函数 , 则说明在 整体加固 的基础上 还进行了 函数抽取 加壳 ; 下一步针对 函数抽取 脱壳 ; VMP 或 Dex2C 脱壳 : 如果拿到 DEX 文件后..., 发现是 Native 函数 , 说明在 整体加固 的基础上进行了 VMP 或者 Dex2C 加壳 ; 下一步 针对 Native 化的函数脱壳 ; 二、Dalvik 脱壳机制 : 利用 DexClassLoader...加载过程进行脱壳 ---- Dalvik 脱壳机制 : 在 Dalvik 下 , 使用自定义 DexClassLoader 加载 dex 字节码文件中的类 , 通过分析 DexClassLoader

    75820

    (6)脱壳

    利用特殊的算法,对可执行文件的编码进行改变(比如压缩、加密),以达到保护程序代码的目的 脱壳 什么是脱壳?...摘掉壳程序,将未加密的可执行文件还原出来(有些人也称为“砸壳”) 脱壳主要有2种方法:硬脱壳、动态脱壳 iOS中的脱壳工具 iOS中有很多好用的脱壳工具 Clutch:https://github.com...dumpdecrypted:https://github.com/stefanesser/dumpdecrypted/ AppCrackr、Crackulous(基本不用,常用前两种) 如何验证可执行文件是否已经脱壳...usr/bin目录 如果在iPhone上执行Clutch指令,权限不够,赋予“可执行的权限” Clutch – 使用 列出已安装的APP:Clutch -i 输入APP序号或者Bundle Id进行脱壳操作...:Clutch -d APP序号或BundleId 或者 脱壳成功后会生成一个ipa文件 dumdecrypted 下载源代码,然后在源代码目录执行make指令进行编译,获得dylib动态库文件 将

    1.2K60

    【Android 逆向】整体加固脱壳 ( 脱壳点简介 | 修改系统源码进行脱壳 )

    文章目录 一、脱壳点简介 二、修改系统源码进行脱壳 一、脱壳点简介 ---- 在上一篇博客 【Android 逆向】整体加固脱壳 ( DEX 优化流程分析 | DexPrepare.cpp 中 rewriteDex...函数分析 | 脱壳点 | 获取 dex 文件在内存中的首地址 ) 中 , 提到了 2 个脱壳点 : ① /dalvik/vm/DvmDex.cpp 的 dvmDexFileOpenPartial...方法 ② /dalvik/libdex/DexFile.cpp 的 dexFileParse 方法 可以脱壳的 HOOK 点函数 , 不止上面 2 个 , 凡是函数中有 DEX 文件首地址的函数都可以作为脱壳点...; 如 : DexPrepare.cpp 中 rewriteDex() 方法 也可以作为脱壳点 ; HOOK 上面的 dvmDexFileOpenPartial 或 dexFileParse 方法 ,...---- 这里对 Android 系统的源码进行简单的修改 , 然后进行脱壳操作 , 这里的脱壳其实就是将 dex 文件在 内存的起始地址 ; /* 记录当前 dex 文件索引 */ int dexCount

    1.4K30

    CTF逆向-Upx脱壳攻防世界simple unpack

    文章目录 前言 UPX 技术原理 应用范围 软件使用 CTF实战 程序查壳 UPX脱壳 总结 前言 加壳软件分两类: 压缩壳:压缩的目的是减少程序体积,如 ASPack、UPX、PECompact...要经过脱壳才可以查看源代码。 UPX 加壳其实是利用特殊的算法,对 EXE、DLL文件里的资源进行压缩。...UPX脱壳 虽然上面已经拿到了 flag 值,但是本文重点还是要学习下 UPX 的脱壳、以及对比 UPX 加壳、脱壳后的文件结构,所以下面继续对目标文件进行脱壳。...不废话,直接上 upx 软件进行脱壳(解压缩): 随后将脱壳后的文件直接拖入 IDA Pro 进行反汇编,可以看到源程序的代码结构了,并在 main 函数中成功找到 flag,如下图所示:...总结 本文学习记录了 UPX 软件加壳、脱壳(压缩与解压缩)的方法,并直观比较了其加壳后、脱壳后的文件结构,总的来说压缩壳的作用有限,UPX 已经被应用很久了,脱壳技术成熟,使用于防止反编译、病毒免杀的作用十分有限

    2.2K40

    X86逆向15:OD脚本的编写技巧

    脚本的用处非常的大,比如我们要对按钮事件进行批量下断点,此时使用自动化脚本将大大减小我们的工作量,再比如有些比较简单的压缩壳需要脱壳,此时我们也可以写出属于自己的脱壳脚本,以后遇到了对应的壳就可以使用对应脚本快速的搞定...几个常用的脱壳脚本 我们使用CM_14.zip里面加过壳的案例。...1.脱 Aspack 脚本 // 脱 Aspack 壳的脚本 findop eip,#61# // 查找popad bphws $RESULT,"x" // 返回查找到的地址...对返回的地址处F2下断 run // 运行到该处 sto // 单步F8两次 sto cmt eip,"这里就是OEP" // 脱壳完成...ret // 结束脚本 3.下方的两个脚本为转载脚本,一个是脱MoleBox另一个是脱穿山甲 MoleBox v2.X 脱壳脚本 var addr //定义一个变量

    98950

    upx脱壳日记

    Windows下内置对各UPX版本的第三方图形化界面UPXShell工具,可以方便的切换版本,通过go按钮,可以切换upx加壳版本与脱壳版本 二、动态方法(手脱) 虽然UPX本身可以脱壳,但是UPX...是基于加壳后可执行文件内存储的标识来查找并操作的,由于UPX是开源的,软件保护者可以随意修改这些标识,从而导致官方标准版本的UPX脱壳失败。...因为UPX中可以改动的地方太多,所以人们在这种情况下一般采用动态脱壳 x86的汇编指令pushad可以轻松将所有寄存器一次性压入栈,UPX使用了这样的方式,被形象的称为“保护现场”,所以将这里的下一步执行后...在OD中选择“插件”-“OllyDump”-“脱壳正在调试的进程”,然后单击获取EIP作为OEP,再单击脱壳,保存后可完成脱壳 此时IDA中和程序执行都已正常 发布者:全栈程序员栈长,转载请注明出处

    2K30
    领券