C++獲取PE文件的入口點

2009-10-07 10:17

C++獲取PE文件的入口點

源碼:

#include "stdafx.h"
#include <iostream>
#include <windows.h>

using namespace std;

int main(int argc, char* argv[])
{
char *FileName = argv[1];

HANDLE hFile = CreateFile(FileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_FLAG_SEQUENTIAL_SCAN,0);
if (hFile == INVALID_HANDLE_VALUE)
{
?? cout<<"文件打開失敗!"<<endl;
?? return -1;
}

IMAGE_DOS_HEADER dosHeader;
bool bRet;
DWORD readSize;

bRet = ReadFile(hFile,&dosHeader,sizeof(dosHeader),&readSize,NULL);
if (!bRet)
{
?? cout<<"讀取文件失敗!"<<endl;
?? return -1;
}
cout<<hex<<dosHeader.e_lfanew<<endl;

IMAGE_NT_HEADERS peHeader;

SetFilePointer(hFile,dosHeader.e_lfanew,NULL,FILE_BEGIN);
bRet = ReadFile(hFile,&peHeader,sizeof(peHeader),&readSize,NULL);
if (!bRet)
{
?? cout<<"讀取文件失敗!"<<endl;
?? return -1;
}

IMAGE_OPTIONAL_HEADER imOpHeader;

imOpHeader = peHeader.OptionalHeader;
cout<<imOpHeader.AddressOfEntryPoint<<endl;
CloseHandle(hFile);

return 0;
}

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/388301.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/388301.shtml
英文地址,請注明出處:http://en.pswp.cn/news/388301.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ai 中 統計_AI統計(第2部分)

ai 中 統計Today I plan to cover the following topics: Linear independence, special matrices, and matrix decomposition.今天&#xff0c;我計劃涵蓋以下主題&#xff1a;線性獨立性&#xff0c;特殊矩陣和矩陣分解。 線性獨立 (Linear independence) A set of vectors …

如何修改瀏覽器的默認滾動條樣式

如何修改瀏覽器的默認滾動條樣式 /* 瀏覽器滾動條樣式 *//* width */ ::-webkit-scrollbar {width: 4px;height: 4px; }/* Track */ ::-webkit-scrollbar-track {background: rgb(255, 255, 255);border-radius: 8px; }/* Handle */ ::-webkit-scrollbar-thumb {background: rg…

PE

PE文件規定了可執行文件的格式&#xff0c;凡是符合此格式的文件都能在windows系統上運行。PE文件的格式暫且不談&#xff0c;說一些感染PE文件的幾種途徑。 導入表感染。這個涉及比較復雜的操作&#xff0c;首先&#xff0c;要自行寫一個dll文件&#xff0c;提供程序中對原dl…

python入門系列:對象引用、垃圾回收、可變性

Python中的變量是什么 引言 Python和java中的變量本質不一樣&#xff0c;java的變量可以理解為一個盒子&#xff0c;用來容納我們的對象&#xff0c;使用前要先聲明它&#xff0c;好分配給我們合適的內存空間。Python的變量可以理解為一個標簽&#xff0c;先構造出對象&#xf…

twitter數據分析_Twitter上最受歡迎的數據科學文章主題

twitter數據分析If you’ve written data science articles or are trying to get started, finding the most popular topics is a big help in getting your articles read. Below are the steps to easily determine what these topics are using R and the results of the …

JAVA遇見HTML——JSP篇(JSP狀態管理)

案例&#xff1a;Cookie在登錄中的應用 URL編碼與解碼的工具類解決中文亂碼的問題&#xff0c;這個工具類在java.net.*包里 編碼&#xff1a;URLEncoder.encode(String s,String enc)//s&#xff1a;對哪個字符串進行編碼&#xff0c;enc&#xff1a;用的字符集&#xff08;例&…

PE文件講解

我們大家都知道&#xff0c;在Windows 9x、NT、2000下&#xff0c;所有的可執行文件都是基于Microsoft設計的一種新的文件格式Portable Executable File Format&#xff08;可移植的執行體&#xff09;&#xff0c;即PE格式。有一些時候&#xff0c;我們需要對這些可執行文件進…

easyui 布局之window和panel一起使用時,拉動window寬高時panel不跟隨一起變化

項目開發中布局是每一個組件都由最外層的window和內部的至少一個panel組成&#xff0c;其他的細小組件再依次放到panel中。 問題&#xff1a;當拉動外部的window時我們希望內部的panel的寬高也跟著變化&#xff0c;但是并沒有&#xff0c;尤其拉動其高度是更為明顯&#xff0c;…

是什么使波西米亞狂想曲成為杰作-數據科學視角

平均“命中率”是什么樣的 (What an Average ‘Hit’ looks like) Before we break the song down, let us have a brief analysis of what the greatest hits of all time had in common. I have picked 1500 songs ( charting hits ) right from the ’50s to the’10s, spre…

PE文件感染和內存駐留

這次&#xff0c;作者將和大家一起討論病毒的感染技術。另外&#xff0c;從本文開始&#xff0c;我們將陸續接觸到一些病毒的高級編碼技術。例如&#xff0c;內存駐留、EPO&#xff08;入口點模糊&#xff09;技術、加密技術、多態和變形等。通過這些高級技巧&#xff0c;你將進…

Python函數積累

評估函數eval() 去掉參數最外側引號并執行余下語句的函數 fun:將讓任何輸入的字符串轉換為python語句&#xff08;如"12132" -> 12132&#xff09;轉載于:https://www.cnblogs.com/LYluck/p/10376531.html

流行編程語言_編程語言的流行度排名

流行編程語言There has never been a unanimous agreement on what the most popular programming languages are, and probably never will be. Yet we believe that there is merit in trying to come up with ways to rank the popularity of programming languages. It hel…

Attributes.Add用途與用法

Attributes.Add("javascript事件","javascript語句");如&#xff1a;this.TextBox1.Attributes.add("onblue", "window.Label1.style.backgroundColor#000000;");this.TextBox1.Attributes.Add("onblur","this.style.d…

使用UIWebView加載網頁

1、使用UIWebView加載網頁 運行XCode 4.3&#xff0c;新建一個Single View Application&#xff0c;命名為WebViewDemo。 2、加載WebView 在ViewController.h添加WebView成員變量和在ViewController.m添加實現 [cpp] view plaincopyprint?#import <UIKit/UIKit.h> …

Java 開源庫精選(持續更新)

僅記錄親自使用和考慮使用的Apache Commons Commons IO - Commons IO 是一個幫助開發IO功能的實用程序庫 Commons Configuration - Commons Configuration 提供了一個通用配置界面&#xff0c;使Java應用程序可以從各種來源讀取配置數據。查看更多可重用、穩定的 Commons 組件S…

corba的興衰_數據科學薪酬的興衰

corba的興衰意見 (Opinion) 目錄 (Table of Contents) Introduction 介紹 Salary and Growth 薪資與增長 Summary 摘要 介紹 (Introduction) In the past five years, data science salary cumulative growth has varied between 12% in the United States, according to Glass…

hibernate的多表查詢

1.交叉連接 select * from A ,B 2.內連接 可以省略inner join 隱式內連接&#xff1a; select * from A,B where A.id B.aid; 顯式內連接&#xff1a; select * from A inner join B on A.id B.aid; 迫切內連接&#xff1a; 需要加上fetch關鍵字 內連接查詢兩者共有的屬性…

C# 讀取PE

最后分析結果會放在 一個DATASET里 ResourceDirectory這個TABLE 增加了 GUID列 為了好實現數結構 using System; using System.IO; using System.Data; using System.Collections; namespace PETEST { /// <summary> /// PeInfo 的摘要說明。 /// zgkesina.com …

10 個深惡痛絕的 Java 異常。。

異常是 Java 程序中經常遇到的問題&#xff0c;我想每一個 Java 程序員都討厭異常&#xff0c;一 個異常就是一個 BUG&#xff0c;就要花很多時間來定位異常問題。 什么是異常及異常的分類請看這篇文章&#xff1a;一張圖搞清楚 Java 異常機制。今天&#xff0c;棧長來列一下 J…

POJ 2777 - Count Color(線段樹區間更新+狀態壓縮)

題目鏈接 https://cn.vjudge.net/problem/POJ-2777 【題意】 有一個長度為 LLL 的區間 [1,L][1,L][1,L] &#xff0c;有 TTT 種顏色可以涂&#xff0c;有 QQQ 次操作&#xff0c;操作分兩種C A B CC \ A \ B \ CC A B C 把區間 [A,B][A,B][A,B] 涂成第 CCC 種顏色P A BP \ A \ …