Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
SkoolKit is a collection of utilities that can be used to disassemble a
Spectrum_ game (or indeed any piece of Spectrum software written in machine
code) into a format known as a skool
file. Then, from this skool
file, you
can use SkoolKit to create a browsable disassembly in HTML format, or a
re-assemblable disassembly in assembly language. So the skool
file is - from
start to finish as you develop it by organising and annotating the code - the
common 'source' for both the reader-friendly HTML version of the disassembly,
and the developer- and assembler-friendly version of the disassembly.
.. _Spectrum: https://en.wikipedia.org/wiki/ZX_Spectrum
With SkoolKit you can:
control file
_ (an attempt to identify
routines and data blocks by static analysis) from a snapshot (SNA, SZX or
Z80) or raw memory fileIn an HTML disassembly produced by skool2html.py_ you can also:
image macros
_ to build still and animated PNG images from graphic
data#AUDIO
_ macro to build WAV files for sound effects and tunes#R
_ macro in annotations to create hyperlinks between routines and
data blocks that refer to each other[Bug:*]
, [Fact:*]
and [Poke:*]
_ sections in a ref file to neatly
render lists of bugs, trivia and POKEs on separate pagesFor a demonstration of SkoolKit's capabilities, take a look at the complete
disassemblies of Skool Daze
, Back to Skool
, Contact Sam Cruise
,
Manic Miner
, Jet Set Willy
_ and Hungry Horace
_.
.. _bin2sna.py: https://skoolkid.github.io/skoolkit/commands.html#bin2sna-py .. _bin2tap.py: https://skoolkid.github.io/skoolkit/commands.html#bin2tap-py .. _rzxinfo.py: https://skoolkid.github.io/skoolkit/commands.html#rzxinfo-py .. _rzxplay.py: https://skoolkid.github.io/skoolkit/commands.html#rzxplay-py .. _skool2asm.py: https://skoolkid.github.io/skoolkit/commands.html#skool2asm-py .. _skool2bin.py: https://skoolkid.github.io/skoolkit/commands.html#skool2bin-py .. _skool2ctl.py: https://skoolkid.github.io/skoolkit/commands.html#skool2ctl-py .. _skool2html.py: https://skoolkid.github.io/skoolkit/commands.html#skool2html-py .. _sna2ctl.py: https://skoolkid.github.io/skoolkit/commands.html#sna2ctl-py .. _sna2img.py: https://skoolkid.github.io/skoolkit/commands.html#sna2img-py .. _sna2skool.py: https://skoolkid.github.io/skoolkit/commands.html#sna2skool-py .. _snapinfo.py: https://skoolkid.github.io/skoolkit/commands.html#snapinfo-py .. _snapmod.py: https://skoolkid.github.io/skoolkit/commands.html#snapmod-py .. _tap2sna.py: https://skoolkid.github.io/skoolkit/commands.html#tap2sna-py .. _tapinfo.py: https://skoolkid.github.io/skoolkit/commands.html#tapinfo-py .. _trace.py: https://skoolkid.github.io/skoolkit/commands.html#trace-py .. _image macros: https://skoolkid.github.io/skoolkit/skool-macros.html#image-macros .. _#R: https://skoolkid.github.io/skoolkit/skool-macros.html#r .. _#AUDIO: https://skoolkid.github.io/skoolkit/skool-macros.html#audio .. _[Bug:]: https://skoolkid.github.io/skoolkit/ref-files.html#box-pages .. _[Fact:]: https://skoolkid.github.io/skoolkit/ref-files.html#box-pages .. _[Poke:*]: https://skoolkid.github.io/skoolkit/ref-files.html#box-pages .. _Skool Daze: https://skoolkit.ca/disassemblies/skool_daze/ .. _Back to Skool: https://skoolkit.ca/disassemblies/back_to_skool/ .. _Contact Sam Cruise: https://skoolkit.ca/disassemblies/contact_sam_cruise/ .. _Manic Miner: https://skoolkit.ca/disassemblies/manic_miner/ .. _Jet Set Willy: https://skoolkit.ca/disassemblies/jet_set_willy/ .. _Hungry Horace: https://skoolkit.ca/disassemblies/hungry_horace/
SkoolKit includes fairly detailed documentation_, but if you want to get up and running quickly, here goes.
To convert a SNA, Z80 or SZX snapshot of a Spectrum game into a skool
file
(so that it can be converted into HTML or assembly language)::
$ sna2skool.py game.z80 > game.skool
To split the disassembly up into code and data blocks, you'll need a
control file
_.
To turn this skool
file into an HTML disassembly::
$ skool2html.py game.skool
To turn it into a file that can be fed to an assembler::
$ skool2asm.py game.skool > game.asm
.. _documentation: https://skoolkid.github.io/skoolkit/ .. _control file: https://skoolkid.github.io/skoolkit/control-files.html
FAQs
A suite of tools for creating disassemblies of ZX Spectrum games
We found that skoolkit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.