安洵杯2019-crackMe 一、题解主函数的伪代码如下: 可以看出整个流程是:先输入flag,然后弹出一个警告弹窗,之后有sub_41100F和sub_411136两个函数。第一个函数比较复杂,可能是一堆加密操作,在最后面会进行分析。第二个函数是最终是将两个字符串相比较,如下图所示: Str2已知,而Str1未知,但是可以发现它在另一处被引用了,如下图所示: 问题就来了,这个函数是怎么被调用的呢,目前来看是不可能执行这 2023-09-04 Reverse #Reverse
NPUCTF2020-你好sao啊 代码意思很明确,让我们输入一个33bytes的字符串,进行加密后,跟已知字符串相比较,如果相等就成功,否则失败。 因为windows上数据存储是小端存储,所以已知字符串的顺序需要手动调整,当然也可以动态调试之后直接从内存中复制过来。 1234567unsigned char ida_chars[] ={ 0x9E, 0x9B, 0x9C, 0xB5, 0xFE, 0x70, 0xD3 2023-09-04 Reverse #Reverse
GKCTF2021-QQQQT Exeinfo PE查看exe信息,发现是Enigma Virtual Box。这是啥玩意,网上搜索到了相关信息: Enigma Virtual Box是软件虚拟化工具,它可以将多个文件封装到应用程序主文件,从而制作成为单执行文件exe 也就是说这个exe文件是通过打包得到的,那么我们应该对其进行解包,工具下载链接如下: EnigmaVBUnpacker v0.59(Enigma Virtua 2023-09-04 Reverse #Reverse
QCTF2018-Xman-babymips 可以看到上述代码不同于汇编代码,是MIPS指令,不过好在IDA有相应的插件反汇编这种代码。 整个代码流程为:我们输入32bytes的字符串,先进行异或,然后比较前5bytes的字符是否相等,然后进入sub_4007F0函数。 将后27bytes字符串进行移位运算,然后再与字符串比较。 相应的逆向比较简单,代码如下: 12345678910111213141516171819202122232 2023-09-04 Reverse #Reverse
羊城杯2020-login 附件是个python编写的exe程序(从图标中就可以看出来),先运行一下,给出了字符串input somthing,然后尝试用IDA分析,可惜不行,shift+F12也找不到相应的字符串。 因为python代码要通过打包才能变成exe文件,所以借助浏览器搜索python编写的exe如何反编译py文件,找到了相应的文章: Python解包及反编译: PyInstaller Extractor+unc 2023-09-04 Reverse #Reverse
SWPU2019-ReverseMe 方法一IDA打开如下图所示(部分分析在图上): 基本可以确定,我们要让v16=0才是正确的,而能使v16=0有两条路径,第一条是伪代码中第89103行的 while 循环,第二条是伪代码中第105111行的if语句。显然,第二条路径是走不通的,因为不可能存在同时满足如下条件: 123v17 = v18 < *((_BYTE *)v13 + 1), v18 == *((_BYTE *)v13 2023-09-04 Reverse #Reverse
2019红帽杯-childRE 部分分析如图所示。第29行的sub_xxxx是个复杂的函数,尝试分析过。第33~34行的这两个函数是二叉树的后序遍历 且遍历的结果存储到name中。 之后比较关键的函数是UnDecorateSymbolName函数,这个函数在官方文档上有介绍,但不是很详细,于是问了问chatgpt: 12345678910111213141516171819202122232425262728好的,让我们以 2023-09-04 Reverse #Reverse
AOSP源码编译 下载AOSP源码根据中科大的来:AOSP 镜像使用帮助 — USTC Mirror Help 文档 这里我用的是第二种方法,虽然不推荐,但是必须得尝试一下。 首先是下载 repo 工具: 1234mkdir ~/binPATH=~/bin:$PATHcurl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo 2023-08-28 Reverse #环境配置 #AOSP
Frida开发环境搭建 pyenv环境配置科学上网:pyenv/pyenv: Simple Python version management (github.com) 直连:pyenv-installer: pyenv(gitee的地址) 首先下载依赖包(参考:Common build problems · pyenv/pyenv Wiki (github.com)): 1apt-get insta 2023-08-24 Reverse #环境配置 #Frida
Android开发学习笔记(八) —— 探究ContentProvider 一、什么是ContentProvider1.1 概念内容提供器(Content Provider)是Android四大组件之一,主要用于在不同的应用程序之间实现数据共享的功能,它提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据的安全性。使用时需要在AndroidManifest..xml文件中进行声明。 不同于文件存储和SharedPreferences存储中的两种全 2023-08-12 Android #Android开发