buuctf_RE

[WMCTF2020]easy_re

簡單輸入flag

但是下斷點后,還沒走幾步就報錯退出了。

確實沒有打印的字符串

main函數也看不懂在干嘛

int __cdecl main(int argc, const char **argv, const char **envp)
{__int64 v4; // r13char v5; // r12__int64 v6; // rax_QWORD *v7; // raxvoid *v8; // r12__int64 v10; // rcx_QWORD *v11; // rdxconst char *v12; // raxint v13; // ebx__int64 v14; // rdivoid *v15; // rdivoid *v16; // rsivoid *Block; // [rsp+40h] [rbp-168h] BYREFCHAR Filename[4]; // [rsp+50h] [rbp-158h] BYREFchar Src[268]; // [rsp+54h] [rbp-154h] BYREFuintptr_t StackCookie; // [rsp+160h] [rbp-48h]StackCookie = qword_4192E8;v4 = argc;v5 = 0;GetModuleFileNameA(0i64, Filename, 0x104u);   // 獲取當前模塊名到Filenameif ( *(_DWORD *)Filename == 0x5C3F5C5C )      // Filename前四個字節==0x5c3f5c5cmemmove(Filename, Src, strlen(Src) + 1);    // 將Src移動到Filenamev6 = 1i64;if ( (int)v4 > 1 ){while ( strcmp(argv[v6], "--err2out") ){if ( ++v6 >= v4 )goto LABEL_8;}v5 = 4;}
LABEL_8:if ( (unsigned int)opera1(Filename, v5) )return 1;v7 = malloc(8i64 * ((int)v4 + 2));v8 = v7;if ( !v7 ){fprintf(&iob[2], "Panic: Cannot reallocate argv");return 1;}v10 = 1i64;*v7 = *argv;                                  // 重新分配argv數組v7[1] = "--";if ( (int)v4 > 1 ){v11 = v7 + 2;do{v12 = argv[v10++];                        // 原始argv復制到新的里面*v11++ = v12;}while ( v10 < v4 );}Block = qword_419A88;v13 = ((__int64 (__fastcall *)(void **, _QWORD, _QWORD, _QWORD, void *, _QWORD, int, _QWORD))opera2)(&Block,0i64,0i64,(unsigned int)(v4 + 1),v8,0i64,1,0i64);opera3((char *)Block);if ( dword_419A78 )                           // 清理和釋放資源{opera3((char *)qword_419A88);qword_419A88 = 0i64;if ( qword_419A90 ){v14 = qword_419AB8();qword_419BD0(qword_419A90);qword_419AC8(qword_419A90);qword_419A90 = 0i64;qword_419BD0(v14);}FreeLibrary(hLibModule);hLibModule = 0i64;DeleteCriticalSection(&CriticalSection);dword_419A78 = 0;}v15 = ::Block;                                // 釋放鏈表節點if ( ::Block ){do{v16 = *(void **)v15;if ( *((_QWORD *)v15 + 1) ){if ( (unsigned int)((__int64 (*)(void))opera4)() )perror("rmtree failed");v15 = ::Block;}free(*((void **)v15 + 1));free(v15);v15 = v16;::Block = v16;}while ( v16 );}free(v8);return v13;
}

應該就是要調試的

然后放到x64dbg

re學習筆記(69)WMCTF2020 - easy_re_69re-CSDN博客

看雪那個帖子解壓call有字符串script(解壓call之后出現的字符串可能是他帖子程序的解壓代碼了所以不考慮

所以x64dbg載入,搜索script字符串定位到關鍵位置

在script解密后的call函數下斷點,運行,得到flag。

一般都是在這個里面。

[watevrCTF 2019]Timeout

修改一下后綴

翻到關鍵函數


?

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

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

相關文章

python計算開始時間到結束時間步長一個小時

為了計算從開始時間到結束時間&#xff0c;每隔一小時的時間間隔&#xff0c;你可以使用Python的datetime模塊來處理日期和時間。以下是一個簡單的例子&#xff0c;它生成從開始時間到結束時間每隔一小時的時間列表。 from datetime import datetime, timedelta# 開始時間 sta…

SylixOS 版本與 RealEvo-IDE 版本對應關系說明

SylixOS 版本與 RealEvo-IDE 版本對應關系說明 SylixOS 版本IDE 版本發布日期1.4.13.1.52017/01/171.5.23.5.12017/10/121.7.13.8.32018/06/221.8.33.9.52018/10/081.9.9-103.9.102020/01/021.11.63.10.22020/05/131.11.73.10.x2020/06/121.12.93.11.02020/09/111.12.11&#…

多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測

多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測 目錄 多輸入多輸出 | MATLAB實現BiTCN(雙向時間卷積神經網絡)多輸入多輸出預測預測效果基本介紹程序設計參考資料 預測效果 基本介紹 Matlab實現BiTCN雙向時間卷積神經網絡多輸入多輸出預測 1.data為數據…

json格式文件備份redis數據庫 工具

背景&#xff1a; 項目組要求使用 json備份redis緩存數據庫內容。 附件里工具是一個包含redis-dump工具的鏡像文件&#xff0c;方便用戶在局域網中使用容器備份redis緩存數據庫。 使用步驟&#xff1a; 解壓tar文件&#xff0c;導入鏡像 docker load < redis_dump_of_my…

【八股系列】HTTP請求特征是什么?

文章目錄 1. HTTP&#xff08;超文本傳輸協議&#xff09;請求具有以下主要特征&#xff1a;1.1 請求行(Request Line):1.2 請求頭(Request Headers):1.3 請求正文(Request Body):1.4 狀態碼(Status Code):1.5 無狀態性(Statelessness):1.6 緩存支持(Cacheability):1.7 方法多樣…

力扣刷題--2535. 數組元素和與數字和的絕對差【簡單】

題目描述 給你一個正整數數組 nums 。 元素和 是 nums 中的所有元素相加求和。 數字和 是 nums 中每一個元素的每一數位&#xff08;重復數位需多次求和&#xff09;相加求和。 返回 元素和 與 數字和 的絕對差。 注意&#xff1a;兩個整數 x 和 y 的絕對差定義為 |x - y| 。…

JWT下token過期的處理策略

策略1 最簡單最直接的方式 用戶再次輸入他們的登錄憑證&#xff0c;如用戶名和密碼&#xff0c;得到一個新的token 策略2 采用單token的方式&#xff1a; 設置 token 過期時間&#xff1b; 前端發起請求&#xff0c;后端驗證 token 是否過期&#xff08;JWT工具類有一個&a…

面試專區|【DevOps-46道DevOps高頻題整理(附答案背誦版)】

簡述什么是 DevOps工作流程 &#xff1f; DevOps工作流程是一種將開發和運維團隊緊密結合起來的方法&#xff0c;旨在實現軟件開發和交付的高效性和可靠性。它強調自動化和持續集成&#xff0c;以便頻繁地進行軟件交付和部署。 DevOps工作流程通常包括以下階段&#xff1a; …

【最優化方法】實驗三 無約束最優化方法的MATLAB實現

實驗的目的和要求&#xff1a;通過本次實驗使學生進一步熟悉掌握使用MATLAB軟件&#xff0c;并能利用該軟件進行無約束最優化方法的計算。 實驗內容&#xff1a; &#xff11;、最速下降法的MATLAB實現 &#xff12;、牛頓法的MATLAB實現 &#xff13;、共軛梯度法的MATLAB…

請簡述vue2和vue3的區別

Vue2和Vue3作為Vue.js框架的兩個主要版本&#xff0c;在多個方面存在顯著的差異。以下是它們之間主要區別的詳細概述&#xff1a; 生命周期函數鉤子&#xff1a; Vue2&#xff1a;包含了一系列的生命周期鉤子函數&#xff0c;如beforeCreate、created、beforeMount等&#xff0…

/lib、/lib64和/usr/local/lib的區別

在Linux系統中&#xff0c;/lib、/lib64 和 /usr/local/lib 這幾個目錄都用于存放庫文件&#xff08;即共享庫或動態鏈接庫&#xff09;&#xff0c;但它們在用途和管理上有一些區別。 /lib 這個目錄通常包含了系統啟動和運行所必需的共享庫。這些庫通常是核心系統組件和關鍵工…

計量和測量的區別有哪些?兩者的關系是什么樣的?

計量和測量在行業內經常被混用&#xff0c;更不用說外行人對計量和測量的定義不夠清晰&#xff0c;無論是看字面還是定義&#xff0c;似乎兩者沒有什么太大的區別&#xff0c;但實際上&#xff0c;兩者還是有區別的&#xff0c;不過又存在千絲萬縷的聯系&#xff0c;那么計量和…

【數據結構】冒泡排序、直接插入排序、希爾排序詳解!

文章目錄 1. 冒泡排序&#x1f34e;2. 直接插入排序&#x1f34e;3. 希爾排序&#xff08;縮小增量排序&#xff09;&#x1f34e; 1. 冒泡排序&#x1f34e; &#x1f427; 基本思想&#xff1a; 比較相鄰的元素。如果第一個比第二個大&#xff0c;就交換他們兩個。 大的數據…

在編程中百分號表示什么:深度解析其多重角色與應用

在編程中百分號表示什么&#xff1a;深度解析其多重角色與應用 在編程的廣闊領域中&#xff0c;百分號&#xff08;%&#xff09;這一看似簡單的符號&#xff0c;實則承載著多重含義與功能。它既是數學運算的得力助手&#xff0c;又是字符串格式化的關鍵工具&#xff0c;甚至在…

Midjourney繪畫關鍵詞參數匯總(一)

在數字藝術和創意設計領域&#xff0c;參數化繪畫技術正日益受到關注。Midjourney作為一家領先的藝術技術公司&#xff0c;推出了一系列繪畫關鍵詞參數&#xff0c;為藝術家和設計師們提供了全新的創作工具。本文將介紹Midjourney繪畫關鍵詞參數的匯總&#xff0c;探索其在數字…

適合能源企業的文檔安全外發系統應該是什么樣的?

能源企業是市場經濟中的重要組成&#xff0c;也是社會可持續長遠發展的關鍵組成之一&#xff0c;能源行業在開拓新能源業務線、提升產能的日常經營中&#xff0c;也需要與外部合作伙伴、客戶間進行密切的業務往來&#xff0c;文檔可能涉及多個領域多個類型。 能源供應合同&…

Vue3 之 動態組件和KeepAlive組件

一、動態組件 1、簡介 ? 在某些業務場景下&#xff0c;頁面的某模塊具有多個組件但在同一時間只顯示一個&#xff0c;需要在多個組件之間進行頻繁的切換&#xff0c;如&#xff1a;tab切換等場景。除了可以使用v-if、v-show根據不同條件顯示不同組件之外&#xff0c;還可以通…

深入理解模型驅動測試:優點、挑戰與應用場景

本文翻譯自&#xff1a;Understanding Model-Based Testing: Benefits, Challenges, and Use Cases 原文作者&#xff1a;Qt Group質量保證市場營銷主管Sebastian Polzin 審校&#xff1a;Jinjing Li 對于那些尋求系統化和條理化測試方法的測試工程師而言&#xff0c;模型驅動…

ROS2 Topics和Services

本文主要介紹ROS的Topics概念&#xff0c;如何創建Publisher和Subscriber&#xff0c;通過Topic在ROS程序間通信&#xff1b;介紹ROS的Services概念&#xff0c;如何創建Client和Server并建立通信。 更多內容&#xff0c;訪問專欄目錄獲取實時更新。 ROS Topics Topics可以被視…

做電商,錯過了2020年的抖音!那2024一定要選擇視頻號小店!

哈嘍~我是電商月月 電商老板們集合了&#xff0c;問大家一個問題: 如果能讓你回到三四年前&#xff0c;抖音才步入大眾視野&#xff0c;這時候讓你去做抖音小店&#xff0c;你愿意嗎&#xff1f; 我敢相信&#xff01;很多&#xff0c;錯過當年抖音紅利的商家&#xff0c;一…