アセンブラの宿題質問スレ
■ このスレッドは過去ログ倉庫に格納されています
0253デフォルトの名無しさん
2006/12/16(土) 01:37:40ifで使われているptr_SE[i].Characteristicsのフラグについては↓に書いてある
ttp://www.geocities.jp/winapi_database2/special/2001_10_11/page7.html
あと、const宣言は.rdata、static宣言は.data(初期値あり)、.bss(初期値なし)に配置されたと思う‥‥
って、全然アセンブリ言語じゃないや。
#include <stdio.h>
#include <windows.h>
int main(int argc,char *argv[])
{
PIMAGE_DOS_HEADER ptr_MZ;
PIMAGE_NT_HEADERS ptr_PE;
PIMAGE_SECTION_HEADER ptr_SE;
int i;
ptr_MZ = (void*)GetModuleHandle(0);
ptr_PE = (void*)ptr_MZ + ptr_MZ->e_lfanew;
ptr_SE = (void*)ptr_PE + sizeof(DWORD) + sizeof(IMAGE_FILE_HEADER) + ptr_PE->FileHeader.SizeOfOptionalHeader;
for(i = 0 ; i < ptr_PE->FileHeader.NumberOfSections ; i++) {
if(!(ptr_SE[i].Characteristics & IMAGE_SCN_MEM_WRITE)) {
printf("Address: %p\n",ptr_MZ + ptr_SE[i].VirtualAddress);
printf("Size: %d\n",ptr_SE[i].Misc.VirtualSize);
}
}
return 0;
}
■ このスレッドは過去ログ倉庫に格納されています