IDA打开,查看func()函数,得到以下代码

点击查看代码
unsigned __int64 func()
{
size_t input1[6]; // [rsp+Ch] [rbp-84h] BYREF
char nptr[72]; // [rsp+40h] [rbp-50h] BYREF
unsigned __int64 v3; // [rsp+88h] [rbp-8h] v3 = __readfsqword(0x28u);
printf("pls input the length you want to readin: ");
__isoc99_scanf("%d", input1);
if ( SLODWORD(input1[0]) > 48 )
exit(0);
printf("pls input want you want to say: ");
read(0, (char *)input1 + 4, LODWORD(input1[0]));
if ( atoi(nptr) <= 114514 )
{
puts("bad ,your wallet is empty");
}
else
{
puts("oh you have the money to get flag");
getflag();
}
return v3 - __readfsqword(0x28u);
}

第一次见到LODWORD和SLODWORD和atoi这几个函数,故学习一下作用,ChatGPT给出的解释是:

  1. LOWORD

LOWORD 是一个宏,帮助你从一个较大的数字中提取出最低的 16 位(就是最后两字节)。比如说,如果你有一个数字 0x12345678,用 LOWORD 提取出来的就是 0x5678。

2. SLOWORD

SLOWORD 通常是类似于 LOWORD 的一个自定义宏,用于提取低 16 位,具体功能可能和 LOWORD 相同。

3. atoi

atoi 是一个函数,用于把字符串转换成整数。例如,如果你有字符串 "42",使用 atoi 就可以得到数字 42。如果字符串不是一个有效的数字,atoi 会返回 0。

NewStar CTF[pwn] overwrite WriteUp的更多相关文章

  1. iscc2016 pwn部分writeup

    一.pwn1 简单的32位栈溢出,定位溢出点后即可写exp gdb-peda$ r Starting program: /usr/iscc/pwn1 C'mon pwn me : AAA%AAsAAB ...

  2. 31C3 CTF web关writeup

    0x00 背景 31c3 CTF 还是很人性化的,比赛结束了之后还可以玩.看题解做出了当时不会做的题目,写了一个writeup. 英文的题解可以看这:https://github.com/ctfs/w ...

  3. 社团的CTF逆向题WriteUp

    最近社团弄了CTF比赛,然后我就帮忙写了逆向的题目,这里写一下WriteUp,题目和源码在附件中给出 一个简单的逆向:one_jmp_to_flag.exe 这题算是签到题,直接OD智能搜索就完事了, ...

  4. 由一道CTF pwn题深入理解libc2.26中的tcache机制

    本文首发安全客:https://www.anquanke.com/post/id/104760 在刚结束的HITB-XCTF有一道pwn题gundam使用了2.26版本的libc.因为2.26版本中加 ...

  5. *CTF pwn write up

    第一次做出XCTF的题目来,感谢wjh师傅的指点,虽然只做出一道最简单的pwn题,但是还是挺开心的.此贴用来记录一下,赛后试着看看其他大师傅的wp,看看能不能再做出一道题来. babyheap 程序有 ...

  6. 南京邮电大学CTF隐写术部分Writeup

    女神 听说这是女神的私房照,里面藏着flag哦 http://115.28.150.176/misc1.jpg 这个链接居然打不开,摔!万念俱灰!主办方可否给力点! P.S.为了方便日后学习,暂时列下 ...

  7. 南京邮电大学CTF密码学部分Writeup

    异性相吸 1.xor 2.hex2binary 3.len(bin(miwen))==len(bin(mingwen)) # -*- coding:utf-8 -*- file_de = open(' ...

  8. 南京邮电大学 CTF 逆向部分 Writeup

    Hello,RE! 提示 IDA 中按 R . Google 到 IDA 中 R 快捷键是 Character ,转为字符串. 丢进 IDA(虽然我并不会使用 IDA 有个 strcmp 函数,比较 ...

  9. ctf pwn ida 分析技巧

    几年前的笔记,搬运过来 ---   1 先根据运行程序得到的信息命名外围函数,主要函数大写开头 2 /添加注释 3 直接vim程序,修改alarm为isnan可以patch掉alarm函数 4 y 可 ...

  10. 南邮CTF - Writeup

    南邮CTF攻防平台Writeup By:Mirror王宇阳 个人QQ欢迎交流:2821319009 技术水平有限~大佬勿喷 ^_^ Web题 签到题: 直接一梭哈-- md5 collision: 题 ...

随机推荐

  1. Oracle DBA必备工具:自动调整重做日志文件大小和数量

    我们的文章会在微信公众号Oracle恢复实录和博客网站(www.htz.pw)同步更新 ,欢迎关注收藏.也欢迎大家转载,但请在文章开始处标注文章出处,谢谢! 由于博客中包含大量代码,建议通过网页浏览以 ...

  2. 按下 F12 打开开发者工具,它凭什么能监控所有网络请求?

    兄弟们,咱们天天跟浏览器打交道,F12 可能比键盘上其他任何一个功能键按得都多.我们习惯了在 Network 面板里看着请求瀑布流,调试 API,分析性能. 但你有没有停下来,哪怕一次,问过自己一个问 ...

  3. 现代 Python 包管理器 `uv`

    用 uv + Python 开发命令行工具 当使用 uv 写正规一点的 CLI 应用的时候,还是应该使用 uv init --package [package name] 因为写一个命令行程序总是要安 ...

  4. 《刚刚问世》系列初窥篇-Java+Playwright自动化测试-17- 如何优雅地切换浏览器多窗口(详细教程)

    1.简介 有时候我们在网页上点击一些按钮或超链接时,有时会打开一个新的网页窗口.这个时候如果下一步操作是在新的网页窗口上,那么就需要切换网页窗口,切换到新的网页窗口后再执行元素定位等操作.Playwr ...

  5. 【HarmonyOS5】DevEco Studio 使用指南:代码阅读与编辑功能详解

    前言 DevEco Studio 是一款功能强大的开发工具,支持 ArkTS.JavaScript.TypeScript 等多种语言,具备智能代码补全.语法高亮.实时错误检查等特性,极大提升了鸿蒙应用 ...

  6. Spring Boot中最常用的 100 个注解

    大家好,我是晓凡. 以下是 Spring Boot 中最常用的 100 个注解(按功能分类整理),适用于配置.控制层.数据访问.安全.测试等常见场景: 一.核心注解(Core Annotations) ...

  7. 天天用lock,不好奇他到底怎么工作的吗 —ReentrantLock 大白话

    从ReentrantLock到AQS 新手学习,若有不对,欢迎大佬 调教 ReentrantLock 我们经常用的 *ReentrantLock*是干什么的呢 我认为这是一个前台/门面(类似设计模式中 ...

  8. TypeScript(TS)JavaScript(JS)中的所有循环方法

    for循环: for (let i = 0; i < array.length; i++) { // 循环体 } for-of循环: for (const element of array) { ...

  9. C# Json 解析,针对数字开头变量Json字符串转模型(Model)

    namespace 解析数字开头的变量JSON { class Program { static void Main(string[] args) { string strJson = "{ ...

  10. linux 目录结构 比较老

    简介 计算机操作系统实验指导 linux版 linux arch 与体系结构相关的核心代码 drivers 设备驱动程序 include 编译核心所需的头文件 init 系统初始化代码 mm 独立于C ...