XlogicX Blog

Tools    PoC||GTFO_Mirror    Talks    BootMe_-_CrackMe    ARM_Atlas    

06-10-2021 - Dream_Within_A_Dream

How I think maybe I fucked up and took the purple pill

06-05-2021 - Whats_In_a_Name

About me, the very young me

05-25-2021 - New_Format

This blog has a new format and setup from the old WordPress days

01-19-2019 - ARM_12-bit_Immediates_are_Too_High_Level

Encoding 12 bit immediate values for 32 bit ARM instructions can get somewhat complicated when the numbers get large enough, click this article for more details.

10-05-2018 - Invoke_is_Too_High_Level

Invoke is a common calling convention for assembly source, especially as found as examples on the internet. But 'invoke' isn't assembly, it's abstracted, and it makes disassembly harder to follow. This post is a discussion of this issue and how I came to using the standard assembly 'call' convention.

09-25-2018 - ARM_Assembly_is_Too_High_Level_-_ROR_and_RRX

RRX is encoded as ROR with the imm5 field hardcoded as 0's.

07-14-2018 - ARM_Assembly_is_Too_High_Level_-_Moving_by_Shifting

The MOV and shift instructions (like LSL) are encoded the same. You could use the LSL instruction with the imm5 field hardcoded to 0's and it will encode exactly the same as MOV.

04-13-2017 - sed-regex_Based_BrainFuck_Compiler

Building a BrainFuck compiler with the main component being the sed tool.

02-09-2017 - Assembly_is_Too_High_Level_-_Commutative_Property,_Sometimes_-_it_may_save_your_byte

The order of adding two registers in a pointer shouldn't matter logically, but it does when it comes to encoding. This is because the 2nd register is a multiplier even if only be 1. Read more for the interesting details.

02-01-2017 - Assembly_is_Too_High-Level_-_Signed_Displacements

An exploration of some ambiguities that signed numbers can introduce to your assembler, what your assembler will choose, and how you can choose anything you want.

Older Pages

XlogicX - Copyright 2021 - Powered by some shitty python scripts