首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
不同程序OEP特征总结
2024-11-02
逆向集录_00_不同程序OEP特征总结
在分析/逆向 程序时,如果事先知道这类程序的一些特征,那将会是事半功倍的: 分析/逆向 程序,和写程序不同,比喻的话:写程序像在作案,分析/逆向 程序就像是在破案,对破案来讲,重在假想和推理: 特征1:VC链接器版本 VS版本 链接器版本 VS2017 14.12 VS2015 14.0, 14.1 VS2013 12.0 VS2012 11.0 VS2010 10.0 VS2008 9.0 VS2005 8.0 VC2003 7.0, 7.1 VC6/VB6/E语言 6.0 VC5/BC++
一些程序OEP入口特征
声明: 1.本文中使用的例子来源于吾爱破解的官方教程第一课中的无壳例子,本人利用空闲时间挨个进行查看并截图纪录下来 2.欢迎补充讨论 一些程序OEP入口特征 一. AMS程序 1.载入PEID 2.载入OD 二. AutoIt_v3程序 1.载入PEID 2.载入OD 三. BC++6程序 1.载入PEID 2.载入OD 四. BC++2010程序 1.载入PEID 2.载入OD 五. Delphi程序 1.载入PEID 2.载入OD
常见程序入口点(OEP)特征
delphi: 55 PUSH EBP 8BEC MOV EBP,ESP 83C4 F0 ADD ESP,-10 B8 A86F4B00 MOV EAX,PE.004B6FA8 vc++ 55 PUSH EBP 8BEC MOV EBP,ESP 83EC 44 SUB ESP,44 56 PUSH ESI vc6.0 55
脱壳:OEP(即程序入口点)查找 --- 基本思路和常见方法
OEP:程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点, POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个,OEP就在附近. 常见寻找OEP脱壳的方法 方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选) 4.绿色线条表示跳转没实现,不
常见寻找OEP脱壳的方法
方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行到所选) 4.绿色线条表示跳转没实现,不用理会,红色线条表示跳转已经实现! 5.如果刚载入程序,在附近就有一个CALL的,我们就F7跟进去,这样很快就能到程序的OEP 6.在跟踪的时候,如果运行到某个CALL程序就运行的,就在这个CALL中F7进入 7.一般有很大的跳转,比如 jmp XXXXXX 或者 JE XXXXXX
Java程序员从笨鸟到菜鸟之(一百零二)sql注入攻击详解(三)sql注入解决办法
sql注入攻击详解(二)sql注入过程详解 sql注入攻击详解(一)sql注入原理详解 我们了解了sql注入原理和sql注入过程,今天我们就来了解一下sql注入的解决办法.怎么来解决和防范sql注入,由于本人主要是搞java web开发的小程序员,所以这里我只讲一下有关于java web的防止办法.其实对于其他的,思路基本相似.下面我们先从web应用程序的角度来看一下如何避免sql注入: 1.普通用户与系统管理员用户的权限要有严格的区分. 如果一个普通用户在使用查询语句中嵌入另一个Drop
破解之寻找OEP[手动脱壳](2)
1.使用ESP定律 OD载入后,F8一次,在寄存器窗口的ESP的内容上(如0012FFA4)右键:“在数据窗口中跟随”,到内存数据窗口,将内存数据窗口以HEX 数据形式显示,在刚才的地址起始位置上(如0012FFA4)上右键:“断点”->“硬件访问”->“字”,F9直接运行,再F8一次或二 次,一般会到push ebp这句代码,这句代码所在的地址,就是OEP. 2.二次断点法 OD载入后,点击“M”按钮进入内存映射页面,先在数据(data).资源(rsrc).rdata.idata等区段下访问
破解之寻找OEP[手动脱壳](1)
OEP:(Original Entry Point),程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点 POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个OEP就在附近啦! 常见寻找OEP脱壳的方法: 方法一: 1.用OD载入,不分析代码! 2.单步向下跟踪F8,是向下跳的让它实现 3.遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断
Directx11学习笔记【三】 第一个D3D11程序
在先前的解决方案中新建一个新的Win32项目FirstD3D11Demo.在写代码之前,我们必须先添加dx11所需要的库.为了链接dx库,右键项目选择属性->vc++目录,在包含目录中添加你所安装的SDK根目录\Include,在库目录中添加 根目录\lib\x86(或x64),在链接器->输入的附加依赖项中添加d3d11.lib.d3dx11.lib.dxerr.lib. 第一次使用d3d,首先应该从初始化开始. 初始化d3d11的步骤主要有以下几个: 1.定义我们要检查的设备类型和特征级别
给Lisp程序员的Python简介
给Lisp程序员的Python简介 作者:Peter Norvig,译者:jineslong<zzljlu@gmail.com> 这是一篇为Lisp程序员写的Python简介(一些Python程序员告诉我,这篇文章对他们学习Lisp也有帮助,尽管这不是我的本意).基本上,Python可以看作一个拥有"传统"语法(Lisp社区称之为"中缀"或者"m-lisp"语法)的Lisp方言.一个来自comp.lang.python的帖子说到&qu
个人项目——wc源程序特征统计
这一次要做的项目是wc——统计程序文件特征的命令行程序. 根据需求需求得到的模式为:wc.exe [parameter][filename] 在[parameter]中,用户通过输入参数与程序交互,需实现的功能如下: 1.基本功能 支持 -c 统计文件字符数 支持 -w 统计文件单词数 支持 -l 统计文件总行数 2.拓展功能 支持 -a 返回高级选项(代码行 空行 注释行) 支持 -s 递归处理符合条件的文件 3.高级功能 支持 -x 程序以图形界面与用户交互 [filename] 是待处
如何将常规的web 应用程序转化为云上多租户 SaaS 解决方案
如何将web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/index.html 通过一些方法和步骤快速将您的 web 应用程序转化为云应用程序 想象一下,您有一个一直在市场上出售的 web 应用程序.您了解到云基础架构中的软件即服务 (SaaS) 是行业的未来趋势.您意识到您需要它,并且您的客户也要求您提供 SaaS 版本的产品. 问题是,您需要快速.有效地
规范抢先看!微信小程序的官方设计指南和建议
基于微信小程序轻快的特点,我们(微信官方)拟定了小程序界面设计指南和建议. 设计指南建立在充分尊重用户知情权与操作权的基础之上.旨在微信生态体系内,建立友好.高效.一致的用户体验,同时最大程度适应和支持不同需求,实现用户与小程序服务方的共赢. 说到设计规范,这里有一篇绝对不能错过的:<内部教程!超实用6步透视网易设计规范(附完整PDF下载)> 一.友好礼貌 为了避免用户在微信中使用小程序服务时,注意力被周围复杂环境干扰,小程序在设计时应该注意减少无关的设计元素对用户目标的干扰,礼貌地向用户展示
web 应用程序转化为多租户 SaaS 解决方案
web 应用程序转化为多租户 SaaS 解决方案 https://www.ibm.com/developerworks/cn/cloud/library/cl-multitenantsaas/index.html 想象一下,您有一个一直在市场上出售的 web 应用程序.您了解到云基础架构中的软件即服务 (SaaS) 是行业的未来趋势.您意识到您需要它,并且您的客户也要求您提供 SaaS 版本的产品. 问题是,您需要快速.有效地转换为 SaaS,并且最好能够维持或增强您的盈利能力. SaaS 应用
有关OEP脱壳
首先补充: OEP:(Original Entry Point),程序的入口点,软件加壳就是隐藏了OEP(或者用了假的OEP), 只要我们找到程序真正的OEP,就可以立刻脱壳. PUSHAD (压栈) 代表程序的入口点 POPAD (出栈) 代表程序的出口点,与PUSHAD相对应,一般找到这个OEP就在附近啦 OEP脱壳方法: 方法一: .用OD载入,不分析代码! .单步向下跟踪F8,是向下跳的让它实现 .遇到程序往回跳的(包括循环),我们在下一句代码处按F4(或者右健单击代码,选择断点——运行
脱壳实践之寻找OEP——两次内存断点法
0x00 前言 对于加壳程序第一件事就是要找到OEP(oringinal Entry point),由于加壳的缘故,当PE文件载入OD或者其他调试软件时进入的的往往是壳程序的入口地址.所以要进行逆向分析第一步就必须找到PE程序的原始入口点. 0x01 壳的加载过程 壳和病毒在某些方面比较类似,都需要比原程序更早获得控制权.壳修改了原程序的的执行文件的组织结构,从而比原程序更早获得控制权,并且并不会影响原程序的正常运行.了解的壳的加载过程对于脱壳加壳异常重要.壳的加载过程如下: 1)保存入
寻找OEP
1.使用ESP定律 OD载入后,F8一次,在寄存器窗口的ESP的内容上(如0012FFA4)右键:"在数据窗口中跟随",到内存数据窗口,将内存数据窗口以HEX数据形式显示,在刚才的地址起始位置上(如0012FFA4)上右键:"断点"->"硬件访问"->"字",F9直接运行,再F8一次或二次,一般会到push ebp这句代码,这句代码所在的地址,就是OEP. 2.二次断点法 OD载入后,点击"M"
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直
脱壳_01_虚拟机壳_VMP
写在前面的话: 上一篇文章中,带领大家一起分析了简单的压缩壳ASPACK,今天,就和大家一起来揭开VMP这道神秘的面纱: [花指令]:扰乱调试器的,并不执行: [混淆]:对原指令进行拆解或等价替换,会执行: 零.自己写个程序,加壳 0.为方便我们对VMP壳有更清楚的认识,这里,我们先自己写个程序,然后,加壳: 通过分析对比压缩前后的程序,辅助大家进行更深一层的了解,测试代码如下: #include <windows.h> int main(int argc, char** argv) { Me
脱壳_00_压缩壳_ASPACK
写在前面的话: Aspack是最常见的一种压缩壳,具有较好的兼容性.压缩率和稳定性,今天我们就来一起分析一下这个壳: 零.分析压缩壳: 0.在开始动态调试前,用PEID和LoadPE查看一些信息,做到心中有数: 1.了解了基本的信息后,我们将文件拖到调试器中,进行分析: 分析之前,要明确以下几点,这也是我们的目的(分析时,该做些什么): I). 找到原始OEP II). dump文件: III). 如果需要修复文件,则进行修复,一般IAT: IV). 如果程序仍然无法运行,去掉脱壳后的随机
热门专题
openlayer 天地图叠加shp文件
linux qtcreator闪退
安卓手机如何链接mac调式
angular中导入css文件不生效
阿里云Ubuntu 20.04安装图型界面
redis 文件事件
天天生鲜 模型类 django
基于jrtplib的NAT穿透
TLS域名证书自生成
C# 浏览器预览文件
js中 和lastIndexOf方法反向
mysql8.0不支持表分区这个要怎么解决
rk3288配置io口上拉
shell创建文件并写入内容
PerlinNoise 绘制随机地图
linux搭建禅道无法访问此网站
win2008r2 计划任务
ansible 安装
js获取输出设备中的页面最大可见区域高度
eclispe scala 创建说明