ollydbg逆向基础

news/2024/10/19 2:17:17/文章来源:https://www.cnblogs.com/maqun/p/18472895

实验目的

理解编译过程和调试信息,了解debug模式和release模式的exe进行逆向分析的过程。尝试多种方法找到main函数。

实验环境

系统:Windows 11

软件:VS、ollydbg

实验代码

#include <stdio.h>

int main()

{

printf("hello maqun");

return 0;

}

实验过程

  1. 查找代码字符

在debug文件夹拖拽exe文件至ollydbg

打开如图示菜单

点击hello maqun 语句跳转到相应位置

添加断点,发现程序运行出猜想内容,找到 retn 由于函数简单容易找到main函数

成功找到

  1. 查找栈的回调

  1. 找用户注释或标签(此函数未找到)

  1. 找函数调用

Release版本

5、函数回调

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/816515.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PyCharm配置PyTorch环境(完美解决找不到Conda可执行文件python.exe问题)

出现的问题 以下是第一次踩坑的流程,具体解决方法附在后面 新建一个python项目,如图所示设置相关信息设置项目名称和位置 interpreter type(python解释器类型)==>自定义环境 环境==>Generate new,创建一个新环境 类型==>conda python==>3.11,如下所示,在创建好…

07-SQL注入(联合注入、报错注入、盲注)

1、在不依赖于DVWA后端数据库的情况,如何通过前端验证的方法判断DVWA中的注入点是数字型注入还是字符型注入?(提示:用假设法进行逻辑判断)在dvwa靶场中SQL Injection模块输入1 and 1=1如果是数字型注入输入内容没有被网站进行任何处理,可以查询到 输入内容被网站进行处理…

BUUCTF之Sandbox-bad

BUUCTF之Sandbox-bad 首先针对sandbox,我们需要有一个大概的认知,他是在一个代码执行环境下,脱离种种过滤和限制,最终成功拿到shell权限的过程,通常我们采用orw的方式来获取flag.orw全称only read write,只使用read write函数将flag读取并且打印,shellcode分为三个步骤使用…

trufflehog敏感信息搜集 核心框架代码分析

前言:trufflehog敏感信息搜集 核心框架代码分析 调度图代码思考 目前有一个需求,想要实现golang代码实现生产者消费者的模型

面向城市运行“一网统管”的实景三维示范应用

在新型智慧城市建设的浪潮中,实景三维技术正成为推动城市治理现代化的重要力量。“一网统管”作为城市运行管理的新理念,强调了跨部门协作和数据共享,而实景三维技术为此提供了强有力的支撑。本文将探讨实景三维技术如何赋能“一网统管”,推动智慧城市时空基础设施建设。一…

微信小游戏分包

简介微信分包是针对unity转成小游戏的c#代码分包,小程序是js代码,安卓的c#解析成js功能比较好,一般不分包可以手机预览扫码进入游戏,但是苹果解析js功能不太好,需要分包,提升运行性能,苹果还需要开高性能模式。 如果分包后苹果仍然进不去,那么换一台苹果手机再试试。(…

Junit单元测试—Maven

JUnit 单元测试常用注解 测试顺序大概流程 //第一步: 创建测试类, 测试类的类名一般是: 被测试类类名 + Test public class MathUtilsTest {/*第二步: 为了保证每个方法独立, 为测试的每个方法单独创建测试方法测试方法要求(规格):(1) 不能有参数(2) 不能返回值(3) 方法名建议…

语法基础

标识符 标识符就是名字,函数名、变量名、类名、对象名、常量名等。 只能有字母、数字、下划线组成,不能以数字开头。尽量不要使用下划线开头。 不能使用C++关键字作为标识符。 大小写敏感。 标识符命名规范: 标识符要见名知意。 普通变量命名:类型缩写+单词(首字母大写)。…

无线串口模块—配置软件以及串口助手的使用

1、适用型号 本文适用于无线串口模块调试。 文中的软件界面截图,可能会由于软件系列、软件版本不同而略有区别。 2、使用参数设置软件RF_Setting 使用方法(以E32-433TBL-01型号lora模块开发测试套件说明) 说明:E32-433TBL-01是贴片串口模块结合USB转TTL串口底板形成的无线模…

C#线程6---并发集合

简介:编程需要对基本的数据结构和算法有所了解。程序员为并发情况选择最合适的数据结 构,那就需要知道很多事情,例如算法运行时间、空间复杂度,以及大写0标记法等。在不 同的广为人知的场景中,我们总知道哪种数据结构更高效。对于并行计算,我们需要使用适当的数据结构。这…

『模拟赛』多校A层冲刺NOIP2024模拟赛08

『模拟赛记录』多校A层冲刺NOIP2024模拟赛08Rank 还行A. 传送 (teleport) 签。 单元最短路,先想 Dijkstra。发现这道题还有个不同寻常的移动方式,可以以 \(min\left(|x_i-x_j|,|y_i-y_j|\right)\) 的代价从 \(i\) 移动到 \(j\)。暴力连边是 \(\mathcal{O(n^2)}\) 的,时间空间…