女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

二進制SCA指紋提取黑科技:go語言逆向技術

清歡科技 ? 來源:清歡科技 ? 作者:清歡科技 ? 2022-10-13 08:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

什么是二進制SCA檢測

SCA(Software Composition Analysis)軟件成分分析,指通過對軟件源碼、二進制軟件包等的靜態分析,挖掘其所存在的開源合規、已知漏洞等安全合規風險,是一種業界常見的安全測試手段。

二進制SCA檢測技術,檢測對象為二進制軟件包/固件,直接從二進制文件中提取常量字符串、部分類名稱、函數名稱等特征信息,再運用匹配算法進行相似度計算,根據相似度門限來檢測出引用的開源軟件名稱和版本號。

poYBAGNGp7GAAidMAABpNaV0YdI389.png

二進制SCA檢測對比源碼SCA檢測的優勢

無需依賴源碼,操作方便

用戶只需上傳二進制軟件包/固件,服務會采用靜態檢測技術,不用構建運行環境,不用運行程序即可快速分析二進制軟件包/固件中存在的安全風險問題,并輸出一份專業的分析報告

poYBAGNGp7eAbEXPAABfGopaCeI930.png

圖:二進制成分分析-檢測處理流程

二進制SCA指紋提取黑科技:go語言逆向技術之---恢復函數名稱算法

在對程序做安全審計、漏洞檢測時,通常都需要對程序做逆向分析,我們在沒有符號表的情況下,提出了一種恢復函數名稱的算法,方便對go語言二進制文件進行逆向分析,提升分析效率。

go語言是最近幾年發展非常火的一種語言,它具備和C/C++一樣的運行速度快的優點,同時又具備開發效率高,支持包管理機制高階語言特點。其編譯出來的二進制文件格式和C/C++一樣運行在Linux平臺下是elf格式,運行在windows平臺下是pe格式,但同時在二進制文件的內部細節上go語言有自己特有的屬性,二進制逆向人員可以利用go語言這些特有屬性來實現對二進制文件進行更精準的逆向分析。

特性1:利用go語言中特有的節信息來判斷elf/pe文件的源代碼語言類型,是go語言還是C、c++語言

通過判斷二進制文件中是否存在“.noptrdata”、“.gopclntab”、“.data.rel.ro.gopclntab”確定源代碼,如果存在上述節名稱,則源代碼為go語言。

pYYBAGNGp72ABkAxAAH9AIyrFyc565.png

特性2:在沒有符號表的情況下如何恢復函數名稱

我們知道在C/C++編譯出來的二進制文件中,如果沒有符號表信息是沒法看到函數名稱的,在IDA工具中只能看到地址信息。

poYBAGNGp8KAQpo2AABb2CrtXZU135.png

go語言怎么來恢復函數名稱呢,可以通過從.data.rel.ro節來恢復函數名,具體查找定位算法如下:

poYBAGNGp8iAcxcGAAAjqgNE0-Y597.png

方法1:

解析頭信息可以獲取magic, quantum, ptr_size, func_tab_count數據,當magic為’xfbxffxffxff’時,entry_size = 2 * ptr_size為entry結構體大小,func_tab_count 為entry結構體數量;解析entry結構獲取到名稱信息結構數據位置偏移(需要注意64位和32位go程序 func_info_offset位置相反),讀取名稱信息結構體數據,再從中獲取到名稱字符串位置偏移(name_offset),根據此偏移定位到函數名稱字符串起始位置偏移,從該位置解析得到函數名稱。

方法2:

另外1.16版本go語言結構有些新變化,magic變為’xfaxffxffxff’,解析頭信息獲取func_tab_cnt, file_cnt, func_name_off, cu_off, filetab_off, pctab_off, func_tab_off數據,其中func_tab_off為entry數據起始位置,解析entry結構獲取code_off, func_info_offset數據,后續解析過程與magic=’xfbxffxffxff’一致。

通過上述兩個方法可以恢復函數真實名稱,從而方便對go語言二進制文件的逆向分析,提升分析效率。

總結

華為云DevCloud一直致力于為客戶提供端到端提效、全鏈路安全的研發環境,除無需依賴源碼的二進制成分分析外,即將陸續發布更多的新技術、新能力,敬請期待。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 二進制
    +關注

    關注

    2

    文章

    805

    瀏覽量

    42255
  • 華為云
    +關注

    關注

    3

    文章

    2766

    瀏覽量

    18237
  • go語言
    +關注

    關注

    1

    文章

    159

    瀏覽量

    9336
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    偏移二進制二進制補碼如何和實際數據對應,如何轉換?

    偏移二進制二進制補碼如何和實際數據對應,如何轉換,請哪位高手解惑
    發表于 01-16 06:01

    bcd編碼的應用 bcd與二進制的區別

    BCD(Binary-Coded Decimal)編碼是一種二進制編碼形式,用于表示十進制數字。它將每個十進制數字(0-9)直接編碼為一個四位二進制數。BCD編碼的主要優點是易于閱讀和
    的頭像 發表于 12-20 17:11 ?3023次閱讀

    hex格式和二進制的區別

    HEX格式和二進制在多個方面存在顯著的區別。以下是對這兩者的對比: 一、定義與表示方式 HEX格式 : HEX,全稱為Intel HEX,是一種用于存儲和傳輸數據到嵌入式系統(如單片機)的文件格式
    的頭像 發表于 11-18 15:24 ?1652次閱讀

    在線二進制編碼器:數據轉換的快捷通道

    在數字時代,數據的快速轉換與處理至關重要。二進制編碼,作為計算機內部數據表示的基礎,將信息轉化為0和1的序列,為數字世界構建了溝通的橋梁。然而,對于非專業用戶來說,手動進行二進制編碼既繁瑣又易出錯
    的頭像 發表于 11-15 09:01 ?1723次閱讀

    base64字符串轉換為二進制文件

    一些編程知識。以下是將Base64字符串轉換為二進制文件的一般步驟,以及一個簡單的Python示例代碼。 步驟: 獲取Base64字符串 :首先,你需要有一個Base64編碼的字符串。 解碼Base64字符串 :使用編程語言提供的庫函數將Base64字符串解碼為
    的頭像 發表于 11-10 10:55 ?2785次閱讀

    ASCII碼和二進制的轉換關系

    。ASCII碼使用7位二進制數來表示128個不同的字符,包括大小寫英文字母、數字0-9以及一些控制字符和標點符號。后來,ASCII碼被擴展到了8位,即ASCII-8BIT,可以表示256個不同的字符。 二進制
    的頭像 發表于 11-10 09:50 ?3890次閱讀

    二進制編碼器的精度與分辨率

    在數字電子系統中,二進制編碼器扮演著至關重要的角色。它負責將外部世界的模擬信號轉換為計算機可以理解的數字信號。精度和分辨率是衡量二進制編碼器性能的兩個關鍵指標。 1. 二進制編碼器的基本原理
    的頭像 發表于 11-06 09:56 ?1170次閱讀

    二進制編碼器在自動化領域的作用

    二進制編碼器是一種將二進制信號轉換為數字信號的電子設備,廣泛應用于自動化領域。 一、二進制編碼器的工作原理 二進制編碼器是一種將二進制信號轉
    的頭像 發表于 11-06 09:53 ?896次閱讀

    二進制編碼器在機器人中的應用

    隨著科技的不斷進步,機器人技術已經成為現代工業、服務業乃至家庭生活中不可或缺的一部分。機器人的智能化程度不斷提高,這在很大程度上依賴于其傳感器系統。二進制編碼器作為一種傳感器,能夠將物理量轉換
    的頭像 發表于 11-06 09:48 ?1132次閱讀

    二進制編碼器的種類及特點

    二進制編碼器是一種電子電路,用于將二進制信號轉換為其他格式,如十進制、格雷碼等。以下是一些常見的二進制編碼器種類及其特點: 優先編碼器(Priority Encoder) : 特點 :
    的頭像 發表于 11-06 09:47 ?1390次閱讀

    二進制編碼器應用場景 二進制編碼器與模擬編碼器比較

    編碼器是將信息從一種形式或格式轉換為另一種形式的設備。在數字和模擬系統中,編碼器扮演著至關重要的角色。二進制編碼器和模擬編碼器是兩種常見的編碼器類型,它們在不同的應用場景中有著各自的優勢和局
    的頭像 發表于 11-06 09:45 ?1220次閱讀

    二進制編碼器工作原理 如何選擇二進制編碼器

    二進制編碼器是一種數字電路,它將輸入的二進制代碼轉換為對應的輸出信號。在數字系統中,編碼器用于將數據從一種形式轉換為另一種形式,以便于處理和傳輸。 二進制編碼器工作原理 輸入與輸出關系 :
    的頭像 發表于 11-06 09:44 ?2442次閱讀

    二進制補碼及與原碼的互相轉換方法

    大沙把一些基礎的知識說清楚,本文介紹二進制補碼及與原碼的轉換方法。 先說原碼,原碼?是一種計算機中對數字的二進制定點表示方法。在原碼表示法中,數值前面增加了一位符號位,最高位為符號位,0表示正數,1
    的頭像 發表于 09-19 22:25 ?1425次閱讀

    計算機采用二進制的原因不包括什么

    計算機采用二進制的原因主要是基于其物理實現的簡便性、邏輯運算的簡化、以及電子元件的穩定性。然而,這個問題要求我們探討計算機采用二進制的原因不包括什么,這實際上是一個反向思考的問題。在回答這個問題之前
    的頭像 發表于 09-04 17:03 ?1211次閱讀

    二進制處理中的一些技巧

    二進制和十進制的處理中,有時候一些小技巧是很有用的。 1、把十進制數轉換成二進制數 (1)在MATLAB中有一個函數dec2bin,可以把正整數轉換為2
    的頭像 發表于 07-05 11:51 ?931次閱讀
    主站蜘蛛池模板: 玛曲县| 钟祥市| 翁源县| 永寿县| 东乡族自治县| 西盟| 韶关市| 昌图县| 长白| 滨州市| 达尔| 九龙坡区| 铜鼓县| 延庆县| 什邡市| 宁海县| 高台县| 长汀县| 保山市| 临泉县| 锡林浩特市| 嘉善县| 柘荣县| 聂拉木县| 临夏县| 尼勒克县| 朝阳县| 杭锦后旗| 西乌珠穆沁旗| 怀化市| 麻江县| 博湖县| 广灵县| 桐庐县| 舒兰市| 宁化县| 确山县| 临桂县| 靖安县| 抚顺市| 五家渠市|