All Projects → PyvesB → Javassembly

PyvesB / Javassembly

Licence: mit
💾 Calling Assembly from Java: simple example using the JNI and NASM.

Programming Languages

java
68154 projects - #9 most used programming language
assembly
5116 projects
assembler
53 projects

Labels

Projects that are alternatives of or similar to Javassembly

Remill
Library for lifting of x86, amd64, and aarch64 machine code to LLVM bitcode
Stars: ✭ 633 (+2160.71%)
Mutual labels:  x86-64
Rappel
A linux-based assembly REPL for x86, amd64, armv7, and armv8
Stars: ✭ 818 (+2821.43%)
Mutual labels:  x86-64
Keypatch
Multi-architecture assembler for IDA Pro. Powered by Keystone Engine.
Stars: ✭ 939 (+3253.57%)
Mutual labels:  x86-64
Cemu
Cheap EMUlator: lightweight multi-architecture assembly playground
Stars: ✭ 666 (+2278.57%)
Mutual labels:  x86-64
Jep
Embed Python in Java
Stars: ✭ 759 (+2610.71%)
Mutual labels:  jni
Distorm
Powerful Disassembler Library For x86/AMD64
Stars: ✭ 829 (+2860.71%)
Mutual labels:  x86-64
Rop Tool
A tool to help you write binary exploits
Stars: ✭ 590 (+2007.14%)
Mutual labels:  x86-64
Kiss Fft
A compact FFT library in C with an Android JNI wrapper
Stars: ✭ 27 (-3.57%)
Mutual labels:  jni
X86 Assembly Cheat
MOVED TO: https://github.com/cirosantilli/linux-kernel-module-cheat#userland-assembly SEE README. x86 IA-32 and x86-64 userland minimal examples tutorial. Hundreds of runnable asserts. Nice GDB setup. IO done with libc, so OS portable in theory. NASM and GAS covered. Tested in Ubuntu 18.04. Containers (ELF), linking, calling conventions. System land cheat at: https://github.com/cirosantilli/x86-bare-metal-examples, ARM cheat at: https://github.com/cirosantilli/arm-assembly-cheat
Stars: ✭ 773 (+2660.71%)
Mutual labels:  x86-64
Os2
x86_64 OS kernel with completely async userspace and single address space [WIP; but basic kernel functionality implemented]
Stars: ✭ 25 (-10.71%)
Mutual labels:  x86-64
Ksm
A fast, hackable and simple x64 VT-x hypervisor for Windows and Linux. Builtin userspace sandbox and introspection engine.
Stars: ✭ 673 (+2303.57%)
Mutual labels:  x86-64
Arm now
arm_now is a qemu powered tool that allows instant setup of virtual machines on arm cpu, mips, powerpc, nios2, x86 and more, for reverse, exploit, fuzzing and programming purpose.
Stars: ✭ 719 (+2467.86%)
Mutual labels:  x86-64
Userlandexec
userland exec for Linux x86_64
Stars: ✭ 23 (-17.86%)
Mutual labels:  x86-64
Squalr
Squalr Memory Editor - Game Hacking Tool Written in C#
Stars: ✭ 645 (+2203.57%)
Mutual labels:  x86-64
Blog os
Writing an OS in Rust
Stars: ✭ 8,120 (+28900%)
Mutual labels:  x86-64
Fcd
An optimizing decompiler
Stars: ✭ 622 (+2121.43%)
Mutual labels:  x86-64
Openwrt
Automatic unattended weekly builds of the current OpenWrt development master branch for X86_64, Redmi-AC2100 (红米AC2100), Phicomm-K2P (斐讯K2P), K2P-32M-USB (K2P 32M USB版), NanoPi-R2S, Newifi-D2 (新路由3), Hiwifi-HC5962 (极路由4增强版), Xiaomi-R3P (小米路由PRO) and XY-C5 (小娱-C5).
Stars: ✭ 818 (+2821.43%)
Mutual labels:  x86-64
Reko
Reko is a binary decompiler.
Stars: ✭ 942 (+3264.29%)
Mutual labels:  x86-64
Fake Jni
An implementation of the JNI and JVMTI with support for direct interaction between natively registered classes and JVM objects.
Stars: ✭ 20 (-28.57%)
Mutual labels:  jni
Beelzebub
The Lord of Flies - A hobby operating system
Stars: ✭ 24 (-14.29%)
Mutual labels:  x86-64

JavAssembly

A simple example showing how assembly language can be called from Java using the Java Native Interface (JNI). The native function sums the elements of an array of integers and returns the result as a long.

Getting started

✔️ Requirements

To compile and run this project, you will need:

  • the JDK
  • an assembler such as NASM or Yasm
  • a compiler such as GCC, Clang or MinGW-w64

The example and build scripts can easily be modified to accommodate other assembler or compiler requirements.

💿 Running the code

Simply use the following commands:

git clone https://github.com/PyvesB/javassembly.git
cd JavAssembly
#Linux or macOS
./build nasm
#Windows
build nasm
java JNIArraySum

🌎 Useful links

The following pages may be of interest:

Contributing

$ code

Want to make JavAssembly better, faster, stronger? Contributions are more than welcome, open a pull request and share your code! Simply fork the repository by clicking on the icon on the top right of this page and you're ready to go!

💬 Support

Thought of a cool idea? Found a problem or need some help? Simply open an issue!

⭐️ Thanks

Find the project useful, fun or interesting? Star the repository by clicking on the icon on the top right of this page!

License

MIT License

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].