草庐IT

入口处

全部标签

windows - 为什么 LLVM JIT 生成的入口点在 64 位 Windows 下如此冗长?

我正在Windows下玩LLVM,只是想通过构建一些示例程序来更好地理解它。目前,我正在查看HowToUseJIT。我注意到当我运行64位时,我得到了一个入口点,其中包含一些看起来非常疯狂的代码。它将rsi、rdi和xmm6-xmm15保存在堆栈中;然后设置rax和rcx;然后在最终调用调用链中的下一个函数之前恢复所有先前保存的值。这有充分的理由吗?或者它是否表明Windowsx64上的LLVM还没有完全准备好迎接黄金时段?编辑:这是与LLVM2.8一起使用的。我刚刚下载了当前在2.9分支上的内容,但它没有显示相同的行为。 最佳答案

windows - 为什么 dumpbin 中可执行文件的入口点地址与 WinDbg 不同?

我想了解加载可执行文件的机制,所以我用notepad.exe做了两个不同的测试1)运行转储命令:dumpbin/ALL"C:\Windows\System32\notepad.exe"/OUT:"C:\sample\log4.txt"我在OPTIONALHEADERVALUES下得到了以下值:1AC50entrypoint(000000014001AC50)WinMainCRTStartup1000baseofcode140000000imagebase(0000000140000000to0000000140042FFF)2)运行WinDbg:xnotepad!*CRT*我得到了这些

【华为机试真题详解】查找单入口空闲区域【2022 Q4 | 100分】

文章目录前言题目描述输入描述输出描述示例1示例2示例3示例4题目解析参考代码前言《华为机试真题详解Python实现》专栏含牛客网华为专栏、华为面经试题、华为OD机试真题。如果您在准备华为的面试,期间有想了解的可以私信我,我会尽可能帮您解答,也可以给您一些建议!本文解法非最优解(即非性能最优),不能保证通过率。特别提醒!!!!注意1:机试为ACM模式你的代码需要处理输入输出,input接收输入、print格式化输出注意2:机试按通过率记分复杂题目可以考虑暴力破解,再逐步优化,不是运行超时就无法得分,如下,提交结果运行超时,但用例通过率>92.31%,如果是100分的题目

mysqld.exe - 找不到入口点

我在WindowsServer2008x64标准版上安装了MySQL版本“mysql-5.7.10-winx64”,但我遇到了问题。当我从CMD(命令提示符)启动mysqld.exe时,我总是遇到此错误:TheprocedureentrypointTryAcquireSRWLockExclusivecouldnotbelocatedinthedynamiclinklibraryKERNEL32.dll. 最佳答案 根据thispost在引用MySQLsupportedplatforms的MySQL论坛上页面,您需要Windows20

c - 将入口点更改为PE文件中新添加的shellcode段后,如何恢复主进程?

我试图通过在PE文件末尾添加一个额外的节头并在其中编写shellcode来进行PE感染。我已经添加了额外的部分并在其中编写了shellcode,并将原始入口点(OEP)更改为新添加的部分并且它执行得很好;我的意思是我的shellcode运行良好,但现在我想恢复主进程,为此我需要再次将修改后的入口点更改为OEP。但是,我无法弄清楚。请告诉我是否有任何方法可以在执行shellcode后恢复主进程。而且,我也试过这个blog,但它也不起作用,因为作者编写了内联汇编代码并放置了一些占位符以在运行时恢复OEP,这将动态嵌入到shellcode中。我正在考虑编写一个包含JMPto_OEP的shel

Windows PE 确定入口点虚拟地址

我正在使用“PE编辑器”检查Windows可执行文件,它显示入口点为0x15B8,我们如何确定该入口点的地址为虚拟地址? 最佳答案 入口点是相对于模块的加载地址存储的。模块可以通过设置IMAGE_OPTIONAL_HEADER中的ImageBase字段来声明其首选地址(参见thispage)。但是,操作系统可以自由选择另一个地址,或者是因为首选地址正在使用中,或者是最近因为ASLR。我不确定你在什么环境下运行这个,但如果你用一个实时运行的程序来做这个:这是一个实现细节,但在NT上你可以转换一个HMODULE成一个指针,这是模块的加载

c++ - 从 32 位进程获取 64 位进程内存的入口点

我想获取我从32位进程编写的64位进程的入口点,就像您使用EnumProcessModule并获取主模块的内存地址一样。我的最终目标是从我的64位进程中的内存中读取一个字节,从它的偏移量(entry+Offset)。但是我的NtWow64ReadVirtualMemory64函数一直失败。我认为这与我的入口内存地址有关。#definePROC_BASIC_INFO0#defineNT_WOW64_QUERY_INFORMATION_PROCESS_64_NAME"NtWow64QueryInformationProcess64"#defineNT_WOW64_READ_VIRTUAL_

C++ 入口点 -> main()

为了好玩,我正在编写自己的小用户模式调试器。我知道PEheader中指定的入口点不是定义main()的程序(无论如何就MicrosoftC++运行时而言)我在哪里可以找到一些文档,了解在这个入口点之间发生的调用,直到实际的main()函数,以及调用它们的原因和作用? 最佳答案 你不能。事实上main可能不存在。例如:您可以覆盖链接器使用的默认CRT入口点,main可以内联到CRT启动函数等... 关于C++入口点->main(),我们在StackOverflow上找到一个类似的问题:

c++ - 多个应用程序入口点

最近我试图通过为已经具有主入口点(它是控制台exe)的应用程序创建一个额外的(DLLMain)入口点来向现有二进制文件添加单元测试。该应用程序似乎可以正确编译,尽管我无法将它用作我的python单元测试框架中的DLL,所有将exe用作dll的尝试都失败了。有没有人在添加额外的应用程序入口点方面有任何想法或经验,以及关于为什么这行得通或行不通的任何输入? 最佳答案 为了实现你想要的,你应该解决一些问题:exe必须有重定位表(使用链接器开关/FIXED:NO)exe必须导出至少一个函数-很清楚如何做到这一点。我建议使用不带某些开关(/h

windows - 无法找到过程入口点 _crt CreateSymbolicLink

启动WAMP时出现此错误:过程入口点_crtCreateSymbolicLinkW无法位于动态链接库MSVCR110.dll中 最佳答案 请注意:WAMPServer2.5无法在WindowsXP上运行,因为此dllMSVCR110.dll无法安装在XP上。请确保您拥有所有这些MicrosoftC/C++Redistributable运行时库的最新版本。您不需要整个编译器,只需要这些C/C++运行时库。适用于WAMPServer32位MicrosoftVisualC++2008SP1RedistributablePackage(x8