Industry | software |
---|---|
Founded | 2002 |
Headquarters | Hersden, Kent, United Kingdom |
Products | PHP Encoder ionCube Loader Package Foundry Bundler ionCube 24 |
Services | PHP programming |
ionCube Ltd. is a software company based in Hersden, Kent in the United Kingdom.
ionCube was founded in 2002 and introduced tools to prevent the source code of software written using the PHP programming language from being viewed, changed, and run on unlicensed computers. The encoding technology grew out of earlier work on the PHP Accelerator project, and at its first launch, it included an online encoding service where PHP scripts could be uploaded and an encoded version downloaded in return, as well as a command line tool for Linux soon after. The tools use the technique of compiling to bytecode prior to encoding so that source code is eliminated and runtime overheads are reduced. A PHP extension called the ionCube Loader handles the reading and execution of encoded files at run time. Unlike CPU's such as 8086, where compiled code from many years ago continues to run on its derivatives today, the virtual machine instruction set of PHP has changed over time. The ionCube Loader uses the technique of on-the-fly patching of compiled code in memory to achieve back compatibility of running older files on newer versions of PHP. [1] [2]
The encoding products were subsequently ported to FreeBSD, Microsoft Windows and Mac OS X, and the range of products expanded to offer additional features such as product licensing and encryption of non-PHP files. In July 2004, a Windows GUI was introduced, no longer requiring use of the command line for Windows users.
In 2004, ionCube introduced their Package Foundry product, IPF, for Linux and Windows. IPF allows web applications to be packaged as a Windows executable installer that can automatically deploy a web application to a remote server, as well as perform various installation and configuration tasks and launching the browser on the main page of the installed application. [3]
ionCube also produces a product called the Bundler. Unrelated to PHP, the Bundler is a Windows and Linux tool to produce self-extracting archives for Windows.
In December 2010, ionCube released version 7.0 of their Encoder, including support for the PHP 5.3 language. [4]
In May 2013, ionCube released version 8.0 with support for encoding the PHP 5.4 language. This was followed by an 8.1 release in October 2013 with changes including an updated GUI, enhanced security, and a feature to assist in selecting optimal security settings. February 2014 saw the release of Encoder 8.2 with some new features, and most notably a GUI for OS X users. As of April 18, 2014, Encoder 8.3 was released with support for encoding PHP 5.5 language features. [5]
In May 2015, ionCube released version 9 with support for PHP 5.6 language syntax and new security features such as decrypting compiled code using algorithmically generated runtime generated keys rather than static keys, [6] followed by version 10 with support for PHP 7.1 in August 2017.
Version 11 was subsequently released to support PHP 7.4 in October 2021 and version 12 for PHP 8.1 in August 2022. [7]
In Q1 2015, ionCube introduced a service called ionCube24, offering real-time malware protection for PHP websites. [8] ionCube24 uses the ionCube Loader to monitor and block any unexpected PHP code, as might be introduced by a software vulnerability exploit, before it executes. Alongside the security aspect of ionCube24, it also provides real-time PHP and Javascript error reporting, along with server monitoring from various regions, including Asia, North America and Europe.
ionCube was invited to talk about their EPIK community project and Minecraft with NetBeans JavaOne in San Francisco October 2014. In December 2014, ionCube presented a talk at the 2014 Google Developers Group DevFest conference in Istanbul, Turkey, about how websites can be hacked and how this can be prevented, featuring a live proof of concept demonstration with an emergency light and car alarm triggered when a website intrusion was detected. [9]
In February 2012, ionCube launched an initiative called EPIK, aimed at encouraging programming in Kids for people aged 16 to 24 through a programming competition, with winners sharing part of a £1000 prize fund and having the opportunity of an IT apprenticeship. [10]
In February 2013, the ionCube EPIK initiative was expanded and ran a three-day coding event for young developers with age ranges from under 10 to their early 20s. Most participants had no prior experience of coding or web technologies, and with support of industry mentors from ionCube and elsewhere, teams at three regional sites in Kent conceived and developed a range of website projects over two days. Teams came together for a third day of coding at the Turner Contemporary gallery before making final presentations of their projects, mostly with live websites. Judges from ionCube and Sony awarded various prizes, including Raspberry Pi and related hardware, a future presentation to the British Computer Society, and further one-to-one industry mentoring. Subsequent events have included a Minecraft 3D printing day in May 2013, a B9Creator 3D printer build day, and events in conjunction with Mozilla.
On August 6–10, 2012, ionCube hosted a week-long hackathon in Kent, South East England, as part of the Young Rewired State 2012 Festival of Code event to encouraging self-motivated young programmers. Attendees were aged from 9 to 18, and with the guidance of mentors and the remit to use some Open data, devised and produced a website called radiosight.com[ citation needed ].
In 2015 and 2016, ionCube helped organise the Youth Zone at Mozilla MozFest, interviewing some of the attendees and young makers at the 2016 event. [11] [12]
Cygwin is a Unix-like environment and command-line interface for Microsoft Windows. Cygwin's purpose is expressed in its motto: "Get that Linux feeling – on Windows".
An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as IntelliJ IDEA, Eclipse and Lazarus contain the necessary compiler, interpreter or both; others, such as SharpDevelop, NetBeans do not.
Adobe Flash is, except in China, a discontinued multimedia software platform used for production of animations, rich internet applications, desktop applications, mobile apps, mobile games, and embedded web browser video players.
Qt is cross-platform software for creating graphical user interfaces as well as cross-platform applications that run on various software and hardware platforms such as Linux, Windows, macOS, Android or embedded systems with little or no change in the underlying codebase while still being a native application with native capabilities and speed.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
Bluefish is a free and open-source software advanced text editor with a variety of tools for programming and website development. It supports coding languages including HTML, XHTML, CSS, XML, PHP, C, C++, JavaScript, Java, Go, Vala, Ada, D, SQL, Perl, ColdFusion, JSP, Python, Ruby, and shell. It is available for many platforms, including Linux, macOS and Windows, and can be used via integration with GNOME or run as a stand-alone application. Designed as a compromise between plain text editors and full programming IDEs, Bluefish is lightweight, fast and easy to learn, while providing many IDE features. It has been translated into 17 languages.
Firebird is an open-source SQL relational database management system that supports Linux, Microsoft Windows, macOS and other Unix platforms. The database forked from Borland's open source edition of InterBase in 2000 but the code has been largely rewritten since Firebird 1.5.
Delphi is a general-purpose programming language and a software product that uses the Delphi dialect of the Object Pascal programming language and provides an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, currently developed and maintained by Embarcadero Technologies.
Free Pascal Compiler (FPC) is a compiler for the closely related programming-language dialects Pascal and Object Pascal. It is free software released under the GNU General Public License, with exception clauses that allow static linking against its runtime libraries and packages for any purpose in combination with any other software license.
Borland Kylix is a compiler and integrated development environment (IDE) formerly sold by Borland, but later discontinued. It is a Linux software development environment based on Borland Delphi and Borland C++ Builder, which runs under Microsoft Windows. Continuing Delphi's classical Greek theme, Kylix is the name for an ancient Greek drinking cup. The closest supported equivalent to Kylix is the free Lazarus IDE package, designed to be code-compatible with Delphi. As of 2010 the project has been resurrected in the form of Delphi cross compiler for Mac and Linux, as shown in the Embarcadero's Delphi and C++ Builder roadmap. As of September 2011 with Kylix discontinued the framework for cross-platform development by Embarcadero is FireMonkey.
CVSNT is a version control system compatible with and originally based on Concurrent Versions System (CVS), but whereas that was popular in the open-source world, CVSNT included features designed for developers working on commercial software including support for Windows, Active Directory authentication, reserved branches/locking, per-file access control lists and Unicode filenames. Also included in CVSNT were various RCS tools updated to work with more recent compilers and compatible with CVSNT.
Information Presentation Facility (IPF) is a system for presenting online help and hypertext on IBM OS/2 systems. IPF also refers to the markup language that is used to create IPF content. The IPF language has its origins in BookMaster and Generalized Markup Language developed by IBM. The IPF language is very similar to the well-known HTML language, version 3.0, with a range of additional possibilities. Therefore, a trained user may use virtually any word processor when creating IPF documents. The IPF language consists of 45 basic commands.
Geany is a free and open-source lightweight GUI text editor using Scintilla and GTK, including basic IDE features. It is designed to have short load times, with limited dependency on separate packages or external libraries on Linux. It has been ported to a wide range of operating systems, such as BSD, Linux, macOS, Solaris and Windows. The Windows port lacks an embedded terminal window; also missing from the Windows version are the external development tools present under Unix, unless installed separately by the user. Among the supported programming languages and markup languages are C, C++, C#, Java, JavaScript, PHP, HTML, LaTeX, CSS, Python, Perl, Ruby, Pascal, Haskell, Erlang, Vala and many others.
Qt Creator is a cross-platform C++, JavaScript, Python and QML integrated development environment (IDE) which simplifies GUI application development. It is part of the SDK for the Qt GUI application development framework and uses the Qt API, which encapsulates host OS GUI function calls. It includes a visual debugger and an integrated WYSIWYG GUI layout and forms designer. The editor has features such as syntax highlighting and autocompletion. Qt Creator uses the C++ compiler from the GNU Compiler Collection on Linux. On Windows it can use MinGW or MSVC with the default install and can also use Microsoft Console Debugger when compiled from source code. Clang is also supported.
Hollywood is a commercially distributed programming language developed by Andreas Falkenhahn which mainly focuses on the creation of multimedia-oriented applications. Hollywood is available for AmigaOS, MorphOS, WarpOS, AROS, Windows, macOS, Linux, Android, and iOS. Hollywood has an inbuilt cross compiler that can automatically save executables for all platforms supported by the software. The generated executables are completely stand-alone and do not have any external dependencies, so they can also be started from a USB flash drive. An optional add-on also allows users to compile projects into APK files.
Sublime Text is a shareware text and source code editor available for Windows, macOS, and Linux. It natively supports many programming languages and markup languages. Users can customize it with themes and expand its functionality with plugins, typically community-built and maintained under free-software licenses. To facilitate plugins, Sublime Text features a Python API. The editor utilizes minimal interface and contains features for programmers including configurable syntax highlighting, code folding, search-and-replace supporting regular-expressions, terminal output window, and more. It is proprietary software, but a free evaluation version is available.
Mono is a free and open-source .NET Framework-compatible software framework. Originally by Ximian, it was later acquired by Novell, and is now being led by Xamarin, a subsidiary of Microsoft and the .NET Foundation. Mono can be run on many software systems.
Mozilla is a free software community founded in 1998 by members of Netscape. The Mozilla community uses, develops, publishes and supports Mozilla products, thereby promoting exclusively free software and open standards, with only minor exceptions. The community is supported institutionally by the non-profit Mozilla Foundation and its tax-paying subsidiary, the Mozilla Corporation.
Windows Subsystem for Linux (WSL) is a feature of Windows that allows developers to run a Linux environment without the need for a separate virtual machine or dual booting. There are two versions of WSL: WSL 1 and WSL 2. WSL 1 was first released on August 2, 2016, and acts as a compatibility layer for running Linux binary executables by implementing Linux system calls on the Windows kernel. It is available on Windows 10, Windows 10 LTSB/LTSC, Windows 11, Windows Server 2016, Windows Server 2019 and Windows Server 2022.