Bindiff工具使用-[GDOUCTF 2023]L!s!

news2024/11/27 0:37:32

目录

题目:

学到的点:


题目:

打了GDOUCTF的比赛(被暴打了hhh),学到很多新东西,这里总结一下

Diff的文件是ida数据库文件,选择i64或者idb文件进行Diff

打开附件,有两个文件,一个是ls-original一个是ls-patched,这种可以考虑使用bindiff工具比较文件修改的部分,这里引用大佬的一段话

分析过old.so,做了大量繁琐的逆向工程,比如自定义了很多数据结构、重命名了很多函数。现在有new.so,想充分利用old.so的已有逆向成果。比如,想从old.i64迁移一批名为”Private_*”的函数名到new.i64中。再比如,已经卸掉old.so中的过期时间检查,想快速定位new.so中匹配代码,对之进行静态Patch。二进制比较工具正是为解决此类需求而生的。

这种情况下就可以使用bindiff二进制比较工具。

工具下载地址:https://zynamics.com/software.html

我是用的是win11+IDA7.7+bindiff7,点开后可以直接下载bindiff7.msi,但是不要忘记勾选上面的框框,不然是没法下载的

 具体下载流程可以参考https://www.cnblogs.com/lsdb/p/10543411.html

下载完成就可以在IDA中使用了,拿这题举个例子

Diff的文件是ida数据库文件,选择i64或者idb文件进行Diff

在使用bindiff之前需要将文件先在ida中打开,得到.i64文件。再用.i64文件进行操作

 先打开patched.i64文件(即new.i64),再在Edit->Plugins->BinDiff (Ctrl-6)->Diff Database->选中old.i64

 

 完成了就会显示这样的画面,显示四个窗口,作用分别如下(参考大佬文章)

 Matched Functions :完全匹配的函数
Statics:匹配的一些数据
Primary unmatch: 初级不匹配
Secondary Unmatch :二级不匹配

 Matched Functions窗口时看old文件与new文件相匹配程度,越绿代表匹配度越高,越红代表匹配度越低,可以在本题中找到不那么绿的那一栏,打开它

 

 代码有点乱..与old文件进行相比可以看到多了对lmao进行异或运算,但是异或的值并不知道,看了大佬的wp知道可以用Cyberchef

 得到了flag

学到的点:

Bindiff工具使用,需要i64文件,将old.i64与new.i64进行比较,可以找到不同的地方。具体使用参考:http://blog.nsfocus.net/bindiff/

Cyberchef的使用:https://gchq.github.io/CyberChef/,具体使用可以参考:https://www.secrss.com/articles/12449

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

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

相关文章

【Git 入门教程】第二节、Git基础使用

Git是一个分布式版本控制系统,它可以帮助开发者更好地管理和维护代码。在本文中,我们将介绍Git的最基本操作,如安装Git、初始化仓库、添加文件、提交代码、查看记录等。 一、Git安装 1.下载 要使用Git,首先需要在计算机上安装G…

JavaWeb开发 —— 登录认证校验和异常处理

在 JavaWeb开发 —— SpringBootWeb综合案例 中我们通过实例部门管理以及员工管理中的详细操作。而这篇文章我们将会通过综合实例学习登录认证、登录校验以及异常处理的了解和掌握。 目录 一、基本登录功能 二、登录校验 1. 会话技术 1.1 客户端会话跟踪技术Cookie 1.2 …

iview render函数(vue render函数)

iview 的render函数就是vue的render函数,iview常用在表格里面自定义内容,下面来看render函数常用的配置: 1、 h是createdElement的简写,有3个参数: 语法:render:(h,params)>{} render:(h,params) >…

mulesoft MCIA 破釜沉舟备考 2023.04.25.24(易错题)

mulesoft MCIA 破釜沉舟备考 2023.04.25.24(易错题) 1. An insurance company is using a CIoudHub runtime plane.2. A mule application must periodically process a large dataset which varies from 6 GB lo 8 GB from a back-end database and write transform data lo…

LSTM简单介绍—然后使用LSTM对FashionMNIST数据集处理

文章目录 LSTM 简单介绍LSTM的基本结构LSTM的工作原理输入门遗忘门输出门细胞状态更新输出计算 总结代码实例 LSTM 简单介绍 在自然语言处理、语音识别等领域,长短时记忆网络 (Long Short-Term Memory, LSTM) 已经成为了常用的模型之一。本文将介绍 LSTM 的基本结构…

gpt在线使用-免费的 GPT在哪下载

免费的 GPT(Generative Pre-trained Transformer) 。现在您可以免费体验我们的 GPT 技术,来让您的业务或项目更加智能。 GPT 是一种基于最前沿的自然语言处理技术,它展现出了令人惊叹的预测能力和交互性能。我们的 GPT 是在世界顶…

警惕读书无用论,要知道一个人最可怕的就是精神世界的贫瘠和荒凉

孔乙已是鲁迅笔下人物,穷困流倒还穿着象征读书人的长衫,迁腐、麻木。最近,大家自我调佩是“当代孔乙己”,学历成为思想负担,找工作时高不成低不就。 一、社会对于学历和职业之间的关系认知是怎样的? 学历不…

Forefront GPT-4免费版:开启无限畅聊时代,乐享人工智能快感,无限制“白嫖”,还能和N多角色一起聊天?赶紧注册,再过些时间估计就要收费了

目录 前言注册登录方式应用体验聊天体验绘图体验 “是打算先免费后收费吗?”建议其它资料下载 前言 近期,人工智能技术迎来重大飞跃,OpenAI的ChatGPT等工具成为全球数亿人探索提高生产力和增强创造力的新方法。人们现在可以使用人工智能驱动…

绩效管理系统有哪些推荐?

绩效管理系统有哪些推荐?市面上的绩效管理系统五花八门,这就来给大家推荐几款优质的! 一、如何选择绩效管理系统 在选择绩效管理系统之前,需要先考虑以下几个问题: 了解你的企业目标和需求:在选择绩效管…

nacos注册中心替换成eureka

背景 项目使用的springcloud、nacos、redis等插件,但是nacos比较重,小项目使用不到,想用一个tomcat部署项目,所以准备用eureka替换nacos; eureka Eureak 是Netflix 开源微服务框架中一系列项目中的一个。Spring Clo…

JVM 垃圾收集器

一,常用的垃圾收集器 如果说收集算法是内存回收的方法论,那么垃圾收集器就是内存回收的具体实现。 如下图为年轻代和老年代的垃圾回收器,划线表示可以同时存在。 1,Serial Serial收集器是最基本、发展历史最悠久的收集器&…

怎么把录音文件转换成mp3格式,3个高效方法

在工作中,我们可能会选择录音来记录会议内容,以便之后整理会议纪要。但是我们知道录音文件的格式千差万别。比如在手机上录制的音频文件通常以M4A、WAV等多种格式存储,然而这些格式可能会存在不兼容的问题,导致我们无法在其他平台…

openEuler Developer Day 2023成功召开!发布嵌入式商业版本及多项成果

【中国,上海,2023年4月21日】openEuler Developer Day 2023于4月20-21日在线上和线下同步举办。本次大会由开放原子开源基金会指导,中国软件行业协会、openEuler社区、边缘计算产业联盟共同主办,以“万涓汇流,奔涌向前…

3DEXPERIENCE MODSIM产品前期概念结构快速开发方案(下) | 达索系统百世慧®

基于3DEXPERIENCE单一数据源、实时多专业协同平台、附加全新CATIA建模方法与MODSIM建模仿真一体化技术,助力产品设计与仿真效率提升,产品多学科性能提升,产品轻量化减重等,全方位赋能产品前期概念结构高效高质开发。 目录 达索系…

利用css实现视差滚动和抖动效果

背景: 前端的设计效果,越来越炫酷,而这些炫酷的效果,利用css3的动画效果和js就可以实现,简单的代码就能实现非常炫酷的效果。 原理: 利用 js监控scrollTop的位置,通过 top定位图片的位置&#x…

halcon灰度积分投影/垂直积分投影

简介:关于灰度投影积分可以用到的场合很多,例如分割字符,分割尺子上的刻度等,适用于有规律的变化这些内容的检测。本文复现了论文《基于深度学习和灰度纹理特征的铁路接触网绝缘子状态检测》中灰度积分投影实现了对绝缘子缺陷位置的检测。见(图1)灰度积分垂直方向投影获得…

JAVAWeb09-WEB 工程路径专题

1. 工程路径问题 先看一个问题 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>base 标签</title> </head> <body> <h1>注册用户~~</h1> <!--解读:1.…

创建型模式-建造者模式

建造者模式 概述 将一个复杂对象的构建与表示分离&#xff0c;使得同样的构建过程可以创建不同的表示 这个模式适用于&#xff1a;某个对象的构建过程复杂的情况 将部件的构造与装配分离&#xff0c;由 Builder 负责构造&#xff0c;Director 进行装配&#xff0c;实现了构…

LeetCode——新手村

目录 前言 一、一维数组的动态和 1、题目 2、代码 二、将数字变成 0 的操作次数 1、题目 2、代码 三、最富有客户的资产总量 1、题目 2、代码 四、Fizz Buzz 1、题目 2、代码 五、链表的中间结点 1、题目 2、代码 六、赎金信 1、题目 2、代码 前言 注册了一个LeetCode的…

10、Mysql常见面试题

Mysql常见面试题 文章目录 Mysql常见面试题一 Mysql索引001 Mysql如何实现的索引机制&#xff1f;002 InnoDB索引与MyISAM索引实现的区别是什么&#xff1f;003 一个表中如果没有创建索引&#xff0c;那么还会创建B树吗&#xff1f; 004 说一下B树索引实现原理&#xff08;数据…