草庐IT

windows - 这段汇编代码在做什么 - 写入进程内存

编辑/更新所以我认为让我感到困惑的是:LEAESI,[EBX+8*EAX+4]加载一个地址,但是:LEAESI,[EBX+4]加载内容(值?)而不是地址。这怎么不是取消引用?我也不知道是什么mov[eax+1],ecx是吗?原始问题我正在努力学习阅读汇编,但我开始挣扎了。抱歉,如果有拼写错误,我无法从我的实验室机器上复制。这是来自恶意代码,因此它可能不是最佳的。我想我在某处理解有缺陷,但我就是想不通。var_30=byteptr-30hleaeax,[ebp+esi+var_30]我的理解是,加载有效地址将成为从[basepointer-30h+esi]计算出的任何地址。我不知道esi

ruby - 使用 Ruby File.open 写入具有长文件名的外部文件

当我尝试将Rubyv2.3.3中的文件写入Windows上的文件夹时出现错误。这是我以前使用过很多次并且运行良好的代码。File.open(file_name,"w+"){|out|out.puts"Hello"}这适用于短文件名,但显然在大约200个字符的文件名(包括文件夹路径)时失败。我得到的错误是文件或文件夹不存在。该方法是创建文件,因此显然不需要预先存在。而且该文件夹确实存在——我测试了很多次。所以我不明白错误信息。我试着用一个更短的文件名运行它,然后它工作正常。有没有解决这个错误的方法?这真的是Ruby错误,还是更像是Windows限制? 最佳答案

c++ - 写入文件函数 "freezes"

我正在尝试重写xCmd,它可以在远程机器上启动进程。基本上,它将自身作为服务安装在目标计算机上,然后启动请求的进程。一切正常,但我注意到一个错误。xCmd通过管道进行通信,它使用WriteFile()。我的问题是,如果我运行我的API(或最初的API,两者都会产生此错误),那么它将第一次启动请求的进程,但如果我再次启动它,那么它将“卡住”在这一行:WriteFile(hCommandPipe,&msg,sizeof(msg),&dwTemp,NULL);WriteFile没有返回任何错误代码,程序就在这里停止。我什至无法关闭cmd窗口。当我关闭目标计算机上的服务时,我只能关闭它。谁能帮

windows - 是什么决定 RegisterTypeLib 是写入 win32 还是 win64?

我正在处理两个基于ATL的COM项目。两者都实现DllRegisterServerSTDAPIDllRegisterServer(void){//registersobject,typelibandallinterfacesintypelibreturn_Module.RegisterServer(TRUE);}最终调用::RegisterTypeLib(pTypeLib,bstrPath,szDir);在atlbase.h:6516中。但由于某种原因,此调用使其中一个项目创建HKEY_CLASSES_ROOT\TypeLib\\\0\win64在Windows732位上使用regsv

windows - 批处理脚本读取连续写入的文件

我有一个文件正在不断写入这样的信息HU/gen/tcfg/target/jacinto/starter/starter_b1.cfg32.7734%141.59kB/s0:00:0094.64100%405.35kB/s0:00:00(xfer#60,to-check=1002/1097)这是rsync工具的输出,将文件夹复制到另一个路径我正在尝试编写一个批处理脚本来读取此文件并计算要复制的数据总量,重点放在这一行94.64100%405.35kB/s0:00:00(xfer#60,to-check=1002/1097)数字94.64是以字节为单位的文件大小,所以我猜我应该从行中提取“

windows - 写入批处理文件与在提示符中写入命令不同?

我认为那些是完全相同的东西,除了,在批处理文件中你输入了命令,它会像一个函数一样执行文件中编写的所有命令。所以如果我输入这个命令:for%iin(*.jpg)dotesseract%i%i.txt其中tesseract是一个将jpg文件转换为文本文件的程序,它工作正常。(tesseractinput.jpgoutput.txt)但如果我将完全相同的行写入批处理文件,它就不会说“我这次出乎意料”。@echoofffor%iin(*.jpg)dotesseract%i%i.txt有人知道怎么回事吗? 最佳答案 在批处理文件中,您必须将%

c++ - Internet Explorer BHO,写入注册表和管理员权限

出于某些原因,当我尝试在IE未以管理员权限运行时写入注册表时,Utils::SetValueInRegistry(HKEY_CURRENT_USER,L"Software\\myApp23",L"Domain",value.c_str());任何人都知道如何获得我的BHO权限以每次写入注册表?或者也许我应该写到另一个可用于写入的注册表部分?我需要存储的信息非常动态,用于在选项卡之间进行通信。谢谢。 最佳答案 InternetExplorer正在以低完整性级别运行。使用HKEY_CURRENT_USER\Software\LowReg

java - 将文件写入仍然不存在的目录

我在WINDOWS上使用这个脚本publicvoidcopyFile(FilesourceDirectory,FiletargetFile,FiletargetDirectory)throwsIOException{Stringtemp=targetFile.getAbsolutePath();StringrelativeD=temp.substring(sourceDirectory.getAbsolutePath().length(),targetFile.getAbsolutePath().length());StringrootD=sourceDirectory.getName

c# - 创建 XML 文件并赋予所有 Windows 帐户用户写入权限

我正在使用C#在公共(public)应用程序文件夹中创建一个XML文件:%ALLUSERSPROFILE%\ApplicationData\安装应用程序时将创建文件。这个文件是本地机器的所有用户共有的东西。(即它包含一些设置信息)但我的问题是,当文件由管理员用户创建时(即应用程序由管理员用户安装),其他用户没有对该文件的写入权限。当我检查文件的属性时,它只为其他用户提供了“读取和执行”。我正在使用下面的代码来保存文件XDocument.Save(filePath);是否可以创建所有用户都具有写入权限的文件?非常感谢任何帮助! 最佳答案

c++ - 如何使用 C++ 在 Windows 上写入和读取 UTF 16 文件

SO上有很多关于此的问题,但大多数都没有提到将wstring写回文件。例如,我发现这个是为了阅读://openasabytestreamstd::wifstreamfin("/testutf16.txt",std::ios::binary);//applyBOM-sensitiveUTF-16facetfin.imbue(std::locale(fin.getloc(),newstd::codecvt_utf16));//readstd::wstringws;for(wchar_tc;fin.get(c);){std::cout我尝试过类似的写作方式:std::wofstreamwof