脱壳系列(一) - CrypKeySDK 壳】的更多相关文章

程序: 运行 用 PEiD 载入程序 PEid 显示找不到相关的壳 脱壳: 用 OD 载入程序 这个是壳的入口地址 因为代码段的入口地址为 00401000 这三个是壳增加的区段 按 F8 往下走程序 经过这个 call 指令的时候,运行的时间多了一会 这个 jmp 将跳转到 004271B0 按 Ctrl+A 分析代码 这个地方也在代码段内,所以这个地方就是原程序的入口点 右键 -> Dump debugged process 点击 Dump 保存文件,运行 可以运行 之后再用 PEiD 看一…
1 查看壳程序信息 使用ExeInfoPe 分析: 发现这个壳的类型没有被识别出来,Vc 6.0倒是识别出来了,Vc 6.0的特征是 入口函数先调用GetVersion() 2 用OD找OEP 拖进OD 发现 这个壳和我们的正常程序很像.但是并不是我们的真正程序入口 因为vc6.0特征的第一个调用的是GetVersion(),给GetVersion()下 硬件断点 //第一次断下来,但是根据栈回溯,调用者并不是我们的模块 //第二次断下来,就应该是了 //找到入口后 栈上右键 反汇编窗口跟随 /…
先用 PEiD 看一下 MEW 11 1.2 的壳 用 OD 载入程序 按 F8 进行跳转 往下拉 找到这个 retn 指令,并下断点 然后 F9 运行 停在该断点处后再按 F8 右键 -> 分析 -> 分析代码 找到了程序的 OEP,右键 -> Dump debugged process 点击“Dump” 用 PEiD 看一下…
先用 PEiD 查一下壳 用 OD 载入程序 这里有一串字符串,是壳的名称和版本号 按 Alt+M 显示内存窗口 这里只有三个区段,后面两个是壳生成的,程序的代码段也包含在里面 利用堆栈平衡 按 F8 往下走一步 然后到数据窗口中设置断点 选择 -> 断点 -> 硬件访问 -> Dword 然后跑一下程序 弹出了一个窗口,点击“确定” eax 中存放着 OEP 的地址 按 F8 执行 jmp 跳转,来到程序 OEP 处 右键 选择 Dump debugged process 点击“Dum…
程序: 运行程序 用 PEiD 查壳 EZIP 1.0 用 OD 打开 按 F8 往下走 这个看似是 OEP 的地方却不是 OEP 因为代码段从 00401000 开始 可以看到,壳伪造了 3 个区段 重新载入程序,观察 ESP 的变化 此时是 0012FFC4 F8 往下走 走到这里的时候,ESP 的值变为 0012FFC0 右键 -> 数据窗口中跟随 选择 -> 右键 -> 断点 -> 硬件访问 -> Word 下一个硬件断点 按 F9 运行 程序停在了该处,ESP 的地…
1 查看壳程序信息 使用ExeInfoPe 分析: 发现这个壳的类型没有被识别出来,Vc 6.0倒是识别出来了,Vc 6.0的特征是 入口函数先调用GetVersion() 2 用OD找OEP 拖进OD 发现 这个壳和我们的正常程序很像.但是并不是我们的真正程序入口 因为vc6.0特征的第一个调用的是GetVersion(),给GetVersion()下 硬件断点 //第一次断下来,但是根据栈回溯,调用者并不是我们的模块 //第二次断下来,就应该是了 //找到入口后 栈上右键 反汇编窗口跟随 /…
脱壳第一讲,手工脱壳ASPack2.12的壳.ESP定律 一丶什么是ESP定律 首先我们要明白什么是壳.壳的作用就是加密PE的. 而ESP定律就是壳在加密之前,肯定会保存所有寄存器环境,而出来的时候,则会恢复所有寄存器的环境. 这个就成为ESP定律.(当然我个人理解.可能有更好的理解,请下方评论,我会更改) pushad的时候,肯定所有寄存器入栈. 二丶利用工具脱掉ASPACK2.12的壳 首先,我们找一个带壳的工具,利用PEID查壳.查看是什么壳. OD附加进程. 可以看出,一开始就已经pus…
---恢复内容开始--- 1 查看信息 使用ExeInfoPe查看此壳程序 可以看出是很老的FSG壳. 分析: Entry Point : 000000154,熟悉PE结构的知道,入口点(代码)揉进PE头去了. 在WIN10 以来在(被限制了)PE 头中不能有执行代码,只有在WIN7 及其以前的机器上,此程序才能执行.所以用虚拟机来脱这个很老的壳,在目前(本人)win10的机器上无法运行. 2 使用LordPE 观察以下PE结构 点击查看区段 信息: 分析: 发现区段有两个,都把区段名抹去了:且…
目录 一.工具及壳介绍 二.脱壳 2.1.单步跟踪脱壳 2.2.IAT修复 三.程序脱壳后运行截图 四.个人总结 五.附件 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE FSG壳 2.0: 二.脱壳 2.1.单步跟踪脱壳 因为FSG是压缩壳,所以脱壳最应该尝试的是ESP定律,其次就是单步跟踪,使用OD载入程序,发现入口没有PUSHAD/PUSHFD指令,单步观察堆栈变化 程序一开始并没有保存环境,遇到这种情况单步继续跟踪,发现有解密代码的地方 继续单步跟…
i春秋作家:HAI_ 0×00 前言 对so的加密,https://bbs.pediy.com/thread-191649.htm大神的帖子里已经很详细的说明了.当然加密不是我们研究的重点,如何搞掉这个so的加密才是我们的要事. 或许你想看看这里 HAI_使用手册 java开发之旅 Android开发之旅 0×01 so静态分析 1.未加密之前的so 2.加密之后的so 我们使用ida打开的时候,ida进行了报错提示. 可能在平时很多时候都会发现so是被加密了的,ida就会报这个错误,我们忽略这…
前言 结合脱dll壳的基本思路,对看雪加密解密里的一个ASPack壳保护的dll进行脱壳分析. 脱壳详细过程 寻找程序的OEP 先将目标DLL拖入OD,来到壳的入口处. 然后利用堆栈平衡原理在pushad后,对栈顶下硬件访问断点. 之后我们直接运行程序,当程序popad后会被断下,观察得出OEP的RVA为0x1240. 找到壳的重定位代码 我们在来到程序真正的入口点后可以看到一些会被重定位的代码,我们选择最近的一个会进行重定位的代码记住其RVA. 本例子中我们选的是RVA为0x1253的代码.…
作者:i春秋作家HAI_ZHU 0×00 前言 好久没有写文了,要好好开动一下了.很多事情要忙.这篇文章本来很早之前就要写的,但是因为很多事情就拖了很久. 前置内容 HAI_使用手册 知识总结 0×01 smali层静态分析 反编译,不多说. 然后来看启动的class. 调用run方法,和load方法. 这里有两个so文件载入. exec execmain 0×02 so层分析 libexec.so 查看JNIonload,发现并没有我们需要的内容. 这个时候,我们可以先尝试进行一下动态调试.…
0x00 闲谈 最近打算学习学习加壳脱壳相关的知识,大致会有以下几个部分 1.upx壳的加壳原理及脱壳方法 --UPX压缩壳的工作原理 --脱upx壳--初试--单步追踪 -- 0x01 参考链接 1.单步跟踪法与UPX的脱壳理解 作者: LB919 出处:http://www.cnblogs.com/L1B0/ 如有转载,荣幸之至!请随手标明出处:…
一.工具及壳介绍二.脱壳1.ESP定律脱壳2.单步跟踪脱壳3.基址重定位的修复 一.工具及壳介绍 使用工具:Ollydbg.PEID.ImportREC.LoadPE.010 Editor 查看待脱壳程序 查看AsPack壳特有的区段信息 小结:根据链接器版本推断待脱壳程序应该是VS 2013编写 二.脱壳 1.ESP定律脱壳 使用OD加载程序,发现pushad指令,判断程序已加壳,这里可以采用ESP定律脱壳 单步过pushad处指令后,在esp处下硬件断点 让程序运行起来,程序中断的地方即为p…
作者:Fly2015 Windows平台的加壳软件还是比較多的,因此有非常多人对于PC软件的脱壳乐此不彼,本人菜鸟一枚,也学习一下PC的脱壳.要对软件进行脱壳.首先第一步就是 查壳.然后才是 脱壳. 推荐比較好的查壳软件: PE Detective .Exeinfo PE.DIE工具. 须要脱壳的程序是吾爱破解论坛的windows逆向破解培训http://www.52pojie.cn/thread-378612-1-1.html第一课的作业题1. 1.对该程序(吾爱破解培训第一课作业一.exe)…
俗话说柿子挑软的捏,练习脱壳还得用加密壳脱 0x01 准备 1.OD 2.ASPack加壳软件 0x02 脱壳实战 查一下壳 OD载入 第一个call,F7进去 第二个call也是F7进去 之后往下单步调试 之后在单步调试 壳结尾就是两个retn 之后过了最后一个retn,就到了OEP ctrl+A分析一下…
原文:https://www.jianshu.com/p/71fb7ccc05ff 0.写在前面 本文是笔者自学笔记,以破解某目标apk的方式进行学习,中间辅以原理性知识,方便面试需求. 参考文章的原文链接会附在相应流程位置,方便阅读学习.   逆向分析流程.jpg 1.获取目标apk 第一步是拿到目标安装包文件,这一步很简单,可以在主流的第三方市场内获取,但是主流的第三方市场都要求应用加固,为了之后方便,笔者常常去app的官网下载,或者去一些小市场下载,运气好的话能下载到他们的未加固版本. 2…
逆向破解 | 逆向 | 逆向分析 | CrackMe | Crack | CrackMe5 | CrackMe05 前言 CrackMe005,都说比较变态,很多人给放过去了,但是我还是决定上了它,既然变态就分两篇,上篇先实际说流程,到底应该怎么上它,下篇会告诉逆向分析的过程和方法 准备 [环境和工具] win7/xp虚拟机环境 CrackMe005(ajj2.zip) ollydbg Dededark peid UPXEasyGUI.exe(upx专用脱壳器) [学习层次] 爆破,但是这个CM…
Mountain Climbing WP 拿到题首先熟练地查个壳再用各种脱壳工具脱个壳. 脱壳之后熟练地双击感受一下出题者的恶意: 根据字面意思得知,是要根据一系列的操作来得到收益最大值,于是用ida打开并f5出来研究出题者是想让我们如何操作: 76和82分别是“L”和“R”的ASCII码值,所以联想到操作只有左移和右移.在来看看这段代码的其他部分: 这一部分相当于利用伪随机数构造了一个直角三角形的数表.由于是伪随机数,只要随机数种子srand()的值一样,构造出来的数表也是一样的.这里的随机数…
网络应用程序,分为前端和后端两个部分.当前的发展趋势,就是前端设备层出不穷(手机.平板.桌面电脑.其他专用设备......).因此,必须有一种统一的机制,方便不同的前端设备与后端进行通信.这导致API构架的流行,甚至出现"API First"的设计思想. RESTful API是目前比较成熟的一套互联网应用程序的API设计理论 RESTful API的相关规定 一.协议 API与用户的通信协议,总是使用HTTPs协议 二.域名 应该尽量将API部署在专用域名之下 https://api…
本文作者:萌新 前情提要:萌新带你开车上p站(一) 0x04flag  看题目描述似乎是一个和脱壳相关的逆向题目 按照给出的地址先下载过来 file看看 是个可执行文件 执行之 emm什么都看不出来,又没有源码 那载入gdb吧 emmm,没有符号表,无法反汇编 哦,对了,根据题目的提示这是加了壳的,所以先脱壳 这是什么壳呢? Strings看看 upx的 这里简单介绍下upx: UPX是一个著名的压缩壳,主要功能是压缩PE文件(比如exe,dll等文件),有时候也可能被病毒用于免杀.壳upx是一…
本章教程中,使用的工具是上次制作的PE结构解析器,如果还不会使用请先看前一篇文章中对该工具的介绍,本章节内容主要复习导入表结构的基础知识点,并通过前面编写的一些小案例,实现对内存的转储与导入表的脱壳修复等. 关于Dump内存原理,我们可以使用调试API启动调试事件,然后再程序的OEP位置写入CC断点让其暂停在OEP位置,此时程序已经在内存解码,同时也可以获取到程序的OEP位置,转储就是将程序原封不动的读取出来并放入临时空间中,然后对空间中的节表和OEP以及内存对齐进行修正,最后将此文件在内存保存…
毕竟应聘的是营业员,门槛还是很低的 我应聘苏宁的时候已经到了2009年的8月初,记得当时苏宁电器的长春总部还在吉林大路与东盛大街交汇处的亚泰广场,我当时的面试就是在那里. 我记得很清楚,那天等待面试的人还是非常多的.这从一个侧面也就说明,苏宁的人员流动性也是很大的.不过并不是所有人都应聘营业员,其中也有后勤之类的.到了先填了一张应聘表,写上个人信息.我心想我不是在网上写了么,怎么还得再手写一份,看看我们的字写得好不好看吗?看来这也算是笔试了. 接下来我们就一个接着一个地进小屋面试了.毕竟招聘的是…
题目提示这是一个加壳的二进制文件,拖到exeinfope,是UPX壳. 这里我们用linux命令upx -d脱壳. 脱完壳之后拉入ida64中分析.找到main函数,可以看到这一句可以是输出flag的. puts("Congratulations!", flag); 跟进flag flag是拿到了,但是这不是我们的根本目的,作为一个逆向小白,里面有些东西不太清楚.再补充一下. 什么是壳?为什么要加壳? 壳就是软件里面一段保护软件不被非法篡改和反编译的程序,先于其他程序运行,拿到控制权,…
1.查壳 2.x32dbg脱壳 在第二个xchg处使用ESP定律脱壳: 由于FSG壳特性,在跳转后位置向上查找,找到js\jne\jmp,jmp就是OEP位置: 在此处使用工具进行脱壳: 完成! 3.总结 在进行FSG脱壳时,遇见了一些问题,最开始是使用OD进行脱壳的,前面都没有太大问题,在使用ImportREC进行修复IAT表时,会出现修复不全,此问题属于ImportREC问题,并未解决,之后使用x64dbg后使用工具Scylla x86进行IAT修复,成功运行: 来自为知笔记(Wiz)…
脱壳第三讲,UPX压缩壳,以及补充壳知识 一丶什么是压缩壳.以及壳的原理 在理解什么是压缩壳的时候,我们先了解一下什么是壳 1.什么是壳 壳可以简单理解为就是在自己的PE文件中包含了代码.而有不影响我们的PE文件的执行. 2.什么是压缩壳 压缩壳指的是让我们的PE文件变小. 3.压缩壳原理 首先可以看到,我们的PE文件 一个PE头,两个节数据,其中节和节之间还有对齐值.而上图是我们的一个正常壳映射到内存中的示意图. 4.压缩壳的思路 从上图可以看出, 我们的PE文件,压缩一下变成了一个新的PE文…
概述 通过iOS逆向系列-逆向App中使用class-dump工具导出App的Mach-O文件所有头文件.Hopper工具分析App的Mach-O文件代码大概实现.但是这些前体是App的Mach-O没有被加壳的.通过pp助手下载安装的App都是经过脱壳的如果我们从Appstore下载安装的App都是苹果加壳的. 加壳就是利用特殊的算法,对可执行文件的编码进行改变(比如压缩.加密),以达到保护程序代码的目的. 我们编写的程序的Mach-O文件上传到苹果后台,苹果会对我们的程序的Mach-O文件进行…
总结下Themida/ Winlicense (TM /  WL) 的脱壳方法. 1, 查看壳版本,这个方法手动也可以,因为这个壳的版本号是写在程序里面的,在解压后下断点即可查看,这里有通用的脚本,我就不再罗嗦了,跟着脚本学吧,使用方法很简单,直接运行脚本即可.(脚本我也已传在资源中,可在文章结尾获得下载地址) 2,对于 Ver 1.1.0.0 - 2.1.0.0的Themida / Winlicense 加壳软件,手动脱简直不可想象,目前也有国外的一通用脚本,能脱大部分的壳,少部分即使脱不了,…
(一)Themida和不用license的Winlicense加壳软件就不说了,直接上脚本脱壳. (二)先看看不同版本OEP的一些小特征: Temida2.1.X.X版本之后的OEP特征(2.0.8.0,2.1.0.10,2.1.3.32等) Temida2.1版本之前的OEP特征,如(2.0.3.0,1.8.2.0,1.885等): Temida OEP特征:如(2.0.3.0,) 一,对于Winlicense2.1.0.10及其以下版本,不用license,可自己随意构造一个license直…
UPX和WinUpack压缩壳的使用和脱法 - 脱壳篇06 让编程改变世界 Change the world by program 今天小甲鱼给大家介绍两款压缩壳:UPX和WinUpack. UPX是时下最流行的压缩壳之一,因为它的压缩效率和稳定性都是比较不错的,另外一点呢他是开源的,小甲鱼在这节课的源代码下载处,提供了UPX的源代码给大家研究一下,它是用C++写成的. ...... 此处省略很多字 ...... UPX压缩壳官方原版下载地址:http://bbs.fishc.com/threa…