《逆向工程核心原理》學習筆記(五)
《逆向工程核心原理》學習筆記(五)
記錄下第八章對於vb程序的逆向調試分析。
od載入,在EP代碼中首先做的是調用VB引擎的主函數(ThunRTMain())
EP地址為00401238,401238地址處的PUSH 401E14指令是用來把RT——MainStruct結構體的地址(401E14)壓棧,40123D地址處的call指令是調用401232處的jmp指令,該jmp指令會跳轉到VB引擎的主函數ThunRTMain(),前面401E14的值作為ThunRTMain()的參數。
這裏40123D地址的call指令是調用ThunRTMain()函數,但是不是直接轉到MSVBVM60.DLL的ThunRTMain()函數,而是通過中間401232地址的jmp指令跳轉
這就是VC++、VB編譯器中常用的間接調用法(Indirect Call)
分析
查看字符串 找到輸入錯誤時顯示的字符串
往上查找,果然只要到包含條件轉移語句的代碼(判斷用戶輸入的序列號與字符串是否相同)
《逆向工程核心原理》學習筆記(五)
相關推薦
《逆向工程核心原理》學習筆記(五)
mda 學習筆記 dir png 分析 truct str 判斷 mage 《逆向工程核心原理》學習筆記(五) 記錄下第八章對於vb程序的逆向調試分析。 od載入,在EP代碼中首先做的是調用VB引擎的主函數(ThunRTMain()) EP
《逆向工程核心原理》學習筆記(六)
form 定位 ngs release sof 操作系統 mina align get 《逆向工程核心原理》學習筆記(六) 記錄一下關於書中PE文件格式內容的學習(上部分) PE(Portable Executable)格式,是微軟Win32環境可移植可執
《逆向工程核心原理》學習總結(四)
介紹 PE檔案是windows作業系統的可執行檔案格式(包括.exe、.scr、.dll、.sys、.obj等檔案),PE檔案指32位的可執行檔案,也稱為PE32。64位可執行檔案稱為PE+或PE32+,是PE32檔案的一種擴充套件形式。 基本結構 P
逆向工程權威指南學習筆記
宣告:本文整理自《逆向工程權威指南(上冊)》 非常亂,不行整理了。 第三章 RET 將控制權交給呼叫程式(將控制權交給作業系統) 編譯器在字串常量的尾部添加了00H,原因是為這個字串常量新增結束標誌(即數值為0的單個位元組) push offset $SG3803 通過p
逆向工程核心原理之DLL注入
DLL注入三種方法:使用LoadLibrary載入某個DLL時,該DLL中的DllMain函式就會被呼叫執行。1.建立遠端執行緒(CreateRemoteThread)使用InjectDll.exe在notepad.exe中注入Myhack.dll(winxp提權後測試成功)
機械製造工程原理學習筆記
金屬切削加工兩個基本要素,成形運動,刀具 發生線:母線和導線 基本表面如平面、圓柱面、球面等都可以看作是一條母線沿著一條導線運動而成的。 形成發生線的方法:4種 主運動 主運動是道具與工件之間的主要相對運動,它使刀具的切削部分切入工件材料,使得金屬層轉變為切屑
android核心剖析學習筆記:AMS(ActivityManagerService)內部原理和工作機制
一、ActivityManagerService提供的主要功能: (1)統一排程各應用程式的Activity (2)記憶體管理 (3)程序管理 二、啟動一個Activity的方式有以下幾種:
spring security原理-學習筆記2-核心元件
核心元件 AuthenticationManager,ProviderManager和AuthenticationProvider AuthenticationManager只是一個介面,實際中是如何運作的?如果我們需要檢查多個身份驗證資料庫或不同身份驗證服務(如資料庫和LDAP伺服器)的組合,該怎麼辦? S
RabbitMQ學習筆記五:RabbitMQ之優先級消息隊列
-c virtual 調用 itl 3.5 rri color images 執行順序 RabbitMQ優先級隊列註意點: 1、只有當消費者不足,不能及時進行消費的情況下,優先級隊列才會生效 2、RabbitMQ3.5以後才支持優先級隊列 代碼在博客:RabbitMQ學習筆
Java核心技術學習筆記-繼承
java 繼承按照我們中文通俗的理解是不需要付出努力,就獲得別人的能力或資產,比如繼承父輩的家產,繼承父輩的表達能力,繼承父輩的外貌等等。在類裏面的繼承,可以理解不需要重新開發代碼,就能復用父類的方法和域。 在繼承關系裏面,可以分為父類和子類,子類繼承父類,那子類就有了跟父類一樣對外的方法
swift學習筆記(五)構造過程
不能 學習筆記 結構體 rri -a 依據 類的屬性 去掉 trac 構造過程是為了使用某個類、結構體或枚舉類型的實例而進行的準備過程。在構造過程中,對每一個屬性進行了初始值預設和其它必要的準備和初始化工作。 與OC相比,swift的構造函數。不須要返回值。同一時候,在
NLTK學習筆記(五):分類和標註詞匯
推廣 默認 註意 max() 上下 efault val 存儲 n-n [TOC] 詞性標註器 之後的很多工作都需要標註完的詞匯。nltk自帶英文標註器pos_tag import nltk text = nltk.word_tokenize("And now for
ODOO學習筆記五:Odoo模塊標準組成
實體對象 開發 請求 建模 mode default 測試 odoo 兩個 一:新建一個模塊 一個模塊放在一個文件夾中,我們在odoo項目源碼中新建一個文件夾 car,用於存放模塊car。(一般用一個文件夾專門用來管理我們自定義的模塊) 然後在car目錄下新建兩個文件:__
Tomcat學習筆記(五)
mpi ont .cn rop 觀察者模式 ack directly oba services 生命周期事件 Catalina包含有很多組件。當Catalina啟動時,這些組件也會啟動,同樣,當Catalina關閉時,這些組件也隨之關閉,通過實現org.apache
SpringMVC 學習筆記(五) 基於RESTful的CRUD
super() ger select bsp ber ota his version pub 1.1. 概述 當提交的表單帶有_method字段時,通過HiddenHttpMethodFilter 將 POST 請求轉換成 DELETE、PUT請求,加上@Path
JavaWeb學習筆記五 會話技術Cookie&Session
function for type getwriter 信息 web資源 案例 utf-8 template 什麽是會話技術? 例如網站的購物系統,用戶將購買的商品信息存儲到哪裏?因為Http協議是無狀態的,也就是說每個客戶訪問服務器端資源時,服務器並不知道該客戶端是誰,所
ES6學習筆記五:Promise異步任務
任務 ted 構造函數 才會 數組 接受 異步操作 異步任務 進行 一:Promise對象 Promise對象代表一個異步操作,有三種狀態:Pending(進行中)、Resolved(已完成,又稱 Fulfilled)和Rejected(已失敗)。 二:創建與使用 v
Python學習筆記五:字符串常用操作,字典,三級菜單實例
rip .get isalnum 變量名 cde tro 分割 字母 isdigit 字符串常用操作 7月19日,7月20日 ,7月22日,7月29日,8月29日,2月29日 首字母大寫:a_str.capitalize() 統計字符串個數:a_str.count(“x”)
html學習筆記五
http協議 頁面 content 屬性 用戶 right keyword lan media 關於服務端和client的校驗問題 上述的表格信息填寫後發現,即使有些信息不添,依舊能夠提交 所以針對此問題,我們要在client進行數據填寫信
硬件原理學習筆記
成了 狀態 載體 人的 硬件 物理學 噪音 原理 生存 1. 硬件是思想的載體,基礎為物理學。 人的五感(視覺、聽覺、觸覺、嗅覺、味覺)接收了大部分的信息; 世界在人的各種感官下形成了對應的映像,然後人類對各種信息作出分析,並對世界做出一定的反饋操作。 這個世界是按一