草庐IT

虚拟化平台

全部标签

Windows PE 确定入口点虚拟地址

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

C++跨平台查找数据目录的解决方案

这是我的第一篇stackoverflow帖子。我正在制作一个游戏,我需要一个目录来放置它的资源,例如图像、声音和配置文件。(请注意,游戏需要能够修改自己的配置文件。)我想我可以在Linux上使用/usr/share/mygame/,而C:/ProgramFiles/MyGame/在Windows上,但问题出现了,因为游戏可能会或可能不会安装在任何一个地方,以及出于开发目的。我可以检查并找出可执行文件所在的文件夹,但据我所知,这是不好的做法,而且难以实现跨平台。我显然不能使用工作目录,因为游戏可以从shell脚本、命令行、其他进程等运行。我还可以搜索整个文件系统,可能是按敏感度顺序搜索某

css - 是否有 CSS 方法/hack 来指定基于平台的背景颜色(即 mac vs pc)

我在Mac上设计网站时一直遇到问题。当我的客户在PC上查看时,我在笔记本电脑显示屏上看到的颜色总是完全不同。我为在办公室环境中同时使用Mac和PC的客户设计了网站,因此无论他们使用什么计算机,颜色看起来相似(如果不相同)是很重要的。我知道有针对浏览器特定属性的CSShacks..但是有没有办法根据浏览者使用的平台更改网站的背景颜色..PC、Mac等我知道这似乎有点牵强,因为即使是相同的平台也可能使用不同的显示器、校准等。在黑暗中拍摄,但希望有一个创造性的答案!编辑:以下是我如何将建议的脚本添加到网站的头部......我的Javascript经验非常有限。我有jquery..varOSN

windows - 为什么有时 .data 部分的虚拟大小大于原始大小?

最近我发现,PE中的.data部分的虚拟大小可以大于原始大小(在文件中)。这是相当令人吃惊的。有人说这是某处未初始化数据的结果。但是在分析了一些PE之后,实在找不到这个多余的数据。以下是某些程序的PEDump结果的链接:"Helloworld"PEDump如您所见,.data部分的虚拟大小大于原始大小。为什么在这个特定示例中会这样? 最佳答案 任何初始化数据的值都存储在该部分中,如果二进制文件想在内存中为任何未初始化数据保留空间,则虚拟大小将大于原始数据大小。您不会在文件中找到此数据,因为它不需要存在于此。引用数据(在代码部分中)的

windows - 直接访问 Windows 虚拟打印机端口

似乎有一种方法可以在不使用专用打印机驱动程序的情况下直接向WindowsUSB虚拟打印机端口(例如USB001)写入和读取数据。有人知道怎么做吗? 最佳答案 最简单的方法是我在原始评论中提出的方法。您可以使用您想要的任何驱动程序创建USB打印机(通用文本总是工作良好),然后将其共享。从这里您可以使用类似的方式连接到共享netuselpt1\\your_workstation\printer_share然后您可以打印到lpt1(或复制到lpt1),您将利用Windows假脱机程序将文件获取到那里。另一种选择是在代码中执行此操作,将数据

java - 是否有一种独立于平台的方式来使用 gradle 设置文件权限?

我在redhat6上开发我的程序,我在Gradle中设置我的权限commandLine'chmod','-R','775',''这很好,但不能在Windows上运行。Gradle是否有独立于平台的方式来设置程序权限? 最佳答案 gradle的实现方式您应该能够编写自己的任务(或插件,如果需要)。并且Java应该有一种方法来设置独立于平台的文件权限。您甚至可以通过buildscript{}为您的gradle插件使用依赖项。也许您需要一个单独的插件,有关http://www.gradle.org/docs/current/usergui

c++ - 通过系统虚拟串口向蓝牙发送字节

我希望能够在C++中通过蓝牙发送和接收数据。我发现系统(win8.1)为配对设备创建了2个虚拟端口。当我尝试使用WriteFile将数据发送到连接的端口(“传入”)时,函数返回成功并且写入了0个字节。我的问题无法向虚拟BT串口发送和读取字节。我使用“GetDefaultCommConfig”来检查串行端口是否处于事件状态。它适用于USBUART连接,但有时无法连接虚拟端口。我的问题:我应该连接到2个端口,将字节写入“outgoing”并监听“传入”端口?我应该在我的代码中更改什么来解决我的问题?为什么Windows为蓝牙创建2个串口?代码:#define_CRT_SECURE_NO_W

c# - 发送被 GetAsyncKeyState() 忽略的虚拟鼠标点击?

我整天都在试验和搜索,但终究还是想不出如何做到这一点。如标题所示,我希望能够发送被GetAsyncKeyState()之类的东西忽略的鼠标点击。基本上我在做什么://Whilephysicallyholdingleftmousebutton...while(GetAsyncKeyState(0x01)!=0){//leftmousebuttonvirtuallydown(obviouslyalreadyisdownthefirstloop)mouse_event(2,0,0,0,0);Thread.Sleep(100);//leftmousebuttonvirtuallyupmouse

Ruby on rails跨平台win/linux脚本

我想使用RubyonRails应用程序列出子目录中的文件/目录,但我不知道该脚本是否可以在Linux或Windows下运行。在linux上这很简单,我可以做一个`findmy_path`.split("\n").each{|line|do_sthing_with_line}在Windows上,等效于使用dir命令。但是即使在阅读了很多关于此的帖子之后,我也无法找到一种使其正常工作的方法`dirmy_path`willoutputastringthatisrecognizedasrubyasutf-8,butwhichinrealityisn't.让它在Windows上运行的正确方法是什

c++ - 跨平台C++ : wrapping OS-specifics behind a class

我正在开发一个应该在Linux和Windows7+上运行的C++项目。这也是我在几年前参加了一个非常简单和简短的基础类(class)之后使用C++的第一周。假设我需要访问文件系统,但由于操作系统有不同的API,我需要创建一个包装类来使事情保持一致。以下是否可行:有一个基类File。我从文件继承WinFile和LinuxFile,它们实现了基类公共(public)方法(例如createFile、readFile等.).然后在两个子类中,我实现了公共(public)方法以映射到特定于平台的方法(WINAPI文件处理和UNIX文件处理)。然后我将使用预处理器指令有条件地在主应用程序中加载Wi