Elaborate more on today's work

This commit is contained in:
Aly 2020-10-31 18:27:12 -07:00
parent 6108d89f06
commit 19e444998a
8 changed files with 41 additions and 6 deletions

View File

@ -1,4 +1,7 @@
# Decompilation
- The process of rewriting an application into a target-independent programming
language
- The process of rewriting assembly into a target-independent programming
language.
- "Matching" decompilation aims to be able to produce the exact same assembly
output given the same compiler and libraries as a way of proving that the
decompilation is correct.

5
fs2.md Normal file
View File

@ -0,0 +1,5 @@
# fs2
- https://fs2.io
- A library that allows abstracting data transmission and control into a shared
concept called a `Stream`.

View File

@ -1,8 +1,10 @@
# Ghidra
- SRE (Software Reverse Engineering) tool
- Has a [[Java]]-based plugin system
- SRE (Software Reverse Engineering) tool.
- Has a [[Java]]-based plugin system.
- Typically used to assist in [[decompilation]].
[//begin]: # "Autogenerated link references for markdown compatibility"
[Java]: java "Java"
[decompilation]: decompilation "Decompilation"
[//end]: # "Autogenerated link references"

View File

@ -1,3 +1,5 @@
# Java
- Programming language
- Programming language.
- Compiled to bytecode that is executed on a Virtual Machine.
- Effectively platform-independent.

View File

@ -3,10 +3,18 @@
- Set up this journal. See the [[readme]].
- Looked into writing a [[Ghidra]] plugin to generate [[MASM Assembly]] for a
[[decompilation]] project.
- Explored whether or not it's possible to write recursive algorithms in
constant space using [[fs2]], and how it applies to [[sledge]].
- It was discussed in the Scala Discord whether or not there exists an
algorithm to generate moves for the Dragon Fractal in constant space. The
current theory is that there can't be an algorithm that uses less than
linear space.
[//begin]: # "Autogenerated link references for markdown compatibility"
[readme]: ..\README "Aly's digital garden"
[Ghidra]: ..\ghidra "Ghidra"
[MASM Assembly]: ..\masm-assembly "MASM Assembly"
[decompilation]: ..\decompilation "Decompilation"
[fs2]: ..\fs2 "fs2"
[sledge]: ..\sledge "sledge"
[//end]: # "Autogenerated link references"

View File

@ -1,3 +1,3 @@
# MASM Assembly
- A dialect of assembly meant for Microsoft's compiler
- The dialect of assembly used by Microsoft's assembler.

12
sledge.md Normal file
View File

@ -0,0 +1,12 @@
# sledge
- Work-in-progress programming language.
- Meant to look like [[fs2]]-based programs, but with a [[Zig]]-like paradigm.
- Completely disallows mutability in the source code to allow for better
optimizations, and to allow for returning variably-sized objects like
buffers or closures on the stack instead of the heap.
[//begin]: # "Autogenerated link references for markdown compatibility"
[fs2]: fs2 "fs2"
[Zig]: zig "Zig"
[//end]: # "Autogenerated link references"

3
zig.md Normal file
View File

@ -0,0 +1,3 @@
# Zig
- https://ziglang.org/