动态调试练习题WP

news/2025/11/16 0:36:14/文章来源:https://www.cnblogs.com/Nacocx/p/19226599

练习平台为NSSCTF


[HNCTF 2022 WEEK2]getflag

丢IDA,然后搜索字符串,找到验证点击次数的函数

int check()
{if ( click > 99999999 )return getflag();sprintf(chk, "Click %d more times to get flag", 100000000 - click);return MessageBoxA(0, chk, "Failed", 0);
}

if ( click > 99999999 ) 打断点,然后运行

点击get flag,查看ida

.text:004015F1 sub     esp, 18h
.text:004015F4 mov     eax, ds:_click
.text:004015F9 cmp     eax, 5F5E0FFh
.text:004015FE jg      short loc_40164F

停在了mov eax, ds:_click

按下F8步进到cmp ,把eax修改成比5F5E0FF 大的值比如0X5FFFFFF然后按F9继续运行,即可得到flag


[HNCTF 2022 Week1]CrackMe

拿到题目,发现它有一个要求

得到CreakMe的注册码。

直接运行程序,获得字符串然后跳转到对应位置

INT_PTR __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4)
{HFONT FontA; // eax__int16 v5; // axUINT DlgItemTextA; // eaxint v8; // ecxconst CHAR *v9; // [esp-8h] [ebp-8h]int v10; // [esp-4h] [ebp-4h]if ( a2 == 272 ){dword_4030F0 = (int)hDlg;dword_4038F8 = (int)GetDlgItem(hDlg, 1001);SetFocus((HWND)dword_4038F8);SendDlgItemMessageA(hDlg, 1001, 0xC5u, 0x14u, 0);sub_401214(hDlg);FontA = CreateFontA(23, 0, 0, 0, 10, 0, 0, 0, 1u, 0, 0, 0, 0, pszFaceName);if ( FontA )wParam = (WPARAM)FontA;elsewParam = 0;SendDlgItemMessageA(hDlg, 1003, 0x30u, wParam, 1);SendDlgItemMessageA(hDlg, 1000, 0x30u, wParam, 1);return 1;}if ( a2 == 16 ){EndDialog(hDlg, 0);return 1;}if ( a2 != 273 )return 0;v5 = a3;if ( HIWORD(a3) )return 1;if ( (_WORD)a3 == 1003 )v5 = MessageBoxExA(hDlg, aTheRulesArePat, Caption, 0, 0);if ( v5 != 1000 )return 1;dword_403900 = 0;byte_403904 = 0;DlgItemTextA = GetDlgItemTextA(hDlg, 1001, String, 21);if ( DlgItemTextA >= 5 ){dword_4038FC = DlgItemTextA;v8 = 0;do{byte_403904 = String[v8];v10 = v8 + 1;v9 = &String2[dword_403900];wsprintfA(&String2[dword_403900], "%u", (dword_4038FC * (v8 + 1) + 23) ^ 0xF);dword_403900 += lstrlenA(v9);v8 = v10;}while ( byte_403904 );if ( (unsigned __int16)GetDlgItemTextA(hDlg, 1002, String1, 500) ){if ( lstrcmpA(String1, String2) )MessageBoxA(0, aThisSerialSuck, Caption, 0);elseMessageBoxA(0, Text, Caption, 0);ExitProcess(0);}MessageBoxExA(0, aEnterASerial, Caption, 0, 0);return 1;}else{MessageBoxExA(hDlg, aYourNameIsTooS, Caption, 0, 0);return 1;}
}

if ( lstrcmpA(String1, String2) )MessageBoxA(0, aThisSerialSuck, Caption, 0);elseMessageBoxA(0, Text, Caption, 0);ExitProcess(0);

打下断点,得到用户为CrackMeString2 也就是注册码的值

但是刚到这里时String2是错误的值,等运行到ExitProcess(0) 时我才读取到了正确的值

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

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

相关文章

Godot学习第一天

直接开始写第一天的游戏 第一步创建游戏文件 点击创建会进入 zenva这个晚点看看,教学视频推荐了一分多钟,网址 Godot 101 – 游戏引擎基础 – Zenva AcademyGDAU 在这个里面存放游戏所需要的文件自己写的东西要常看不…

用递归的方式解决n阶幻方

include <stdio.h> include <stdlib.h> void f(int num,int n,int a[][n],int hang1,int lie1){ a[hang1][lie1]=num; if(num==n*n){return;} int nexthang,nextlie;if(hang1==0&&lie1!=n-1){//a[…

imm docker 备份/迁移

备份篇 可选,备份镜像,大小1GB,但是docker pull一万年,所以最好备份一下。 # 创建镜像导出脚本 cat > export-images.sh << EOF #!/bin/bash IMAGES=("ghcr.io/immich-app/immich-server:v2"&q…

abc326-d 题解

比较麻烦的暴力搜索abc326-d 题解 题目链接 一开始读错题了,以为abc可以出现多次,浪费了很多时间,一定要戒骄戒躁读好题! 这种搜索题要思路打开,想一想以什么搜索 按列去搜索,感觉自己写的有点麻烦了 我的代码: …

搭建一个CTF比赛平台的经过

搭建一个CTF比赛平台的经过由来 我们实验室招新需要一个ctf做题环境,但是我们平时使用的NSSCTF的比赛功能在升级 ,所以我们准备自己搭建一个比赛环境 原本我们是准备使用CTFd这个平台来搭建的,但是我看了下,它默认…

11_15

11_15做题总结 今天来讲两个题目,一个是昨天的D1,一个是自己找的D4的E D1 序列一开始从1到1e12 输入x,y,k做x次操作,然后找到每次在数列中删掉下标是y的倍数的数,求操作完之后第k号数 先特判,如果y=-1或者暴力的边更…

四、Agent原理与ReAct 架构详解 ——《动手学Agent应用开发》学习心得

四、Agent原理与ReAct 架构详解 ——《动手学Agent应用开发》学习心得 ================================================================================== 最近参加了Datawhale开源组织举办的组队学习。本篇的学…

InterStellar

InterStellar 遥望无尽星际, 未知与神秘交错, 光芒与黑暗叠影。 感叹时空的伟大, 改变了容颜, 吹散人间爱意。 感叹爱的伟大, 聚如一团火, 散是满天星。 太空,太空, 你却又如此多情。

三、Agent 应用开发与落地全景 ——《动手学Agent应用开发》学习心得

三、Agent 应用开发与落地全景 ——《动手学Agent应用开发》学习心得 ================================================================================== 最近参加了Datawhale开源组织举办的组队学习。本篇的学习…

业财一体化五步法 - 智慧园区

你有没有在公司遇到过这些情况: 业务部门和财务部门的销售数据和账务数据总是对不上;业务部门卖得飞快,财务部门却发现账户上的钱少了;决策者要靠数据制定策略,结果数据没一个是可用的。 说白了 ,这些问题其实就…

猫树

有的时候线段树还是太慢了(需要 \(\log\) 次合并得出答案)。使用猫树可以空间换时间:\(O(n\log n)\) 空间,\(O(1)\) 时间。但是猫树不支持修改。 应用条件:静态,卡时间死/合并复杂度很高。 【构建】 先建出一颗正…

spiffworkflow

spiffworkflow https://spiffworkflow.readthedocs.io/en/latest/index.html SpiffWorkflow is a library that provides a flexible workflow execution environment. SpiffWorkflow is the workflow library underly…

Rust 解析验证码(结合 Tesseract OCR)

环境准备 1.1 安装 Rust 如果尚未安装 Rust,可以使用官方推荐的 rustup 进行安装: curl --proto =https --tlsv1.2 -sSf https://sh.rustup.rs | sh 更多内容访问ttocr.com或联系1436423940 然后检查 Rust 版本: ru…

django-approval-workflow

django-approval-workflow https://github.com/Codxi-Co/django-approval-workflow A powerful, flexible, and reusable Django package for implementing dynamic multi-step approval workflows in your Django app…

Go 语言实现简单的文字识别(OCR)

随着人工智能技术的迅猛发展,文字识别(OCR,Optical Character Recognition)已经广泛应用于文档扫描、自动化数据输入等领域。在这篇文章中,我们将通过 Go 语言实现一个简单的文字识别程序,来提取图片中的文字。为…

『回忆录』高二上半期考试

上文:第一次月考。 现在是尚未出分的版本。 月回顾 从上次 1004 开始写,那天晚上也是开始疯狂回忆过去。 然后就是国庆强基三天自习一天。引流:国庆强基 中途 1006 那天晚上前两节课是生日会和中秋节。其中听歌识曲…

多项式牛顿迭代

【前置知识】泰勒展开。设 \(g\) 是一个光滑的函数,\(g(y)=\sum_{n\ge 0} \frac{g^{n}(y_0)}{n!}(y-y_0)^n\).多项式 exp。 给定多项式 \(a(x)\) 满足 \(a_0=0\),求 \(\exp a(x)\bmod x^n\)。 设 \(\exp a(x)=f(x)\)…

轮胎内喷涂优惠工具趋势分析报告

在轮胎制造与橡胶制品生产过程中,如何精准匹配工艺需求与材料性能,始终是行业采购决策中的核心难点。面对市面上琳琅满目的轮胎内喷涂、胶囊隔离剂、胶片隔离剂等产品,用户常因参数混乱、功能描述模糊或缺乏本地化适…

Vibe coding All In One

Vibe coding All In One Vibe coding is an artificial intelligence-assisted software development technique popularized by Andrej Karpathy in February 2025. It was named Collins Dictionarys Word of the Ye…