首页
社区
课程
招聘
[求助]程序加完壳后在vista/win7下不能运行!
发表于: 2009-11-13 10:30 5647

[求助]程序加完壳后在vista/win7下不能运行!

2009-11-13 10:30
5647
我参考着 《加密与解密》那本书编写了一个加壳软件
在xp下可以顺利加壳  加完壳后的程序也能运行
在vista/win7下 也可以加壳,但是加完壳后的程序不能运行,双击之后没有任何反应
请问会是什么问题呢?
有什么可能的原因导致这个问题啊?

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 2307
活跃值: (983)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
我见过些程序是由系统的执行保护引起的。
2009-11-13 10:52
0
雪    币: 92
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
不是执行保护的原因
已经找到原因了 是因为我根据玩命大大的 文章,用了这么一个反调试函数:
D_Heap_ForceFlags:
    assume fs : nothing
    mov eax, fs:[30h]
    mov eax, dword ptr [eax+18h]    ; PEB.ProcessHeap
    mov eax, dword ptr [eax+10h]    ; PEB.ProcessHeap.Flags
    int 3
    test eax, eax
    jnz Found_FD_Heap_ForceFlags
    jz  End_FD_Heap_ForceFlags
Found_FD_Heap_ForceFlags:
    call xxx         
End_FD_Heap_ForceFlags:
通过加入断点后调试,发现eax的值在xp和vista下是不同的 xp下为0;但vista下不是0,导致跳转错误。
这是什么原因呢?是vista的堆管理机制跟xp不同吗?
2009-11-13 12:59
0
游客
登录 | 注册 方可回帖
返回
//