我想运行一个自动修改.dll服务,用户提交一个特定的.dll,我在服务器上修改它,然后用户可以下载.dll的修改版本.是否有任何本机Linux应用程序提供常见的Win32 PE修改功能,如图标,字符串,加速器,对话等,至少提供命令行或脚本API?
嗨,我将在内核驱动程序中转储其他进程
并使用KeStackAttachProcess更改驱动程序当前上下文
在用户模式地址改变之后如何找到当前进程的基地址我需要基地址将其转换为PIMAGE_DOS_HEADER(并解析它以查找部分)可以使用PEB?
还有其他方法吗?
是否有Perl命令可以让我获得任何给定二进制文件的最低支持操作系统?
您可以通过运行"link/dump/headers [binaryFile]"并查找"子系统版本"链接来手动获取该信息.我不想使用它,因为它真的很糟糕.
谢谢
便携式可执行文件中 IMAGE_SECTION_HEADER 结构(在 WinNt.h 中声明)的 VirtualAddress 和 PointerToRawData 字段之间有什么区别?为什么我们有这两个不同的领域,它们的真正含义是什么?
我有以下情况:
我有一个delphi应用程序{$APPTYPE GUI}.(APP1)
如果APP1开始,它会在begin和之间运行代码
end.,就像它应该的那样.
稍后,APP1将转换为DLL(另一个应用程序将执行该操作 - APP2).
APP2 增加了IMAGE_FILE_DLL标志的Characteristics中NTFileHeader的APP1.然后APP2尝试APP1使用LoadLibrary(或一些其他COM命令加载DLL)加载DLL()但它返回错误:
Windows初始化COM库时遇到内部错误.
我用一个C项目完成了所有这些并使用了该WinMain功能.但它似乎不适用于Delphi(APP1不是作为DLL启动).如何转换APP1为工作DLL?
编辑:
我正在尝试将此代码移植C到Delphi:http://level-23.info/forum/showthread.php?14721-UAC-Bypass-for-Windows-7-RTM-SP1-Windows-8-DP&p= 31749
我已正确移植它并且一切正常但是CRYPTBASE.dll(APP1)没有启动.(见上面的错误)
简而言之:创建一个delphi应用程序,IMAGE_FILE_DLL在文件头中添加特征.将其重命名并将其CRYPTBASE.dll复制到C:\ Windows\System32\sysprep.然后开始sysprep.exe
INFOS在这里: http ://www.pretentiousname.com/misc/W7E_Source/win7_uac_poc_details.html
我需要在C/C++中做一个程序,我需要接受一个PE文件的每个部分,哈希并签名,我做了哈希和签名功能但是:我不知道如何获得PE文件的每个部分作为char*或byte*,我不知道如何使用简单的fstream并搜索到一个字节,然后如何将新的.sig添加到PE文件中我的签名表.感谢帮助
这是简短的控制台应用示例
static char buffer[4096];
int main() {
for(int i=0;i<4096;i++) {
buffer[i] = 1234;
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
据我所知,编译器生成的'exe'文件应该包含.bss部分来存储'buffer'变量.
我正在使用Tiny C Compiler,结果文件不包含对.bss的任何引用.
DOS Header
Magic number: 0x5a4d (MZ)
Bytes in last page: 144
Pages in file: 3
Relocations: 0
Size of header in paragraphs: 4
Minimum extra paragraphs: 0
Maximum extra paragraphs: 65535
Initial (relative) SS value: 0
Initial SP value: 0xb8
Initial IP value: 0
Initial (relative) CS value: 0
Address of relocation table: 0x40
Overlay number: 0
OEM identifier: …Run Code Online (Sandbox Code Playgroud) 我正在处理一个 ASM 项目,我想知道原始内存中可移植可执行程序的入口点。我所说的原始内存是指静态内存,就像我用十六进制编辑器编辑原始 .exe 文件一样。从程序的 PE 表中,我可以查找名为“EntryPoint:”的条目,但该条目一旦加载到内存中就包含程序的入口点!我需要找到程序将在磁盘中的原始内存中查找第一条指令的位置。有些程序从 .text 部分的第一个地址开始执行,这很常见但并不总是发生,这就是为什么我想知道入口点。
为了解决这个问题,我使用了 Windows API 中的 MapViewOfFile 函数并在内存中加载了一个 example.exe 程序,然后查找其原始内容。
我目前正在使用 Radasm 与 MASM 合作
谢谢 !
我正在学习操作系统的概念.我自己设法创建了一个启动加载程序.我生成的每个可执行文件都在BIN中.我看到微软为其系统使用了PE文件格式.同样Unix使用COFF.这些多种文件格式有什么用?与其他相比,他们是否有任何文件保护或附加功能?
我想使用 NASM 构建自定义便携式可执行文件。使用命令获取可执行文件后,nasm -f bin program.asm -o program.exe它崩溃并给出类似于此的错误
你可以在下面看到代码。
bits 64
%define BASE 400000h
ALIGNMENT equ 512
%define SECTALIGN 8192
STD_OUTPUT_HANDLE equ -11
NULL equ 0
%define ROUND(v, a) (((v + a - 1) / a) * a)
%define ALIGNED(v) (ROUND(v, ALIGNMENT))
%define RVA(obj) (obj - BASE)
section header progbits start=0 vstart=BASE
mz_hdr:
dw "MZ" ; DOS magic
times 0x3a db 0 ; [UNUSED] DOS header
dd RVA(pe_hdr) ; address of PE header
pe_hdr:
dw "PE",0 ; PE …Run Code Online (Sandbox Code Playgroud)