bugku 逆向 take the maze】的更多相关文章

看到如果判断正确之后 会生成一个png文件 直接用idc脚本生成: auto v,begin,end,dexbyte; v = fopen("flag.png", "wb"); begin = 0x005409C0; end = begin + 0x78A; for ( dexbyte = begin; dexbyte < end;dexbyte ++ ) {fputc(Byte(dexbyte), v);} fclose(v); 注意这里我用的fputc 一…
1.入门逆向 下载解压,在文件夹中打开命令行窗口执行一下:baby.exe 发现输出了一串字符,在将其放到IDA中然后是这样: 发现上面有一串输出和我们命令行窗口中的一样,但是下面为什么又多了一大溜东西. 再观察观察,感觉最后一列(66h)这一列像是16进制的数,然后一个个按R键转换,就拿到flag了. 2.Easy_vb 下载文件用IDA打开,搜索CTF就能得到答案,或者慢慢从上往下慢慢看找到. 3.Easy_Re 用IDA打开,在HEX中查找CTF找到flag. 4.…
题目提示是走迷宫. IDA载入程序分析. 输入字符长度必须是24,开头必须是nctf{,结尾必须是}.在125处按R就可以变成字符. sub_400650和sub_400660是关键函数,分析sub_400650. v10的下一字节减1. sub_400660v10的下一字节加1. 分析这两个函数. v10减1. v10加1 再看最后的比较函数. v9就是刚才的v10,应该是IDA自己随机的吧. 进入函数a1是迷宫地址,a2是v10下一单位,SHIDWORD就是这个意思,a3就是v10. 经过分…
可以看到将输入先经过 sub_4110BE 这个函数进行加密 然后每一位加上下标本身 再和str2比较 正确就是right 点开加密函数: 关键语句就在这里 我们可以看到是算输入的字符按三个一组能分为几组 然后将这个数字乘上4 我们很容易想到是base64加密 因为和base64加密的过程太像了 看一下它的变换数组: 更加坚定了我们的判断 脚本如下: import base64 s='e3nifIH9b_C@n@dH' f='' for i in range(len(s)): f+=chr(or…
文件为 ELF64 可执行文件,输入正确 flag 返回判定结果的逆向题. 用 ida 打开,先看f5之后的代码,容易知道 flag 长度为24位,以 "nctf{" 为前缀: 先是一个对字符的判定过程: 可以看出是对输入的字符串进行判断,当当前字符值大于78则再次与79和111进行比较,满足条件则分别跳入 sub_400650 和 sub_400660 函数中,分别对应自增一和自减一,且范围为(0,8):else 中情况也一样,但是区别在于上者是 &v9+1 而下者是 &am…
Take The Maze 首先拿进PEID里查一下有没有壳: 无壳,果断拖进IDA.可是Graph View中找不到主程序的位置,在函数表里寻找主函数: 函数太多阻扰了我们找到主程序,运行一下程序找一些关键词来搜索主程序位置: 得知主程序中应当含有“welcome to zsctf!”字符串,在IDA中搜索来找到主程序: 成功找到主函数,双击进入主函数,F5出伪代码: 可以看出输入的KEY为24位由0-9,a-f构成的字符串,且需要根据sub_45E593()的返回值确定是否为正确KEY.其他…
在写wp之前先来了解一下Data URL是什么 Data URL 在浏览器向服务端发送请求来引用资源时,一般浏览器都有同一时间并发请求数不超过4个的限制.所以如果一个网页需要引用大量的服务端资源,就会导致网页加载缓慢的问题. 让我们先来看一下通常利用img标记请求图片资源的方式: <img src="BadBoyRED.gif"> 而Data URL会将图片资源用Base64编码,并镶嵌在html代码中.引用该图片时在客户端对编码后的图片资源进行解码即可,不需要通过请求来获…
首先进行查壳,没有壳. 随便输入,看程序执行信息.随意输入字符串,提示key error 放到IDA中打开,在左侧函数窗口中找到main0,F5反编译,进行分析.具体已在分析在图中标识. 关于main函数的逻辑是很容易理解的,但是接下来可就犯难了.我首先是打开45C748(对Str进行变换的函数).如下图,看起来应该是在进行对Str变换之前,做一些初始化工作. 整个过程不难理解,但当我打开45DCD3函数时,就一头雾水了. 这没得分析(后来才知道是VM处理过的),于是打开OD输入01234567…
1.逆向入门 2.Easy_vb 直接找出来. 3.easy_re 4.游戏过关 摁着嗯着就出来了... 5.Timer{阿里ctf} apk文件,不会搞. 6.逆向入门 发现是base64,直接转图片 7.love…
感觉这题偏向于misc ,Orz 用ida打开: 解码:…
[南京邮电]maze 迷宫解法 题目来源:南京邮电大学网络攻防训练平台. 题目下载地址:https://pan.baidu.com/s/1i5gLzIt (密码rijss) 0x0 初步分析 题目中给出的执行文件是64位ELF可执行文件,可在64 位 Ubuntu下运行.这是一道简单的迷宫类型题目,通过静态分析即可获得flag. 在main函数中,能发现一段字符串 ******* * **** * **** * *** *# *** *** *** ********* 为了方便阅读: 空格替换为…
在互联网中的每一刻,你可能都在享受着Base64带来的便捷,但对于Base64的基础原理你又了解多少?今天小编带大家了解一下Base64编码原理分析脚本实现及逆向案例的相关内容.   01编码由来 数据传送时并不支持所有的字符,很多时候只支持可见字符的传送.但是数据传送不可能只传送可见字符,为解决这个问题就诞生了base64编码.base64编码将所有待编码字符转换成64个可见字符表中的字符. 02编码原理 被Base64编码之后所得到的所有字符都是在以下这个表当中的.   上表中总共有64个字…
一.网易易盾为什么会推出安全编译器Maze? 随着5G时代的到来,会有越来越多的物联网设备走进我们的生活,然而物联网的终端本身普遍处于白盒环境中,***者很容易获取相关的信息进行***,这个时候如果不加以防护,势必给我们的生活造成重大的影响.然而设备的代码安全是一切安全的基础,如果设备代码不加以防护或防护不够,不仅仅会造成本身核心技术泄露,同时也给IoT设备稳定运行带来威胁. 与此同时,随着开发者安全意识的不断提高以及对于性能上的更多的考量,会有越来越多的移动开发者把算法或者核心逻辑写在本地层,…
前几天的XCTF最后一场终于打完了,三场比赛下来对逆向部分的大概感觉是从第一场的啥都不会做(一道lua+一道apk)到后来的终于能有参与度,至少后两场的题目都是pc逆向,虽然特殊架构但好歹能做(tcl. 本文是三场XCTF所有逆向题目的wp+复现整理.赛中拿到了7/10的flag,很多是跟着队里的大佬做出来的(tqltql),这边就试着独立复现一下,至少打完应该长长记性( P.S. 不会的题暂时标了[TODO],等wp出了回来填坑= = 比赛官网:XCTF高校网络安全专题挑战赛 [12.20]…
一.查壳 二.拖入ida64,静态调试,找到主函数F5反编译 二.1 思路分析(逆向是真的费时间,每个函数都要分析过去): 1.发现每个if最终都会进入LABEL-15 点进去,看看这个函数是干啥的. 这里基本可以推理出a3是行,a2是列了. 那么我们的迷宫一定是一个8列的矩阵. 得知这点,退出去,再分析. v9是行,SHIDWORD函数是指的下一个字节,得知这点,从上面分析可知: 就将四个函数点进去就可以判断方向了. 举个例子: 相对应,其他方向,O:下,o:上,0:左,.:右. 2.将迷宫打…
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/577e0acc896e9ebb6865f321 如果您有耐心看完这篇文章,您将懂得如何着手进行app的分析.追踪.注入等实用的破解技术,另外,通过“入侵”,将帮助您理解如何规避常见的安全漏洞,文章大纲: 简单介绍ios二进制文件结构与入侵的原理 介绍入侵常用的工具和方法,包括pc端和手机端 讲解黑客技术中的静态分析和动态分析法 通过一个简单的实例,来介绍如何综合运用砸壳.寻找注…
Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a classical problem. Made a few of mistakes through the practice, one is how to use two dimension array, another one is that "not all return path returns va…
 原本这篇文章可以更早一星期写出来与大家分享,由于某方面的原因耽搁到现在,心里竟有那么一点好像对不住大家的感觉.这当然与神器有关,因为我发现利用这四大神器我似乎觉得几乎所有的NET程序破解都不在话下了.而我竟然在发现这神器组合后推迟了一周才分享与大家!        在开始分享之前,还是要说明一点,说是神器到目前为止也仅仅是对我自己而言,至于这四大神器会不会成为对各位而言的神器就不得而言了,因此当有哪位亲拿到这四大神器后仍然感到破解NET程序存在很大困难,请拍砖.        先介绍一下我眼中…
1.block的特点:      block是C语言:      block是一种数据类型.可以当做参数,也可以用做返回值:--总之,对比int的用法用即可(当然,定义的时候,最好跟函数对比):      block是预先准备好的代码块.在需要的时候调用,(需要好好理解"需要时"):   2.定义block      有返回值.有参数:返回类型 ^(blockName)(参数) =  ^返回类型(参数列表){///代码 }:      无返回值.有参数:void ^(blockName…
@date: 2016/10/14 <逆向工程核心原理>笔记 记录书中较重要的知识,方便回顾 ps. 因有一些逆向基础,所以我本来就比较熟悉的知识并未详细记录 第一章 关于逆向工程 目标,激情,谷歌 QAQ 第二章 逆向分析Hello World程序 VS2010 x86 入口点 Entry Point call 0040270c jmp 0040104F 程序开头会有一段VC的启动函数(Stub Code) OD的快捷键 ctrl+f2, f8, f7, f9, ctrl+f9(exec t…
.literal { background-color: #f2f2f2; border: 1px solid #cccccc; padding: 1px 3px 0; white-space: nowrap; color: #6d180b; font-family: Consolas, "Liberation Mono", Courier, monospace; font-size: 16px } 一.简单例子直观认识 1.1 模拟场景 假定项目中需要新增一个功能,管理员发布某些信息…
先看一个例子: <?php $string = 'April 15, 2003'; $pattern = '/(\w+) (\d+), (\d+)/i'; $replacement = '${1}1,$3'; echo preg_replace($pattern, $replacement, $string); ?> 例子的结果是:April1,2003 函数preg_replace ( mixed pattern, mixed replacement, mixed subject [, in…
其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的,0day那本书上也提到过,大神都用烂了.不过想来很久没有碰汇编了,就心血来潮,权当温习一下. /* User32-free Messagebox Shellcode for any Windows version ==========================================…
对于未进行保护的Android应用,有很多方法和思路对其进行逆向分析和攻击.使用一些基本的方法,就可以打破对应用安全非常重要的机密性和完整性,实现获取其内部代码.数据,修改其代码逻辑和机制等操作.这篇文章主要介绍一些基本的应用逆向和分析方法,演示Android应用的代码机密性和完整性是如何被破坏,进而被应用攻击者所用的. 一.Dalvik层源码逆向 在dalvik层代码的分析中,(一般情况下,对于未进行防护的应用)在Dalvik层,我们只关心classes.dex的逆向分析. classes.d…
原文在此 一.Reveal 1 一般使用     Reveal是ITTY BITTY发布的UI分析工具,可以很直观的查看App的UI布局.如下图所示:     Reveal是需要付费的,需要89美元,也可以免费使用30天,不过和其它软件一样,网上都有破解版.推荐另一位博主的博客,里面有破解版安装和简单使用教程:iOS张诚的博客--Reveal使用教程. 另外也将软件Fork了一份到GitHub:https://github.com/mddios/Reveal.git. 2 程序逆向     上面…
下面提到的软件大家可以在下面的链接下载. 大家可以参考下面的操作录制视频来完成相关的操作. 使用 PowerDesigner 和 PDMReader 逆向生成 MySQL 数据字典.wmv_免费高速下载|百度云 网盘-分享无限制http://pan.baidu.com/s/1bnvrObd 数据库反向生成数据字典的工具_免费高速下载|百度云 网盘-分享无限制http://pan.baidu.com/s/1hqpHSGW 第 1 步:先下载一个 ODBC 数据源连接,注意 32 位系统就安装 32…
第三部分 NN-ANN 70年前的逆向推演 从这部分开始,调整一下视角主要学习神经网络算法,将其与生物神经网络进行横向的比较,以窥探一二. 现在基于NN的AI应用几乎是满地都是,效果也不错,这种貌似神奇的玩意怎么想出来的.个人不禁好奇,随后一通乱找.想理出来个线头,谁知一挖发现这线后面的故事太丰富,这里特意分享出来. 其实对神经元的认知是比较早的,在机制和功能方面多是偏向生物学解释,在这个领域最前面的自然是神经学和生物学家.在生物学框架下成果在二战前后推进速度飞快(二战期间德国和英美科研投入特别…
从暑假开始逆向研究也有一个半月了,今晚分析了一个压缩壳,第一次脱离书本逆向一个程序,放上来纪念一下. 其实像这种壳完全可以esp定律秒掉的,之所以分析它,是因为我想知道所谓IAT修复具体是怎么个算法,还有压缩壳到底流程是怎么样的,我认为学逆向最大的乐趣就是可以满足人的好奇心,只要精力够,程序的每个细节是怎么做的都可以知道. aplib部分看上去比较烦,以我现在水平去分析,那简直太烧脑子了. 其实aplib部分我觉得作者本来应该是放在一个函数里的,这个现象是编译器优化所造成的 004040FF >…
在上一篇博客中说到,Mybatis是灵活的SQL语句应用,不想Hibernate一样有其封装好的方法,那么,当我们用Mybatis的时候(Hibernate),我们都需要编写其实体类,和配置文件.本篇博客,就介绍一下Mybatis的逆向生成工具. 一.思路 回想一下,在最早运用EF的时候,我们首先通过可视化界面,连接数据库,然后选择要使用的表单,然后,我们就可以自动生成实体类.在运用Hibernate的时候,我们可以先编写Hibernate的配置文件,连接数据库,然后编写实体类文件,然后通过读取…
http://www.lightoj.com/volume_showproblem.php?problem=1027 You are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The probability for choosing a door is equal for all doors. If you choose the ith door, it ca…