Mocha (decompiler)

Last updated
Original author(s) Hanpeter van Vliet [1]
Developer(s) Hanpeter van Vliet
Initial releaseJune 1996;27 years ago (1996-06) [2]
Final release
beta 1 / June 16, 1996;27 years ago (1996-06-16)
Written in Java
Operating system Cross-platform
Platform Java virtual machine
Type decompiler
License freeware
Website www.brouhaha.com/~eric/software/mocha/

Mocha is a Java decompiler, which allows programmers to translate a program's bytecode into source code.

Contents

A beta version of Mocha was released in 1996, by Dutch developer Hanpeter van Vliet, alongside an obfuscator named Crema. A controversy erupted and he temporarily withdrew Mocha from public distribution. [2] As of 2009 the program is still available for distribution, and may be used freely as long as it is not modified. Borland's JBuilder includes a decompiler based on Mocha. Van Vliet's websites went offline as he died of cancer on December 31, 1996, at the age of 34. [1]

See also

Related Research Articles

<span class="mw-page-title-main">Captain Beefheart</span> American musician (1941–2010)

Don Van Vliet was an American singer, songwriter, multi-instrumentalist, and visual artist best known by the stage name Captain Beefheart. Conducting a rotating ensemble known as the Magic Band, he recorded 13 studio albums between 1967 and 1982. His music blended elements of blues, free jazz, rock, and avant-garde composition with idiosyncratic rhythms, absurdist wordplay, a loud, gravelly voice, and his claimed wide vocal range, though reports of it have varied from three octaves to seven and a half. Known for his enigmatic persona, Beefheart frequently constructed myths about his life and was known to exercise an almost dictatorial control over his supporting musicians. Although he achieved little commercial success, he sustained a cult following as an influence on an array of experimental rock and punk-era artists.

ECMAScript is a standard for scripting languages, including JavaScript, JScript, and ActionScript. It is best known as a JavaScript standard intended to ensure the interoperability of web pages across different web browsers. It is standardized by Ecma International in the document ECMA-262.

<span class="mw-page-title-main">SpiderMonkey</span> JavaScript and WebAssembly engine maintained by the Mozilla Foundation

SpiderMonkey is an open-source JavaScript and WebAssembly engine by the Mozilla Foundation.

Mocha may refer to:

<span class="mw-page-title-main">University of Dubuque</span> Private university in Dubuque, Iowa, United States

The University of Dubuque (UD) is a private Presbyterian university in Dubuque, Iowa. About 2,200 students attend the university.

<i>Trout Mask Replica</i> 1969 studio album by Captain Beefheart and his Magic Band

Trout Mask Replica is the third studio album by the American band Captain Beefheart and his Magic Band, released as a double album on June 16, 1969, by Straight Records. The music was composed by Captain Beefheart and arranged by drummer John "Drumbo" French. Combining elements of R&B, garage rock, and blues with free jazz and avant-garde composition, the album is regarded as an important work of experimental rock. Its unconventional musical style, which includes polyrhythm, multi-octave vocals, and polytonality, has given the album a reputation as one of the most challenging recordings in the 20th century musical canon.

<span class="mw-page-title-main">Ghidra</span> Free reverse engineering tool developed by the National Security Agency

Ghidra is a free and open source reverse engineering tool developed by the National Security Agency (NSA) of the United States. The binaries were released at RSA Conference in March 2019; the sources were published one month later on GitHub. Ghidra is seen by many security researchers as a competitor to IDA Pro. The software is written in Java using the Swing framework for the GUI. The decompiler component is written in C++, and is therefore usable in a stand-alone form.

Dalvik is a discontinued process virtual machine (VM) in the Android operating system that executes applications written for Android. Dalvik was an integral part of the Android software stack in the Android versions 4.4 "KitKat" and earlier, which were commonly used on mobile devices such as mobile phones and tablet computers, and more in some devices such as smart TVs and wearables. Dalvik is open-source software, originally written by Dan Bornstein, who named it after the fishing village of Dalvík in Eyjafjörður, Iceland.

A translator or programming language processor is a computer program that converts the programming instructions written in human convenient form into machine language codes that the computers understand and process. It is a generic term that can refer to a compiler, assembler, or interpreter—anything that converts code from one computer language into another. These include translations between high-level and human-readable computer languages such as C++ and Java, intermediate-level languages such as Java bytecode, low-level languages such as the assembly language and machine code, and between similar levels of language on different computing platforms, as well as from any of these to any other of these. The term is also used for translators between software implementations and hardware/ASIC microchip implementations of the same program, and from software descriptions of a microchip to the logic gates needed to build it.

A decompiler is a computer program that translates an executable file to high-level source code. It does therefore the opposite of a typical compiler, which translates a high-level language to a low-level language. While disassemblers translate an executable into assembly language, decompilers go a step further and translate the code into a higher level language such as C or Java, requiring more sophisticated techniques. Decompilers are usually unable to perfectly reconstruct the original source code, thus will frequently produce obfuscated code. Nonetheless, they remain an important tool in the reverse engineering of computer software.

Jad is, as of August 2011, an unmaintained decompiler for the Java programming language. Jad provides a command-line user interface to extract source code from class files.

<span class="mw-page-title-main">Chris Van Vliet</span> Canadian television journalist

Christopher Van Vliet is a Canadian television/radio personality, YouTuber, professional film critic, and entrepreneur currently living in Studio City, Los Angeles. He was born and raised in Pickering, Ontario.

<span class="mw-page-title-main">MAN Truck & Bus</span> International manufacturer of commercial vehicles

MAN Truck & Bus SE is a subsidiary of Traton, and one of the leading international providers of commercial vehicles. Headquartered in Munich, Germany, MAN Truck & Bus produces vans in the range from 3.0 to 5.5 t gvw, trucks in the range from 7.49 to 44 t gvw, heavy goods vehicles up to 250 t road train gvw, bus-chassis, coaches, interurban coaches, and city buses. MAN Truck & Bus also produces diesel and natural-gas engines. The MAN acronym originally stood for Maschinenfabrik Augsburg-Nürnberg AG, formerly MAN AG.

<span class="mw-page-title-main">Jasmine (software)</span> Open-source testing framework for JavaScript

Jasmine is an open-source testing framework for JavaScript. It aims to run on any JavaScript-enabled platform, to not intrude on the application nor the IDE, and to have easy-to-read syntax. It is heavily influenced by other unit testing frameworks, such as ScrewUnit, JSSpec, JSpec, and RSpec.

<span class="mw-page-title-main">Roland van Vliet</span> Dutch politician

Rudolf Aleida "Roland" van Vliet is a Dutch independent politician who served as a member of the House of Representatives between 17 June 2010 and 23 March 2017. A member of the Party for Freedom (PVV) until he left it on 20 March 2014, he became a member of the People's Party for Freedom and Democracy (VVD) on 1 June 2015 but remained an independent member of the House because of procedures that prohibits party switching during an incumbent legislative session. Unofficially, he caucused with the People's Party for Freedom and Democracy on voting.

<span class="mw-page-title-main">JD Decompiler</span>

JD is a decompiler for the Java programming language. JD is provided as a GUI tool as well as in the form of plug-ins for the Eclipse (JD-Eclipse) and IntelliJ IDEA (JD-IntelliJ) integrated development environments.

<span class="mw-page-title-main">JEB decompiler</span>

JEB is a disassembler and decompiler software for Android applications and native machine code. It decompiles Dalvik bytecode to Java source code, and x86, ARM, MIPS, RISC-V machine code to C source code. The assembly and source outputs are interactive and can be refactored. Users can also write their own scripts and plugins to extend JEB functionality.

Johannes Cornelis (Hans) van Vliet is a Dutch computer scientist and Professor Emeritus of Software Engineering at the Vrije Universiteit Amsterdam, known for his work in quantitative aspects of software engineering.

<span class="mw-page-title-main">Arthur van Hoff</span> Dutch computer scientist and businessman (born 1963)

Arthur van Hoff is a Dutch computer scientist and businessman.

Mocha is a JavaScript test framework for Node.js programs, featuring browser support, asynchronous testing, test coverage reports, and use of any assertion library.

References

  1. 1 2 A Tercentennial, By Hanpeter van Vliet
  2. 1 2 Mocha pulled off the Net, August 27, 1996, By CNET News.com, Staff Writer