看题目就知道查找不到关键字符串,为防止踩坑,strings命令查看,没有找到有用的字符串。IDA载入程序查找入口函数,

main函数中有4个函数,经过分析判断authenticate()为关键函数,跟进其中,

很明显,decrypt是关键处,接下来我们使用gdb调试,当然直接分析decrypt也很容易得出flag,但在此我们学习gdb-peda的使用,我也是第一次使用。。。。

找到这个函数的地址0x08048658,然后下断点运行,运行的的命令是r。下断点:b *0x08048658。然后使用n运行,n是单步步过,s是单步步进。来到此处:

我们发现ebx的值是9,正好是flag的开头,然后再看eax,0x39存在0x804cfd0。然后我们直接断点到这个函数后,跳过此函数,再查看0x804cfd0地址处:

写python脚本,拿到flag。

strings = [57, 52, 52, 55, 123, 121, 111, 117, 95, 97, 114, 101, 95, 97,
110, 95, 105, 110, 116, 101, 114, 110, 97, 116, 105, 111, 110,
97, 108, 95, 109, 121, 115, 116, 101, 114, 121, 125]
tmp = ''
for i in range(len(strings)):
s = chr(strings[i])
tmp += s
print(tmp)

逆向-攻防世界-no-strings-attached的更多相关文章

  1. 逆向-攻防世界-crackme

    查壳,nSpack壳,直接用软件脱壳,IDA载入程序. 很明显,就是将402130的数据和输入的数据进行异或,判断是否等于402150处的数据.dwrd占4字节. 这道题主要记录一下刚学到的,直接在I ...

  2. 逆向-攻防世界-maze

    题目提示是走迷宫. IDA载入程序分析. 输入字符长度必须是24,开头必须是nctf{,结尾必须是}.在125处按R就可以变成字符. sub_400650和sub_400660是关键函数,分析sub_ ...

  3. 逆向-攻防世界-CSAW2013Reversing2

    运行程序乱码,OD载入搜索字符串,断电到弹窗Flag附近. 发现跳过00B61000函数,弹窗乱码,我们试试调用00B61000函数.将00B61094的指令修改为JE SHORT 00B6109b. ...

  4. 逆向-攻防世界-logmein

    iDA载入程序,shift+F12查看关键字符串,找到双击来到所在地址,进入函数 然后进入主函数, 经过分析,可以得出:输入的字符要等于  经过处理的v7和v8的异或.v8很明显,但是v7是怎么回事呢 ...

  5. 攻防世界逆向——game

    攻防世界逆向:game wp 攻防世界逆向新手区的一道题目. 是一道windows的creak,动态调试打开是这样的: 题目说明是让屏幕上所有的图像都亮之后,会出现flag,看来应该是可以玩出来的. ...

  6. 记录下做攻防世界的misc题

    0x00 记录一下,代表自己做过 0x01 flag_universe 看简介是来自2018年的百越杯. 将文件下载下来后,就一个flag_universe.pcapng文件,wireshark打开. ...

  7. 攻防世界 reverse evil

    这是2017 ddctf的一道逆向题, 挑战:<恶意软件分析> 赛题背景: 员工小A收到了一封邮件,带一个文档附件,小A随手打开了附件.随后IT部门发现小A的电脑发出了异常网络访问请求,进 ...

  8. 攻防世界 reverse 进阶 APK-逆向2

    APK-逆向2 Hack-you-2014 (看名以为是安卓逆向呢0.0,搞错了吧) 程序是.net写的,直接祭出神器dnSpy 1 using System; 2 using System.Diag ...

  9. 攻防世界(八)web2

    攻防世界系列:web2 1.代码审计  知识补充: strrev(string):反转字符串 strlen(string):字符串长度 substr(string,start,length):截取字符 ...

随机推荐

  1. 一句话HTML编辑器

    一句话HTML编辑器 data:text/html,<body oninput="i.srcdoc=h.value"><style>#i{width:70% ...

  2. Java枚举:小小enum,优雅而干净

    <Java编程思想>中有这么一句话:“有时恰恰因为它,你才能够‘优雅而干净’地解决问题”——这句话说的是谁呢?就是本篇的主角——枚举(Enum)——大家鼓掌了. 在之前很长时间一段时间里, ...

  3. .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9977862.html 写在前面 千呼万唤始出来,首先,请允许我长吸一口气!真没想到一份来自28岁老程序员 ...

  4. .Net Webapi SignalR与微信小程序的交互

    .Net Webapi SignalR与微信小程序的交互 一.SignalR与Webapi 1.SignalR的安装: Signalr与跨域仅需要安装两个开源库 Microsoft.Owin.Cors ...

  5. SpringBoot入门教程(十一)过滤器和拦截器

    在做web开发的时候,过滤器(Filter)和拦截器(Interceptor)很常见,通俗的讲,过滤器可以简单理解为“取你所想取”,忽视掉那些你不想要的东西:拦截器可以简单理解为“拒你所想拒”,关心你 ...

  6. SQL之case when then用法(用于分类统计)

    case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when '1' then '男' when '2' then '女’ else '其他' end ...

  7. JVM(六)为什么新生代有两个Survivor分区?

    本文会使用排除法的手段,来讲解新生代的区域划分,从而让读者能够更清晰的理解分代回收器的原理,在开始之前我们先来整体认识一下分代收集器. 分代收集器会把内存空间分为:老生代和新生代两个区域,而新生代又会 ...

  8. 第一册:lesson 115.

    原文:Knock,Knock! question:What does Jim have to drink? Isn't there anyone at home? I'll knock again , ...

  9. EasyUI 使用tabs切换后datagrid显示不了内容

    今天刚遇到这个问题,找了下各群的深度合作伙伴,没有好的答案,那就自己研究吧. 问题点在于打开tab1时,快速切到tab2,这时tab1的datagrid渲染未完成,再次回到tab1,因为是在不可见区域 ...

  10. Unable to execute 'doFinal' with cipher instance [javax.crypto.Cipher@4e025e0a]

    org.apache.shiro.crypto.CryptoException: Unable to execute 'doFinal' with cipher instance [javax.cry ...