摘要:
xctf的一道逆向,考的vm混淆 先查壳,64位elf,无壳 直接拖进ida分析,定位到main函数 先检测flag长度,然后检验内容 动调跟进函数v3 跟进之后发现是vm混淆,混淆比较简单,经过分析,发现执行流程是一个循环,并且只会执行一部分case语句 直接写python脚本跑出来就可以了 un 阅读全文
摘要:
Complex类--复数类 1、inline内联函数 inline double imag(const complex& x) { return x.imag(); } 内联函数是指将函数时内嵌到函数的调用处 使用内联函数的优点是可以节省程序运行的时间,因为省去了调用函数的堆栈的切换以及分配等操作, 阅读全文
摘要:
版本的判断: 判断版本: ASProtect 1.23 RC4 按shift+f9键26次后来到典型异常,在最近处的retn处设断,跳过异常,f8步跟就会来到foep。 ASProtect 1.31 04.27 按shift+f9键36次后来到典型异常,在最近处的retn处设断,跳过异常,f8步跟就 阅读全文
摘要:
首先我们来脱手脱ASProtect 1.2的壳 步骤如下 ASProtect 1.2 / 1.2c-> Alexey Solodovnikov 最后一次异常 在RET处下断 内存镜像00401000下断 直达OEP!! 脱壳,修复。 下面开始演示 首先查一下壳 然后我们用OD载入 我们在调试选项中只 阅读全文
摘要:
今天继续脱ACProtect壳 上来先查一下壳 发现是ACProtect1.4,我们用OD载入程序 我们直接使用最后一次异常法, 然后使用常规的方法进行脱壳 找到程序的OEP,发现有被偷取的代码,经过查找之后,我们发现程序存在很大一段被偷的代码,所以我们不再使用这种方法,而是用特殊方法 我们再次载入 阅读全文
摘要:
今天我们脱一下ACProtect2.0的壳 老规矩,还是先查一下壳 发现是ACProtect2.0的壳 我们用OD载入 我们在命令窗口中输入bp GetCurrentProcessId命令,然后shift+F9 跳转到这里,取消断点,先查看一下OD的PID,然后修改这几条语句,第一句的第二个操作数填 阅读全文
摘要:
今天继续来脱一下偷代码的ACProtect壳,上一次脱的是版本比较低的壳,这次我们脱的是版本比较高的壳 我们还是先查一下壳 什么也没有发现,但是EP段显示.preplex,并且下面显示UltraProtect,UltraProtect是ACProtect的先前版本 我们用OD载入,然后打开调试选项, 阅读全文
摘要:
常规方法,直达OEP 修复被偷取的代码 修复,成功脱掉! 对于没有偷代码的ACProtect壳,我们直接在Memory中下断就可以,但是对于有偷代码情况的壳,我们就需要找到被偷掉的代码,进行还原,然后进行脱壳修复 我们先看一下,如果没有还原被偷掉的代码,OEP是什么样子的 我们依旧还是先用PEID查 阅读全文
摘要:
以下为脱ACProtect132(无Stolen Code)的步骤 1。设置异常,隐藏OD 2。SE处下内存访问断点 3。SHIFT+F9,F2,再一次SHIFT+F9,下断,再一次SHIFT+F9 4,取消所有断点 5,内存,00401000。F2,SHIFT+F9 6,直达OEP!! 7。修复, 阅读全文
摘要:
之前我们脱壳用的方法都是手脱,根据各种方法找到程序的OEP,但其实也可以使用脚本进行脱壳,缺点是脚本进行脱壳可能会有些不准确,今天就来学习一下如何使用脚本进行脱壳 我们首先先 查一下程序的壳 发现是一个ASPACK的壳,我们如果用脚本进行脱壳,那么就要使用对应的脚本 我们先用OD载入程序 右键选择运 阅读全文