CRACKME 2 : 通过OD了解 栈帧 的使用过程

简单逆向分析使用案例(2)--CrackMe_01.exe 找出密码 环境: win7 旗舰版 x64 OD2.01,1.1(吾爱破解版) PEiD0.95 使用资源http://download.youkuaiyun.com/detail/obuyiseng/9351217 中的 CrackMe_01.exe 技巧:借助OD中的栈回溯,使用分析--》分析代码让数据代码还原后,供我们使用。 第一步:简单测试。 随便输入点击确 阅读详情

前言: 栈帧 EBP,与ESP不同,其主要是定位函数中的 传入参数,返回地址和局部变量的,下面我们通过调试该程序来看看栈帧有什么作用。
代码:

#include "stdio.h"

long add(long a, long b)
{
    long x = a, y = b;
    return (x + y);
}

int main(int argc, char* argv[])
{
    long a = 1, b = 2;
	printf("hello world!\n");
    printf("%d\n", add(a, b));

    return 0;
}
  1. 分析 main 函数 开始处的代码:
    在这里插入图片描述
    push ebp : 即将旧的ebp保存在栈中
    mov ebp,esp : 将新的ebp指向该处
    sub ebp,esp : 开辟新的栈空间方便以后存储局部变量
    push ebx:保存旧的寄存器

    其return 处也是,先释放保存的寄存器,然后在释放栈中的空间
    在这里插入图片描述

  2. 分析调用add( ) 前的操作

    1. 先修改栈显示方式,因为往往局部变量以栈针形式,即 [ebp-x] 的形式显示出来
      在这里插入图片描述
    2. 分析代码:
      在这里插入图片描述
  3. 分析 add() 函数之后的操作:看注释,前面我们已经分析过了
    在这里插入图片描述

  4. 总结:对一个函数来讲,其有效的栈如下图:
    在这里插入图片描述

简单逆向分析使用案例(1)--CrackMe_00.exe 找出密码 使用资源 第一步:简单测试。 随便输入点击确定,发现弹出对话框,那么我们就可以确定,程序里面含有MessageBox函数。 阅读详情

相关推荐

从零开始逆向工程:CrackMe破解实战与OD调试入门

软件逆向工程是理解程序底层运行机制、分析软件行为与安全性的核心技术。其核心原理在于通过静态与动态分析,解析程序的执行流程与数据结构。这项技术在软件安全评估、漏洞挖掘、恶意代码分析及软件兼容性开发等领域具有重要价值。典型的应用场景包括分析未公开协议的通信过程、排查软件兼容性问题,以及进行授权范围内的安全研究。本文将以经典的CrackMe破解实战为例,具体演示如何运用OllyDbg动态调试器进行流程跟踪与关键跳转修改,实现一次完整的逆向分析过程,帮助初学者掌握逆向工程的基础方法论与工具链。

weixin_30466039的博客 325

堆栈详解

原文转自:http://www.systhinker.com/html/81/n-18881.html 什么是堆栈   在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。   堆栈都是一种数据项按序排列的数据结构,只能在一端(称为栈顶(top))对数据项进行插入和删除。   要点:   堆:顺序随意   栈:后进先出(Last-In/First-Out) 堆和栈的区别   一、预备知识—程序的内存分配   一个由c/C++编译的程序占用

SysThink的专栏 551

简单逆向分析使用案例(5)--CrackMe_04.exe 获取用户名和密码

环境:      win7 旗舰版 x64       OD1.1(吾爱破解版)       PEiD0.95 使用资源       http://download.youkuaiyun.com/detail/obuyiseng/9351217 中的 CrackMe_04.exe 技巧:      借助OD中的栈回溯,考虑情况要全面 。

oBuYiSeng的博客 2101

OD使用初探

1.什么是OD OD全称Ollydbg,是反汇编常用的工具,经常用作动态调试。 2.OD中文版下载 下载地址 3.界面简介 4.默认功能 1)汇编代码对应的地址窗口(虚拟地址,一般情况下,同一程序的同一条指令在不同系统环境下此值相同。) 2)汇编代码对应的十六进制机器码窗口 3)反汇编窗口 4)反汇编代码对应的注释信息窗口 5)寄存器信息窗口 6)当前执行到的反汇编代码...

hs5570的博客 7962

CrackMe分析-OD与IDA、VS结合使用

1. Kernel32: SetUnhandledExceptionFilter 设置顶层异常 2. User32:DialogBoxParamA   1. 在OD中下断点,单步跟踪异常所在 2. 分析异常,发现不是SEH,而是SetUnhandledExceptionFilter设定的回调 3. 在VS中写代码,模拟目标程序的异常 根据目标程序的异常回调,打印对应的

qq_27274665的博客 945

别再乱点U盘里的.exe了!手把手教你清除‘Usb Disk.exe’病毒并恢复隐藏文件

本文详细介绍了如何识别和清除U盘病毒(如Usb Disk.exe),并提供从终止病毒进程到恢复隐藏文件的完整步骤。通过禁用自动播放、清理注册表和使用命令行工具,帮助用户彻底清除病毒并预防未来感染,确保数据安全。

weixin_42530732的博客 594

Tips of Ollydbg 查看调用堆栈、交叉引用

0) ALT+K 查看调用堆栈 使用od破解软件时,经常会用到栈回溯的方法,假设我们现在所在main个函数的入口点 使用alt+k来查看此函数的父级调用 堆栈调用窗口显示的每一行,代表从上一层函数,进入当前函数的入口,这个功能缺点就是只能在程序运行到某个函数中,并且断下来后,才能使用。 1) CTRL+K 假设我们有这样的需求,我不想运行到某个函数,只想查看该函数的调用关系。 我想知道谁...

Sven的忘却日记 5957

Matlab实战:手把手教你用Zernike多项式模拟光学像差(附完整代码)

本文详细介绍了如何在Matlab中使用Zernike多项式模拟光学像差,包括基础理论、不同排序系统的实现、完整代码示例以及高级应用技巧。通过Zernike多项式,可以有效地描述和分析光学系统中的波前畸变,适用于望远镜校正、眼科光学等多个领域。

weixin_42523720的博客 161

第二十四课_堆栈图4

前言 这篇文章也说画堆栈图,不过内容跟之前的差不多,如果已经理解前面画堆栈图的内容,这篇文章大可不看。这篇文章只能说是对前面的巩固吧。其实本id之所以写这篇文章,只是想写写JCC。 因为只是想写写JCC,所以画堆栈图部分写得可能会比较简陋。 说明:可执行exe和源码已经放网盘,地址在文末。 具体步骤 1、把下载的yiDaChengXuYuan_stack4.exe拖到OD中打开。按Ctrl+G,在弹出的对话框中输入“401098”,在定位到的行按F2设置断点,然后点击上方蓝色的小三角按钮,让程序运

ELaXiaoSi的博客 384

嵌入式软件面试常见问题及答案

干了多年的嵌入式,被面试过,也面过不少新人,下面这些是面试中很常见的一些问题及答案,答案可以根据自己的经验自己思考下。--持续补充并更新

weixin_37553721的博客 6025

车辆横向控制MPC实战:从‘老王模型’到CasADi求解的保姆级避坑指南

本文详细解析了车辆横向控制MPC的实战应用,从经典动力学模型选择到CasADi求解器的优化配置,提供了一套完整的避坑指南。重点介绍了车辆动力学模型的验证要点、CasADi环境的高效配置技巧以及MPC问题建模的核心要素,帮助开发者快速实现稳健的横向控制方案。

weixin_42524499的博客 346

OD用栈回溯法找程序流程点

前言看别人操作时, 人家能通过栈回溯,找到流程点(e.g. Show Dialog, Click Button) 我自己做的时候, 和人家的上下文不一样. 自己做了下试验, 原来必须要用trace into(CTRL+F11), 才行.记录程序启动后, 在流程点即将进行前, 在OD中先停住, 打开run trace, 再trace into, 然后在进行流程操作. 等流程进行完(e

博客标题不能为空 7175

如何用SoulChat2.0快速克隆你的心理咨询师?手把手教你搭建AI数字孪生体

本文详细介绍了如何利用SoulChat2.0框架快速构建心理咨询师的AI数字孪生体。通过其核心PsyDT技术,仅需少量真实案例即可合成风格数据并微调大模型,从而低成本地创建能高度模仿特定咨询师语言风格和专业技术的AI分身,适用于预约访谈、心理教育等辅助场景,实现高效的人机协作。

julia4scientist的博客 979

OD的简单使用以及一个小程序的破解

OD的简单使用一、下载二、窗口三、调试打开方式调试中我们经常要用到的快捷键有这些:附:破解(绕过)一个CRACKME.EXE1、分析程序2、使用OD打开3、寻找 MessageBoxA()函数在何处被调用找到了 MessageBoxA()函数在何处被调用,如下图所示分析反汇编程序接下来是重点操作(思路)成功!!!!!另一种方法:直接修改程序汇编代码 从这这篇博客开始开一个新坑:reverse 的入门 OD(OllyDbg)和IDA Pro这两款工具分别是调试逆向的两款重要工具。虽然两者都兼容动态和静态的调试

tell_me_404的博客 3135

npm报错 npm WARN deprecated....的问题解决方式

报错 :npm WARN deprecated … 现象:无法进行有效的vue项目的部署以及npm install 命令的执行。 原因一:版本问题 说明:由于npm的版本过低或者过高导致的报错 检查版本: npm -v 如果版本是比较旧的,或者是最新的,这里可以进行对npm的更新和回退。 更新npm版本: npm updated -d 查看可以更新的版本 npm install -g npm 默认安装最新版本 安装回退指定的版本: npm updated -d 查看所有的版本 npm -g i.

任聪聪的博客 16万+

SPMI总线协议(一)

系统电源管理接口( System Power Management Interface简称SPMI)是一种双线串行接口,用于连接片上系统(SoC)处理器系统的集成电源控制器(PC)与一个或多个电源管理集成电路(PMIC)电压调节系统。SPMI 使系统能够使用单个 SPMI 总线动态调整 SoC 内部电压域的电源和衬底偏置电压。移动设备和其他便携式设计正日益采用系SPMI)协议,实现多主多从系统,根据实时系统需求监测和动态控制供电电压。设计人员可以在系统级实现更低的功率。

qflook的博客 888

逆向分析——破解一个CrackMe

破解CrackMe初体验

Boom!脑洞大爆炸的博客 8271

CAN(2)-GD32

GD32中CAN的特征。

小柚子的博客 554

CrackMe004:Darkde工具+.MAP辅助OD调试

下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路、注册机实现和逆向中常用的知识整理 注意:逆向前一定要先操作一下软件,熟悉软件的运行现象;逆向一定要自己操作一遍,看是很难看会的(高手除外) CrackMe004:Darkde工具和.MAP文件 CrackMe004和CrackMe005是同一个作者用Delphi写的小程序;由于平时逆向C++程序多一些,因此CrackMe005就没有逆向 1.现象 程序输入用户名和验证码后,没有提示信息,也没有验证按钮弹出,此时CrackMe001的关键字

可乐松子的博客 1233

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OD破解Crackme1.exe密码

以前做的一个小练习,单步运行了好多遍才捋清楚OD打开crackme,在跳转地址00401060设置断点输入口令单步运行(每次输入不同长度的口令) 经过多次尝试发现EDX中存放的数据为输入口令的长度,而ECX始终为14,应该是正确口令的长度。所以输入长度为14的字符串12345678901234继续单步运行,情况如下: 输入口令存入ESI中,将ESI+EDX的值存入AL,ESI

小白菜的博客 6051

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Crackme2.

题目:Crackme2.exe Rules: 1. Do not Patch 2. Sniff a serial for your name 3. write a keygen   1.可以通过修改跳转语句或者判断语句的16进制实现. 2.用OD进行动态调试 在如图的地方设置断点,然后F8单步运行,经过几次循环后,进行比较.这时可以查看ecx可以看到里面时存储的是生成的密钥. 如图...

qq_42094367的博客 715

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

CrackMe019:IDA和OD联合调试

下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路、注册机实现和逆向中常用的知识整理 注意:逆向前一定要先操作一下软件,熟悉软件的运行现象;逆向一定要自己操作一遍,看是很难看会的(高手除外) CrackMe019:IDA和OD联合调试 CrackMe018和CrackMe019是一个作者编写,都是VC6.0的程序 1.程序基本信息 需要输入正确的用户名和密码才可以破解程序,有错误提示就很容找到处理逻辑的主要函数(如果不明白,可以参考CrackMe001) 2.IDA分析 使用test12

可乐松子的博客 835

od重新下载与crackme005记录

前话我吐槽一下,我第一次用的od,功能特别少,具体为什么这么少我也没太搞懂,其实也是做题的时候发现没有检索到中文和我的注释,都不会在点击查找字符串后显示出来,可我做题的起始步骤也就是从字符串下手,于是上网搜,是缺少了插件?也没少中文搜索的dll啊,我看到有人回答重新下载一个,于是我就重下了(笑哭),就解决了,上一个我也没删,大致对比了一下,真的没发现少了什么,大多数都有,(可能就是我没发现吧),其...

qq_45877754的博客 392

160个Crackme008

文章目录查壳OD分析校验密码 接下来分析008这个crackme,难度是一颗星 查壳 VB写的 没有壳。既然是VB写的程序,那IDA就帮不上什么忙了,VB的反编译工具反编译出来的源码我也看不懂,算了直接上OD吧。 OD分析 首先根据错误提示查找到字符串跟进去, 这里是报错的地方,一步一步往上跟,看看到底是什么地方跳转到这里的。 紧接着就看到这个地址的跳转是来自于00401D9D,OK继续跟...

鬼手的博客 668

CRACKME 3:来源于《逆向工程核心原理 第八章》

前言:算是第一次正规的逆向了吧,该程序用vba语言编写,逆向其算法。怎么说呢,这个程序逆向了大概三天,这三天考了三门期末,本来对期末真没有以前那种热情,该水水就水水,考完回来继续分析这个程序,在这上面的时间三天至少花了20个小时,从一开始一脸蒙蔽一窍不通到基本逆向出其算法和vba函数的作用,可以说是值得的,下面就总结一下自己的收获: 一、逆向前的准备工作: 了解其是什么语言编写,然后去查该语言的...

OneTrianee的博客 662

CrackMe018:IDA一步解决

下面是网上的160个CrackMe的部分逆向笔记,包括逆向思路、注册机实现和逆向中常用的知识整理 注意:逆向前一定要先操作一下软件,熟悉软件的运行现象;逆向一定要自己操作一遍,看是很难看会的(高手除外) CrackMe018:IDA一步解决 写CrackMe160中每一个程序的逆向笔记很耗费时间,而且有很多是重复的;写笔记的目的是梳理一下常规逆向的套路,最终目的是逆向大型程序 提示:Windows上大型程序很多都是C++或者Java编写的,为了提高效率,从这个逆向开始,VB和Delphi程序基本上

可乐松子的博客 508
上一篇: CRACKME 1: 破解 WINDWS 对话框程序,修改对话框字符串
下一篇: CRACKME 3:来源于《逆向工程核心原理 第八章》
OneTrianee
博客等级 码龄9年 32粉丝 152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值