注册 登录
编程论坛 汇编论坛

再来一段典型的技巧,还是小黄瓜

zhu224039 发布于 2014-08-17 15:01, 2603 次点击
#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 编辑 ]
1 回复
#2
hu9jj2014-08-18 07:55
典型的早期程序加密方法:设置陷阱迷惑反汇编者、动态改变程序跳转的地址、动态对加密的程序进行分段解密然后执行,等等。
1