再来一段典型的技巧,还是小黄瓜
#include "stdafx.h"#include "windows.h"
void print();
void print1();
int _tmain(int argc, _TCHAR* argv[])
{
_asm{
push print
call xxx
//此处可以加入很多东西,比如废物操作 迷惑人用的,也相当于一个函数调用
xxx: retn
retn
}
return 0;
}
void print()
{
_asm{
pushad
call xxx
a: jmp xxx1
b: jmp xxx2 //跳转执行 小黄瓜
xxx:
pop ebp //取程序的返回地址
mov eax,b
sub eax,a //计算 a 和 b的差值
add ebp,eax //此时 ebp为 b的地址
xxx1: push ebp
retn //程序返回b的地址
xxx2:
call print1 //这个函数地址可以随意更改 同样是迷惑人的
}
}
void print1()
{
::MessageBoxA(NULL,"小黄瓜",NULL,MB_OK);
::ExitProcess(NULL);
}
//正在反汇编一个壳,居然把壳也加密了 反汇编居然是不正常的,调试器只能一点一点的往前进 ,这是 壳的头部框架
// 自加密 嘿嘿
[ 本帖最后由 zhu224039 于 2014-8-17 15:07 编辑 ]