Compare commits

...

2 commits

Author SHA1 Message Date
Aly
19e444998a Elaborate more on today's work 2020-10-31 18:27:12 -07:00
Aly
6108d89f06 Add Ghidra stuff 2020-10-31 15:23:16 -07:00
8 changed files with 58 additions and 0 deletions

7
decompilation.md Normal file
View file

@ -0,0 +1,7 @@
# Decompilation
- 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`.

10
ghidra.md Normal file
View file

@ -0,0 +1,10 @@
# Ghidra
- 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"

5
java.md Normal file
View file

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

View file

@ -1,7 +1,20 @@
# 2020-10-31
- 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"

3
masm-assembly.md Normal file
View file

@ -0,0 +1,3 @@
# MASM Assembly
- 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/