草庐IT

EXE_BAD_ACCESS

全部标签

windows - 从 exe/pdb 获取有关可执行代码的信息

我需要从经典的win32exe/dll文件中提取代码(但不是数据!)。很明显,我不能仅通过提取代码段内容来做到这一点(因为代码段还包含数据——例如跳转表),我需要编译器的一些帮助。*.map文件很好,但它们只包含函数的地址,即我能做的最安全的事情是从该地址开始并处理直到第一个返回/跳转指令(因为函数的一部分可以被提及数据)*.pdb文件更好,但我不确定使用什么工具来提取这样的信息——我查看了DbgHelp和DIASDK,后者似乎是正确的工具,但它不是看起来很简单。所以我的问题/问题:据您所知,是否可以仅通过DbgHelp提取有关代码/数据位置(地址+长度)的信息?如果DIASDK是唯一

windows - 从 EXE COM 服务器检测客户端进程终止

我正在编写一个EXECOM服务器,它公开一个锁定系统资源的类。在正常执行中,客户端释放资源(COM可执行文件在几秒钟后关闭。在异常执行中,客户端应用程序崩溃,给com服务器留下一个引用计数为正的实例。COM可执行文件运行约12分钟直至终止。这意味着系统资源在此期间被锁定。有没有办法像在套接字IPC或驱动程序协议(protocol)中一样立即检测客户端终止?否则,COM似乎不如其他IPC机制。 最佳答案 几年前我也有过同样的问题。我在这里找到了答案:HowToTurnOfftheCOMGarbageCollectionMechanis

windows - 我怎么知道加载我的 dll 的 .exe 即将退出?

我有一个dll,它实际上是一个已注册的com服务,然后由另一个.exe进程加载。我希望当用户从.exe退出时在为时已晚之前从我的dll中执行一些资源关闭步骤。我试图从我的DLL的DllMain中拦截DLLPROCESSDETACH或DLLTHREADDETACH,但似乎当它到达那里时,已经太晚了,因为由我的DLL启动的线程(我需要执行关闭步骤)已经停止了?!当然,我不控制.exe代码,否则我会在它退出之前从那里调用一个调用来执行那些干净的关闭步骤。我只能处理DLL本身。DllCanUnloadNow或DllUnregisterServer似乎都没有被调用。有人可以解决这种情况吗?提前感

windows - Windows 从哪里获取下载的 exe 的 'are you sure you want to run this program' 对话框的程序名称?

在我的一个项目中,下载的安装程序文件在“您要运行此软件”警告对话框中为程序名称提供内部名称,而不是外部名称。Windows从哪里获得这个程序名称,因为在.exe属性的标准元数据中没有它的迹象? 最佳答案 .EXEheader中包含各种有趣的信息。也许你可以使用这个:http://www.brothersoft.com/dump-exe-file-header-189959.html转储并查看它。 关于windows-Windows从哪里获取下载的exe的'areyousureyouwan

windows - 如何将 EXE 中的文件偏移量映射到其 PE 部分

我打开了一个我用ImageHlp.dll编写的程序来尝试一下,我注意到文件中似乎有很大的空白。据我了解,对于每个PE部分,部分标题将其在文件中的偏移量指定为PhysicalAddress,并将其大小指定为SizeOfRawData,因此所有内容均来自PhysicalAddress到PhysicalAddress+SizeOfRawData应该是那个部分。但是有大量EXE文件没有包含在这些范围内,所以我一定遗漏了一些东西。我知道我可以使用ImageRVAToSection并给它一个RVA地址来找出RVA位于哪个部分。有什么方法可以对文件偏移量做类似的事情吗?我怎样才能找出哪个PE部分字节

java - 如何获取运行 "exe"消耗的内存

我正在开发一个“在线裁判系统”,比如SGU"http://acm.sgu.ru/"我想获取使用Java运行“.exe”(.c/.cpp-->.exe)的准确消耗内存。流程:提交代码-->hello.cpp/.c--编译-->hello.exe--运行-->结果我想知道如何获取运行“hello.exe”消耗的内存代码:Runtimern=Runtime.getRuntime();Processproc=rn.exec("hello.exe");谢谢你帮助我。 最佳答案 您不能使用纯Java执行此操作。在UNIX/Linux机器上,您可

python + window : run exe as if it's unrelated to the current process

我知道我可以使用subprocess.Popen来运行可执行文件,并可能将标准输入和标准输出重定向到文件/使用管道连接到我的进程。但是,有没有一种方法可以运行可执行文件,使生成的进程与当前的Python进程无关?意思是,我想以与双击.exe相同的方式启动一个进程,或将其名称键入Start->Run... 最佳答案 在Windows上,请参阅os.startfile(). 关于python+window:runexeasifit'sunrelatedtothecurrentprocess,

windows - 打开闪存驱动器的句柄给我一个 "Access Denied"错误代码

我想知道为什么当我尝试创建USB闪存驱动器的句柄时,我收到找不到路径的错误消息。HANDLEaFile=CreateFile(_T("\\\\.\\F:\\"),GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);if(aFile==INVALID_HANDLE_VALUE){printf("\n");printf("Badhandlevalue.Error%d\n",GetLastError());}我想从那里读取一个512字节的流(引导扇区)到一个.bin文件,但我似乎无法先通过句柄创建。Windows是否阻止

.net - 如何从 .NET 应用程序启动 `powercfg.exe -energy`?

当我using(varprocess=newProcess{StartInfo=newProcessStartInfo{FileName="powercfg.exe",Arguments="-energy",RedirectStandardOutput=true,UseShellExecute=false,}}){process.Start();process.WaitForExit();}输出:AbibliotecadeDiagnósticodeEficiênciadeConsumodeEnergia(energy.dll)nãopôdesercarregada.翻译成英文:TheE

windows - 在 Windows 上模拟文件错误(例如 ERROR_ACCESS_DENIED)

出于测试和开发目的,以某种方式模拟(虚假的)文件访问错误到本地文件会很好。例如,即使一个应用程序已经正确地打开了一个带有适当的限制性共享标志的文件,仍然可能会发生访问该文件的尝试(通过任何Win32API函数或您最喜欢的框架,它们在内部只会调用任何Win32API函数)可能会失败。我唯一能够追踪到的例子是机器上的病毒扫描程序,但我想可能还有其他原因。(在thisquestion'scomment,Lukementions中关于“文件系统过滤器驱动程序”的内容。)FWIW,我知道有几种“模拟”文件问题的可能性,我不考虑好的解决方案,因为它们需要大量手动工作,或者因为它们不适合所有情况应用