OllyDbg技巧学习

1 尝试在反汇编代码中找到一个函数的二进制代码

    有的时候需要一个函数的二进制代码,注入到另外的一些地方;以此程序为示例,

八叉树的C++实现与原理解析-CSDN博客

Ollydbg打开可执行文件,我想先找到此函数的二进制代码体,

createOctree(OctreeNode<T> * &root,int maxdepth,double xmin,double xmax,double ymin,double ymax,double zmin,double zmax)

一直在里面晃来晃去的找, 在第四列会给出一些函数的名字,但是确实没有 createOctree 这个文本;

执行如下的菜单,

弹出如下的窗口,

 

这是程序中包含的所有文本,没有 createOctree ;

那么系统的函数名,像调用的Win32 API会被识别标记,自己的函数名,应该是编译之后变成了某种标记,不再是文本的函数名;

然后又找;发现,在第4列,有Arg1、Arg2这些东西,这应是函数的参数,被识别出来;

createOctree函数,有8个参数,代码只有此函数有8个参数,找到一个有Arg1-Arg8的Call,这个被Call的地址,应该就是createOctree函数的起始地址;

上图就是一个有8个参数的Call,0040E764,这地址应该就是 createOctree函数的起始,转到此地址,

上图应该就是 createOctree函数的起始;

那么如何找到函数的结尾呢;应该是找到call对应的ret,就结束了;问题是此call里面又包含多个call,不知怎么找到对应函数起始的call的ret;下回再说;

然后看一下代码里有 system("cls"); 这是从代码调用一个DOS命令;

在反汇编代码中识别出字符串 "cls",看到有2个地方都调用了0040C3CE,

转到0040C3CE,这里应该就是system("cls")这个调用的执行部分的开始,

 

然后往下看一下,看到一个ret,在ret之前有command.com、cmd.exe这些字样,这就对了,cls是一个DOS命令,DOS命令是属于command.com或者cmd.exe;到这个ret,system("cls")这个语句的执行部分也许就结束了;

 

有时间继续; 

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

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

相关文章

数据分析智能体:让AI成为你的数据科学家

数据分析智能体&#xff1a;让AI成为你的数据科学家 &#x1f31f; 嗨&#xff0c;我是IRpickstars&#xff01; &#x1f30c; 总有一行代码&#xff0c;能点亮万千星辰。 &#x1f50d; 在技术的宇宙中&#xff0c;我愿做永不停歇的探索者。 ✨ 用代码丈量世界&#xff0c…

K8s与Helm实战:从入门到精通

Kubernetes 简介 Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用。最初由 Google 设计并捐赠给云原生计算基金会(CNCF),现已成为容器编排领域的事实标准。 核心功能 自动化容器部署:支持声明式配置和自动化部署,减少人工干预。…

根据ARM手册,分析ARM架构中,原子操作的软硬件实现的底层原理

目录 1.问题背景&#xff1a; 2.原子操作 2.1 硬件操作 2.1.1 LDREX/LDXR指令 2.1.2 STREX/STXR指令 2.2 软件操作 2.3 软件硬件操作的各性能对比 3.总结 1.问题背景&#xff1a; 我们知道&#xff0c;RTOS的任务调度算法是抢占式优先级调度算法。 既然是抢占了&…

iOS 抓包工具选择与配置指南 从零基础到高效调试的完整流程

iOS 抓包&#xff1a;复杂网络调试的必要技能 随着移动端应用越来越依赖网络交互&#xff0c;iOS 抓包作为核心调试工具之一&#xff0c;变得尤为重要。无论是调试 App 与后端的接口通信、排查 HTTPS 请求加密问题&#xff0c;还是定位网络连接超时、请求异常&#xff0c;抓包都…

Java使用FastExcel实现Excel文件导入

依赖配置 (Maven pom.xml)<dependencies><!-- FastExcel 核心库 --><dependency><groupId>cn.idev.excel</groupId><artifactId>fastexcel</artifactId><version>1.0.0</version></dependency><!-- Apache POI…

【60】MFC入门到精通——运行后 button按键上不显示 按键名, 控件上的文字不显示

文章目录运行后&#xff0c;button按键上不显示 “Test”原因是属性&#xff0c;图标–>True&#xff0c;改为False就好了。

抖音回应:没有自建外卖,就是在团购的基础上增加的配送功能

今年以来&#xff0c;外卖行业竞争愈加激烈&#xff0c;市场格局风云变幻。在这一背景下&#xff0c;外卖行业动向备受关注。近日&#xff0c;针对抖音上线团购版外卖的消息引发公众关注。为此&#xff0c;大公科技以商家身份咨询了抖店客服&#xff0c;对方回应称&#xff0c;…

中间件安全攻防全解:从Tomcat到Weblogic反序列化漏洞介绍

本文仅用于技术研究&#xff0c;禁止用于非法用途。 Author:枷锁 文章目录什么是中间件中间件漏洞(1) Tomcat(2) Weblogic(3) JBoss漏洞什么是中间件 中间件&#xff08;Middleware&#xff09;是指一种软件组件&#xff0c;其作用是在不同的系统、应用程序或服务之间传递数据…

现代前端开发流程:CI/CD与自动化部署实战

目录 引言现代前端开发面临的挑战CI/CD基础概念前端CI/CD流程设计实战案例&#xff1a;构建前端CI/CD管道自动化部署策略监控与回滚机制最佳实践与优化建议总结 引言 随着前端技术的飞速发展&#xff0c;现代Web应用变得越来越复杂。前端项目不再只是简单的HTML、CSS和JavaS…

MySQL EXPLAIN深度解析:优化SQL性能的核心利器

MySQL EXPLAIN深度解析&#xff1a;优化SQL性能的核心利器 引言&#xff1a;数据库性能优化的关键 在数据库应用开发中&#xff0c;SQL查询性能往往是系统瓶颈的关键所在。当面对慢查询问题时&#xff0c;EXPLAIN命令就像数据库工程师的X光机&#xff0c;能够透视SQL语句的执行…

Sentinel配置Nacos持久化

前言&#xff1a; Sentinel在使用控制台时进行配置是纯内存操作&#xff0c;并没有提供默认的持久化措施&#xff0c;一旦服务重启会导致配置的流控、熔断等策略失效。Sentinel官方提供了多种持久化方式如&#xff1a;Redis、Zookeeper、Etcd、Nacos以及其他方式等。此文以Naco…

Java学习第五十五部分——在软件开发中的作用

目录 一. 前言提要 二. 主要作用 1. 跨平台能力&#xff08;核心优势&#xff09; 2. 企业级应用开发&#xff08;主导领域&#xff09; 3. 安卓应用开发&#xff08;关键角色&#xff09; 4. 大数据处理&#xff08;重要组件&#xff09; 5. 嵌入式系统 & IoT 6. 桌…

Keil编译文件格式转换全解析

目录 介绍 Keil自带常用命令概览 fromelf介绍 Keil可烧录文件概述 核心差异概览 .axf文件获取 .hex文件获取 .bin文件生成 ​编辑 补充:生成可执行文件的汇编代码&#xff08;.asm文件&#xff09; Keil自带常用命令详解 核心功能​​ ​​格式转换​​ ​​输出路…

World of Warcraft [CLASSIC] The Ruby Sanctum [RS] Halion

World of Warcraft [CLASSIC] The Ruby Sanctum [RS] Halion 红玉圣殿海里昂 清小怪小德可以睡龙类 打完3个副官就激活 【海里昂】 第一阶段&#xff1a;外面环境&#xff08;现实位面&#xff09;火抗光环 第二阶段&#xff1a;内场环境&#xff08;暗影环境&#xff09;暗…

Excel基础:格式化

Excel格式化是指对单元格内容进行视觉呈现方式的调整&#xff0c;它不改变实际数据内容&#xff0c;但能显著提升数据的可读性&#xff0c;根据格式应用的范围&#xff0c;格式可分为"单元格格式"和"数据格式"。本文介绍了这两类格式的主要设置方法&#x…

基于STM32单片机车牌识别系统摄像头图像处理设计的论文

摘 要 本设计提出了一种基于 32 单片机的车牌识别系统摄像头图像处理方案。该系统主要由 STM32F103RCT6 单片机核心板、2.8 寸 TFT 液晶屏显示、摄像头图像采集 OV7670、蜂鸣器以及 LED 电路组成。 在车牌识别过程中&#xff0c;STM32F103RCT6 单片机核心板发挥着关键的控制作用…

React hooks——useCallback

一、简介useCallback 是 React 提供的一个 Hook&#xff0c;用于缓存函数引用&#xff0c;避免在组件重新渲染时创建新的函数实例&#xff0c;从而优化性能。1.1 基本语法const memoizedCallback useCallback(() > {// 函数逻辑},[dependencies] // 依赖项数组 );第一个参数…

跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer

目录 一、从深度学习到边缘部署&#xff0c;手势识别的新突破 &#xff08;一&#xff09;可穿戴设备 边缘计算 个性化医疗新可能 &#xff08;二&#xff09;肌电信号&#xff08;sEMG&#xff09;&#xff1a;手势识别的关键媒介 &#xff08;三&#xff09;挑战&#…

无线调制的几种方式

不同的调制方式在 频谱效率、抗干扰能力、功耗、实现复杂度 等方面存在显著差异。以下是主要调制方式的对比分析&#xff1a;一、调制方式的核心区别调制方式原理频谱效率抗干扰能力功耗典型应用AM改变载波振幅低差&#xff08;易受噪声影响&#xff09;较高广播电台FM改变载波…

五分钟系列-网络性能测试工具iperf3

目录 一、iperf3 是什么&#xff1f; 二、为什么需要 iperf3&#xff1f; 三、iperf3 的主要测量指标 四、安装 iperf3 五、基础使用模式&#xff08;命令行参数示例&#xff09; 1. 启动 Server 端 (必须) 2. 启动 Client 端进行测试 (最常见) 基本 TCP 测试 (10秒) …