ssh [email protected] -p2224
objdump -S /levels/level01
According to the assemble codes, you could guess the source looks like:
| # | |
| # Automatically generated file; DO NOT EDIT. | |
| # Linux/x86_64 3.11.10-100.fc18.x86_64 Kernel Configuration | |
| # | |
| CONFIG_64BIT=y | |
| CONFIG_X86_64=y | |
| CONFIG_X86=y | |
| CONFIG_INSTRUCTION_DECODER=y | |
| CONFIG_OUTPUT_FORMAT="elf64-x86-64" | |
| CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" |
| <domain type='kvm'> | |
| <name>test_ubuntu</name> | |
| <memory>1048576</memory> | |
| <vcpu>8</vcpu> | |
| <os> | |
| <type arch='x86_64' machine='pc'>hvm</type> | |
| <boot dev='cdrom'/> | |
| </os> | |
| <features> | |
| <acpi/> |
| puts GC.generational_mode | |
| LEVEL1 = 1000 | |
| LEVEL2 = 1000 | |
| LEVEL3 = 100 | |
| root = [[3, 4], [1, 2]] | |
| 1.upto(LEVEL1) do |i| | |
| level1 = [1] * 3 | |
| 1.upto(LEVEL2) do |j| |
| def tokenize(text) | |
| text.scan /\(|\)|\w+|\d+|\S+|\+/ | |
| end | |
| def parse_step(e) | |
| sexp = [] | |
| stack = [sexp] | |
| while ")" != (tk = e.next) | |
| tk = parse_step(e) if tk == '(' | |
| sexp.push tk |
| def _forward_attr_to_dict(cls, target, field): | |
| _property = property( \ | |
| lambda obj: getattr(obj, target)[field], | |
| lambda obj, value: getattr(obj, target).__setitem__(field, value)) | |
| setattr(cls, field, _property) | |
| def _forward_attrs_to_dict(cls, target, fields=[]): | |
| for field in fields: | |
| _forward_attr_to_dict(cls, target, field) | |
| return cls |
| alias untar-gz='tar xvfz' | |
| alias untar-bz2='tar xvfj' | |
| alias untar='tar xvf' |
| /* | |
| * From http://www.safemode.org/files/zillion/shellcode/doc/Writing_shellcode.html#process | |
| */ | |
| /* | |
| * Generic program for testing shellcode byte arrays. | |
| * Created by zillion and EVL | |
| * | |
| * Safemode.org !! Safemode.org !! | |
| */ |
| level2@io:/levels$ cat level02.c | |
| //a little fun brought to you by bla | |
| #include <stdio.h> | |
| #include <stdlib.h> | |
| #include <signal.h> | |
| #include <setjmp.h> | |
| void catcher(int a) | |
| { |
ssh [email protected] -p2224
objdump -S /levels/level01
According to the assemble codes, you could guess the source looks like:
| /* | |
| * Modified to work in GCC in 2003 by Daniel Berlin | |
| * Copyright (C) 2001 Momchil Velikov | |
| * Portions Copyright (C) 2001 Christoph Hellwig | |
| * | |
| * This program is free software; you can redistribute it and/or | |
| * modify it under the terms of the GNU General Public License as | |
| * published by the Free Software Foundation; either version 2, or (at | |
| * your option) any later version. | |
| * |