草庐IT

buffer-overflow

全部标签

go - 编译 Protocol Buffer :Missing output directives

我尝试编译原型(prototype)(Ubuntu18.04)protoc—go_out=.test.protoMissingoutputdirectives.我的环境goenvGOARCH="amd64"GOBIN=""GOCACHE="/home/miki/.cache/go-build"GOEXE=""GOHOSTARCH="amd64"GOHOSTOS="linux"GOOS="linux"GOPATH="/home/miki/go"GORACE=""GOROOT="/usr"GOTMPDIR=""GOTOOLDIR="/usr/lib/gcc/x86_64-linux-gnu

java - 如何在 Java 中使用 `protocol buffer` 和 `protobuf-java-format` 从 XML 创建对象

我正在使用protocolbuffer和protobuf-java-format创建一个示例程序。我的原型(prototype)文件是packagecom.sample;optionjava_package="com.sample";optionjava_outer_classname="PersonProtos";messagePerson{requiredstringname=1;requiredint32id=2;optionalstringemail=3;}我的示例程序是packagecom.sample;importjava.io.BufferedReader;importj

python lxml : import XSD from a buffer?

我正在使用python中的LXML来验证具有匹配XSD的XML。该XSD导入第二个“通用”XSD,其中包含一些通用定义。问题是这些XSD不作为文件存在于本地。它们只是我保存在内存中的缓冲区,但是当XSD执行时或它在文件系统的当前目录中查找导入的文件。有没有办法让它不那样做?也许提前提供进口的XSD?LXML使用libxml2和libxslt进行解析。导入的XSD文件的打开源自libxml2代码的深处,不经过python的文件处理,因此只需覆盖open()不起作用。似乎libxml2没有任何工具可以为其提供文件解析器。它只是调用fopen()直接。因此,解决方案可能需要处于更高级别,可能

windows - forrt1 : severe (170): Program Exception - stack overflow

提前感谢您的帮助!我编译了一个程序(不是我写的),它在Mac上运行良好,但是当我尝试在Windows上执行该程序时,我在程序开始执行后不久收到以下错误消息:forrt1:严重(170):程序异常-堆栈溢出我不是ifort或Fortran用户,但正在尝试编译工作程序。我做了一个“ifort--version”,我使用的是英特尔VisualFortran编译器XE和版本12.0.0.104。几天来我一直在研究这个问题,我试过弄乱Makefile中的一些标志,但没有成功。如果我能提供任何进一步的信息,我会尽力而为。再次感谢! 最佳答案 尝

windows - 构建和使用 Google Protocol Buffers

我目前正在做一个项目,我正在尝试实现ProtocolBuffers作为一种序列化格式,将数据存储在本地计算机上,然后在稍后读取。protocolbuffers的一些特性似乎非常适合这个项目,所以我很想测试它,但我遇到了一些问题。不过,到目前为止,我什至还没有能够测试ProtocolBuffers。我将最新的zip文件(版本2.4.1)下载到我的Windows机器上。我通读了位于文件夹根目录中的install.txt,但它适用于基于Unix的系统。然后我看到它带有一个vsprojects文件夹,并通读了那里列出的说明。基本上,我被告知要做的就是打开一个解决方案,然后在Debug或Rele

windows - 这个 Stack Overflow 答案中 2>nul 的目的是什么?

Thisstackoverflowanswer包含以下代码:dir/a-d"C:\PLUS\ADMIN\BATCH\*">nul2>nul&&(start""cmd/c"@echoFilesinthedirectory!&@echo(&@pause)||(echotherearenofiles)>nul是将stdout重定向到nul。2>nul的作用是什么,在什么情况下需要它? 最佳答案 对于Windows控制台程序,2>是stderr。如果正在运行的程序可能将文本输出到stderr,则需要它。

windows - 缓冲区溢出 - Windows 与 Unix

我正在尝试找出Windows和Unix中缓冲区溢出之间的安全问题。据我了解,缓冲区溢出Windowshack无法在Unix中实现,因为每个进程都有自己的内存空间。这是否意味着Windows中的进程共享内存空间? 最佳答案 共享内存空间不是大多数缓冲区溢出攻击的原因。自Win3.0(或运行在80286上的Win3.1)以来,Windows没有共享内存,因此自从Windows上次发布支持共享内存模型以来已经过去了很长时间,将近20年。缓冲区溢出允许攻击者更改正在被利用的进程中的内存。通过这样做,攻击者旨在使用目标进程的特权级别执行系统操

c++ - 具有重叠 I/O 的 FILE_FLAG_NO_BUFFERING - 字节读为零

我在使用带有重叠I/O的标志FILE_FLAG_NO_BUFFERING时观察到一个奇怪的行为。我调用了一系列ReadFile()函数调用,稍后使用GetOverlappedResult()查询它们的状态。我所说的奇怪行为是,即使文件句柄良好并且ReadFile()调用返回时没有任何错误(预期的ERROR_IO_PENDING除外),从GetOverlappedResult()调用返回的“字节读取”值是某些文件为零,每次我运行代码时,它都是一组不同的文件。如果我删除FILE_FLAG_NO_BUFFERING,事情就会开始正常工作,并且没有字节读取值为零。下面是我如何使用FILE_FL

c - 使用和不使用 FILE_FLAG_NO_BUFFERING 的 NTFS 文件访问时间

我正在尝试对NTFS的文件读取时间(顺序访问)进行基准测试。我的代码获取开始时间,执行大小等于4096字节(系统上NTFS的簇大小)的读取并记录结束时间。然后存储两个时间之间的差异,并重复该过程,直到到达文件末尾。我目前使用的文件大小是40K,所以得到10个时差值。当访问没有FILE_FLAG_NO_BUFFERING打开的文件(使用CreateFile)时,第一个block的访问时间接近30微秒,然后下降到大约7微秒用于后续访问(由于缓存)。当使用FILE_FLAG_NO_BUFFERING时,第一个block的访问时间接近21毫秒,随后的访问时间下降到大约175微秒。第一个bloc

windows - FILE_FLAG_NO_BUFFERING 如何与向通信设备打开的句柄交互?

正如标题所说,我正在编写一个网络程序,我在其中使用CreateFile打开网络驱动程序的句柄,并且我一直在试验NO_BUFFERING标志。大多数文档甚至都不会提及将其与通信设备一起使用,而那些这样做的文档(又名MSDN引用等)只是简单地提到您可以。有谁知道这会如何影响与设备的通信? 最佳答案 这是一个设备驱动程序实现细节,您在CreateFile()调用中指定的选项在IRP_MJ_REQUESTrequest中传递.我链接的那个是用于文件系统的,非常漂亮。通过IrpSp->Parameters.Create.Options链接单击