首页
社区
课程
招聘
[讨论]问一下,这个反跟踪代码如何跳出来在VC
发表于: 2009-12-9 23:59 4573

[讨论]问一下,这个反跟踪代码如何跳出来在VC

2009-12-9 23:59
4573
__asm
  {
    push ebp
    mov ebp,esp
    push ss    //反跟踪指令序列
    ;junk
    pop  ss    //反跟踪指令序列
    pushf    //反跟踪指令序列
    ;junk
    pop eax    //反跟踪指令序列
    and  eax,0x00000100
    jnz  rt_label

    xor eax,eax
    mov esp,ebp
    pop ebp
    retn
rt_label:
    xor eax,eax
    inc eax
    mov esp,ebp
    pop ebp
    retn
  }

这个代码是有调试的就出程序就出错,我加到VC6。0里

我不想让他跳到出错的地方,我想还要他回到源来的地址,保持程序正在常运行,也就是反跟失败。之是让这个检查一下有没有反调试程序,如果有程序记录一下,但是还要保正程序运行正常.

要如何改一下呢?
谢谢了,

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我顶上去........
2009-12-17 19:38
0
雪    币: 245
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
int __declspec(naked) t()
{__asm
  {
    push ebp
    mov ebp,esp
    push ss    //反跟踪指令序列
    ;junk
    pop  ss    //反跟踪指令序列
    pushf    //反跟踪指令序列
    ;junk
    pop eax    //反跟踪指令序列
    and  eax,0x00000100
    jnz  rt_label

    xor eax,eax
    mov esp,ebp
    pop ebp
    retn
rt_label:
    xor eax,eax
    inc eax
    mov esp,ebp
    pop ebp
    retn

}}

int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hInstNULL, LPSTR lpszCmdLine, int nCmdShow)
{
        MessageBox(0,t()?"1":"0",0,0);
}

by the way   

result 0 in ollydbg
result 1 in vcdebuger
2009-12-19 23:08
0
游客
登录 | 注册 方可回帖
返回
//