-
-
[求助]包含多个中断的程序执行有概率会错
-
发表于: 2023-7-31 18:11 3289
-
尝试用中断来让程序“倒着执行”
这个函数是 int 0fh 的处理函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | .data a dq 0 b dq 0 .code Int0f proc swapgs mov [a], rax mov [b], rbx xor rax, rax xor rbx, rbx nop mov rax, [rsp] ;指令地址 mov byte ptr bl, [rax] ;待减的值 sub rax, rbx mov [rsp], rax mov rbx, [b] mov rax, [a] swapgs iretq Int0f endp |
这个程序(a.exe)是测试程序的主函数:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | [BITS 64 ] SECTION .text global WinMain l0: ret l1: mov rax, 1 int 0fh db l2 - l0 - 1 l2: mov rax, 2 int 0fh db l3 - l1 - 1 l3: WinMain: mov rax, 3 int 0fh db l4 - l2 - 1 l4: int 0fh ret |
运行a.exe后有概率返回正确的1,也有概率返回-1073741819(通过%ERRORLEVEL%查看),求助怎么稳定让程序返回正确结果?
另:通过windbg在int 0fh指令前下硬件断点,可以让程序稳定正确运行,但实际使用中也不能在另一台电脑上挂一个windbg呀
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
最后于 2023-7-31 19:33
被Billraozihan编辑
,原因:
赞赏
他的文章
- [求助][下载]编辑UEFI变量提示超出范围? 1541
- [求助]包含多个中断的程序执行有概率会错 3290
- [求助]关于dll和exe的全局变量 5499
- 如何去掉右键分区里的格式化选项? 4432
- [求助]sfilter文件重定向失败 7817
看原图
赞赏
雪币:
留言: