32位dbg中编辑的:
7711E9D3 | 6A | push |
7711E9D5 | E8 | call ntdll.7711E9DA | call $
7711E9DA | | add dword ptr ss:[esp], |
7711E9DE | CB | ret far |
6A E8 CB 64位dbg中获取的:
00007FFC844B11DD | :B8 | mov rax, |
00007FFC844B11E7 | | push rax |
00007FFC844B11E8 | : | push r8 |
00007FFC844B11EA | : | push r9 |
00007FFC844B11EC <ntdll.LdrpGetProcApphelp | : | push r10 |
00007FFC844B11EE | : | push r11 |
00007FFC844B11F0 | : | push r12 |
00007FFC844B11F2 | : | push r13 |
00007FFC844B11F4 | : | push r14 | r14:"minkernel\\ntdll\\ldrinit.c"
00007FFC844B11F6 | : | push r15 |
00007FFC844B11F8 | | push rax |
00007FFC844B11F9 | E8 | call ntdll.7FFC844B11FE | call $
00007FFC844B11FE | C74424 | mov dword ptr ss:[rsp+], | :'#'
00007FFC844B1206 | 0D | add dword ptr ss:[rsp],D |
00007FFC844B120A | CB | ret far |
00007FFC844B120B | | nop |
B8 E8 C7 0D CB 合成:
7711E9D3 | 6A | push |
7711E9D5 | E8 | call ntdll.7711E9DA | call $
7711E9DA | | add dword ptr ss:[esp], |
7711E9DE | CB | ret far |
7711E9DF | | dec eax |
7711E9E0 | B8 | mov eax, |
7711E9E5 | | inc esp |
7711E9E6 | | xor esp,dword ptr ds:[edx] |
7711E9E8 | | adc dword ptr ds:[eax+],edx |
7711E9EB | | push eax |
7711E9EC | | inc ecx |
7711E9ED | | push ecx |
7711E9EE | | inc ecx |
7711E9EF | | push edx |
7711E9F0 | | inc ecx |
7711E9F1 | | push ebx |
7711E9F2 | | inc ecx |
7711E9F3 <ntdll._LdrpForkProcess@0> | | push esp |
7711E9F4 | | inc ecx |
7711E9F5 | | push ebp |
7711E9F6 | | inc ecx |
7711E9F7 | | push esi |
7711E9F8 | | inc ecx |
7711E9F9 | | push edi | edi:"LdrpInitializeProcess"
7711E9FA | | push eax |
7711E9FB | E8 | call ntdll.7711EA00 | call $
7711EA00 | C74424 | mov dword ptr ss:[esp+], | :'#'
7711EA08 | 0D | add dword ptr ss:[esp],D |
7711EA0C | CB | ret far |
7711EA0D | | nop |
6A E8 CB B8 E8 C7 0D CB 取回来的栈: win10_64
$ ==>
r15
$+ 0000000000A6E940 0000000000A6FDA0
$+ 0000000002C0A000
$+ 00000000770E1FCC
$+ 000000000000002B 取回来的栈: win7_64
$ ==> >
r15
$+ > 0008EC80 0008FD20
$+ > 7EFDB000
$+ > 0018FD10
$+ > 778B01C4

wow64 32位进程中切换64位模式,取回64位寄存器值的更多相关文章

  1. Wow64(32位进程)注入DLL到64位进程

    转载自: https://blog.poxiao.me/p/wow64-process-inject-dll-into-x64-process/ 向其他进程注入DLL通常的做法是通过调用CreateR ...

  2. Windows是如何将64位Ntdll映射到32位进程的---转自简书

    今天我们探索一个问题: 64位的ntdll是如何被加载到WoW64下的32位进程?今天的旅程将会带领我们进入到Windows内核逻辑中的未知领域,我们将会发现32位进程的内存地址空间是如何被初始化的. ...

  3. Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储

    在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...

  4. CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决

    Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...

  5. windows 32位系统中进程最大可用内存空间为3GB (转)

    http://msdn.microsoft.com/zh-cn/library/ms189334.aspx 进程地址空间 所有 32 位应用程序都有 4 GB 的进程地址空间(32 位地址最多可以映射 ...

  6. 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考

    最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/C++代码),long类型的变化,最关键的 ...

  7. 64位进程调用32位dll的解决方法

    64位进程调用32位dll的解决方法   最近做在Windows XP X64,VS2005环境下做32位程序编译为64位程序的工作,遇到了一些64位编程中可能遇到的问题:如内联汇编(解决方法改为C/ ...

  8. 关于32位程序在Win7&64位系统中连接Microsoft Excel数据源的问题

    最近在新公司电脑上跑以前的selenium测试框架的时候,抛出了如下的错误 出现的是ODBC Driver问题:[Microsoft][ODBC Driver Manager] Data source ...

  9. 第十七章——配置SQLServer(2)——32位和64位系统中的内存配置

    原文:第十七章--配置SQLServer(2)--32位和64位系统中的内存配置 前言: 本文讲述32位和64位系统中的内存配置,在SQLServer 2005/2008中,DBA们往往尝试开启AWE ...

随机推荐

  1. HNUSTOJ-1565 Vampire Numbers(暴力打表)

    1565: Vampire Numbers 时间限制: 3 Sec  内存限制: 128 MB提交: 20  解决: 9[提交][状态][讨论版] 题目描述 The number 1827 is an ...

  2. kotlin学习(8)泛型

    泛型的声明 与Java不同的是,Kotlin要求类型实参要么被显示的说明,要么能被编译器推导出来.因为Java在1.5版本才引入泛型,所以为了兼容过去的版本,可以不直接声明List类型的变量,而不说明 ...

  3. SpringCloud入门(二)

    ribbon实现负载均衡 上文只是将服务注册到eureka上,但是consumer还是硬编码调用,前文也有提到这种硬编码方式肯定是不合理的,一来服务上线之后,IP地址肯定是变动的, 再则,采用硬编码的 ...

  4. django基础篇01-环境的搭建和项目的创建

    本文参考自银角大王的博客 基本配置 常用命令: django-admin startproject xxx(项目名) python3 manage.py startapp xxx(app名) pyth ...

  5. Kafka在windows下的配置使用

    Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量 ...

  6. c++ Socket客户端和服务端示例版本二

    客户端 #include <stdio.h> #include <stdlib.h> #include <errno.h> #include <sys/soc ...

  7. Apache 的 php.ini 配置文件详解

    [root@taokey ~]# grep -v ";" /application/php/lib/php.ini [PHP] engine = On  ——→  是否启用 PHP ...

  8. Keycode含义

    keycode 是键盘上每一个按键对应的码keycode如下 :keycode 0 = keycode 1 = keycode 2 = keycode 3 = keycode 4 = keycode ...

  9. Codeforces 959 树构造 暴力求最小字典序互质序列

    A B C 题目给你一个结论 最少需要min((odd,even)个结点可以把一棵树的全部边连起来 要求你输出两颗树 一棵树结论是正确的 另外一棵结论是正确的 正确结论的树很好造 主要是错误的树 题目 ...

  10. 我用过的gitlab api

    1.新增tag https://docs.gitlab.com/ee/api/tags.html#list-project-repository-tags 2.获取指定项目合分支的最新一次merge ...