32 Spirituality Studies 9-1 Spring 2023 all states i.e., even at the level of pashyanti, madhyama and vaikhari. The “six limiting forces” (Sa. sat kañcukās) [10] are “vibrations”, “sequence of sounds” (Sa. vak) just like any other experience in the empirical world of illusionary dualities. However, such limitations work only when one “accepts” their influence, namely when one associates one’s being with the body and mind. These limitations can be imagined as security armors such as the Data Execution Prevention (DEP) of modern operating systems that denies to run code on a non-executable memory section of a given process (i.e., on an individualized tattwa distribution). It means that early exploitation techniques that insert a traditional shell code [11] into a vulnerable process to divert its control flow is not feasible any more as the injected code will not be able to run as it resides on a non-executable memory section. However, techniques such as Return-Oriented Programming (ROP) (Roemer et al. 2012) allows for crafting a shell code indirectly from a small sequence of instructions (gadgets) each of which ends with a ret instruction as Figure 1. shows it. This way only the reference (sequence of gadget addresses) stays on the non-executable memory section, however, the referenced gadget can be anywhere in the memory. Thus, the operating system (OS) simply returns to a consecutive address and executes the corresponding gadget. As the last instruction of each gadget is also a return instruction the execution goes back to the original shell code of gadget addresses upon completing a gadget and the OS pops the next gadget to be dereferenced. This way a complete shell code can be crafted. One of most essential advantages of crafting a ROP chain is that one needs to look for only ret instructions (C3 byte) in the memory no matter where it is. This is especially useful on architectures with variable-length instructions (e.g., CISC) where the desynchronization of instructions can easily take place (Yellowbyte 2018). Thus, merely the position of the instruction pointer determines whether the next consecutive byte sequence is evaluated as an instruction or data. From yoga’s point of view the sense of individuality traps one in a “non-executable” state, which means that the “highest will” (Sa. svadharma) cannot be reflected in one’s life. Thus, such an empirical consciousness is determined, conditioned and not purna, not integral and not unconditioned like the khecari state (Sa. “Universal Consciousness”). In other words, the veil of maya is strong enough to reflect one’s nature perfectly. What one can do, however, is to articulate a sankalpa asking one’s chosen deity to resonate the pair of syllables like “ka” (Prthivi) and “ksa” (Sakti), which are identical in reality being one of them is the “original source” (Sa. bimba) and the other one is its “reflection” (Sa. pratibimba) as Figure 2. shows it. This seemingly pair of opposites are in real identities help Figure 1. Return-Oriented code comprising references to various gadgets. Each gadget ends with a ret instruction (Roemer et al. 2012, 18). %esp pop %ecx pop %edx ret adc %cl, %cl ret movl %ecx, (%edx) ret (CF goes here) 0x00000000