REVERSE-PRACTICE-CTFSHOW-2

REVERSE-PRACTICE-CTFSHOW-2

    • re3
    • 红包题 武穆遗书
    • 数学不及格
    • flag白给

re3

main函数,分析可知,将输入的字符串按十六进制转成数字,写到v5,赋给v17[6]
当i等于6时,v16会加上输入的值,然后进入循环,最后判断v16是否等于0xffff
re3-main
因为v17[0~5]的值是固定的,于是当i等于0到5的过程中,v16最后的累加结果是固定的
调试可得,当i刚刚++到6时,v16的值为0xE560
第二层for循环中,v16先加上v17[6],然后判断是否大于0xffff,小于等于0xffff即退出循环
这里可以直接让v17[6]=0xffff-0xE560=0x1A9F,v16加上0x1A9F后即等于0xffff,然后退出循环
下面的if判断v16==0xffff成立,于是有下图,提交flag{1a9f}成功
re3-flag

红包题 武穆遗书

exe程序,要求输入少于50个字符,upx脱壳,ida分析
main函数,有反调试,有看不懂的变换,但是check很简单,直接比较输入和变换后的内容
武穆遗书-main
通过attach来过反调试,如下图设置断点,运行exe后先不输入,ida的Debugger->Attach to process,选择正在等待输入的exe
武穆遗书-breakpoint
attach后,在exe黑窗中任意输入,回车,F9,执行流就断在了如下图所示处,此时v4指向的字符串即为flag
武穆遗书-flag

数学不及格

elf文件,ida分析,main函数,主要逻辑写在注释里,要算出除程序名之外的4个参数
math-main
前三个check相加,有

(v9-v10)+(v9-v11)+(v9-v12)=3*v9-(v10+v11+v12)=0x233F0E151C+0x1B45F81A32+0x244C071725=0x62d10d4673

而check4

v4+v10+v11+v12=0x13A31412F8C

两个等式相加可得,其中v9是斐波那契数列第v4左右项的值,v4是项数

3*v9+v4=0x62d10d4673+0x13A31412F8C=0x19d024e75ff

3*v9+v4的和除以3,可以大概知道v9的值

print((0x233F0E151C+0x1B45F81A32+0x244C071725+0x13A31412F8C)/3)
#591286729898

找一个在线计算斐波那契数列的网站:斐波那契
找到一个非常接近上面算出来的v9的大概值的一个数
math-v9
于是v9==591286729879,v4=0x19d024e75ff-3*v9=58
再算出4个输入的参数为

v9=591286729879
v4=58
print(hex(v9-0x233F0E151C))
print(hex(v9-0x1B45F81A32))
print(hex(v9-0x244C071725))
print(hex(v4+0x6543))
#0x666c61677bL
#0x6e65776265L
#0x655f686572L
#0x657d

验证一下
math-suc
再转成字符串,得到flag

from Crypto.Util.number import long_to_bytes
print(long_to_bytes(0x666c61677b6e65776265655f686572657d))
#flag{newbee_here}

flag白给

exe程序,输入序列号验证,upx脱壳,ida分析
ida没有解析出main函数,shift+F12打开字符串窗口,发现一个和exe窗口相同的字符串HackAv
交叉引用过去,来到TForm1_Button1Click函数
flag-main
简单的将输入的字符串和已知的明文字符串"HackAv"比较,直接输入即可验证成功
falg-suc

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

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

相关文章

C#的变迁史10 - C# 5.0 之其他增强篇

1. 内置zip压缩与解压   Zip是最为常用的文件压缩格式之一,也被几乎所有操作系统支持。在之前,使用程序去进行zip压缩和解压要靠第三方组件去支持,这一点在.NET4.5中已有所改观,Zip压缩和解压功能已经内置于框架本身。这个功能使…

REVERSE-PRACTICE-CTFSHOW-3

REVERSE-PRACTICE-CTFSHOW-3签退神光签到baby_gay签退 .pyc文件,uncompyle6反编译,得到python源码,分析写在源码注释中 先变表base64,再凯撒加密,向后移动2位 import string c_charset string.ascii_uppercase str…

REVERSE-PRACTICE-CTFSHOW-4

REVERSE-PRACTICE-CTFSHOW-4encodeEasyBJD hamburger competitionJustREencode elf文件,upx脱壳,ida分析 交叉引用字符串"Please input your flag:",来到sub_804887C函数 输入经过三次变换,先是变表base64,…

CSS 基础框盒模型介绍

当对一个文档进行布局(lay out)的时候,浏览器的渲染引擎会根据标准之一的 CSS 基础框盒模型(CSS basic box model),将所有元素表示为一个个矩形的盒子(box)。CSS 决定这些盒子的大小…

REVERSE-PRACTICE-CTFSHOW-5

REVERSE-PRACTICE-CTFSHOW-5re2_归心Mud[吃鸡杯]ezmore[吃鸡杯]有手就行re2_归心 exe程序,运行后要求输入flag,ida分析 函数窗没找到主逻辑函数,shiftF12看字符串窗口 发现有java/lang/String,com/exe4j/runtime/WinLauncher等字…

PWN-PRACTICE-BUUCTF-2

PWN-PRACTICE-BUUCTF-2pwn1_sctf_2016jarvisoj_level0ciscn_2019_c_1[第五空间2019 决赛]PWN5pwn1_sctf_2016 main函数中执行vuln函数 fgets限制了输入的长度,不足以构成栈溢出 通过将输入中的字符"I"替换成"you",增加长度&#xf…

PWN-PRACTICE-BUUCTF-3

PWN-PRACTICE-BUUCTF-3[OGeek2019]babyropciscn_2019_n_8get_started_3dsctf_2016jarvisoj_level2[OGeek2019]babyrop 简单的ret2libc,构造rop main函数中读取一个随机数到buf中,传入sub_804871F 用"\x00"来绕过strlen和strncmp,b…

c#中常用集合类和集合接口之接口系列【转】

常用集合接口系列:http://www.cnblogs.com/fengxiaojiu/p/7997704.html 常用集合类系列:http://www.cnblogs.com/fengxiaojiu/p/7997541.html 大多数集合都在System.Collections,System.Collections.Generic两个命名空间。其中System.Colle…

PWN-PRACTICE-BUUCTF-4

PWN-PRACTICE-BUUCTF-4ciscn_2019_en_2bjdctf_2020_babystacknot_the_same_3dsctf_2016[HarekazeCTF2019]baby_ropciscn_2019_en_2 这题和ciscn_2019_c_1一模一样 栈溢出ret2libc,encrypt函数里的异或运算不用管 from pwn import * context.log_level"debug&…

PWN-PRACTICE-BUUCTF-5

PWN-PRACTICE-BUUCTF-5jarvisoj_level2_x64ciscn_2019_n_5others_shellcodeciscn_2019_ne_5jarvisoj_level2_x64 这题和[HarekazeCTF2019]baby_rop几乎一模一样 from pwn import * #context.log_level"debug" ioremote(node4.buuoj.cn,27023) elfELF(./level2_x64)…

Scrum敏捷开发沉思录

计算机科学的诞生,是世人为了用数字手段解决实际生活中的问题。随着时代的发展,技术的进步,人们对于现实世界中的问题理解越来越深刻,描述也越来越抽象,于是对计算机软件的需求也越来越高,越来越复杂&#…

PWN-PRACTICE-BUUCTF-6

PWN-PRACTICE-BUUCTF-6铁人三项(第五赛区)_2018_ropbjdctf_2020_babyropbabyheap_0ctf_2017pwn2_sctf_2016铁人三项(第五赛区)_2018_rop vulnerable_function函数中read构成栈溢出,ret2libc from pwn import * context.log_level"debug" ioremote(node4…

PWN-PRACTICE-BUUCTF-7

PWN-PRACTICE-BUUCTF-7jarvisoj_fmciscn_2019_s_3SROP解法ret2csu解法bjdctf_2020_babystack2[HarekazeCTF2019]baby_rop2jarvisoj_fm 格式化字符串漏洞,可以测出我们的输入在栈上的偏移为11 自己构造或者使用fmtstr_payload构造payload均可,目标是让x4…

Axure教程 axure新手入门基础(3) 简单易上手

(三)Axure rp元件的触发事件 l OnClick(点击时): 鼠标点击事件,除了动态面板的所有的其他元件的点击时触发。比如点击按钮。 l OnMouseEnter(鼠标移入时): 鼠标进入到某个元件范围时触发,比如当鼠标移到某张图片时显示该图片的介绍。 l OnMouseOut(鼠标移…

使用Nuget 安装指定版本package或者更新package到指定版本

最近在琢磨MVC和EntityFramework,使用的VS是2013版的,在Nuget的GUI界面下安装了EntityFramework(默认安装最新版的,怎么安装指定版本还没找到),按照MVC的示例项目MusicStore逐步做的过程中发现MVC4不支持EntityFramwok 6。 尝试去更新MVC版本各种失败&a…

CSS一个元素同时使用多个类选择器(class selector)

CSS类选择器参考手册 一个元素同时使用多个类选择器 CSS中类选择器用点号表示。实际项目中一个div元素为了能被多个样式表匹配到&#xff08;样式复用&#xff09;&#xff0c;通常div的class中由好几段组成&#xff0c;如<div class"user login">能被.user和…

css 块元素、内联元素、内联块元素

元素就是标签&#xff0c;布局中常用的有三种标签&#xff0c;块元素、内联元素、内联块元素&#xff0c;了解这三种元素的特性&#xff0c;才能熟练的进行页面布局。 块元素&#xff1a; 块元素&#xff0c;也可以称为行元素&#xff0c;布局中常用的标签&#xff0c;如&…

Redis与关系型数据库的同步问题

Redis是一个高性能的key-value数据库。 redis的出现&#xff0c;很大程度补偿了memcached这类key-value存储的不足&#xff0c;在部分场合可以对关系数据库起到很好的补充作用。它提供了Python&#xff0c;Ruby&#xff0c;Erlang&#xff0c;PHP客户端&#xff0c;使用很方便。…

.NET 实现并行的几种方式(一)

好久没有更新了&#xff0c;今天来一篇&#xff0c;算是《同步与异步》系列的开篇吧&#xff0c;加油&#xff0c;坚持下去&#xff08;PS:越来越懒了&#xff09;。 一、Thread 利用Thread 可以直接创建和控制线程&#xff0c;在我的认知里它是最古老的技术了。因为out了、所…

REVERSE-PRACTICE-BUUCTF-32

REVERSE-PRACTICE-BUUCTF-32[第四章 CTF之APK章]数字壳的传说[第五章 CTF之RE章]Hello, RE[第五章 CTF之RE章]BabyAlgorithm[第五章 CTF之RE章]BabyConst[第五章 CTF之RE章]BabyLib[第五章 CTF之RE章]easy_rust[第五章 CTF之RE章]easy_go[第五章 CTF之RE章]easy_mfc[第四章 CTF…