大佬教程收集整理的这篇文章主要介绍了windows – 查找原始入口点,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
00401000 >/$58 POP EAX ; kernel32.76E93677 00401001 |. 2D 77360100 SUB EAX,13677 00401006 |. BB 4A184000 MOV EBX,<JMP.&kernel32.VirtualProtect>
我想知道这段代码的来源.如何在不手动扫描文件的情况下找到它? (为了完成示例,这里是来自同一文件的hexdump,代码现在位于200h)
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F 00000200 58 2D 77 36 01 00 BB 4A 18 40 00
如何从虚拟入口点(401000h)到原始入口点(200h)?
我当然试着自己解决它.但是我错过了一些东西.起初我想:
.text [入口点(1000h) – VirtualOffset(1000d)] =原始入口点
由于文件对齐= 200,并且原始入口点位于我的.text部分的最开头,我想我可以将它用于所有可执行文件.
.text [入口点 – 虚拟偏移]文件对齐=原始入口点(相对于.text部分)
有关如何通过dumpbin确定入口点的参考.
您可以使用
dumpbin / headers
dumpbin /headers \Windows\bfsvc Dump of file \Windows\bfsvc.exe PE signature found File Type: EXECUTABLE IMAGE FILE HEADER VALUES 14C machine (x86) 4 number of sections 4A5BBFB3 time date stamp Tue Jul 14 01:13:55 2009 0 file pointer to symbol table 0 number of symbols E0 size of optional header 102 characteristics Executable 32 bit word machine OPTIONAL HEADER VALUES 10B magic # (PE32) 9.00 linker version DE00 size of code 2000 size of initialized data 0 size of uninitialized data 4149 entry point (01004149) 1000 base of code F000 base of data 1000000 image base (01000000 to 01011FFF) 1000 section alignment 200 file alignment
对于入口点,图像基值是相关的.但这仅适用于未启用ASLR的图像.对于他们,选择随机基地址(128个不同的地址中的1个).
指示图像是否启用ASLR的标志是值0x40,它在DLL特性中设置.
8140 DLL characteristics
例如,对于svchost.exe,它设置为较旧的程序,通常为0.
此致, Alois Kraus
以上是大佬教程为你收集整理的windows – 查找原始入口点全部内容,希望文章能够帮你解决windows – 查找原始入口点所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。