【问题标题】:InternetOpenA EXCEPTION_ACCESS_VIOLATIONInternetOpenA EXCEPTION_ACCESS_VIOLATION
【发布时间】:2015-12-09 10:32:07
【问题描述】:

我确实在汇编程序中调用 InternetOpenA

在此命令上使用EXCEPTION_ACCESS_VIOLATION 失败:

movdqa xmmword ptr [rsp + 0x20], xmm0

来源

start:

    sub rsp,30h

    lea rcx, [userAgent]
    mov rdx,INTERNET_OPEN_TYPE_DIRECT
    mov r8,0
    mov r9,0
    mov qword ptr ds:[rsp+20],0
    call qword ptr ds:[<&InternetOpenA>] <---------------

【问题讨论】:

  • 您未对齐堆栈。
  • 我完全同意@Jester。将来,如果您包含更多上下文代码,您可能会发现人们能够更好地为您提供帮助。虽然我相信 Jester 是正确的,但我们真的不知道 RSP 在你的 SUB RSP,30h 之前是什么样子,所以这是一个猜测。更多导致问题的代码将更容易诊断。

标签: exception assembly x86-64


【解决方案1】:

我编辑第一个帖子

它的入口点

我会补充

sub rsp, 8

及其工作

start:

    sub rsp, 8
    sub rsp,30h

    lea rcx, [userAgent]
    mov rdx,INTERNET_OPEN_TYPE_DIRECT
    mov r8,0
    mov r9,0
    mov qword ptr ds:[rsp+20],0
    call qword ptr ds:[<&InternetOpenA>] <---------------

但我不明白为什么堆栈在开始时没有对齐

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-13
    • 2020-04-19
    • 2010-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多