Tool
Kam1n0
Server platform from McGill University's Data Mining and Security Lab that indexes collections of disassembled binaries into shared repositories and searches them for cloned assembly functions. Its applications cover subgraph clone search within one instruction-set family (Asm-Clone), cross-architecture semantic search over VEX IR using symbolic and concrete execution (Sym1n0), Asm2Vec representation learning aimed at compiler optimization and obfuscation, and executable classification built on Asm2Vec. An IDA Pro plug-in sends functions to the server and shows flow-graph, text-diff and clone-group views; the README's accuracy and query-time figures come from the authors' own papers.
- Targets
- Binary
- Category
- Binary comparison tools
- Relationship
- Foundation tool
- Sources reviewed
Requirements & limits
- Latest stable release at review: 2.2.0, published 2020-11-15, with Windows installers and Linux tarballs for the server and the IDA Pro plug-in; a nightly-action pre-release from 2023-02-27 attaches Windows builds only. The reviewed master2.x commit of the same date is the default branch's latest, and README says repositories and configuration files from versions before 2.0.0 are no longer supported.
- The server needs a 64-bit Java 11 runtime (README asks for Oracle's) and, to disassemble uploaded binaries, an IDA Pro installation with IDAPython set in kam1n0.properties; the shipped configuration requests a 12 GB maximum JVM heap and serves the web interface on port 8571. The plug-in needs IDA Pro newer than 6.7 with IDAPython and the CEF Python wheels its installer bundles. Source also contains an undocumented Ghidra disassembly backend, which was not checked.
- Users supply the binaries to index and query. The repository commits test and example binaries built from open-source code: zlib and libpng builds for several architectures and optimization levels, a Chromium DLL, and IDA databases for PuTTY and zlib. Windows installer sources commit the Microsoft .NET Framework 4.0 and Visual C++ x64 redistributable installers and CEF Python wheels, and the server resources commit JavaFX SDK 11.0.2 DLLs, a prebuilt LibVEX library (VEXIRBB.dll) and a local Maven repository holding a z3 jar.
- Maven builds the Java 11 modules against those pre-compiled LibVEX and z3 binaries; README says LibVEX comes from angr's fork, and z3 is a submodule. The Maven tests drive Chrome through chromedriver and, per the README, take about three hours; CI only builds the Windows distribution and WiX installers. Accuracy and timing figures are taken from the README and the authors' KDD 2016 and IEEE S&P 2019 papers; no binaries were indexed or searched for this review.
- Apache-2.0 (LICENSE.txt), copyright McGill University and the researchers. Bundled runtimes, redistributable installers, wheels and test binaries keep their own licenses, and IDA Pro is separately licensed commercial software.
About this entry
The description was reviewed against primary sources. This does not establish runtime testing, security auditing or verified compatibility.
Primary sources
- README.md GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- documentation/server/server.md GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- documentation/ida-pro-plugin/ida-pro-plugin.md GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- kam1n0/kam1n0-resources/bin/kam1n0.properties GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- kam1n0/kam1n0-commons/src/main/java/ca/mcgill/sis/dmas/kam1n0/framework/disassembly/DisassemblyFactory.java GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- kam1n0-builds/README.md GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- .gitmodules GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- .github/workflows/msbuild.yml GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- kam1n0/kam1n0-resources/bin-exclude-from-distr/test-cases GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- kam1n0-builds/windows/installer-src-32-64/libs-server GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- LICENSE.txt GitHub · McGill-DMaS/Kam1n0-Community · Revision 1c3c309
- https://github.com/McGill-DMaS/Kam1n0-Community/releases/tag/2.2.0
- https://github.com/McGill-DMaS/Kam1n0-Community/releases/tag/nightly-action
More in Native binaries
- iblessing · Tool
- SiMBA · Tool
- DownUnderCTF: masked-squares flag checker · Case study
- Show Your Work: a measured dissection of REA's evidence architecture · Case study
- Windows loader: static malware analysis with REA and Codex · Case study
- OpenBSD netcat: static REA and Ghidra investigation · Case study