OllyDBG 找程式主函式入口地址總結
如果你對反彙編比較熟悉的話可以直接找函式入口地址:
1. 找幾個壓棧指令
2. 壓棧完了之後就是對棧的初始化
3. 通常在壓棧指令之前都有一個跳轉指令(這個有時地址偏移比較大)
如果上述都不太熟悉的話可以中規中矩的進行單步執行:
1.開始之後便一直F8,直到步過下面這個函式:
FF15 38804000 call dword ptr ds:[<&KERNEL32.GetVersion>; kernel32.GetVersion
GetVersio():判斷當前執行的Windows和DOS版本
2. 然後繼續F8,直到步過下面這個函式:
FF15 34804000 call dword ptr ds:[<&KERNEL32.GetCommand>; kernel32.GetCommandLineA
GetCommandLineA():不接受引數,獲取自己程式的命令列引數
GetCommandLineA後面還有好幾個Call,在第四個call完之後的下一個call通常就是程式的主函式入口地址了。
3.跳到GetCommandLineA後面的第五個函式時就得F7了,進去就是了。
相關推薦
OllyDBG 找程式主函式入口地址總結
通常用OllyDBG開啟一個程式之後,並沒有直接跳到程式主函式入口地址,而是在進行一些初始化工作,這個是需要跳過的。如果你對反彙編比較熟悉的話可以直接找函式入口地址:1. 找幾個壓棧指令2. 壓棧完了之後就是對棧的初始化3. 通常在壓棧指令之前都有一個跳轉指令(這個有時地址偏移比較大)如果上述都不太熟悉的話可
Urho3D 初識-01----尋找主函式入口 main()
這是一個非常強大的開源遊戲引擎,該有的都有,寫得真精妙。 程式設計師習慣性從main() 函式,從hello world 開始看起。 在不同平臺上 main() 函式的名字還不一樣。 Urho3D 的Core/Main.h 中有個關於 URHO3D_DEFINE_MAIN (fu
PHP 列印呼叫函式入口地址(堆疊),方便調式
今天網站出現一個BUG,然後直接在資料庫類裡面寫日誌,看是哪條SQL出了問題,SQL語句到是找到了,但是不知道這條SQL語句來自何處,於是就想啊,如果能有一個辦法,檢視當前正在執行的這個方法是被哪個方法呼叫的,以及上一個方法又是哪個方法呼叫的,以此類推,找到入口地址多好啊。不過以前自己也想過,也在網上去搜過,
C#呼叫C(C++)dll示例教程,包含dll找不到函式入口的解決辦法,包含C#dll呼叫方式不對出錯的解決辦法
本篇文章為了熟悉在C#環境下如何呼叫C(C++)寫的dll。 【轉帖註明出處】 一、首選建立一個C的DLL工程,生產dll檔案用來備用,步驟如下: 1、VS2010建立C++專案內選擇Win32的應用程式,名稱為CreateCDll,在應用程式設定介面內選擇DLL,如下圖:
微信小程式(看文件寫例項十一)微信小程式課堂寶APP完結總結及github地址
一、總結 國慶假期偷懶了幾天,從接到任務到分析到實現總共花了20天左右,終於完成了,點名功能由於要實時監聽需要收費,所以沒有給出程式碼,需要完成的可以自己動手實現。用一張導圖來結束: 二、原始碼地址 所有原始碼已經上傳https://github.com/SoleilLuo/Stu
Android註冊程式編寫(二)主函式部分
Android註冊程式編寫(二) (作者:Baron_wu 禁止轉載) 大家關注一下,順便點個讚唄 首先安裝外掛:butterknife 開啟file下的setting並選擇plugins(在browse): 在browserepository中搜索butterknif
STM32 BootLoader跳轉APP跑飛 可能是因為找不到某些中斷函式入口
在做嵌入式產品時,有時為方便更新裝置程式(如遠端更新或者只更新模組程式等原因),就要用到bootloader對裝置進行必要的初始化,引導下載APP等。 STM官網下載的bootloader程式中並沒有用到定時器等,很可能遇不到下面的問題。但是小猿猴如我等,會迫不及待的對其進行“魔改”,再經過二手
java學習01-為什麼java程式會有多個主函式?
這周剛剛開始學習java語言,我已經遇到了很多讓我這種新手困惑的問題,所以在這裡記錄下來,作為學習的開始。 今天看學習視訊,見到了一個在C/C++中從未見過的、很“怪”的現象:為什麼一個java程式裡會有兩個主函式?譬如下面這個程式: class MainDemo {
C語言 傳地址一定會改變主函式中變數的值嗎?
我們都知道在函式呼叫中,引數傳遞的方式有傳值和傳地址之分,如果主函式傳遞給子函式引數時採用傳地址的方式,主函式的變數值一定會變化嗎?請先看下面的程式:程式1#include<stdio.h>void swap(int *x,int *y){int t;t=*x;*
習題 8.5 將本章的例8.4改寫為一個多檔案的程式:1.將類定義放在標頭檔案arraymax.h中;2.將成員函式定義放在原始檔arraymax.cpp中;3.主函式放在原始檔file1.cpp中。
C++程式設計(第三版) 譚浩強 習題8.5 個人設計 習題 8.5 將本章的例8.4改寫為一個多檔案的程式: 1.將類定義放在標頭檔案arraymax.h中; 2.將成員函式定義放在
抓騰訊視頻真實地址總結
技能 base_url 分析 標識 pic llb url dtc d3d 抓騰訊視頻裸源總結 騰訊視頻必然是國內最全面,最復雜的視頻網站之一了,因此研究他的網頁結構很有代表性. 首先,騰訊理所當然不會把視頻資源暴露在網頁源代碼裏,所以F12查看他的元素以獲得重要信息你
【小程式】開發 JS知識總結
JS知識總結 js判斷字元是否為空的方法: //判斷字元是否為空的方法 function isEmpty(obj){ if(typeof obj == "undefined" || obj == null || obj == ""){ ret
recv函式返回值總結
函式原型:int recv( SOCKET s, char *buf, int len, int flags) 功能:不論是客戶還是伺服器應用程式都用recv函式從TCP連線的另一端接收資料。 引數一:指定接收端套接字描述符; 引數二:指明一個緩衝區,該緩衝區用來存放recv
有n個整數,使前面各數順序向後移m個位置,最後m個數變成前面m個數。寫一函式:實現以上功能,在主函式中輸入n個數和輸出調整後的n個數。
import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scann
python包-numpy的函式和屬性總結(一)
NumPy是高效能科學計算和資料分析的基礎包。 接下來為大家總結一些它的一些基礎知識。 目錄 0.匯入numpy的包 1.資料型別 2.常用函式 3.NumPy.ndarray的屬性 4.NumPy.ndarray的函式 5.NumPy.ndarray的索引與切片
java main()方法 主函式 面試點
java main方法 主函式 面試點 1.main()主函式是什麼? 2.主函式main()的語法分析 3.主函式main()的兩種傳引數的方法 1.main()主函式是什麼? 是一個類的執行入口,j
程式設計師面試有哪些小竅門?最接地氣的程式設計師面試面試技巧總結
先來看看: https://mobile.yangkeduo.com/mall_page.html?mall_id=129221094 因為程式設計師基本都是頭腦程式化,不太會察言觀色,也就是情商不是很高,我就是屬於那種!~~今天我們要講的並不是諸如php面試
[UWP]針對UWP程式多語言支援的總結,含RTL
原文: [UWP]針對UWP程式多語言支援的總結,含RTL UWP 對 Globalization and localization 的支援非常好,可以非常容易地實現應用程式本地化。 所謂本地化,表現最為直觀的就是UI上文字和佈局方式了,針對文字,提供不同的語言資原始檔即可,
一位程式設計師工作10年總結的13個忠告
展望未來,總結過去10年的程式設計師生涯,給程式設計師小弟弟小妹妹們的一些總結性忠告。 走過的路,回憶起來是那麼曲折,把自己的一些心得體會分享給程式設計師兄弟姐妹們,雖然時代在變化,但是很可能你也會走我已經做過的10年的路程,有些心得體會你可以借鑑一下,覺得說得有道理的你就接納
高翔SLAM例程執行提示段錯誤,進不去主函式的解決辦法
最近執行高翔的SLAM程式碼,遇到了錯誤,經過除錯發現連主函式都沒進去,但是cmake,make是通過的,網上沒找到合適的答案(也不好找,因為錯誤提示對應的錯誤太多了),現在解決了在這裡記錄一下方便後來者。 現象: 編譯通過,但執行程式碼的錯誤提示如下: Proce