需要的知识:masm,OD,TLS表
两个月前,我面试某公司,面试官提了一个问题,就是我这篇文章的标题。
以前也看过一个帖子,程序在main函数之前做了什么
这次是在main函数之前执行一段代码
代码如下:编译器masm,编译选项默认
.386
.model flat,stdcall
option casemap:none
include windows.inc
include user32.inc
includelib user32.lib
include kernel32.inc
includelib kernel32.lib
.data
szText db 'HelloWorldPE'
Tls1 dd 0
TlsCallBack dd offset TLS
PUBLIC _tls_used
_tls_used IMAGE_TLS_DIRECTORY <Tls1, Tls1, Tls1, TlsCallBack, 0, ?>
.code
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
start:
invoke ExitProcess,NULL
RET
TLS:
invoke MessageBox,NULL,addr szText,NULL,MB_OK
RET
;>>>>>>>>>>>>>>>