最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解析C/C++?Capstone?引擎源碼編譯問題

 更新時間:2022年09月08日 11:45:24   作者:lyshark  
Capstone的編譯非常簡單只需要一步即可輕松得到對應(yīng)的Lib庫文件,如下將介紹該引擎如何被編譯,以及簡單的測試編譯,這篇文章主要介紹了C/C++?Capstone?引擎源碼編譯,需要的朋友可以參考下

Capstone 是一個輕量級的多平臺、多架構(gòu)的反匯編框架。Capstone 旨在成為安全社區(qū)中二進(jìn)制分析和反匯編的終極反匯編引擎。Capstone的編譯非常簡單只需要一步即可輕松得到對應(yīng)的Lib庫文件,如下將介紹該引擎如何被編譯,以及簡單的測試編譯。

Capstone 源碼下載地址:https://github.com/capstone-engine/capstone

下載好以后直接打開項(xiàng)目,切換到msvc目錄下,該目錄下就是引擎的編譯入口,我們直接打開capstone.slh文件,設(shè)置平臺工具集為編譯器的版本。

在右側(cè)選擇capstone_static也就是編譯為靜態(tài)庫,然后直接編譯文件。

編譯成功后直接將其中的capstone.lib庫文件拿出來,64位也是如此操作。

編譯成功后會得到兩個文件,直接新建lib目錄,將其放進(jìn)去。

然后再將項(xiàng)目中的include文件一并拷貝到新建的目錄下。至此庫就編譯好了。

當(dāng)需要在項(xiàng)目中使用該庫時,只需要簡單的引入到項(xiàng)目中。

接著新建一個項(xiàng)目,寫入如下一段測試代碼,編譯執(zhí)行即可實(shí)現(xiàn)對特定字符串的反匯編操作。

#include <stdio.h>
#include <inttypes.h>
#include <capstone/capstone.h>

#pragma comment(lib,"capstone32.lib")

int main(int argc, char *argv[])
{
	char *buffer = "\x55\x8b\xec\x81\xec\x24\x03\x00\x00\x6a\x17\x90\x90\x90";

	csh handle;
	cs_insn *insn;
	size_t count;

	int size = 14;

	printf("By: LyShark \n\n");
	// 打開句柄
	if (cs_open(CS_ARCH_X86, CS_MODE_32, &handle) != CS_ERR_OK)
	{
		return 0;
	}

	// 反匯編代碼,地址從0x1000開始,返回總條數(shù)
	// https://www.cnblogs.com/lyshark
	count = cs_disasm(handle, (unsigned char *)buffer, size, 0x1000, 0, &insn);

	if (count > 0)
	{
		size_t index;
		for (index = 0; index < count; index++)
		{
			for (int x = 0; x < insn[index].size; x++)
			{
				printf("機(jī)器碼: %d -> %02X \n", x, insn[index].bytes[x]);
			}

			printf("地址: 0x%"PRIx64" | 長度: %d 反匯編: %s %s \n", insn[index].address, insn[index].size, insn[index].mnemonic, insn[index].op_str);
		}

		cs_free(insn, count);
	}
	else
	{
		printf("反匯編返回長度為空 \n");
	}

	cs_close(&handle);

	getchar();
	return 0;
}

預(yù)覽效果如下:

文章作者:lyshark (王瑞)
文章出處:https://www.cnblogs.com/LyShark/p/16667985.html
版權(quán)聲明:本博客文章與代碼均為學(xué)習(xí)時整理的筆記,文章 [均為原創(chuàng)] 作品,轉(zhuǎn)載請 [添加出處] ,您添加出處是我創(chuàng)作的動力!
轉(zhuǎn)載文章,請遵守《中華人民共和國著作權(quán)法》相關(guān)規(guī)定或遵守《署名CC BY-ND 4.0國際》禁止演繹規(guī)范,合理合規(guī),攜帶原創(chuàng)出處轉(zhuǎn)載。

到此這篇關(guān)于C/C++ Capstone 引擎源碼編譯的文章就介紹到這了,更多相關(guān)C++ Capstone 引擎內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 深入解析C++中的虛函數(shù)與多態(tài)

    深入解析C++中的虛函數(shù)與多態(tài)

    對C++ 了解的人都應(yīng)該知道虛函數(shù)(Virtual Function)是通過一張?zhí)摵瘮?shù)表(Virtual Table)和一個指向虛函數(shù)表的指針(vptr)來實(shí)現(xiàn)的
    2013-09-09
  • 詳解Ubuntu18.04配置VSCode+CMake的C++開發(fā)環(huán)境

    詳解Ubuntu18.04配置VSCode+CMake的C++開發(fā)環(huán)境

    這篇文章主要介紹了詳解Ubuntu18.04配置VSCode+CMake的C++開發(fā)環(huán)境,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03
  • C語言中遞歸的實(shí)際應(yīng)用與經(jīng)典問題

    C語言中遞歸的實(shí)際應(yīng)用與經(jīng)典問題

    函數(shù)以及函數(shù)的遞歸調(diào)用是學(xué)習(xí)C語言必須要掌握的內(nèi)容,且遞歸作為經(jīng)典的算法思想被廣泛應(yīng)用于程序設(shè)計中,下面這篇文章主要給大家介紹了關(guān)于C語言中遞歸的實(shí)際應(yīng)用與經(jīng)典問題的相關(guān)資料,需要的朋友可以參考下
    2021-09-09
  • C++實(shí)現(xiàn)聊天程序

    C++實(shí)現(xiàn)聊天程序

    這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)類似QQ聊天程序,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • c++面試題字符串拷貝函數(shù)示例

    c++面試題字符串拷貝函數(shù)示例

    這個也算是企業(yè)招工里面比較常見的一道筆試面試題了,非常簡單。個人覺得考的主要是對指針使用的熟練程度,還有對字符串類內(nèi)部原理的掌握程度
    2013-12-12
  • 淺析在C/C++中如何寫調(diào)試宏

    淺析在C/C++中如何寫調(diào)試宏

    這篇文章主要為大家詳細(xì)介紹了在C/C++中如何寫調(diào)試宏的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,有需要的小伙伴可以參考一下
    2024-05-05
  • 你知道C語言中#和##表示的意義嗎

    你知道C語言中#和##表示的意義嗎

    如標(biāo)題,這篇文章會講解C語言中的#和##是啥意思。我相信,大部分朋友應(yīng)該都沒怎么用過,這兩個玩意的使用條件也相當(dāng)苛刻,快跟隨小編一起來看看吧
    2023-04-04
  • C語言實(shí)現(xiàn)動態(tài)愛心代碼

    C語言實(shí)現(xiàn)動態(tài)愛心代碼

    這篇文章主要為大家詳細(xì)介紹了如何通過C語言實(shí)現(xiàn)動態(tài)愛心的效果,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價值,還不快跟隨小編一起get李峋同款愛心代碼
    2022-11-11
  • c語言獲取文件大小的示例

    c語言獲取文件大小的示例

    在C語言中測試文件的大小,主要使用二個標(biāo)準(zhǔn)函數(shù),下面是使用示例,需要的朋友可以參考下
    2014-02-02
  • C語言超詳細(xì)講解循環(huán)與分支語句基礎(chǔ)

    C語言超詳細(xì)講解循環(huán)與分支語句基礎(chǔ)

    各位小伙伴們,今天給大家?guī)淼氖茄h(huán)與分支語句,本篇將會向大家介紹這些語句的格式和使用的基本方法,感興趣的朋友來看看吧
    2022-04-04

最新評論

双柏县| 沁源县| 丹阳市| 大宁县| 舟山市| 固阳县| 乌兰察布市| 巢湖市| 新津县| 历史| 长岛县| 峨眉山市| 商洛市| 隆尧县| 五河县| 金门县| 武陟县| 黎川县| 南阳市| 始兴县| 曲沃县| 河北区| 隆化县| 左权县| 霍山县| 通化市| 米脂县| 合肥市| 醴陵市| 稷山县| 尼木县| 炉霍县| 密山市| 城步| 金川县| 邵阳县| 建湖县| 巴彦淖尔市| 本溪市| 嘉鱼县| 迭部县|