SkyLine
  • SkyLine | Introduction
    • Module Overview
    • SkyLine's Development
    • Skyline's Reason
    • SkyLine Syntax
    • SkyLine Concepts
      • Concepts | Modes
  • SkyLine | Technologies
    • Module Overview
    • REPL
      • REPL - Basic usage
      • REPL - Console Design
      • REPL - Commands
    • SLC
      • SLC - What is it
      • SLC - Use cases
      • SLC - Lexical Analysis
      • SLC - Intro To Development
      • SLC - Error System
  • SkyLine | Theory
    • Module Overview
    • Theory | Type Systems
      • Objects | Strings
      • Objects | Integers & Floats
  • SkyLine | Development
    • Module Overview
    • Development | Hello Integers?
  • SL | Hybrid Development
    • Module Overview
    • Hybrid Projects | Advancing
    • Hybrid Projects | Wrapping
    • Hybrid Projects | Using SLC
  • SkyLine | For Abusers
    • SL Abuser | Security Research
    • SL Abuser | Module Overview
    • SL Abuser | Abusing Helps
  • SkyLine Experiments
    • Introduction To Module
      • Caster - IoT Manipulation With SkyLine
        • Caster In Real World Scenarios
          • Cracking The Grounds
        • Caster: Setting Up
        • Caster - Running Caster
        • Caster - Dev Manipulation
          • Caster - Console
          • Caster - Apple Devs
          • Caster - Amazon Devs
          • Caster - Google Devs
          • Caster - Roku Devs
      • SkyNeXt - Hacking The Skies
      • SkyLine - PwnLib
Powered by GitBook
On this page
  • SkyLine's Prime Idea | Barrier Breaking
  • SkyLine's Problem | Modernistic issues
  • SkyLine's End Goal
  • SkyLine's Community Goal
  • SkyLine's Inspiration
  1. SkyLine | Introduction

Skyline's Reason

PreviousSkyLine's DevelopmentNextSkyLine Syntax

Last updated 1 year ago

SkyLine's Prime Idea | Barrier Breaking

The one main purpose of the SkyLine programming language was to not only make the developers job much more easier when working with specific scenarios but to also help assist learners in the cyber security fields by automating hefty low end tasks. These tasks are mainly tailored towards reverse engineering, binary exploitation, digital forensics ( memory forensics, image forensics, file forensics, protocol and network forensics ), networking, and encryption. The language would provide much more extreme libraries dedicated to those tasks, built for those tasks, built for modern customization and built only specific to those fields. But why exactly does this exist?

SkyLine as a programming language was developed from or born from RPC ( Radical Processing Core ) that had a main purpose to assist the developer of the project during exploit development especially in game exploit development. The language would do so by having a library packed with payloads, automation functions, task builders, exploit frameworks, special headers, comparability with specific API's and even specific drivers used for specific tasks such as bypassing anti cheat systems, AV and other various systems and even libraries dedicated to injecting processes. Since SkyLine is the modern day version of RPC it plans to target those same exact tasks at a much more higher level. This means that the language will be designed for multiple things such as the list below

  • Process Injection

  • Forensics

  • Cryptocurrency utilities

  • Cryptography

  • Frontend Console Development

  • Networking

  • Data analysis

  • Generation

and many other fields among that list. The language would achieve this the same way RPC did, having a direct standard and builtin library and function list to help during making your own libraries, your own systems or using the backend frameworks to develop your own offensive and maybe even defensive programs and applications. Then of course, SkyLine needs a reason to exist other than to just assist security researchers, because then again programs like pwntools exist and python is quite popular, so what exactly is SkyLine trying to solve?

SkyLine's Problem | Modernistic issues

The developer of RPC and SkyLine both had a major bone to pick with the current range of popular language's or actually most programming language's. The one that sent the developer on this mission actually was the constant need or requirement to use a third party library.

  • Third Party Libraries......A pain sometimes

After months and months of research and years of personal experience, the developer had come to the end conclusion that when using language's such as python or perl, it was impossible to get even the most simplest tasks done without installing a standard library or having to constantly configure or change the current environment of the system. This means installing libraries like pwntools for binary exploitation, requests to make a simple get request, or reverting to even system specific libraries. While third party libraries can do so much, it becomes a problem when a language refuses to add backend functionality for HTTP requests inside of a programming language. This was quite annoying to work with and in bigger projects became slowly more bloat and much more harsh to work in since every-time a new library was imported you had to learn a new naming convention or syntax for the library. This along side of the factor that while these language's had a main purpose they did not seem to be focused on one specific thing and that makes sense given they are both general purpose programming language's. Any skilled developer that has mastered a programming language should not need to require more than a few specific third party libraries, simply because they can typically learn about the topic and make their own. Over time, the developer also defined a limit for the idea of implementing third party libraries and when they should and should not be used within their projects. This line was defined based on two major factors.

  • The Size of the project: The size of the project can really show whether or not you should or should not use a third party library. If a project is already massive and has a ton of functionality to it you do not always want to slow it down by adding more bloat or libraries to the project.

  • The Size of the library: When it comes to third party libraries, size can play a major role, and by size we do not mean the count of source code files but the direct size of the library. Take something like gopacket for example, no person could fork gopacket and implement it or hard code it into the backend of their project without months and months possibly years without the right people securely, safely and swiftly. But someone could always implement a simple library such as the PDF parsing library where they can fork the code and easily modify it and throw it into their backend.

This thought and line drove the development of SkyLine while also driving the development of many other projects. Sometimes, developers who are learning need to use third party libraries and even projects like bettercap that can not just spend years implementing their own version of gopacket. This is where this line starts to work out and why SkyLine becomes the language it is.

SkyLine's End Goal

The end goal of SkyLine is to become a programming language that is not only one of the faster programming language's in the interpreted and byte code compiled world but to also bring new idea's and educate the programming world about task specific programming language's. While SkyLine could be used for general purpose programming, it should not be used like that. SkyLine was designed and developed to work with specific fields and the two main fields being mathematics and cyber security. The language wants to also set a specific standard for cyber security development and try to engage users and programmers to broaden their perspective.

The goal of the language would be to also beat libraries and frameworks that were designed as third party libraries or plugins to specific programming language's. SkyLine will aim to achieve this not by slandering the libraries but taking a modern, stealthy and more professional approach which includes implementing similar idea's or absorbing and modifying existing idea's and making them not only MUCH more customization but also making them much more performant, larger, better, smoother and stealthier during the execution of the operations. This includes not sending so much noise over a network or not sending so much noise within memory.

SkyLine's Community Goal

Most programming language's like python are open sourced, same with Go, Rust, C, C++, Carbon, Crystal, Ruby and various other programming language's. But just because they are open sourced does not mean they are directly communicative or easy to read on the backend mostly because the code style was either kept private or the code was outdated to modern style's. SkyLine as a programming language wants to take a much more modernistic approach. This means that the language will be taking a more fluid experience for code reviewers, people who want to understand the language will be able to read code notes, documentation, developer documentation and even be provided with direct development guides / developer documents that are all designed along the way of development. These documents will not only help inform the community more of the programming language but also inform contributors about the internals of the language making the code base much more easy to review for bugs or to test and even examine! Not only will the language be open sourced but so will contributing, message logs for the community servers such as community suggestions, posts, archived and older versions but even older design documents and backend code review documents will all be out to the public.

Why make everything public?

SkyLine was not made to just assist security researchers but to also become much more open, much more unique and set itself to modern standards. This would happen by using its back-end and its code notes as well as its libraries to assist with programmatic theory education and really general comp theory. This means that when users use SkyLine to create projects they will learn much more about the internals of the language, the tasks at hand while also being provided with documents that walk you through each step of the language and how each step works. Making everything public will ensure everyone has a safe and easy way to understand the language without creating confusion!

SkyLine's Inspiration

A TON of development in SkyLine does its hardest to take no syntactic idea's from other language's other than the ones previous to its origin. However, without an inspiration of where to get started other than hating third party library requirements SkyLine would not be here. For the developer, it felt annoying to constantly have to embed functions into a script everytime I wanted to build a specific program. For example, when building a framework for cyber security research, I the developer ( Totally_Not_A_Haxxer ) would have to embed cleaning functions for URL's or text data or even processing sequences or even when working with Go for exploit development having to recreate encoders and decoders. It became so frequent that it just became annoying. So, building SkyLine would result in taking hundreds and hundreds of Go programs thaty had unique functions like syscall modifiers, art generators, algorithmic solvers, resolving utilities, DNS systems, API systems, key generation and even smart recongnition programs and would compress it into one language. This means that the functions were dedicated PURELY for mathematics and cyber security related tasks no matter if it was protocols, binary applications, binary analysis, file forensics, host information, text manipulation or whatever. This would also make the development much faster and add a sense of uniqueness when developing individual exploits or tests!

You might be asking why not just make a library? Well, just for fun right? Why make a simple library and fill it with a bunch of functions just to have to manually install it and go through setup processes when a entire programming language can type something up quick. Not to mention, the idea of actually building an entire programming language that could literally auto generate wrappers for C, C++ and Go mashing them together in projects is just more than amazing. I would love to have something like that not just to help me but fit for others needs in the cyber security realm.

SkyLine Nightly | Frontend work
Page cover image