<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3897/jucs.76528</article-id>
      <article-id pub-id-type="publisher-id">76528</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>D.2.7 - Distribution</subject>
          <subject> Maintenance</subject>
          <subject> and Enhancement</subject>
          <subject>I.2.1 - Applications and Expert Systems</subject>
          <subject>L.4.0 - Security and Trust</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Disassemble Byte Sequence Using Graph Attention Network</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Qiu</surname>
            <given-names>Jing</given-names>
          </name>
          <email xlink:type="simple">qiujing@zafu.edu.cn</email>
          <uri content-type="orcid">https://orcid.org/0000-0003-3264-1681</uri>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Dong</surname>
            <given-names>Feng</given-names>
          </name>
          <uri content-type="orcid">https://orcid.org/0000-0002-3496-4305</uri>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Sun</surname>
            <given-names>Guanglu</given-names>
          </name>
          <uri content-type="orcid">https://orcid.org/0000-0003-2589-1164</uri>
          <xref ref-type="aff" rid="A2">2</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Zhejiang A&amp;F University, Hangzhou, China</addr-line>
        <institution>Zhejiang A&amp;F University</institution>
        <addr-line content-type="city">Hangzhou</addr-line>
        <country>China</country>
      </aff>
      <aff id="A2">
        <label>2</label>
        <addr-line content-type="verbatim">Harbin University of Science and Technology, Harbin, China</addr-line>
        <institution>Harbin University of Science and Technology</institution>
        <addr-line content-type="city">Harbin</addr-line>
        <country>China</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Jing Qiu (<email xlink:type="simple">qiujing@zafu.edu.cn</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2022</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>07</month>
        <year>2022</year>
      </pub-date>
      <volume>28</volume>
      <issue>7</issue>
      <fpage>758</fpage>
      <lpage>775</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/41194EC2-956A-5450-BCD3-BBEB85917ED2">41194EC2-956A-5450-BCD3-BBEB85917ED2</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/6941966">6941966</uri>
      <history>
        <date date-type="received">
          <day>14</day>
          <month>10</month>
          <year>2021</year>
        </date>
        <date date-type="accepted">
          <day>11</day>
          <month>05</month>
          <year>2022</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Jing Qiu, Feng Dong, Guanglu Sun</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="https://creativecommons.org/licenses/by-nd/4.0/" xlink:type="simple">
          <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution License (CC BY-ND 4.0). This license allows reusers to copy and distribute the material in any medium or format in unadapted form only, and only so long as attribution is given to the creator. The license allows for commercial use.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>Disassembly is the basis of static analysis of binary code and is used in malicious code detection, vulnerability mining, software optimization, etc. Disassembly of arbitrary suspicious code blocks (e.g., for suspicious traffic packets intercepted by the network) is a difficult task. Traditional disassembly methods require manual specification of the starting address and cannot automate the disassembly of arbitrary code blocks. In this paper, we propose a disassembly method based on code extension selection network by combining traditional linear sweep and recursive traversal methods. First, each byte of a code block is used as the disassembly start address, and all disassembly results (control flow graphs) are combined into a single flow graph. Then a graph attention network is trained to pick the correct subgraph (control flow graph) as the final result. In the experiment, the compiler-generated executable file, as well as the executable file generated by hand-written assembly code, the data file and the byte sequence intercepted by the code segment were tested, and the disassembly accuracy was 93%, which can effectively distinguish the code from the data.</p>
      </abstract>
      <funding-group>
        <award-group>
          <funding-source>
            <named-content content-type="funder_name">National Natural Science Foundation of China</named-content>
            <named-content content-type="funder_identifier">501100001809</named-content>
            <named-content content-type="funder_doi">http://doi.org/10.13039/501100001809</named-content>
          </funding-source>
        </award-group>
        <funding-statement>Heilongjiang Provincial Natural Science Foundation of China&#13;
Fundamental Research Foundation for Universities of Heilongjiang Province</funding-statement>
      </funding-group>
    </article-meta>
  </front>
</article>
