Beye

Last updated

Beye
Developer(s) Nickols Kurshev, Andrew Golovnia
Stable release
6.1.0 / 12 December 2009;14 years ago (2009-12-12)
Operating system Cross-platform
Type Utility
License 2013: GPL-2.0-only or GPL-3.0-only [lower-alpha 1] [1]
2000: GPL-2.0-only [lower-alpha 2]
1994: Proprietary [lower-alpha 3]
Website beye.sourceforge.net

BEYE, also known as Binary EYE, BIEW, Binary View is a multiplatform portable viewer of binary files with a built-in editor that functions in binary, hexadecimal, and disassembler modes. It uses native Intel syntax for disassembly. Features include AVR/Java/x86-i386-AMD64/ARM-XScale/PPC64 disassemblers, a Russian code pages converter, and a code navigator. It can also fully preview MZ, NE, PE, NLM, COFF32, and ELF formats, and partially preview a.out, LE and LX, and Phar Lap formats.

Contents

History

BEYE was developed in 1994 by Nickols Kurshev [2] and Andrew Golovnia [3] under the name "View". In February of 2010 the program was renamed to BEYE, even though poll votes were mostly against its rename. BEYE's creators stated, that the previous name had some negative associations in English, [4] and the new one doesn't conflict with other projects. [5]

At that time, compilers were not able to create highly optimized executables, and CPUs were not as efficient, which caused many programmers to code in assembly language. Many countries, including Russia, had poor accessibility to the Internet, and it was problematic to find information about CPUs. Many programs produced errors, and it was too difficult to understand the source of the problems.

After spending a long time trying to understand the causes of the defects in his programs, the developers of BEYE coded their disassembler. Perhaps the needs of the creators couldn't have been covered by existing disassemblers, and so he wrote his own.

Initially, BEYE was closed-source, but friends helped to improve the project with new ideas and in some cases with new code. Later, after purchasing a modem, Nickols and Andrew decided to release the source and publish BEYE on the Internet.

In 2000, the sources were published at SourceForge. [5]

Beye no longer works in Windows 11. [5]

Features

BEYE's features include: [4]

See also

Notes

  1. GPL-2.0-only or GPL-3.0-only: Since 2013-05-18/r138
  2. GPL-2.0-only: From 2000-02-20/5.0.0 to 2013-05-17/r137
  3. Proprietary: From 1994/0.01 to 1999-10-05/5.0.0-pre.10

Related Research Articles

<span class="mw-page-title-main">Assembly language</span> Low-level programming language

In computer programming, assembly language, often referred to simply as assembly and commonly abbreviated as ASM or asm, is any low-level programming language with a very strong correspondence between the instructions in the language and the architecture's machine code instructions. Assembly language usually has one statement per machine instruction (1:1), but constants, comments, assembler directives, symbolic labels of, e.g., memory locations, registers, and macros are generally also supported.

In computing, the Executable and Linkable Format, is a common standard file format for executable files, object code, shared libraries, and core dumps. First published in the specification for the application binary interface (ABI) of the Unix operating system version named System V Release 4 (SVR4), and later in the Tool Interface Standard, it was quickly accepted among different vendors of Unix systems. In 1999, it was chosen as the standard binary file format for Unix and Unix-like systems on x86 processors by the 86open project.

In mathematics and computing, the hexadecimal numeral system is a positional numeral system that represents numbers using a radix (base) of sixteen. Unlike the decimal system representing numbers using ten symbols, hexadecimal uses sixteen distinct symbols, most often the symbols "0"–"9" to represent values 0 to 9, and "A"–"F" to represent values from ten to fifteen.

x86 Family of instruction set architectures

x86 is a family of complex instruction set computer (CISC) instruction set architectures initially developed by Intel based on the Intel 8086 microprocessor and its 8088 variant. The 8086 was introduced in 1978 as a fully 16-bit extension of Intel's 8-bit 8080 microprocessor, with memory segmentation as a solution for addressing more memory than can be covered by a plain 16-bit address. The term "x86" came into being because the names of several successors to Intel's 8086 processor end in "86", including the 80186, 80286, 80386 and 80486 processors. Colloquially, their names were "186", "286", "386" and "486".

A disassembler is a computer program that translates machine language into assembly language—the inverse operation to that of an assembler. Disassembly, the output of a disassembler, is often formatted for human-readability rather than suitability for input to an assembler, making it principally a reverse-engineering tool. Common uses of disassemblers include analyzing high-level programming language compilers output and their optimizations, recovering source code of a program whose original source was lost, malware analysis, modifying software, and software cracking.

x86-64 64-bit version of x86 architecture

x86-64 is a 64-bit version of the x86 instruction set, first announced in 1999. It introduced two new modes of operation, 64-bit mode and compatibility mode, along with a new 4-level paging mode.

SSE2 is one of the Intel SIMD processor supplementary instruction sets introduced by Intel with the initial version of the Pentium 4 in 2000. It extends the earlier SSE instruction set, and is intended to fully replace MMX. Intel extended SSE2 to create SSE3 in 2004. SSE2 added 144 new instructions to SSE, which has 70 instructions. Competing chip-maker AMD added support for SSE2 with the introduction of their Opteron and Athlon 64 ranges of AMD64 64-bit CPUs in 2003.

<span class="mw-page-title-main">Interactive Disassembler</span> Software reverse engineering tool

The Interactive Disassembler (IDA) is a disassembler for computer software which generates assembly language source code from machine-executable code. It supports a variety of executable formats for different processors and operating systems. It can also be used as a debugger for Windows PE, Mac OS X Mach-O, and Linux ELF executables. A decompiler plug-in, which generates a high level, C source code-like representation of the analysed program, is available at extra cost.

The Microsoft Macro Assembler (MASM) is an x86 assembler that uses the Intel syntax for MS-DOS and Microsoft Windows. Beginning with MASM 8.0, there are two versions of the assembler: One for 16-bit & 32-bit assembly sources, and another (ML64) for 64-bit sources only.

In software engineering, retargeting is an attribute of software development tools that have been specifically designed to generate code for more than one computing platform.

<span class="mw-page-title-main">QEMU</span> Free virtualization and emulation software

QEMU is a free and open-source emulator. It emulates a computer's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

coreboot Open-source computer firmware

coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and run a modern 32-bit or 64-bit operating system.

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

UPX is a free and open source executable packer supporting a number of file formats from different operating systems.

cdrtools is a collection of independent projects of free software/open source computer programs.

In computer security, executable-space protection marks memory regions as non-executable, such that an attempt to execute machine code in these regions will cause an exception. It makes use of hardware features such as the NX bit, or in some cases software emulation of those features. However, technologies that emulate or supply an NX bit will usually impose a measurable overhead while using a hardware-supplied NX bit imposes no measurable overhead.

<span class="mw-page-title-main">GNU Unifont</span> Duospaced bitmap font

GNU Unifont is a free Unicode bitmap font created by Roman Czyborra. The main Unifont covers all of the Basic Multilingual Plane (BMP). The "upper" companion covers significant parts of the Supplementary Multilingual Plane (SMP). The "Unifont JP" companion contains Japanese kanji present in the JIS X 0213 character set.

<span class="mw-page-title-main">XigmaNAS</span> Software

XigmaNAS is a Network-attached storage (NAS) server software with a dedicated management web interface. It is free software under the terms of the Simplified BSD license.

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

Radare2 is a complete framework for reverse-engineering and analyzing binaries; composed of a set of small utilities that can be used together or independently from the command line. Built around a disassembler for computer software which generates assembly language source code from machine-executable code, it supports a variety of executable formats for different processor architectures and operating systems.

Binary Ninja is a reverse-engineering platform developed by Vector 35 Inc. It can disassemble a binary and display the disassembly in linear or graph views. It performs automated in-depth analysis of the code, generating information that helps to analyze a binary. It lifts the instructions into intermediate languages, and eventually generates the decompiled code.

The T2 SDE is an open source Linux distribution kit. It is primarily developed by René Rebe.

References

  1. "[r138] meke beye as bi-licensed project". 18 May 2013.
  2. "konst / Profile". sourceforge.net. Retrieved 24 November 2023.
  3. "andrew_golovnia / Profile". sourceforge.net. Retrieved 24 November 2023.
  4. 1 2 "Beye introduction". Archived from the original on 31 August 2010. Retrieved 27 February 2010.
  5. 1 2 3 beye. sourceforge.net (2010-02-14)