BUUCTF靶場 [reverse]easyre、reverse1、reverse2

工具:

DIE:下載:https://download.csdn.net/download/m0_73981089/89334360
IDA:下載:https://hex-rays.com/ida-free/

[reverse]easyre

首先查殼,用DIE看程序信息,看到無殼且是64位的程序,用其相應的IDA打開

用IDAx64打開,查看源碼,點開主函數(main)

?發現界面是直接由flag字眼,直接點開

?便得到flag

?

?

[reverse]reverse1

拿到文件,先查殼,用DIE根據下圖,可以判斷該程序無殼,且程序也是64位

?將其用IDA64位打開進行反匯編

看主函數(main)這里是main 0,打開便看到匯編碼顯眼的flag字眼

還看到這個{}非常像flag

?但是不是

回滾到看到顯眼flag字眼:

我是小白😳,看的有點困難😅,直接再此界面看偽代碼(按F5鍵)

?有點編程小基礎應該能猜到紅色框是輸出printf(print),黃色框框應該是輸入scanf

而Str1是我們所需要輸入的內容,點開Str2,發現是?{hello_world}字符串

再分析上端代碼

大概意思是:

用for循環來遍歷Str2這個字符串,如果超過Str2長度則跳出循環,如果再Str2能找到ASCII碼為“111”,則把其替換為ASCII碼為“48”的字符

?如果不記得ASCII碼可以選中ASCII碼鍵盤按“R”鍵,會顯示ASCII對應的字符,如圖

?那這樣就大概知道了,只需要把Str2“?{hello_world}”的o替換為數字0,則是本題的flag

提交成功啦!!!?

[reverse]reverse2

剛開始我將文件用010 editor打開,發現了一串很像flag的字符串

輸進去,我以為我以為意外解,哇趣,不對,騙人!?

仔細想想,這是一道逆向題,不用任何相關文件就能解出flag概率還是很小的?😳

回歸正題:

老規矩,先查殼,用DIE工具,沒有殼,程序為64位

?還是用IDAx64位打開,進行反匯編

還是先查看主函數的匯編代碼,大致看了一下,也看到flag的字眼?

(看不懂匯編代碼的可以跟我操作哦)所以我們先查看偽碼(按F5),慢慢分析

s2是我們需要輸入的但是flag我們不知道,點擊flag進行查看:

看來flag是{hacking_for_fun},等等先別急,我們代碼還沒有分析呢

輸入輸出由一些些C語言基礎或者C++基礎應該是可以看懂的,這里就不過多解釋啦

直接看條件

大概意思是:

如果pid不為空,則會執行waitpid這個函數(此不是我們需要重點抓住的),看后邊,如果pid為空則for循環遍歷flag這個字符串,如果flag上的字符加上從0到其長度的等于ASCII碼為105或者114,則改為ASCII碼為49

(是不是上一題很像啊,嘻嘻~)

如果不知道ASCII碼是不是可以選其ASCII碼然后按(R)鍵

更加一目了然啦!!!?

所以最終的flag是將原本的flag“{hacking_for_fun}”所含有“i”?和 “r”字符替換為數字“1”,這樣就可以拿到本題的flag啦!!!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/13766.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/13766.shtml
英文地址,請注明出處:http://en.pswp.cn/web/13766.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

如何理解HTML語義化

如何理解HTML語義化 HTML語義化,簡單來說,就是使用HTML標簽來清晰地表達頁面內容的結構和意義,而不僅僅是作為布局的容器。它強調使用具有明確含義的HTML標簽來描述頁面元素,而不是僅僅依賴CSS來實現頁面的外觀和布局。 理解HTM…

android 權限相關定義解釋

1 PID :程序一運行系統就會自動分配給進程一個獨一無二的PID,內部線程可以共享 該pid的分配的內存數據 2 UID:User Identifier,UID在linux中就是用戶的ID,表明時哪個用戶運行了這個程序,主要用于權限的管理。內部共享各…

【oracle003】圖片轉為字節、base64編碼等形式批量插入oracle數據庫并查詢

1.熟悉、梳理、總結下Oracle相關知識體系 2.歡迎批評指正,跪謝一鍵三連! 資源下載: oci.dll、oraocci11.dll、oraociei11.dll3個資源文件資源下載: Instant Client Setup.exe資源下載: oci.dll、oraocci11.dll、oraoc…

Vue ref訪問這些元素或組件的實例

可以在任意DOM元素上使用ref屬性&#xff0c;然后在Vue實例中通過this.$refs訪問這個DOM元素 1.訪問子組件實例&#xff0c;可以調用方法或者獲取值 <template><div><input type"text" ref"myInput" /><button click"focusInp…

ubuntu手動替換源后,更新源時提示“倉庫.... jammy Release“ 沒有Release文件

問題如圖所示&#xff0c;由于問題不好定位&#xff0c;我就從替換源&#xff0c;以及解決錯誤提示這兩個步驟&#xff0c;來解決其中可能存在的問題。 1、替換源 這一步驟&#xff0c;網上的資料可以搜到很多&#xff0c;我跟著做了之后&#xff0c;總會冒出來各種各樣的小問…

皮影戲藝術品3D沉浸式展館提供非同一般的趣味體驗

引領藝術展示的未來&#xff0c;深圳華銳視點融合多年的web3d項目制作經驗&#xff0c;傾力打造3D虛擬藝術品展館在線編輯平臺&#xff0c;為您提供一個超越時空限制的線上藝術展示平臺。 一、極致視覺盛宴 我們擁有領先的美術團隊&#xff0c;運用先進的web3D開發技術&#xf…

可能是最適合PS的AI插件,設計師大救星!StartAI初體驗!不是恰飯

這款軟件雖然有一些功能需要完善&#xff0c;比如&#xff1a; 1&#xff1a;生成圖片產品海報&#xff0c;會出現圖隨意出現&#xff0c;跟設計圖起沖突&#xff0c;需要PS才可以正常使用它。 2&#xff1a;即使開會員也需要排隊生成。 3: 還有&#xff0c;會員沒有更加好用的…

vue3結合element-plus之如何優雅的使用表單組件

背景 在日常開發中,我們會經常使用 element-ui 或者是 antdesign 或者是 element-plus 等組件庫實現搜索功能 這里就需要用到相關表單組件 下面就以 element-plus 為例,我們實現一個搜索功能的組件,并且隨著屏幕尺寸的變化,其布局也會跟隨變化 最終大致效果如下: 這里…

詳解VLSM技術

在現代網絡設計中&#xff0c;如何高效地分配和管理IP地址是一個關鍵問題。傳統的子網劃分方法雖然簡單&#xff0c;但在實際應用中常常導致IP地址的浪費。為了應對這一問題&#xff0c;VLSM&#xff08;Variable Length Subnet Mask&#xff0c;可變長子網掩碼&#xff09;技術…

C++:set和map的底層封裝模擬實現

目錄 底層對比&#xff1a; 底層紅黑樹結構和set、map&#xff1a; 底層模擬&#xff1a; 傳值調用&#xff1a; 迭代器&#xff1a; operator &#xff08;&#xff09; find函數 operator&#xff08;&#xff09; 、仿函數 set和map的仿函數 &#xff1a; 圖解&a…

地平線-旭日X3派(RDK X3)上手基本操作

0. 環境 - win10筆記本 - RDK X3 1.0&#xff08;地平線旭日X3派&#xff0c;后來改名為代號RDK X3&#xff09; 1. 下載資料 https://developer.horizon.ai/resource 主要下載鏡像 http://sunrise.horizon.cc/downloads/os_images/2.1.0/release/ 下載得到了 ubuntu-prei…

vs無法打開或包括文件”QTxxx“

vs創建項目時默認引入core、gui、和widgets等模塊&#xff0c;在需要網絡通訊或者圖表等開發時需要添加相應模塊。 點擊擴展 -> QT VS Tools -> QT Project Setting->Qt Modules&#xff0c;添加相應模塊即可

linux自動部署項目的腳本(從git中拉取并執行)

名字&#xff1a;bootStart.sh ?#!/bin/sh #記事本打開&#xff0c;修改編碼格式為utf8&#xff0c;可解決上傳centos后中文亂碼問題 echo echo 自動化部署腳本啟動 echo echo 停止原來運行中的工程 APP_NAME項目名 # 查詢系統中正在運行的項目進程&#xff0c;并停止進程 …

Ubuntu系統版本查看辦法

Ubuntu系統版本查看辦法 1. 使用 lsb_release 命令2. 查看 /etc/issue 文件3. 使用 hostnamectl 命令4. 查看 /etc/os-release 文件5. 查看內核版本6. 使用 neofetch 命令&#xff08;如果已安裝&#xff09;總結 在 Ubuntu 操作系統中&#xff0c;查看當前系統版本的詳細信息可…

頭歌05-排列樹實驗-旅行商問題

""" 題目&#xff1a;設有n個城市組成的交通圖&#xff0c;一個售貨員從住地城市q出發&#xff0c;到其它城市各一次去推銷貨物&#xff0c;最后回到住地城市。 要求&#xff1a;假定兩個城市a&#xff0c;b 從a到b的路程花費w_ab是已知的&#xff0c;問應該怎樣…

奇瑞控股攜手契約鎖推動客戶、供應商及內部業務全程數字化

奇瑞控股集團是安徽省排名第一的制造業企業&#xff0c;同時入選中國企業家協會發布的中國500強、《財富》中國500強&#xff0c;連續21年位居中國品牌乘用車出口第一。 面對汽車行業“新四化”主題及“數字化”時代變革&#xff0c;奇瑞控股持續創新求變&#xff0c;率先引入電…

WIndows常用輔助工具命令

文章目錄 目的pingnbtstatnetstattracert工作原理應用方案ipconfig作用arp作用at作用nslookup作用net作用格式用法ftp作用參數說明telnet作用參數說明tasklist作用參數說明結合篩選器目的 主要是整理windows 下常用cmd命令, 方便我們調試, 分析, 定位解決工程項目中遇到問題…

Java18的新特性介紹

一、概況 Java 18是Java編程語言的最新版本&#xff0c;它于2022年9月發布。Java 18引入了許多新特性和改進&#xff0c;以下是其中一些重要的新特性。 元編程功能&#xff1a;Java 18引入了元注釋和元類型聲明的功能&#xff0c;使開發人員能夠在編譯時對注解進行元處理。這為…

【C++】位圖/布隆過濾器+海量數據處理

目錄 一、位圖 1.1 位圖的概念 1.2 位圖的實現 1.3 位圖的應用&#xff08;面試題&#xff09; 二、布隆過濾器 2.1 布隆過濾器的引入 2.2 布隆過濾器概念 2.3 布隆過濾器的插入和查找 2.4 布隆過濾器的實現 2.5 布隆過濾器的優點和缺陷 2.6 布隆過濾器的應用&#…

Servlet 的 API

HttpServlet init&#xff1a;當 tomcat 收到了 /hello 這樣的路徑是請求后就會調用 HelloServlet&#xff0c;于是就需要對 HelloServlet 進行實例化&#xff08;只實例一次&#xff0c;后續再有請求也不實例了&#xff09;。 destory&#xff1a;如果是通過 smart tomcat 的停…