日常1
cm1jadx打开,里面有两个main函数,发现用了一个函数对文件进行了加密 加密函数里面长这样,好丑我滴妈 我在网上看到有人用jeb反汇编可以,所以特地下载了一个jeb,可以发现里面的逻辑是1024一组,然后和key异或(⊙o⊙)! 1234567with open("ooo", "rb") as f: content = list(f.read())key = b"vn2022"for i in range(len(content)): content[i] ^= key[(i % 1024) % 6]with open("one", "wb") as f: ...
小小vm
vm正如其名virtual machine也就是虚拟机的意思 如果他要模拟一个机器去执行一个文件的话,必然需要cpu中的寄存器、内存之间的堆栈,然后还要不断的读取指令去执行函数,来模拟执行流。 大概流程就是这样子的 他的伪堆栈和伪寄存器和一些字符串则会放在一个全局变量中,来答到一个模拟机器的效果 我看别人的博客说一般有两种类型的题目 给可执行程序和opcode,逆向emulator,结合opcode文件,推出flag 只给可执行程序,逆向emulator,构造opcode,读取flag 先找了几个简单的练练手 类型一[GKCTF2020]EzMachine32位打开,开局有个花指令不难,可以看到main函数 这些和字符串一起放置的猜测是寄存器 0 11B0函数 eip+1 inc后面可能是寄存器加一,或者是内存地址加一,这里5BD8在字符集的地方也出现了,应该是eip,即eip加1 1 1000函数 mov 这里我把字符集名字修改了一下,借字符集实现现在的操作数放到寄存器里面 2 1070函数 push...
那晚c和python都喝醉了
最近新做了一种题型,感觉以后考的应该挺多的,然后干脆放一起总结一下吧,因为也算是re入门的一部分Y(^o^)Y python解包首先拿到一个exe文件它的外形长这样,基本就是用pyinsatller打包的exe文件 用工具查一下有pyinsatller显示出来 python逆向基础流程(纯小白教程)_python exe逆向-CSDN博客 解法也很简单下一个pyinstxtractor,放一个文件夹下解包就可以了,这个是正统的方法 像我这种不正经的人就会想歪门邪道用在线的,但是孩子们不要学歪哈(^_^) 解开之后拿到pyc文件,然后用一个库拿到py文件,当然也有快速的方法,但是太求速度也不好,尽量知道正常的怎么做 1uncompyle6...
游戏游戏游戏O(∩_∩)O~~
最近有做到两类不同的游戏类的题,尤其是unity游戏逆向,这个我感觉还挺有意思的,而且近期出现的还蛮多的,浅浅记录一下O(∩_∩)O~~ unity3D它允许开发者通过可视化工具和编程快速构建 2D/3D 游戏、动画等内容,并发布到多个平台(如 PC、手机、主机等)。 一大优点是跨平台,支持它能跨平台的得力于两种脚本处理的方式 Mono 传统 C# 解释执行,兼容性好但性能较低(逐渐淘汰)。 构建应用非常快,必须将代码发布成托管程序集(.dll文件,由mono或者.net生成)。 IL2CPP 将 C# 转为 C++ 再编译,提升性能(主流选择,但逆向难度更高)。 相比Mono构建应用慢,可以启用引擎代码剥离(Engine code stripping)来减少代码的大小。 篇文章对这两个部分有很好的解释 Unity之IL2CPP - 知乎 所以对我们做题来说 Momo出包主要逻辑在Assembly-CSharp.dl 这是 Unity 默认将开发者编写的 C#...
ollvm小记
其实这学期初就接触到零碎的东西,但是五月初才完全实践了一下,记录一下/(^o^)/~ ollvm与llvmollvm是 llvm编译器框架的一种扩展,它用于实现 代码混淆,即故意使程序的源代码或二进制代码变得更加难以理解、逆向工程或破解。 ollvm的混淆是通过修改 llvm IR 实现的,整个项目包含了三个相对独立的LLVM pass,每个pass实现了一种混淆方式。 ollvm其衍生技术仍然是当前移动应用安全加固(包括iOS和Android)中的重要工具之一,尤其是在代码混淆和反逆向工程领域。 当然啦,技术在不断的更新先做这方面的了解。 这里有几个概念记一下: IRIR 介于高级语言(如C/C++)和机器码之间,抽象了硬件细节,使编译器能跨平台优化。 1源代码 → IR → 目标机器码(x86/ARM等) LLVM IR有两种文件格式.ll和.bc,.ll 文件和 .bc 文件都是 LLVM 中间表示的不同表示形式。 .ll 文件是文本形式的可读表示,方便分析和调试 .bc...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub. Quick StartCreate a new post1$ hexo new "My New Post" More info: Writing Run server1$ hexo server More info: Server Generate static files1$ hexo generate More info: Generating Deploy to remote sites1$ hexo deploy More info: Deployment










