Author Topic: O2 Linux  (Read 379 times)

0 Members and 1 Guest are viewing this topic.

John

  • Hero Member
  • *****
  • Posts: 3280
O2 Linux
« on: June 25, 2018, 06:08:44 PM »
Charles,

Would it be possible to start a Linux branch of Oxygen Basic from tbe codebase you have now?

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 3751
    • Oxygen Basic
Re: O2 Linux
« Reply #1 on: June 26, 2018, 02:42:24 AM »
In theory, John. Were you thinking of native Linux?

John

  • Hero Member
  • *****
  • Posts: 3280
Re: O2 Linux
« Reply #2 on: June 26, 2018, 05:43:47 AM »
Yes!

It would seem to be a good time before O2 starts taking on Windows specific attributes.
« Last Edit: June 26, 2018, 06:06:11 AM by John »

John

  • Hero Member
  • *****
  • Posts: 3280
Re: O2 Linux
« Reply #3 on: June 26, 2018, 10:47:17 AM »
What might be a good first step is a utility that would convert the PE headers so the base O2 code could execute under Linux. Of course this would require that no Windows specific code is included in the O2 source.

Porting Windows DLLs to Linux
« Last Edit: June 26, 2018, 06:24:43 PM by John »

John

  • Hero Member
  • *****
  • Posts: 3280
Re: O2 Linux
« Reply #4 on: June 26, 2018, 09:57:24 PM »
If I could call Oxygen.DLL from Linux, I could use the JIT feature of O2.

John

  • Hero Member
  • *****
  • Posts: 3280
Re: O2 Linux
« Reply #5 on: June 26, 2018, 11:24:38 PM »
I was able to build the loadlibrary package. The Windows Defender example seems to work.

This could turn out to be a Linux DLLC.

Quote
Windows Defender

MsMpEng is the Malware Protection service that is enabled by default on Windows 8, 8.1, 10, Windows Server 2016, and so on. Additionally, Microsoft Security Essentials, System Centre Endpoint Protection and various other Microsoft security products share the same core engine.

The core component of MsMpEng responsible for scanning and analysis is called mpengine. Mpengine is a vast and complex attack surface, comprising of handlers for dozens of esoteric archive formats, executable packers, full system emulators for various architectures and interpreters for various languages. All of this code is accessible to remote attackers.


jrs@jrs-laptop:~/loadlib/loadlibrary-master$ ./mpclient Oxygen.dll
main(): Scanning Oxygen.dll...
EngineScanCallback(): Scanning input
EngineScanCallback(): Scanning archive member !UPX_LZMA2_3.00
EngineScanCallback(): Scanning input->(UPX)
jrs@jrs-laptop:~/loadlib/loadlibrary-master$

« Last Edit: June 27, 2018, 12:04:32 AM by John »

Charles Pegge

  • Admin Support Member
  • *****
  • Posts: 3751
    • Oxygen Basic
Re: O2 Linux
« Reply #6 on: June 27, 2018, 04:21:26 AM »

A Freebasic Linux user familiar with both PE and low-level Linux binary formats could do it without too much difficulty. The file is o2hdrs.bas. Then all we would need is a memory allocator and some console i/o.

John

  • Hero Member
  • *****
  • Posts: 3280
Re: O2 Linux
« Reply #7 on: June 27, 2018, 08:52:12 AM »
Luarent would seem to be the best candidate to take a lead in this effort.