reait 0.0.20__tar.gz → 1.0.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: reait
3
- Version: 0.0.20
3
+ Version: 1.0.1
4
4
  Home-page: https://github.com/RevEng-AI/reait
5
5
  Author: James Patrick-Evans
6
6
  Author-email: James Patrick-Evans <james@reveng.ai>
@@ -685,22 +685,22 @@ Project-URL: Bug Tracker, https://github.com/RevEng-AI/reait/issues
685
685
  Project-URL: Organisation Homepage, https://reveng.ai
686
686
  Project-URL: Documentation, https://docs.reveng.ai
687
687
  Keywords: reverse,engineering,reveng.ai,reveng,machine,learning,binary,analysis,ml,ai,vector,embedding
688
+ Platform: Cross Platform
688
689
  Classifier: Programming Language :: Python :: 3
689
690
  Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
690
691
  Classifier: Operating System :: OS Independent
691
692
  Requires-Python: >=3.7
692
693
  Description-Content-Type: text/markdown
693
694
  License-File: LICENSE
694
- Requires-Dist: tqdm
695
+ Requires-Dist: argparse
695
696
  Requires-Dist: requests
696
697
  Requires-Dist: rich
697
- Requires-Dist: argparse
698
698
  Requires-Dist: tomli
699
699
  Requires-Dist: pandas
700
700
  Requires-Dist: numpy
701
701
  Requires-Dist: scipy
702
- Requires-Dist: lief
703
702
  Requires-Dist: scikit-learn
703
+ Requires-Dist: lief
704
704
 
705
705
  # reait
706
706
 
@@ -713,7 +713,6 @@ Analyse compiled executable binaries using the RevEng.AI API. This tool allows y
713
713
  NB: We are in Alpha. We support GNU/Linux ELF and Windows PE executables for x86_64, and focus our support for x86_64 Linux ELF executables.
714
714
 
715
715
  ## Installation
716
-
717
716
  Install the latest stable version using `pip3`.
718
717
 
719
718
  ```shell
@@ -721,7 +720,6 @@ pip3 install reait
721
720
  ```
722
721
 
723
722
  ### Latest development version
724
-
725
723
  ```shell
726
724
  pip3 install -e .
727
725
  ```
@@ -752,12 +750,6 @@ Once an analysis is complete, you may access RevEng.AI's BinNet embeddings for a
752
750
  reait -b /usr/bin/true -x > embeddings.json
753
751
  ```
754
752
 
755
- #### Extract embedding for symbol at vaddr 0x19F0
756
- ```shell
757
- reait -b /usr/bin/true -x | jq ".[] | select(.vaddr==$((0x19F0))).embedding" > embedding.json
758
- ```
759
-
760
-
761
753
  ### Search for similar symbols using an embedding
762
754
  To query our database of similar symbols based on an embedding, use `-n` to search using Approximate Nearest Neighbours. The `--nns` allows you to specify the number of results returned. A list of symbols with their names, distance (similarity), RevEng.AI collection set, source code filename, source code line number, and file creation timestamp is returned.
763
755
 
@@ -820,32 +812,8 @@ reait -b /usr/bin/true -m dexter -a
820
812
  ### Software Composition Analysis
821
813
  To identify known open source software components embedded inside a binary, use the `-C` flag.
822
814
 
823
- #### Stripped Binary CVE Checker
824
- To check for known vulnerabilities found with embedded software components, use `-c` or `--cves`.
825
-
826
-
827
- ### REAI Signatures
828
- To generate an AI functional description of an entire binary file, use the `-s` flag. This will return the REAI signature of the file.
829
-
830
- REAI signatures can be used to compute the binary similarity between entire executables with the `-S` flag. For example:
831
-
832
- ```shell
833
- reait -b d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe -S -t 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe,438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe,755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe,05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe
834
- Computing Binary Similarity... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
835
- Binary Similarity to RedlineInfoStealer/d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe
836
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
837
- ┃ Binary ┃ SHA3-256 ┃ Similarity ┃
838
- ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
839
- │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c │ 0.99907 │
840
- │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476 │ 1.00000 │
841
- │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63 │ 0.80522 │
842
- │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2 │ 0.94701 │
843
- └──────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────┴────────────┘
844
- ```
845
-
846
815
 
847
816
  ### Binary ANN Search
848
-
849
817
  To perform binary ANN search, pass in `-n` and `-s` flag at the same time. For example:
850
818
 
851
819
  ```shell
@@ -877,13 +845,12 @@ Found /usr/bin/true:elf-x86_64
877
845
 
878
846
 
879
847
  ## Configuration
880
-
881
848
  `reait` reads the config file stored at `~/.reait.toml`. An example config file looks like:
882
849
 
883
850
  ```shell
884
851
  apikey = "l1br3"
885
852
  host = "https://api.reveng.ai"
886
- model = "binnet-0.1"
853
+ model = "binnet-0.3-x86"
887
854
  ```
888
855
 
889
856
  ## Contact
@@ -9,7 +9,6 @@ Analyse compiled executable binaries using the RevEng.AI API. This tool allows y
9
9
  NB: We are in Alpha. We support GNU/Linux ELF and Windows PE executables for x86_64, and focus our support for x86_64 Linux ELF executables.
10
10
 
11
11
  ## Installation
12
-
13
12
  Install the latest stable version using `pip3`.
14
13
 
15
14
  ```shell
@@ -17,7 +16,6 @@ pip3 install reait
17
16
  ```
18
17
 
19
18
  ### Latest development version
20
-
21
19
  ```shell
22
20
  pip3 install -e .
23
21
  ```
@@ -48,12 +46,6 @@ Once an analysis is complete, you may access RevEng.AI's BinNet embeddings for a
48
46
  reait -b /usr/bin/true -x > embeddings.json
49
47
  ```
50
48
 
51
- #### Extract embedding for symbol at vaddr 0x19F0
52
- ```shell
53
- reait -b /usr/bin/true -x | jq ".[] | select(.vaddr==$((0x19F0))).embedding" > embedding.json
54
- ```
55
-
56
-
57
49
  ### Search for similar symbols using an embedding
58
50
  To query our database of similar symbols based on an embedding, use `-n` to search using Approximate Nearest Neighbours. The `--nns` allows you to specify the number of results returned. A list of symbols with their names, distance (similarity), RevEng.AI collection set, source code filename, source code line number, and file creation timestamp is returned.
59
51
 
@@ -116,32 +108,8 @@ reait -b /usr/bin/true -m dexter -a
116
108
  ### Software Composition Analysis
117
109
  To identify known open source software components embedded inside a binary, use the `-C` flag.
118
110
 
119
- #### Stripped Binary CVE Checker
120
- To check for known vulnerabilities found with embedded software components, use `-c` or `--cves`.
121
-
122
-
123
- ### REAI Signatures
124
- To generate an AI functional description of an entire binary file, use the `-s` flag. This will return the REAI signature of the file.
125
-
126
- REAI signatures can be used to compute the binary similarity between entire executables with the `-S` flag. For example:
127
-
128
- ```shell
129
- reait -b d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe -S -t 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe,438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe,755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe,05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe
130
- Computing Binary Similarity... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:01
131
- Binary Similarity to RedlineInfoStealer/d24ccf73aabca4192d33a07b4a238c8d40ac97a550c2e65b8074f03455a981ca.exe
132
- ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━┓
133
- ┃ Binary ┃ SHA3-256 ┃ Similarity ┃
134
- ┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━┩
135
- │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c.exe │ 00062cb01088cea245cd5f3eb03f65a0e6b11a8126ce00034d87935a451cf99c │ 0.99907 │
136
- │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476.exe │ 438d64bb831555caadaa92a32c9d62e255001bc8d524721c885f37d750ec3476 │ 1.00000 │
137
- │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63.exe │ 755a4b2ec15da6bb01248b2dfbad206c340ba937eae9c35f04f6cedfe5e99d63 │ 0.80522 │
138
- │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2.exe │ 05ff897f430fec0ac17f14c89181c76961993506e5875f2987e9ead13bec58c2 │ 0.94701 │
139
- └──────────────────────────────────────────────────────────────────────┴──────────────────────────────────────────────────────────────────┴────────────┘
140
- ```
141
-
142
111
 
143
112
  ### Binary ANN Search
144
-
145
113
  To perform binary ANN search, pass in `-n` and `-s` flag at the same time. For example:
146
114
 
147
115
  ```shell
@@ -173,13 +141,12 @@ Found /usr/bin/true:elf-x86_64
173
141
 
174
142
 
175
143
  ## Configuration
176
-
177
144
  `reait` reads the config file stored at `~/.reait.toml`. An example config file looks like:
178
145
 
179
146
  ```shell
180
147
  apikey = "l1br3"
181
148
  host = "https://api.reveng.ai"
182
- model = "binnet-0.1"
149
+ model = "binnet-0.3-x86"
183
150
  ```
184
151
 
185
152
  ## Contact
@@ -1,28 +1,17 @@
1
1
  [build-system]
2
- requires = ["setuptools >= 40.9.0", "tqdm", "argparse", "requests", "rich", "tomli", "pandas", "numpy", "scipy", "lief", "scikit-learn"]
2
+ requires = ["setuptools >= 40.9.0", "argparse", "requests", "rich", "tomli", "pandas", "numpy", "scipy", "lief", "scikit-learn"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "reait"
7
- version = "0.0.20"
7
+ version = "1.0.1"
8
8
  readme = "README.md"
9
9
  classifiers=[
10
10
  "Programming Language :: Python :: 3",
11
11
  "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
12
12
  "Operating System :: OS Independent"
13
13
  ]
14
- dependencies = [
15
- "tqdm",
16
- "requests",
17
- "rich",
18
- "argparse",
19
- "tomli",
20
- "pandas",
21
- "numpy",
22
- "scipy",
23
- "lief",
24
- "scikit-learn",
25
- ]
14
+ dynamic = ["dependencies"]
26
15
  keywords = ["reverse", "engineering", "reveng.ai", "reveng", "machine", "learning", "binary", "analysis", "ml", "ai", "vector", "embedding"]
27
16
  requires-python = ">=3.7"
28
17
  license = {file = "LICENSE"}
@@ -33,13 +22,14 @@ maintainers = [
33
22
  {name = "James Patrick-Evans", email = "james@reveng.ai"},
34
23
  ]
35
24
 
25
+ [tool.setuptools.dynamic]
26
+ dependencies = {file = ["requirements.txt",]}
27
+
36
28
  [project.urls]
37
29
  "Homepage" = "https://github.com/RevEng-AI/reait"
38
30
  "Bug Tracker" = "https://github.com/RevEng-AI/reait/issues"
39
31
  "Organisation Homepage" = "https://reveng.ai"
40
32
  "Documentation" = "https://docs.reveng.ai"
41
33
 
42
-
43
-
44
34
  [project.scripts]
45
35
  reait = "reait.main:main"
@@ -0,0 +1,9 @@
1
+ argparse
2
+ requests
3
+ rich
4
+ tomli
5
+ pandas
6
+ numpy
7
+ scipy
8
+ scikit-learn
9
+ lief
reait-1.0.1/setup.py ADDED
@@ -0,0 +1,31 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ from setuptools import setup, find_packages
4
+
5
+
6
+ with open("requirements.txt") as fd:
7
+ required = fd.read().splitlines()
8
+
9
+ with open("README.md", encoding="utf-8") as fd:
10
+ long_description = fd.read()
11
+
12
+
13
+ setup(
14
+ name="reait",
15
+ long_description=long_description,
16
+ long_description_content_type="text/markdown",
17
+ url="https://github.com/RevEng-AI/reait",
18
+ author="James Patrick-Evans",
19
+ author_email="james@reveng.ai",
20
+ platforms="Cross Platform",
21
+ packages=find_packages(where="src", exclude=["tests",]),
22
+ package_dir={
23
+ "": "src",
24
+ },
25
+ classifiers=[
26
+ "Operating System :: OS Independent",
27
+ "Programming Language :: Python :: 3",
28
+ "License :: OSI Approved :: GNU General Public License v3 (GPLv3)",
29
+ ],
30
+ install_requires=required,
31
+ )
@@ -1,5 +1,4 @@
1
+ # -*- coding: utf-8 -*-
1
2
  from reait import api
2
- api.parse_config()
3
-
4
3
 
5
- __version__ = "0.0.20"
4
+ api.parse_config()