首页
社区
课程
招聘
[求助]WIN7 x64这代码会跑飞
发表于: 2021-4-15 23:13 4503

[求助]WIN7 x64这代码会跑飞

2021-4-15 23:13
4503

设置windbg 或者od或者 x64dbg 实时调试器 然后测试以下代码 WIN7 X64会一直卡在异常系统的临空 怎么忽略shift+f9 或者添加异常忽略都无效,无法返回用户代码层

 

但在 WIN10和WIN7x86 正常 求大哥指点,想远程给人调下程序 WIN7 x64就无法中断

 

代码测试代码简单 就一个 int 3 cc断点

 

#include <iostream>

 

int main()
{
std::cout << "Hello World!\n";
_asm
{
int 3
}
std::cout << "The End !\n";
getchar();
}


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

最后于 2021-4-16 13:59 被guotouck编辑 ,原因:
上传的附件:
收藏
免费 0
支持
分享
最新回复 (19)
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
2
请使用标准API:__debugbreak();
2021-4-15 23:28
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
mJqalJqN 请使用标准API:__debugbreak();
__debugbreak()     这个我测试过了 效果一样的    
2021-4-15 23:37
0
雪    币: 7485
活跃值: (3075)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
是不是你的vsjxxxxx那个调试器没设置啊!我在win7 x64上用过,不过编译的是x86的程序,编译x64忘记了。
2021-4-15 23:53
0
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
5
guotouck __debugbreak() 这个我测试过了 效果一样的
用x64dbg试试
2021-4-16 02:24
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
mJqalJqN 用x64dbg试试
x64dbg 也测试过了 不行的~
2021-4-16 13:59
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
kxSatan 是不是你的vsjxxxxx那个调试器没设置啊!我在win7 x64上用过,不过编译的是x86的程序,编译x64忘记了。

vsjxxxxx ? 没看懂 什么意思? 即时调试器没设置? 我设置了啊 windbg x64dbg od 都测试过了 win7x64 都不行,一直断在系统领空,  WIN10 WIN7-x86位 都正常 !

最后于 2021-4-19 16:58 被guotouck编辑 ,原因:
2021-4-19 16:53
0
雪    币: 7485
活跃值: (3075)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
guotouck kxSatan 是不是你的vsjxxxxx那个调试器没设置啊!我在win7 x64上用过,不过编译的是x86的程序,编译x64忘记了。 vsjx ...

保存为reg文件,执行。



Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug]
"UserDebuggerHotKey"=dword:00000000
"Debugger"="\"C:\\Windows\\system32\\vsjitdebugger.exe\" -p %ld -e %ld"
"Auto"="1"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AeDebug\AutoExclusionList]
"DWM.exe"=dword:00000001



2021-4-19 18:15
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
kxSatan 保存为reg文件,执行。Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Cu ...

OD 和x64dbg 直接在菜单选项设置上就带有添加到实时调试器的.  windbg设置默认即时调试器是cmd命令    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe -I


然后按照你这办法也不行啊~~ 还是崩溃后附加后断在 77A315EE  并不是INT 3位置.


最后于 2021-4-19 22:36 被guotouck编辑 ,原因:
上传的附件:
2021-4-19 22:33
0
雪    币: 7485
活跃值: (3075)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
2021-4-19 23:54
0
雪    币: 16
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
11
windbg.exe -I
2021-4-19 23:59
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
kxSatan
你这源码调试吗...我意思说编译出来 丢到WIN7 x64系统里边测试啊 我这是大致的代码..
编译出来 丢WIN7 X64运行 然后崩溃后 自动附加调试器 按理来说附加调试器因该段在INT 3才对 但WIN7 X64一直断在系统层啊 按F8 直接挂了 
2021-4-20 00:24
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
mJqalJqN windbg.exe -I
是的 WINDBG 我在9楼发了啊  你可以试试 附加有文件 崩溃后附加你看是否中断在INT 3位置  我这WIN7 X64不会 我在人家电脑测试也不会 所以百思不得其解来论坛求问大佬!
2021-4-20 00:26
0
雪    币: 261
活跃值: (547)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14

不科学

最后于 2021-4-20 01:23 被chengqiyan编辑 ,原因:
2021-4-20 01:23
0
雪    币: 8209
活跃值: (4518)
能力值: ( LV15,RANK:2473 )
在线值:
发帖
回帖
粉丝
15

64位系统跑32位程序,你注册表设置要用SOFTWARE\WOW6432Node里面的

最后于 2021-4-20 09:34 被ccfer编辑 ,原因:
2021-4-20 09:31
0
雪    币: 581
活跃值: (1192)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
16

64位好像不能直接这么嵌入汇编指令。
__asm
{
int 3
}

最后于 2021-4-20 10:12 被lracker编辑 ,原因:
2021-4-20 10:12
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
lracker 64位好像不能直接这么嵌入汇编指令。__asm{int&nbsp;3}
64位用 __debugbreak();   但楼上说都不是问题关键.. 9楼已经回答设置 od x64dbg 工具上就支持设置为系统调试器了,  我所表达是问题是  我能正常运行并且程序崩溃后,可以正常自动附加调试器了  问题是附加后调试中断的位置不在INT 3 这怎么解决.
2021-4-20 11:28
0
雪    币: 35
活跃值: (612)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
ccfer 64位系统跑32位程序,你注册表设置要用SOFTWARE\WOW6432Node里面的
不是这问题, 9楼我已经回答了 od x64dbg 工具上就支持设置为系统调试器
2021-4-20 11:28
0
雪    币: 2392
活跃值: (1055)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
用Procexp分析下
2021-4-20 13:41
0
雪    币: 2392
活跃值: (1055)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
感觉可能是因为32位的注册表重定向导致的
2021-4-20 13:43
0
游客
登录 | 注册 方可回帖
返回
//