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
  1. SkyLine | Introduction
  2. SkyLine Concepts

Concepts | Modes

PreviousSkyLine ConceptsNextModule Overview

Last updated 1 year ago

You may be confused here, but a programming language with modes? What do we even mean by that? Modes in SkyLine are the different modes for standard or core development. Typically, when working with libraries or standard modules in SkyLine you will need to require them or register them using the register keyword and then call them with the library name. For example

register("io", "math")

math.Tan(1)

io.clear()

Since SkyLine is a bit of a bigger language and has a dedication to specific tasks such as mathematics, we want to save you the time of importing too many of file paths of libraries. So, to solve this issue we have included modes. Currently as of v0.10.0 there are only two modes which includes "math" and "pwn". Both of these are shown below in their own subsection.

Mode - Pwn

This is confusing for some people for some odd reason but the mode pwn is exactly what it sounds like, a mode where every function for pwning, binary analysis, reverse engineering, digital forensics and so on from there is put the standard into the call list. I am sure you know or are familiar with pwntools, the framework dedicated to binary exploitation / exploit development to Python, the one like no other- for now at least. SkyLine has its own sets of tools that try to basically remake itself as a better pwntools or rather implements idea's from other frameworks alike. For example, cat the code below that does basic packing.

mode("pwn")

set T1 := "A".Byte() * 8;
set P1 := 0x41018;
set PackedP1 := Pack64(P1);

println(T1.Hex())
println(PackedP1) 
println(PackedP1.Hex())

Which the output in the REPL will look something like the one shown below.

As you can see, the output from basic operations were added and the most basic operations that were added first during testing were the p64 and p32 otherwise known as Pack64 and Pack32 methods that you see here. This demo does not include Pack32 but it works the same way. It is also important to note that anything of a specific topic will be allowed to be specified in later versions as instead of importing everything ( later on will be just too bloated ) you can import very specific topics such as binary analysis plugins, binary exploitation programs, binary scanners and more along that level. Pwn will also have different methods such as pwn:data which will import data sorting functions to sort or pick url's apart, systems, files, headers and other various forms of data apart along with using specialized algorithms to sorting the data correctly.

Page cover image