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. C++自学教程第一课——你好世界,我是柠檬鲸。

    C++系列教程现在在自己学校的一个博客平台发布,几个朋友一起搭建的 [C++基础教程系列](https://blog.ytmaxoj.org/cpp_basic_liuary-0/) 下面是原来的正文 ...

  2. 图——图的Kruskal法最小生成树实现

    1,最小生成树的特征: 1,选取的边是图中权值较小的边: 2,所有边连接后不构成回路: 2,prim 算法是以顶点为核心的,最下生成树最大的特征是边,但 prim 算法非要以顶点为核心来进行,有些复杂 ...

  3. Spring aop 实例(转)

    面向切面编程,有效的降低了代码之间的耦合性,易于维护:例如:我们习惯在代码中加上一些日志信息,在程序出错时方便快速查找找到问题,通常做法是在请求进入方法的时候打印日志,退出前打印日志,还有在出错时打印 ...

  4. package.json的所有配置项及其用法,你都熟悉么

    写在前面 在前端开发中,npm已经是必不可少的工具了.使用npm,不可避免的就要和package.json打交道.平时package.json用得挺多,但是没有认真看过官方文档.本文结合npm官方文档 ...

  5. tcp和udp详解??

    TCP:面向连接的可靠传输 tcp规定了:传输服务必须建立连接      传输结束必须断开连接      传输数据必须保证可靠 数据的可靠性:无重复.无丢失.无失序.无差错. 建立连接(三次握手): ...

  6. angular 示例项目

    cnpm install 环境安装好后,快速创建一个新项目,如在D盘下新建一个angularProject项目,只要在本地目录下 ng new angularProject angularProjec ...

  7. Linux安装 jdk&maven

    JDK安装 1. 下载JDK压缩包http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html ...

  8. Python RSA操作

    公钥加密.私钥解密 # -*- coding: utf-8 -*- import rsa # rsa加密 def rsaEncrypt(str): # 生成公钥.私钥 (pubkey, privkey ...

  9. Java web项目 本地配置https调试

    一.创建密匙 网上有很多教程,就不在此赘述了. 假设最后生成的密匙为tomcat.keystore 密码为123456. 二.配置tomcat 首先,将密匙移到tomcat下根目录下. 进入conf文 ...

  10. PAT Basic 1010 一元多项式求导 (25 分)(活用stringstream,昨天学习的)

    设计函数求一元多项式的导数.(注:x​n​​(n为整数)的一阶导数为nx​n−1​​.) 输入格式: 以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数).数字间以空格分隔. ...