-
-
[讨论]动态混淆的代码怎么破?
-
发表于:
2015-1-4 02:21
4426
-
假设有如下几句指令:
mov eax, 00401588h
push eax
push eax
push edi
可以这样写:
push 00401588h
xchg eax, [esp]
mov eax, [esp]
mov eax, [esp]
push esi
pushf
mov [esp+4], eax
popf
mov eax, [esp]
mov [esp+4], eax
lea esp, [esp-4]
pushf
mov [esp+4], edi
mov [esp], eax
pop edi
mov edi, [esp]
当然还可以写得更加复杂; 如果纯人工分析,根本不切实际, 因为如果 1KB 代码经过大量的混淆,或者可以多次多重混淆,1KB 的代码量, 可以变成 5MB, 10MB 甚至上百MB!!!
我很想知道, 有什么方便快捷的方法能够还原? 就是自动化, 当然不求还原到原来最精练的样式,但至少不会那么晦涩; 比如,什么工具,什么脚本,什么插件, 或者构建什么环境如何去做, 可以对付这种情况?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课