首页 > 编程语言 >【NSSCTF逆向】【2023题目】《easy_re》《世界上最棒的程序员》《Check_Your_Luck》《Tea》

【NSSCTF逆向】【2023题目】《easy_re》《世界上最棒的程序员》《Check_Your_Luck》《Tea》

时间:2023-05-24 20:44:20浏览次数:58  
标签:ok tea base64 re easy Tea 题目 32 Your

题目easy_re

解法

很简单的一道题
考的就是upx脱壳 base64加解密
拿到文件

upx壳 upx -d 脱壳


无壳
放进ida

很明显关键在于这个判断的两个字符串是啥。现在我们看看我们输入的s变成了什么。

进入func

func的内容主要是对s进行操作然后给encode_
这次我看明白了,这个很明显是个base64。
我们再出去看a是什么

a被base64了。
直接点a看看

直接解密

出flag

题目世界上最棒的程序员

解法

这道题在比赛时候做的,也是一道签到题,直接扔进ida里看strings窗口就可以了

题目Check_Your_Luck

解法

也是一道很简单的签到题,考的就是五元一次方程组的解

笨办法,直接找在线的计算器
https://www.buildenvi.com/gongju/formula/3lck4

计算出flag

题目Tea

解法

这道题算是我做的的第一道tea题目。拿到题目先exeinfo一下

ok这道题没壳,放进ida里面,是start函数,暂时没有入口,我们直接找关键字符串,定位到这个关键函数位置

ok,先学习一下tea的知识吧

1.是一个新知识啊,简单来讲待加密数据是两个2个32位,秘钥是4个32位。关键的过程也就如上图所示(为一轮的过程,在这一轮过程中v1数据由三个表达式拼接,分别是k【0】<<4,DELTA,K[1]>>5三者异或组成,下面的也是同样的原理,然后32轮或者64轮得到最终加密的数据。而这个算法也是可逆的,可以完全将加密过程逆转,加减相倒即可。)
ok,大概就是tea的主题思路。
我们找一找这个tea加密函数具体在哪。

ok在这里,在这里看的时候其实刚开始迷惑的是这个4i64怎么这么多,后面看到其实把四位进行一个处理也是可以的。
更让我感到奇怪的是
16*到底是什么意思。
后面看了一下别人的博客才明白是我对左移右移还欠缺理解。

`左移右移用简单的算术运算实际上是乘以(除以)几个2。32 >> 2 = 32 / 2^2 = 8

17 >> 2 = 17 / 2^2 = 4.25 = 4(因为只取整数部分)

512 >> 10 = 512 / 2^10 = 0.5 = 0(因为只取整数部分)`
所以这个16*,如果以四位为一组,其实也就是每个左移了四位的意思。
ok,逆向思路已有,写脚本(脚本没存贴别的师傅的wp了)

总结

easy_re upx脱壳 base64
世界上最棒的程序员 字符串查找
Check_Your_Luck 线性方程组求解
Tea tea 算法

标签:ok,tea,base64,re,easy,Tea,题目,32,Your
From: https://www.cnblogs.com/Corax0o0/p/17429443.html

相关文章

  • 2.Eureka
    3.Eureka3.1.简介Eureka是Netflix在线影片公司开源的一个服务注册与发现的组件,和其他Netflix公司的服务组件(例如负载均衡、熔断器、网关等)一起,被SpringCloud社区整合为SpringCloudNetflix模块。3.2.Eureka与Zookeeper3.2.1.CAP原则CAP原则又叫CAP定理,指的是在一个分布式系......
  • 【IntelliJ IDEA】idea中的插件之一:Free Mybatis plugin跳转插件的使用(方便在Dao接口
    本文目录一、安装二、使用最近在使用一个非常好用的跳转插件,用着很顺手,效率比之前提高了很多。之前使用MyBatis框架或者是在IDEA中,发现Mapper接口和XML文件之间跳转十分的麻烦,我之前经常的操作是在Mapper接口中将接口名称复制一下,然后去查找对应的XML文件,打开后CRTL+F查找对应的xml......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出来,那......
  • 【异常】This application has no explicit mapping for /error, so you are seeing t
    本文目录一、错误提示二、错误原因2.1原因一:启动类的位置不对2.2原因二:控制器的URL路径书写问题 2.3原因三:配置文件中视图解析器的配置问题三、解决方案3.1解决方案一3.2解决方案二3.3解决方案三背景:使用springboot+vue构建的微信点餐系统一、错误提示最近在做一个项目,......
  • 2023-05-24:为什么要使用Redis做缓存?
    2023-05-24:为什么要使用Redis做缓存?答案2023-05-24:缓存的好处买啤酒和喝啤酒的例子可以帮助我们理解缓存的好处。假设你在超市里买了一箱啤酒,如果你需要每次想喝啤酒就去超市购买,无疑会浪费很多时间和精力。而如果你将一部分啤酒放在家中的冰箱里,每次想喝啤酒时就从冰箱里取出......
  • [USACO1.2]回文平方数 Palindromic Squares
    #[USACO1.2]回文平方数PalindromicSquares##题目描述回文数是指从左向右念和从右向左念都一样的数。如12321就是一个典型的回文数。给定一个用十进制表示的正整数B,输出所有[1,300]中,它的平方用B进制表示时是回文数的数。##输入格式共一行,一个单独的正整数B。##......
  • [Error 10048] error while attempting to bind on address (‘127.0.0.1‘, 8000):
    今天运行程序的时候碰到了这么个问题,因为之前也遇到过这种情况,那时找不到原因重启电脑这方法偶尔能解决,今天就不行了,电脑又没有看到明显的占用这个端口的程序。所以查找资料从根源出发解决。解决方法是:1.进入命令行(以管理员身份)2.输入netstat-aon|findstr"8000"查找8000端......
  • request.js学习
    importVuefrom'vue'importaxiosfrom'axios'importstorefrom'@/store'import{Modal,notification}from'ant-design-vue'import{VueAxios}from'../boot/axios'import{X_ACCESS_TOKEN,USER_NAME}f......
  • mac os 安装 redis
    目的:本地调试使用,安装到mac要求:本地程序调用,集群部署,测试使用,1主1从参考:1、https://redis.io/download/  (官网下载地址)2、https://www.runoob.com/redis/redis-install.html  (了解安装过程和基础使用)3、https://blog.csdn.net/I_lost/article/details/1271......
  • ubuntu下core file文件生成及调试
    1.简介:corefile是Linux下程序崩溃时生成的文件,可以用来分析程序崩溃的原因,因为它内部包含了程序崩溃时的堆栈信息。2.corefile的设置默认情况下,程序崩溃是不会生成corefile的,因为被操作系统限制。可以通过命令:ulimit-c来查看,如果值为0则表示被限制了,所以不能生成corefile文......