小仓个人笔记
文章平均质量分 52
M0th@n
某带专摸鱼专家,不定期更新逆向笔记,主要是自己备份,如有错误佬见勿喷
展开
-
OLLVM混淆
通过分析可以发现原始的执行逻辑只在真实块以及序言和retn块中,其中会产生分支的真实块中主要是通过CMOV指令来控制跳转到哪一个分支,常见的分析工具有angr。在代码块前添加一个判断代码块来改变CFG,永真或永假判断使进程直接跳转到原代码块,并将整个代码内容被随机生成的垃圾指令填满,增加逆向成本。用IDA查看未经过控制流平坦化的控制流程图(CFG)使用复杂的指令代替简单的二元运算(如加减法、或、异或)这样可以模糊基本块之间的前后关系,增加程序分析的难度。原创 2024-04-10 20:59:46 · 476 阅读 · 0 评论 -
upx命令行脱壳
try upx.exe -d原创 2023-07-28 09:58:40 · 2551 阅读 · 1 评论 -
DLL文件缺失修复
鼠鼠我啊,最近脑残更新了windows(好像不知道因为啥问题感觉更新就能解决了)导致动调时总是弹某DLL文件缺失然后就崩了,然后我就上网搜如何解决。好家伙,不是windows自带功能(反正我搞完没用)就是号称免费的付费垃圾软件,给我火大的啊,现在挂个有效的方法。原创 2023-12-17 13:11:38 · 319 阅读 · 1 评论 -
简单CE题
有时候写逆向题总在想,我们做的题和真实的情况有什么关联呢,逆向以外挂/病毒式的姿态面对新人,但刚开始大都被IDA F5所支配(只能说IDA确实牛皮,而且现实中没大量游戏经历的小白对逆向根本就没什么大体的概念)最近刚写了些CE题,感觉很适合拿出来讲。原创 2023-12-04 19:39:08 · 124 阅读 · 0 评论 -
简单汇编题2
一堆雷同的题中汇编题总是显得那么与众不同(都怪博主基础垃圾)又是某校的新生赛题,HDCTF 2023 easy_asm,这次啥提示都没。原创 2023-12-01 20:01:25 · 68 阅读 · 1 评论 -
py生成exe及pyc处理
很显然py文件格式的反编译还是在简单题里面占比很大,因此简单讲一下以SWPUCTF 2021 老鼠走迷宫 为例。原创 2023-12-01 17:50:33 · 387 阅读 · 1 评论 -
简单汇编题
有时候也会遇见纯汇编的题,简单讲一下流程以HGAME 2022 week1 easyasm。原创 2023-11-27 14:43:48 · 49 阅读 · 1 评论 -
IDA常用快捷键
:伪代码处添加注释或隐藏类型描述,汇编处查看伪代码。Ctrl+滚轮:调整汇编窗口大小。Shift+F12:查看字符串。Shift+F7:查看内存分布。Space:汇编窗口与文本转换。U:取消函数、代码、数据定义。原创 2023-11-26 14:45:58 · 1508 阅读 · 2 评论 -
简单花指令
虽然被插入到了正常代码的中间,但是并不意味着它一定会得到执行,这类花指令通常形式为在代码中出现了类似数据的代码,或者IDA反汇编后为jmupout(xxxxx)这部分花指令代码在程序的正常执行过程中会被执行,但执行这些代码没有任何意义,执行前后不改变任何寄存器的值(eip除外),同时这部分代码也会被反汇编器正常识别。这种花指令的首要目的依然是加大静态分析的难度,让你难以识别代码的真正意图,并且可以破坏反编译的分析,使得栈指针在反编译引擎中出现异常。花指令:目的是干扰IDA和OD等软件对程序的静态分析。原创 2023-11-12 13:40:00 · 94 阅读 · 1 评论 -
简单SMC
先简单陈述两个概念:反调试:应用程序为了保护自己不被调试器调试限制进程调试自身SMC:动态代码加密技术,指通过修改代码或数据,阻止别人直接静态分析,然后在动态运行程序时对代码进行解密,达到程序正常运行的效果。原创 2023-11-10 21:07:05 · 62 阅读 · 1 评论 -
z3-solver求解器
z3相当于利用计算机解方程,对于上图情况即解行列式问题这是一种由微软开发的SMT求解器,C++开发,提供.NET、C、C++、Java、Python 等语言调用接口网络上常见的教程是以python接口为例。原创 2023-11-09 20:54:05 · 1200 阅读 · 2 评论