欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中的實(shí)現(xiàn)方法

 更新時(shí)間:2022年08月03日 10:53:31   作者:向往生  
這篇文章主要介紹了Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中,通過(guò)這個(gè)腳本,我們就可以把專(zhuān)業(yè)dephi程序分析的結(jié)果,轉(zhuǎn)移到IDA專(zhuān)業(yè)逆向代碼分析的平臺(tái),實(shí)現(xiàn)聯(lián)動(dòng),需要的朋友可以參考下

1.背景

在逆向Dephi程序時(shí),會(huì)出現(xiàn)Dede軟件可以看到函數(shù)的函數(shù)名,但是IDA逆向的時(shí)候看不到,為了解決這個(gè)問(wèn)題,可以通過(guò)以下的方法來(lái)實(shí)現(xiàn):

2.基礎(chǔ)知識(shí)

IDA因?yàn)闆](méi)有PDB文件,無(wú)法還原函數(shù)的原始名稱(chēng),通過(guò)逆向工程師的匯編代碼識(shí)別,可以給函數(shù)手工重新命名,也可以使用IDC腳本語(yǔ)言來(lái)給特定的地址命名:

MakeName(0x006E624C, "TSingleForm.ComboBox1Change");

基于這個(gè)原理,我們查找一下DEde如何生成這樣的“地址:函數(shù)”的對(duì)應(yīng)表。

3.實(shí)操

1.從Dede中導(dǎo)出地址函數(shù)表

找到文件夾里的events.txt,這就是包含函數(shù)地址和函數(shù)名的文件。

2.運(yùn)行python腳本把events.txt轉(zhuǎn)化為IDC腳本;

以下的腳本打開(kāi)腳本相同目錄下的events.txt,用.split()方法把地址和函數(shù)名裝入list[0]和list[1]中,無(wú)函數(shù)名的過(guò)濾掉。

import os
try:
    import chardet
except:
    os.system('pip install chardet')
    import chardet
def check_charset(file_path):
    import chardet
    with open(file_path, "rb") as f:
        data = f.read(4)
        charset = chardet.detect(data)['encoding']
    return charset
def map2idc(in_file, out_file):
    with open(out_file, 'w') as fout:
        fout.write('#include <idc.idc>\n')
        fout.write('static main()\n{\n')
        with open(in_file,encoding=check_charset(in_file)) as fin:
            for line in fin:
                list = line.split()
                if len(list) == 2 and len(str(list[1])) == 8 and str(list[1]).isalnum():
                    if(list[1][-4:]!=list[0][-4:]):  #函數(shù)名==地址的,不要
                        fout.write('\tMakeName(0x%s, "%s");\n' % (list[1], list[0]))
        fout.write('}\n')
def main():
    return map2idc("./events.txt","./ida.idc")

把上面的python復(fù)制到.py文件里,python腳本和events.txt放在同一個(gè)目錄下,運(yùn)行python腳本,就會(huì)生成ida.idc文件。一個(gè)簡(jiǎn)單的idc腳本如下:

#include <idc.idc>
static main()
{
	MakeName(0x0040178C, "TObject.System.GetSpace(Integer):TBlock;");
}

3.運(yùn)行idc腳本,重命名函數(shù)

打開(kāi)Ida,F(xiàn)ile-->Script file,選擇剛才生成的ida.idc文件,即可批量重命名函數(shù)了。

這樣,你的dehpi就有函數(shù)名了。

4.總結(jié)

通過(guò)這個(gè)腳本,我們就可以把專(zhuān)業(yè)dephi程序分析的結(jié)果,轉(zhuǎn)移到IDA專(zhuān)業(yè)逆向代碼分析的平臺(tái),實(shí)現(xiàn)聯(lián)動(dòng)。

參考文獻(xiàn):把MAP文件導(dǎo)入IDA Pro的小程序

到此這篇關(guān)于Dephi逆向工具Dede導(dǎo)出函數(shù)名MAP導(dǎo)入到IDA中的文章就介紹到這了,更多相關(guān)MAP導(dǎo)入到IDA內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • pytorch網(wǎng)絡(luò)模型構(gòu)建場(chǎng)景的問(wèn)題介紹

    pytorch網(wǎng)絡(luò)模型構(gòu)建場(chǎng)景的問(wèn)題介紹

    這篇文章主要介紹了pytorch網(wǎng)絡(luò)模型構(gòu)建場(chǎng)景的注意點(diǎn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧
    2023-03-03
  • python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例

    python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例

    這篇文章主要介紹了python GUI庫(kù)圖形界面開(kāi)發(fā)之PyQt5打印控件QPrinter詳細(xì)使用方法與實(shí)例,需要的朋友可以參考下
    2020-02-02
  • python實(shí)現(xiàn)在目錄中查找指定文件的方法

    python實(shí)現(xiàn)在目錄中查找指定文件的方法

    這篇文章主要介紹了python實(shí)現(xiàn)在目錄中查找指定文件的方法,通過(guò)模糊查找與精確查找兩個(gè)實(shí)例較為詳細(xì)的闡述了文件查找的方法,是非常實(shí)用的技巧,需要的朋友可以參考下
    2014-11-11
  • Python2與Python3的區(qū)別點(diǎn)整理

    Python2與Python3的區(qū)別點(diǎn)整理

    在本篇文章里小編給大家整理的是關(guān)于Python2與Python3的區(qū)別點(diǎn)整理內(nèi)容,需要的朋友們可以參考下。
    2019-12-12
  • Python pymysql操作MySQL詳細(xì)

    Python pymysql操作MySQL詳細(xì)

    pymysql是Python3.x中操作MySQL數(shù)據(jù)庫(kù)的模塊,其兼容于MySQLdb,使用方法也與MySQLdb幾乎相同,但是性能不如MySQLdb,但是由于其安裝使用方便、對(duì)中文兼容性也更好等優(yōu)點(diǎn),被廣泛使用??梢允褂胮ip install pymysql進(jìn)行安裝。
    2021-09-09
  • python腳本和網(wǎng)頁(yè)有何區(qū)別

    python腳本和網(wǎng)頁(yè)有何區(qū)別

    在本篇文章里小編給大家整理的是關(guān)于python腳本和網(wǎng)頁(yè)的區(qū)別點(diǎn)總結(jié),有興趣的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • Python求矩陣的范數(shù)和行列式

    Python求矩陣的范數(shù)和行列式

    這篇文章主要介紹了Python求矩陣的范數(shù)和行列式,文章中有詳細(xì)的代碼實(shí)例,感興趣的同學(xué)可以參考閱讀
    2023-04-04
  • Python命令行參數(shù)解析之a(chǎn)rgparse模塊詳解

    Python命令行參數(shù)解析之a(chǎn)rgparse模塊詳解

    這篇文章主要介紹了Python命令行參數(shù)解析之a(chǎn)rgparse模塊詳解,argparse?是?Python?的一個(gè)標(biāo)準(zhǔn)庫(kù),用于命令行參數(shù)的解析,這意味著我們無(wú)需在代碼中手動(dòng)為變量賦值,而是可以直接在命令行中向程序傳遞相應(yīng)的參數(shù),再由變量去讀取這些參數(shù),需要的朋友可以參考下
    2023-08-08
  • Python進(jìn)度條的制作代碼實(shí)例

    Python進(jìn)度條的制作代碼實(shí)例

    這篇文章主要介紹了Python進(jìn)度條的制作代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • pandas使用fillna函數(shù)填充N(xiāo)aN值的代碼實(shí)例

    pandas使用fillna函數(shù)填充N(xiāo)aN值的代碼實(shí)例

    最近在工作中遇到一個(gè)問(wèn)題,pandas讀取的數(shù)據(jù)中nan在保存后變成空字符串,所以下面這篇文章主要給大家介紹了關(guān)于pandas使用fillna函數(shù)填充N(xiāo)aN值的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07

最新評(píng)論