Inverse problem by shinh

\x7fELF\x01\x01\x01\x03\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x03\x00\x01\x00\x00\x00\x94\x00\x00\x004\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x004\x00 \x00\x03\x00(\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xdc\x01\x00\x00\x00\x10\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x01\x01\x00\x00\x13\x00\x00\x00\x13\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00\x14\x01\x00\x00P\x00\x00\x00P\x00\x00\x00\x06\x00\x00\x00\x04\x00\x00\x00U\x89\xe5f\x81\xec\xe8\x03\xb8\x01\x00\x00\x00\x89E\xd8\x8bE\xd8\x85\xc0\x0f\x84?\x00\x00\x00\xb8\x01\x00\x00\x00P\xe8\xfb\xff\xff\xffZ\x89E\xd4\xb8\x01\x00\x00\x00\x01E\xd4\x8bE\xd4\x89E\xd8\x8bE\xd8\x89E\xd4\xb8\x07\x00\x00\x00\x8bU\xd4\xf7\xea\x89E\xd4\x8bE\xd4P\xe8\xfb\xff\xff\xffZ\xe9\xb6\xff\xff\xff\xb8\x00\x00\x00\x00P\xe8\xfb\xff\xff\xffZf\x81\xc4\xe8\x03]\xc3/lib/ld-linux.so.2\x00\x01\x00\x00\x00\x16\x00\x00\x00\x04\x00\x00\x00d\x01\x00\x00\x0b\x00\x00\x00\x10\x00\x00\x00\x06\x00\x00\x00t\x01\x00\x00\x13\x00\x00\x00\x08\x00\x00\x00\x12\x00\x00\x00\x18\x00\x00\x00\x11\x00\x00\x00\xa4\x01\x00\x00
\x00\x00\x00 \x00\x00\x00\x05\x00\x00\x00\xbc\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x12\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x12\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x12\x00\x00\x00\xb6\x00\x00\x00\x02\x00\x00\x00\xe4\x00\x00\x00\x02\x01\x00\x00\xf5\x00\x00\x00\x02\x02\x00\x00\x00getchar\x00putchar\x00exit\x00libc.so.6\x00

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

Disassemble:


00000000 <.data>:
   0:	7f 45                	jg     0x47
   2:	4c                   	dec    %esp
   3:	46                   	inc    %esi
   4:	01 01                	add    %eax,(%ecx)
   6:	01 03                	add    %eax,(%ebx)
	...
  10:	02 00                	add    (%eax),%al
  12:	03 00                	add    (%eax),%eax
  14:	01 00                	add    %eax,(%eax)
  16:	00 00                	add    %al,(%eax)
  18:	94                   	xchg   %eax,%esp
  19:	00 00                	add    %al,(%eax)
  1b:	00 34 00             	add    %dh,(%eax,%eax,1)
	...
  26:	00 00                	add    %al,(%eax)
  28:	34 00                	xor    $0x0,%al
  2a:	20 00                	and    %al,(%eax)
  2c:	03 00                	add    (%eax),%eax
  2e:	28 00                	sub    %al,(%eax)
  30:	00 00                	add    %al,(%eax)
  32:	00 00                	add    %al,(%eax)
  34:	01 00                	add    %eax,(%eax)
	...
  42:	00 00                	add    %al,(%eax)
  44:	dc 01                	faddl  (%ecx)
  46:	00 00                	add    %al,(%eax)
  48:	00 10                	add    %dl,(%eax)
  4a:	00 00                	add    %al,(%eax)
  4c:	07                   	pop    %es
  4d:	00 00                	add    %al,(%eax)
  4f:	00 00                	add    %al,(%eax)
  51:	00 00                	add    %al,(%eax)
  53:	00 03                	add    %al,(%ebx)
  55:	00 00                	add    %al,(%eax)
  57:	00 01                	add    %al,(%ecx)
  59:	01 00                	add    %eax,(%eax)
  5b:	00 01                	add    %al,(%ecx)
  5d:	01 00                	add    %eax,(%eax)
  5f:	00 01                	add    %al,(%ecx)
  61:	01 00                	add    %eax,(%eax)
  63:	00 13                	add    %dl,(%ebx)
  65:	00 00                	add    %al,(%eax)
  67:	00 13                	add    %dl,(%ebx)
  69:	00 00                	add    %al,(%eax)
  6b:	00 04 00             	add    %al,(%eax,%eax,1)
  6e:	00 00                	add    %al,(%eax)
  70:	01 00                	add    %eax,(%eax)
  72:	00 00                	add    %al,(%eax)
  74:	02 00                	add    (%eax),%al
  76:	00 00                	add    %al,(%eax)
  78:	14 01                	adc    $0x1,%al
  7a:	00 00                	add    %al,(%eax)
  7c:	14 01                	adc    $0x1,%al
  7e:	00 00                	add    %al,(%eax)
  80:	14 01                	adc    $0x1,%al
  82:	00 00                	add    %al,(%eax)
  84:	50                   	push   %eax
  85:	00 00                	add    %al,(%eax)
  87:	00 50 00             	add    %dl,0x0(%eax)
  8a:	00 00                	add    %al,(%eax)
  8c:	06                   	push   %es
  8d:	00 00                	add    %al,(%eax)
  8f:	00 04 00             	add    %al,(%eax,%eax,1)
  92:	00 00                	add    %al,(%eax)
  94:	55                   	push   %ebp
  95:	89 e5                	mov    %esp,%ebp
  97:	66 81 ec e8 03       	sub    $0x3e8,%sp
  9c:	b8 01 00 00 00       	mov    $0x1,%eax
  a1:	89 45 d8             	mov    %eax,-0x28(%ebp)
  a4:	8b 45 d8             	mov    -0x28(%ebp),%eax
  a7:	85 c0                	test   %eax,%eax
  a9:	0f 84 3f 00 00 00    	je     0xee
  af:	b8 01 00 00 00       	mov    $0x1,%eax
  b4:	50                   	push   %eax
  b5:	e8 fb ff ff ff       	call   0xb5
  ba:	5a                   	pop    %edx
  bb:	89 45 d4             	mov    %eax,-0x2c(%ebp)
  be:	b8 01 00 00 00       	mov    $0x1,%eax
  c3:	01 45 d4             	add    %eax,-0x2c(%ebp)
  c6:	8b 45 d4             	mov    -0x2c(%ebp),%eax
  c9:	89 45 d8             	mov    %eax,-0x28(%ebp)
  cc:	8b 45 d8             	mov    -0x28(%ebp),%eax
  cf:	89 45 d4             	mov    %eax,-0x2c(%ebp)
  d2:	b8 07 00 00 00       	mov    $0x7,%eax
  d7:	8b 55 d4             	mov    -0x2c(%ebp),%edx
  da:	f7 ea                	imul   %edx
  dc:	89 45 d4             	mov    %eax,-0x2c(%ebp)
  df:	8b 45 d4             	mov    -0x2c(%ebp),%eax
  e2:	50                   	push   %eax
  e3:	e8 fb ff ff ff       	call   0xe3
  e8:	5a                   	pop    %edx
  e9:	e9 b6 ff ff ff       	jmp    0xa4
  ee:	b8 00 00 00 00       	mov    $0x0,%eax
  f3:	50                   	push   %eax
  f4:	e8 fb ff ff ff       	call   0xf4
  f9:	5a                   	pop    %edx
  fa:	66 81 c4 e8 03       	add    $0x3e8,%sp
  ff:	5d                   	pop    %ebp
 100:	c3                   	ret    
 101:	2f                   	das    
 102:	6c                   	insb   (%dx),%es:(%edi)
 103:	69 62 2f 6c 64 2d 6c 	imul   $0x6c2d646c,0x2f(%edx),%esp
 10a:	69 6e 75 78 2e 73 6f 	imul   $0x6f732e78,0x75(%esi),%ebp
 111:	2e 32 00             	xor    %cs:(%eax),%al
 114:	01 00                	add    %eax,(%eax)
 116:	00 00                	add    %al,(%eax)
 118:	16                   	push   %ss
 119:	00 00                	add    %al,(%eax)
 11b:	00 04 00             	add    %al,(%eax,%eax,1)
 11e:	00 00                	add    %al,(%eax)
 120:	64 01 00             	add    %eax,%fs:(%eax)
 123:	00 0b                	add    %cl,(%ebx)
 125:	00 00                	add    %al,(%eax)
 127:	00 10                	add    %dl,(%eax)
 129:	00 00                	add    %al,(%eax)
 12b:	00 06                	add    %al,(%esi)
 12d:	00 00                	add    %al,(%eax)
 12f:	00 74 01 00          	add    %dh,0x0(%ecx,%eax,1)
 133:	00 13                	add    %dl,(%ebx)
 135:	00 00                	add    %al,(%eax)
 137:	00 08                	add    %cl,(%eax)
 139:	00 00                	add    %al,(%eax)
 13b:	00 12                	add    %dl,(%edx)
 13d:	00 00                	add    %al,(%eax)
 13f:	00 18                	add    %bl,(%eax)
 141:	00 00                	add    %al,(%eax)
 143:	00 11                	add    %dl,(%ecx)
 145:	00 00                	add    %al,(%eax)
 147:	00 a4 01 00 00 0a 00 	add    %ah,0xa0000(%ecx,%eax,1)
 14e:	00 00                	add    %al,(%eax)
 150:	20 00                	and    %al,(%eax)
 152:	00 00                	add    %al,(%eax)
 154:	05 00 00 00 bc       	add    $0xbc000000,%eax
 159:	01 00                	add    %eax,(%eax)
	...
 163:	00 01                	add    %al,(%ecx)
 165:	00 00                	add    %al,(%eax)
 167:	00 01                	add    %al,(%ecx)
	...
 171:	00 00                	add    %al,(%eax)
 173:	00 01                	add    %al,(%ecx)
 175:	00 00                	add    %al,(%eax)
 177:	00 00                	add    %al,(%eax)
 179:	00 00                	add    %al,(%eax)
 17b:	00 04 00             	add    %al,(%eax,%eax,1)
 17e:	00 00                	add    %al,(%eax)
 180:	12 00                	adc    (%eax),%al
 182:	00 00                	add    %al,(%eax)
 184:	09 00                	or     %eax,(%eax)
 186:	00 00                	add    %al,(%eax)
 188:	00 00                	add    %al,(%eax)
 18a:	00 00                	add    %al,(%eax)
 18c:	04 00                	add    $0x0,%al
 18e:	00 00                	add    %al,(%eax)
 190:	12 00                	adc    (%eax),%al
 192:	00 00                	add    %al,(%eax)
 194:	11 00                	adc    %eax,(%eax)
 196:	00 00                	add    %al,(%eax)
 198:	00 00                	add    %al,(%eax)
 19a:	00 00                	add    %al,(%eax)
 19c:	04 00                	add    $0x0,%al
 19e:	00 00                	add    %al,(%eax)
 1a0:	12 00                	adc    (%eax),%al
 1a2:	00 00                	add    %al,(%eax)
 1a4:	b6 00                	mov    $0x0,%dh
 1a6:	00 00                	add    %al,(%eax)
 1a8:	02 00                	add    (%eax),%al
 1aa:	00 00                	add    %al,(%eax)
 1ac:	e4 00                	in     $0x0,%al
 1ae:	00 00                	add    %al,(%eax)
 1b0:	02 01                	add    (%ecx),%al
 1b2:	00 00                	add    %al,(%eax)
 1b4:	f5                   	cmc    
 1b5:	00 00                	add    %al,(%eax)
 1b7:	00 02                	add    %al,(%edx)
 1b9:	02 00                	add    (%eax),%al
 1bb:	00 00                	add    %al,(%eax)
 1bd:	67 65 74 63          	addr16 gs je 0x224
 1c1:	68 61 72 00 70       	push   $0x70007261
 1c6:	75 74                	jne    0x23c
 1c8:	63 68 61             	arpl   %bp,0x61(%eax)
 1cb:	72 00                	jb     0x1cd
 1cd:	65 78 69             	gs js  0x239
 1d0:	74 00                	je     0x1d2
 1d2:	6c                   	insb   (%dx),%es:(%edi)
 1d3:	69 62 63 2e 73 6f 2e 	imul   $0x2e6f732e,0x63(%edx),%esp
 1da:	36                   	ss
	...

download

return to the top page