Merge branch 'master' of fozzie:projects/ctf

This commit is contained in:
Neale Pickett 2012-01-18 21:41:21 -07:00
commit dfd354b863
99 changed files with 6267 additions and 118 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,13 @@
#! /bin/sh
for i in $(seq 100); do
if [ $(expr $i % 15) = 0 ]; then
echo 'FizzBuzz'
elif [ $(expr $i % 3) = 0 ]; then
echo 'Fizz'
elif [ $(expr $i % 5) = 0 ]; then
echo 'Buzz'
else
echo $i
fi
done

View File

@ -0,0 +1,29 @@
FIZZBUZZ_PKGDIR = $(TARGET)/fizzbuzz
FIZZBUZZ_BUILDDIR = $(BUILD)/fizzbuzz
$(FIZZBUZZ_BUILDDIR)/token.enc: packages/fizzbuzz/tokens.txt
$(FIZZBUZZ_BUILDDIR)/token.enc: packages/fizzbuzz/fizzbuzz-client.sh
$(FIZZBUZZ_BUILDDIR)/token.enc: $(FIZZBUZZ_BUILDDIR)/fizzbuzz-native
packages/fizzbuzz/fizzbuzz-client.sh | $(FIZZBUZZ_BUILDDIR)/fizzbuzz-native 3< packages/fizzbuzz/tokens.txt > $@
$(FIZZBUZZ_BUILDDIR)/fizzbuzz-native: packages/fizzbuzz/src/fizzbuzz.c
@ mkdir -p $(@D)
cc -o $@ $<
fizzbuzz-install: fizzbuzz-build
mkdir -p $(FIZZBUZZ_PKGDIR)/bin/
$(call COPYTREE, packages/fizzbuzz/service, $(FIZZBUZZ_PKGDIR)/service)
cp packages/fizzbuzz/tokens.txt $(FIZZBUZZ_PKGDIR)/
cp $(FIZZBUZZ_BUILDDIR)/token.enc $(FIZZBUZZ_PKGDIR)/
cp packages/fizzbuzz/src/fizzbuzz $(FIZZBUZZ_PKGDIR)/bin/
fizzbuzz-clean:
rm -rf $(FIZZBUZZ_PKGDIR) $(FIZZBUZZ_BUILDDIR)
$(MAKE) -C packages/fizzbuzz/src clean
fizzbuzz-build: $(FIZZBUZZ_BUILDDIR)/token.enc
$(MAKE) -C packages/fizzbuzz/src build
PACKAGES += fizzbuzz

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec /opt/fizzbuzz/bin/fizzbuzz 3</opt/fizzbuzz/token.enc

View File

@ -0,0 +1 @@
fd84:b410:3441::a0d/64

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec svlogd -tt $PWD

View File

@ -0,0 +1,8 @@
#! /bin/sh -e
exec 2>&1
IP=$(cat ip.txt)
ip addr add $IP dev eth0 || true
exec tcpsvd -u nobody ${IP%/*} 1013 ./go

View File

@ -0,0 +1,11 @@
CFLAGS = -Wall -Werror
TARGETS = fizzbuzz
all: build
build: $(TARGETS)
install: $(TARGETS)
install -m 0755 $(TARGETS) $(DESTDIR)/bin
clean:
rm -f *.o $(TARGETS)

View File

@ -1,5 +1,6 @@
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
/*
* How this works:

View File

@ -0,0 +1 @@
net:xuhen-fizuv-syvex

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec svlogd -tt $PWD

Binary file not shown.

View File

@ -0,0 +1,4 @@
#! /bin/sh
exec 2>&1
exec dropbear -r ./rsa.key -E -F

View File

@ -50,6 +50,3 @@ lxc-clean:
LIBCAP_PKGDIR = $(TARGET)/libcap
PACKAGES += lxc

View File

@ -45,13 +45,9 @@ esac
# Compute hash of team name; they'll use this for everything in the
# contest instead of their team name, which makes stuff much easier on
# me since all team hashes are in the set /[0-9a-f]{8}/.
hash=$(echo "not a nonce:::$1" | md5sum | cut -b 1-8)
hash=$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | cut -b 1-8)
echo "$1" > $base/teams/names/$hash
echo "$color" > $base/teams/colors/$hash
echo "Registered with hash: $hash"
# Create encrypted listing of teams
ls $base/teams/names | KEY="Too much cheese." arc4 > $www/teams.txt.$$
mv $www/teams.txt.$$ $www/teams.txt

View File

@ -1,4 +1,4 @@
#! /usr/bin/awk -f
#! /bin/awk -f
##
##

View File

@ -1,27 +1,28 @@
MCP_PKGDIR = $(TARGET)/mcp
MCP_BUILDDIR = $(BUILD)/mcp
MCP_FNORD_VERSION = 1.10
MCP_FNORD_TARBALL = fnord-$(MCP_FNORD_VERSION).tar.bz2
MCP_FNORD_TARCACHE = $(CACHE)/$(MCP_FNORD_TARBALL)
MCP_FNORD_URL = http://www.fefe.de/fnord/$(MCP_FNORD_TARBALL)
MCP_FNORD_SRCDIR = $(MCP_BUILDDIR)/fnord-$(MCP_FNORD_VERSION)
$(MCP_FNORD_TARCACHE):
@ mkdir -p $(@D)
wget -O $@ $(MCP_FNORD_URL)
##
## XXX: clean up fnord like router.mk
##
FNORD_CACHE = $(CACHE)/fnord.git
FNORD_BUILDDIR = $(MCP_BUILDDIR)/fnord
FNORD_URL = http://woozle.org/~neale/projects/fnord
$(FNORD_CACHE):
git clone --bare $(FNORD_URL) $@
mcp-source: $(MCP_BUILDDIR)/source
$(MCP_BUILDDIR)/source: $(MCP_FNORD_TARCACHE)
$(MCP_BUILDDIR)/source: $(FNORD_CACHE)
mkdir -p $(@D)
bzcat $< | (cd $(@D) && tar xf -)
(cd $(@D)/fnord-$(MCP_FNORD_VERSION) && patch -p 1) < packages/mcp/fnord.patch
git clone $(FNORD_CACHE) $(@D)/fnord
touch $@
mcp-build: $(MCP_BUILDDIR)/build
$(MCP_BUILDDIR)/build: $(MCP_BUILDDIR)/source
$(MAKE) -C packages/mcp/src build
$(MAKE) -C $(MCP_BUILDDIR)/fnord-$(MCP_FNORD_VERSION) DIET= CC=$(CC) fnord-cgi
$(MAKE) -C $(MCP_BUILDDIR)/fnord DIET= CC=$(CC) fnord-cgi
mcp-install: $(MCP_BUILDDIR)/build
@ -31,7 +32,7 @@ mcp-install: $(MCP_BUILDDIR)/build
cp packages/mcp/src/pointscli $(MCP_PKGDIR)/bin/
cp packages/mcp/src/puzzles.cgi $(MCP_PKGDIR)/bin/
cp $(MCP_BUILDDIR)/fnord-$(MCP_FNORD_VERSION)/fnord-cgi $(MCP_PKGDIR)/bin/
cp $(MCP_BUILDDIR)/fnord/fnord-cgi $(MCP_PKGDIR)/bin/
$(call COPYTREE, packages/mcp/service, $(MCP_PKGDIR)/service)

View File

@ -1,4 +0,0 @@
#! /bin/sh
IP=$(cat ip.txt)
ip addr del $IP dev eth0

View File

@ -1,25 +1,23 @@
#! /bin/sh
#! /bin/sh -e
exec 2>&1
hostname mcp
# Bring up address
IP=$(cat ip.txt)
ip addr add $IP dev eth0
ip monitor | grep -q $IP
ip addr add $IP dev eth0 || true
# Link in puzzles and web pages
install -d /var/www
for d in /opt/*; do
if [ -d $d/puzzles ]; then
ln -sf $d/puzzles /var/www/$(basename $d)
w=/var/www/$(basename $d)
if [ -d $d/puzzles ] && ! [ -d $w ]; then
ln -sf $d/puzzles $w
fi
if [ -d $d/www ]; then
ln -sf $d/www/* /var/www/
fi
done
mkdir -p sites
cd sites
ln -sf /var/www default
exec tcpsvd -u ctf ${IP%/*} 80 /opt/mcp/bin/fnord-cgi
exec tcpsvd -u ctf ${IP%/*} 80 /opt/mcp/bin/fnord-cgi /var/www

View File

@ -1,28 +1,14 @@
#! /bin/sh
# First argument is seconds between running everything
period=${1:-60}
NEWPOINTS=/var/lib/ctf/points.new
fn=$2/$3
POINTS=/var/lib/ctf/points.log
SCOREBOARD=/var/www/scoreboard.html
if ! [ -f $SCOREBOARD ]; then
/opt/mcp/bin/scoreboard < $POINTS > $SCOREBOARD
fi
while true; do
# Collect any new points
for fn in $NEWPOINTS/*; do
[ -f $fn ] || continue
cat $fn >> $POINTS || break
rm $fn
done
# Render scoreboard
if [ $POINTS -nt $SCOREBOARD ]; then
/opt/mcp/bin/scoreboard < $POINTS > $SCOREBOARD.new && mv $SCOREBOARD.new $SCOREBOARD
fi
sleep $period
done

View File

@ -1,13 +1,52 @@
#! /bin/sh
#! /bin/sh -e
exec 2>&1
install -o ctf -m 0755 -d /var/lib/ctf/points.new
install -d /var/lib/ctf
# Create CTF and nobody users
touch /etc/group /etc/passwd
addgroup -g 65534 nogroup || true
adduser -D -S -h /var/lib/ctf -H ctf || true
adduser -D -g nogroup -u 65534 -h /tmp -H nobody || true
# Set up base directories
NEWDIR=/var/lib/ctf/points.new
install -d /var/www
install -d /var/lib/ctf
install -o ctf -m 0755 -d $NEWDIR
install -o ctf -m 0755 -d /var/lib/ctf/points.tmp
# Make tokens database now, this is as good a time as any
TOKENS=/var/lib/ctf/tokens.db
for fn in $TOKENS /opt/*/tokens.txt; do
[ -f "$fn" ] || continue
cat $fn
done | sort | uniq > $TOKENS.new
mv $TOKENS.new $TOKENS
# Create some files
CLAIM=/var/lib/ctf/claim.db
touch $CLAIM
chown ctf $CLAIM
touch /var/lib/ctf/points.log
# Re-populate teams list for tanks
ls $base/teams/names | KEY="Too much cheese." /opt/mcp/bin/arc4 > $www/teams.txt.$$
mv $www/teams.txt.$$ $www/teams.txt
# Generate preliminary scoreboard
if ! [ -f /var/www/scoreboard.html ]; then
/opt/mcp/bin/scoreboard < /dev/null > /var/www/scoreboard.html
fi
exec ./pointsd
if [ -x /sbin/inotifyd ]; then
exec /sbin/inotifyd ./pointsd $NEWDIR:y
fi
# Simulate inotifyd
cd $NEWDIR
while true; do
for fn in *; do
[ -f "$fn" ] || continue
./pointsd m $NEWDIR $fn
done
sleep 7
done

View File

@ -2,11 +2,10 @@
exec 2>&1
install -d /var/www
# Install truncates files
DB=/var/lib/ctf/puzzles.db
adduser -D -S -h /var/lib/ctf -H ctf || true
mkdir -p /var/lib/ctf /var/www
touch $DB
chown ctf $DB

View File

@ -46,7 +46,7 @@ h1:first-child {
h1:first-child:before {
letter-spacing: -0.1em;
content: "Capture The Flag: ";
content: "NSM FIRE: ";
}
/**** body ****/

View File

@ -46,6 +46,7 @@
No DoS attacks.
</li>
<li>
Contest servers lie within <samp>fd84:b410:3441::/112</samp>.
Do not attack machines outside <samp>fd84:b410:3441::/48</samp>.
Low ports (under 1024) do not run contest categories, don't
waste your time.

View File

@ -2,6 +2,9 @@ MULTICASTER_PKGDIR = $(TARGET)/multicaster
multicaster-install: multicaster-build
mkdir -p $(MULTICASTER_PKGDIR)
cp packages/multicaster/tokens.txt $(MULTICASTER_PKGDIR)
$(call COPYTREE, packages/multicaster/service, $(MULTICASTER_PKGDIR)/service)
mkdir -p $(MULTICASTER_PKGDIR)/bin/
$(MAKE) -C packages/multicaster/src install DESTDIR=$(CURDIR)/$(MULTICASTER_PKGDIR)

View File

@ -0,0 +1 @@
fd84:b410:3441::4e11/64

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec svlogd -tt $PWD

View File

@ -0,0 +1,8 @@
#! /bin/sh -e
exec 2>&1
IP=$(cat ip.txt)
ip addr add $IP dev eth0 || true
exec setuidgid ctf /opt/multicaster/bin/multicaster ff15::62c 1580 </opt/multicaster/tokens.txt

View File

@ -1,5 +1,5 @@
CFLAGS = -Wall -Werror
TARGETS = multicaster-server multicaster-client
TARGETS = multicaster
all: build
build: $(TARGETS)

View File

@ -0,0 +1,166 @@
/* multicast_server.c
* Adapted from tmouse's IPv6 client/server example code
* found at http://cboard.cprogramming.com/showthread.php?t=67469
*/
#include <netdb.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/select.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <sys/time.h>
#include <unistd.h>
static void
DieWithError(const char* errorMessage)
{
fprintf(stderr, "%s\n", errorMessage);
exit(1);
}
int
main(int argc, char *argv[])
{
int sender, listener; /* Sockets */
char* multicastIP; /* Arg: IP Multicast address */
char* multicastPort; /* Arg: Server port */
char token[100];
size_t tokenlen;
struct addrinfo * multicastAddr; /* Multicast address */
struct addrinfo hints = { 0 }; /* Hints for name lookup */
struct timeval timeout = { 0 };
if (argc != 3)
{
fprintf(stderr, "Usage: %s ADDRESS PORT <TOKENFILE\n", argv[0]);
exit(1);
}
multicastIP = argv[1]; /* First arg: multicast IP address */
multicastPort = argv[2]; /* Second arg: multicast port */
if (NULL == fgets(token, sizeof(token), stdin)) {
DieWithError("Unable to read token");
}
tokenlen = strlen(token);
/* Resolve destination address for multicast datagrams */
hints.ai_family = PF_INET6;
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_NUMERICHOST;
if (getaddrinfo(multicastIP, multicastPort, &hints, &multicastAddr) != 0) {
DieWithError("getaddrinfo() failed");
}
if (! ((multicastAddr->ai_family == PF_INET6) &&
(multicastAddr->ai_addrlen == sizeof(struct sockaddr_in6)))) {
DieWithError("Not IPv6");
}
/* Create socket for sending multicast datagrams */
if ((sender = socket(multicastAddr->ai_family, multicastAddr->ai_socktype, 0)) == -1) {
DieWithError("socket() failed");
}
/* Create socket for recieving multicast datagrams */
if ((listener = socket(multicastAddr->ai_family, multicastAddr->ai_socktype, 0)) == -1) {
DieWithError("socket() failed");
}
/* We need to go through a router, set hops to 5 */
{
int hops = 5;
if (setsockopt(sender, IPPROTO_IPV6, IPV6_MULTICAST_HOPS, &hops, sizeof(hops)) != 0) {
DieWithError("setsockopt(MULTICAST_HOPS) failed");
}
}
/* Bind to the multicast port */
if (bind(listener, multicastAddr->ai_addr, multicastAddr->ai_addrlen) != 0) {
DieWithError("bind() failed");
}
/* Join the multicast group. */
{
struct sockaddr_in6 *addr = (struct sockaddr_in6 *)(multicastAddr->ai_addr);
struct ipv6_mreq multicastRequest;
multicastRequest.ipv6mr_interface = addr->sin6_scope_id;
memcpy(&multicastRequest.ipv6mr_multiaddr, &(addr->sin6_addr),
sizeof(multicastRequest.ipv6mr_multiaddr));
if (setsockopt(listener, IPPROTO_IPV6, IPV6_JOIN_GROUP,
(char*)&multicastRequest, sizeof(multicastRequest)) != 0) {
DieWithError("setsockopt(IPV6_JOIN_GROUP) failed");
}
}
for (;;) { /* Run forever */
int n;
int max_fd;
fd_set input;
char recvString[500]; /* Buffer for received string */
int recvStringLen; /* Length of received string */
char sendString[] = "If anyone is out there, please say hello\n";
size_t sendStringLen = sizeof(sendString)-1;
char errorString[] = "Say what?\n";
struct sockaddr_in6 from;
socklen_t fromlen = sizeof(from);
FD_ZERO(&input);
FD_SET(listener, &input);
max_fd = listener + 1;
if (timeout.tv_usec < 100) {
ssize_t sendLen;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
sendLen = sendto(sender, sendString, sendStringLen, 0, multicastAddr->ai_addr,
multicastAddr->ai_addrlen);
if (sendLen != sendStringLen) {
DieWithError("sendto() sent a different number of bytes than expected");
}
}
n = select(max_fd, &input, NULL, NULL, &timeout);
/* See if there was an error */
if (n < 0) {
perror("select failed");
} else if (FD_ISSET(listener, &input)) {
recvStringLen = recvfrom(listener, recvString, sizeof(recvString) - 1, 0,
(struct sockaddr *)&from, &fromlen);
/* Receive a single datagram from the server */
if (recvStringLen < 0) {
DieWithError("recvfrom() failed");
}
recvString[recvStringLen] = '\0';
if (strcmp(recvString, "hello")==0) {
sendto(listener, token, sizeof(sendString), 0, (struct sockaddr *)&from,
fromlen);
} else if (strcmp(recvString, sendString)!=0) {
sendto(listener, errorString, sizeof(errorString), 0,
(struct sockaddr *)&from, fromlen);
}
}
}
/* NOT REACHED */
freeaddrinfo(multicastAddr);
close(sender);
close(listener);
return 0;
}

View File

@ -0,0 +1 @@
net:xucaz-porub-rakox

View File

@ -5,6 +5,7 @@ octopus-install: octopus-build
$(call COPYTREE, packages/octopus/service, $(OCTOPUS_PKGDIR)/service)
cp packages/octopus/tokens.txt $(OCTOPUS_PKGDIR)/
cp packages/octopus/src/octopus $(OCTOPUS_PKGDIR)/bin/
octopus-clean:

View File

@ -1,4 +0,0 @@
#! /bin/sh
IP=$(cat ip.txt)
ip addr del $IP dev eth0

View File

@ -3,6 +3,6 @@
exec 2>&1
IP=$(cat ip.txt)
ip addr add $IP dev eth0
ip monitor | grep -q $IP
exec /opt/octopus/bin/octopus ${IP%/*}
ip addr add $IP dev eth0 || true
exec /opt/octopus/bin/octopus ${IP%/*} < /opt/octopus/tokens.txt

View File

@ -1,9 +1,9 @@
#! /bin/sh
port=8888
host=${1:-[::1]}
host=[${1:-::1}]
blooper=$(tempfile)
blooper=/tmp/bloop.$$
trap "rm $blooper" 0
echo foo | socat -t 0.01 STDIO UDP6:$host:$port | tail -n +5 > $blooper

View File

@ -19,8 +19,8 @@
#define max(a,b) (((a)>(b))?(a):(b))
#endif
const char token[] = "octopus:xylep-radar-nanox";
const size_t tokenlen = sizeof(token) - 1;
const char token[100];
size_t tokenlen;
char const octopus[] =
(" ___\n"
@ -338,6 +338,12 @@ main(int argc, char *argv[])
memcpy(&addr, &in6addr_any, sizeof addr);
}
if (NULL == fgets(token, sizeof(token), stdin)) {
perror("Unable to read token");
return EX_IOERR;
}
tokenlen = strlen(token);
bound_ports[0].fd = socket(AF_INET6, SOCK_DGRAM, 0);
ret = bind_port(&addr, bound_ports[0].fd, 8888);
if (-1 == ret) {

View File

@ -0,0 +1 @@
net:xemim-civiz-tyrox

View File

@ -0,0 +1,19 @@
PLAYFAIR_PKGDIR = $(TARGET)/playfair
PLAYFAIR_BUILDDIR = $(BUILD)/playfair
playfair-install: playfair-build
mkdir -p $(PLAYFAIR_PKGDIR)/bin/
$(call COPYTREE, packages/playfair/service, $(PLAYFAIR_PKGDIR)/service)
cp packages/playfair/tokens.txt $(PLAYFAIR_PKGDIR)/
cp packages/playfair/src/playfair $(PLAYFAIR_PKGDIR)/bin/
playfair-clean:
rm -rf $(PLAYFAIR_PKGDIR) $(PLAYFAIR_BUILDDIR)
$(MAKE) -C packages/playfair/src clean
playfair-build:
$(MAKE) -C packages/playfair/src build
PACKAGES += playfair

View File

@ -0,0 +1 @@
fd84:b410:3441::529/64

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec svlogd -tt $PWD

View File

@ -0,0 +1,9 @@
#! /bin/sh -e
exec 2>&1
IP=$(cat ip.txt)
ip addr add $IP dev eth0 || true
exec tcpsvd -u nobody ${IP%/*} 1013 /opt/playfair/bin/playfair

View File

@ -0,0 +1,4 @@
build: playfair
clean:
rm -f playfair

View File

@ -0,0 +1,199 @@
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#define TRUE 1
#define FALSE 0
// finds the index of a character in the index
// returns index or -1
int
indexkey(char* key, char c) {
int i;
for(i=0; i < 25; i++) {
if (key[i] == c) {
//printf("'%d' -> %d\n", c, i);
return i;
}
}
return -1;
}
// makes sure everything is lowercase or a space
void
strtolower(char* s, int len) {
int i;
for(i = 0; i < len; i++) {
s[i] = tolower(s[i]);
if (s[i] < 'a' || s[i] > 'z') {
s[i] = ' ';
}
}
}
//
// makes a key
char *
make_key(char* s, int len) {
strtolower(s, len);
char alph[] = "abcdefghijklmnopqrstuvwxyz";
char* key = (char *) malloc(26 * sizeof(char));
key[26] = '\0';
int keylen = 0;
int i;
// initial dump
for(i=0; i< len; i++) {
if( s[i] != ' ' && alph[s[i]-97] != ' ' && s[i] != 'q') {
key[keylen] = s[i];
keylen++;
alph[s[i]-97] = ' ';
}
}
// add extra chars
for (i=0; i < 27; i++) {
if (alph[i] != ' ' && alph[i] != 'q') {
key[keylen] = alph[i];
keylen++;
alph[i] = ' ';
}
}
return key;
}
// double checks for duplicate chars in string
int
isdup(char* s, int len) {
int i, j;
for(i = 0; i < len; i++) {
for(j = i+1; j < len; j++ ) {
if (s[i] == s[j]) {
return 1;
}
}
}
return 0;
}
// does the swapping of two characters
// assuming input is already sanitized
void
swapchar(char* key, char* plain) {
int i0, i1;
i0 = indexkey(key, plain[0]);
i1 = indexkey(key, plain[1]);
// will hit this with double null, or double x
if (i0 == i1){
// so pass
// vertical case
} else if (i0%5 == i1%5) {
plain[0] = key[(i0+5)%25];
plain[1] = key[(i1+5)%25];
// horizontal case
} else if (i0/5 == i1/5) {
plain[0] = key[(i0/5)*5 + (i0+1)%5];
plain[1] = key[(i1/5)*5 + (i1+1)%5];
// diagonal case
} else {
int b0 = i0%5;
int b1 = i1%5;
int diff;
if (b0 > b1) {
diff = b0 - b1;
plain[0] = key[i0-diff];
plain[1] = key[i1+diff];
} else {
diff = b1 - b0;
plain[0] = key[i0+diff];
plain[1] = key[i1-diff];
}
}
return;
}
void
printcrap(char* buf){
printf("%c%c ", buf[0]-32, buf[1]-32);
}
void
run(char* key) {
char buf[3];
char tmp;
int existing = FALSE;
buf[2] = 0;
while (TRUE) {
// read some crap in
tmp = getchar();
if (tmp == 'q') {
tmp = 'x';
}
if (tmp == EOF) {
if(existing) {
buf[1] = 'x';
swapchar(key, buf);
printcrap(buf);
existing = FALSE;
} else {
return;
}
} else if (tmp == '\n') {
if(existing) {
buf[1] = 'x';
swapchar(key, buf);
printcrap(buf);
printf("\n");
fflush(stdout);
existing = FALSE;
} else {
printf("\n");
fflush(stdout);
}
} else if (91 <= tmp && tmp <= 122) {
if (existing) {
if (tmp == buf[0] && tmp != 'x') {
buf[1] = 'x';
swapchar(key, buf);
printcrap(buf);
buf[0] = tmp;
} else {
buf[1] = tmp;
swapchar(key, buf);
printcrap(buf);
existing = FALSE;
}
} else {
buf[0] = tmp;
existing = TRUE;
}
} else {
//printf("\nOnly [a-z\\n]\n");
//fflush(stdout);
}
}
}
int
main() {
// Unusual token, since it has to satisfy some strict requirements.
char key[] = "netkutalbcdfgrisox";
int len = strlen(key);
char * ckey = make_key(key, len);
// All I know about trigraphs is that the gcc manual says I don't want
// to know about trigraphs.
printf("The key is the token. ???:????\?-???\?-????\n");
fflush(stdout);
run(ckey);
}

View File

@ -0,0 +1 @@
net:kutal-bcdfg-risox

View File

@ -7,6 +7,7 @@ printf-install: printf-build
$(MAKE) -C packages/printf/src install DESTDIR=$(CURDIR)/$(PRINTF_PKGDIR)
$(call COPYTREE, packages/printf/service, $(PRINTF_PKGDIR)/service)
cp packages/printf/tokens.txt $(PRINTF_PKGDIR)/
printf-clean:
rm -rf $(PRINTF_PKGDIR)

View File

@ -1,3 +1,3 @@
#! /bin/sh
exec chpst -u 9001 -/ /opt/printf/bin ./printf
exec chpst -u 9001 -/ /opt/printf/bin ./printf 3</opt/printf/tokens.txt

View File

@ -19,13 +19,7 @@ record(char *buf) {
}
/* Storage space for tokens */
char *token[5] = {
"printf:xylep-radar-nanox",
"printf:xylep-radar-nanox",
"printf:xylep-radar-nanox",
"printf:xylep-radar-nanox",
"printf:xylep-radar-nanox"
};
char token[5][100];
/* Make this global so the stack isn't gigantic */
char global_fmt[8000] = {0};
@ -41,6 +35,29 @@ main(int argc, char *argv[], char *env[])
int token4_flag = 0;
int i;
/* Read in tokens */
{
FILE *tf = fdopen(3, "r");
if (! tf) {
fprintf(stderr, "No tokens on fd3\n");
return 1;
}
for (i = 0; i < 5; i += 1) {
char *p = fgets(token[i], sizeof(token[i]), tf);
if (! p) {
fprintf(stderr, "Cannot read token %d\n", i);
return 1;
}
/* Replace newline with null */
for (; *p && (*p != '\n'); p += 1);
*p = 0;
}
}
/* Make stderr buffer until lines */
setlinebuf(stderr);

View File

@ -0,0 +1,5 @@
net:xenid-divik-vyhux
net:xodib-recop-zycux
net:xugep-zanuc-fetux
net:ximac-pucaz-zonox
net:xetab-kozyl-megex

14
packages/radio/radio.mk Normal file
View File

@ -0,0 +1,14 @@
RADIO_PKGDIR = $(TARGET)/radio
radio-build:
radio-install:
mkdir -p $(RADIO_PKGDIR)
$(call COPYTREE, packages/radio/www, $(RADIO_PKGDIR)/www)
cp packages/radio/tokens.txt $(RADIO_PKGDIR)/
radio-clean:
rm -rf $(RADIO_BUILDDIR)
PACKAGES += radio

10
packages/radio/tokens.txt Normal file
View File

@ -0,0 +1,10 @@
radio:50:xeneb-tisyz-bamox
radio:40:xekaf-fozem-zezox
radio:5:xukos-gimiv-zupex
radio:50:xehih-gazap-zagox
radio:10:xehof-hucec-ruhux
radio:5:xukok-napyd-zurex
radio:10:xitim-pyvig-dakyx
radio:50:xudab-hihed-senix
radio:10:xihez-sepyr-zytax
radio:60:xoheg-fivic-besax

View File

@ -0,0 +1,115 @@
<!DOCTYPE html>
<html>
<head>
<title>101.1 MHz</title>
<link rel="stylesheet" href="ctf.css" type="text/css">
<script type="text/javascript">
/* RC4 symmetric cipher encryption/decryption
* Copyright (c) 2006 by Ali Farhadi.
* released under the terms of the Gnu Public License.
* see the GPL for details.
*
* Email: ali[at]farhadi[dot]ir
* Website: http://farhadi.ir/
*/
function rc4Encrypt(key, pt) {
s = new Array();
for (var i=0; i<256; i++) {
s[i] = i;
}
var j = 0;
var x;
for (i=0; i<256; i++) {
j = (j + s[i] + key.charCodeAt(i % key.length)) % 256;
x = s[i];
s[i] = s[j];
s[j] = x;
}
i = 0;
j = 0;
var ct = '';
for (var y=0; y<pt.length; y++) {
i = (i + 1) % 256;
j = (j + s[i]) % 256;
x = s[i];
s[i] = s[j];
s[j] = x;
ct += String.fromCharCode(pt.charCodeAt(y) ^ s[(s[i] + s[j]) % 256]);
}
return ct;
}
tokens = [
"Vo%92%00%DE%EDR%E9%F5%B8%97v%D7%DA%EC%FB%E2%0AF%DE%DA%17%EC%0BF%3D",
"%D0%C39fH%00%3D%FB%85xO1%EC%0DA%B0%B3%19YPhn%D0%0E%C4%04",
"%E6%A9%B8%09%A6%F2%28%A3%F3/%10%AC%8D%3CK%082%FE%3E%D7%EA%1Es%3En",
"Y%F8%0C%CD%ED%251%B5%1FM%C8%E8%DE%EC%7Fc%3AKy%AF%60%19O%03%7F%1C",
"%DE%02%A7%3A%CD%90%FB%97b%C4%60%CE%CBS%CE%29%5BK%0A%C7%25%84J%B4*",
"%3F%84G%10%A5%5DgjH%09%F1%A9%D5%A0rG%E7%D8%0B%15%89%24%A1%9Cx%C6",
"Z%AE%16i%8F%1A%02%83Y%A9d%3CL%02%89%AA%9Bj6%CD%5C%12%FC%14%F5%12",
"%18%F5%06d%C0%FC/%29%3D%DF%1F%1B1.%E4%E7Q%01%BD%5D%D6%13%F8w%25%02",
"%F2%F2%D0%DB%F7U8%B2%AB%11%CA%60Ad%E2%E8N%5C%3C%D8%F5%10eM%D2%DD",
"%B1.2%D4ZV%7B%C7m%0F%B6%AE%0F%05%05%8C%DBY%82%08y%A6%D6%5E%C4%C8",
];
otokens = [
["radio:50:xeneb-tisyz-bamox", "2381355233377"],
["radio:40:xekaf-fozem-zezox", "tactlessly"],
["radio:5:xukos-gimiv-zupex", "archipelagos"],
["radio:50:xehih-gazap-zagox", "debagged"],
["radio:5:xukok-napyd-zurex", "decoder"],
["radio:10:xehof-hucec-ruhux", "equivocate"],
["radio:10:xitim-pyvig-dakyx", "meningitis"],
["radio:50:xudab-hihed-senix", "meritocracy"],
["radio:10:xihez-sepyr-zytax", "penologist"],
["radio:60:xoheg-fivic-besax", "simulcasts"],
];
function quote(s) {
return s.replace(/&/g, "&amp;").replace(/</g, "&lt;").replace(/>/g, "&gt;");
}
function check() {
var a = document.getElementById("a").value;
var o = document.getElementById("o");
var n = 0;
o.innerHTML = "";
for (var i in tokens) {
//o.innerHTML += "\"" + escape(rc4Encrypt(tokens[i][1], tokens[i][0])) + "\",\n";
var t = unescape(tokens[i]);
var d = rc4Encrypt(a, t);
if (d.substr(0, 5) == "radio") {
o.innerHTML += unescape(d) + "\n";
n += 1;
}
}
if (n) {
o.innerHTML += "---\n" + n + " tokens decoded\n";
} else {
o.innerHTML = "Try again.";
}
}
</script>
</head>
<body>
<h1>101.1 MHz</h1>
<p>
Tune to 101.1 MHz.
</p>
<form action="#" onsubmit="check();">
If you think you've figured something out, enter it here:
<input id="a">
<input type="submit" value="check answer">
</form>
<pre id="o"></pre>
</body>
</html>

View File

@ -0,0 +1,19 @@
REVWORDS_PKGDIR = $(TARGET)/revwords
REVWORDS_BUILDDIR = $(BUILD)/revwords
revwords-install: revwords-build
mkdir -p $(REVWORDS_PKGDIR)/bin/
$(call COPYTREE, packages/revwords/service, $(REVWORDS_PKGDIR)/service)
cp packages/revwords/tokens.txt $(REVWORDS_PKGDIR)/
cp packages/revwords/src/revwords $(REVWORDS_PKGDIR)/bin/
revwords-clean:
rm -rf $(REVWORDS_PKGDIR) $(REVWORDS_BUILDDIR)
$(MAKE) -C packages/revwords/src clean
revwords-build:
$(MAKE) -C packages/revwords/src build
PACKAGES += revwords

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec /opt/revwords/bin/revwords 3</opt/revwords/tokens.txt

View File

@ -0,0 +1 @@
fd84:b410:3441::c3/64

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec svlogd -tt $PWD

View File

@ -0,0 +1,9 @@
#! /bin/sh -e
exec 2>&1
IP=$(cat ip.txt)
ip addr add $IP dev eth0 || true
exec tcpsvd -u nobody ${IP%/*} 1013 ./go

View File

@ -0,0 +1,6 @@
CFLAGS = -Wall -Werror
build: revwords
clean:
rm -f revwords

View File

@ -0,0 +1,105 @@
#include <sys/types.h>
#include <unistd.h>
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#define XDEBUG
int
once()
{
char sdrow[25][10];
int nwords = 5 + (rand() % 2);
int i;
#ifdef DEBUG
nwords = 2;
#endif
for (i = 0; i < nwords; i += 1) {
char *drow = sdrow[i];
int len = 4 + (rand() % 6);
int j;
if (i > 0) putchar(' ');
for (j = 0; j < len; j += 1) {
char c = 'a' + (rand() % 26);
putchar(c);
drow[len-j-1] = c;
}
drow[j] = 0;
}
#ifdef DEBUG
printf (" (answer: ");
for (i = 0; i < nwords; i += 1) {
if (i > 0) putchar(' ');
printf("%s", sdrow[i]);
}
putchar(')');
#endif
putchar('\n');
fflush(stdout);
for (i = 0; i < nwords; i += 1) {
char *p;
if (i > 0) {
if (getchar() != ' ') return -1;
}
for (p = sdrow[i]; *p; p += 1) {
int c = getchar();
if (c != *p) return -1;
}
}
if (getchar() != '\n') return -1;
return 0;
}
int
main(int argc, char *argv[])
{
char token[100];
int i;
{
FILE *tokenin = fdopen(3, "r");
if (! tokenin) {
fprintf(stderr, "Somebody didn't read the instructions.\n");
return 1;
}
if (NULL == fgets(token, sizeof(token), tokenin)) {
fprintf(stderr, "Error reading token.\n");
return 1;
}
fclose(tokenin);
}
#ifndef DEBUG
/* don't hang around forever waiting for input */
alarm(3);
#endif
srandom(time(NULL) * getpid());
for (i = 0; i < 12; i += 1) {
if (-1 == once()) {
printf("tahT saw ton tahw I saw gnitcepxe\n");
return 1;
}
}
fputs(token, stdout);
return 0;
}

View File

@ -0,0 +1,19 @@
#! /bin/sh
## Run like this:
##
## socat EXEC:./solution.sh EXEC:./revwords 3<token.txt
##
lrev () {
while [ -n "$1" ]; do
echo $1 | rev
shift
done
}
while read line; do
echo $line 1>&2
enil=$(lrev $line)
echo $enil
done

View File

@ -0,0 +1 @@
net:xetil-tuhet-calyx

View File

@ -44,28 +44,29 @@ radvd-install:
##
## mrd6
## ecmh
##
MRD6_CACHE = $(CACHE)/mrd6.git
MRD6_BUILDDIR = $(ROUTER_BUILDDIR)/mrd6
MRD6_URL = https://github.com/hugosantos/mrd6.git
ECMH_CACHE = $(CACHE)/ecmh.git
ECMH_BUILDDIR = $(ROUTER_BUILDDIR)/ecmh
ECMH_URL = http://woozle.org/~neale/projects/ecmh
$(MRD6_CACHE):
git clone --bare $(MRD6_URL) $@
$(ECMH_CACHE):
git clone --bare $(ECMH_URL) $@
router-source: $(MRD6_BUILDDIR)
$(MRD6_BUILDDIR): $(MRD6_CACHE)
router-source: $(ECMH_BUILDDIR)
$(ECMH_BUILDDIR): $(ECMH_CACHE)
git clone $< $@
router-build: $(ROUTER_BUILDDIR)/mrd6-build
$(ROUTER_BUILDDIR)/mrd6-build: $(MRD6_BUILDDIR)
$(MAKE) -C $(MRD6_BUILDDIR)
router-build: $(ROUTER_BUILDDIR)/ecmh-build
$(ROUTER_BUILDDIR)/ecmh-build: $(ECMH_BUILDDIR)
$(MAKE) -C $(ECMH_BUILDDIR)/src ECMH_VERSION=dbtl-git
$(MAKE) -C $(ECMH_BUILDDIR)/tools/mtrace6
touch $@
router-install: mrd6-install
mrd6-install:
router-install: ecmh-install
ecmh-install:
mkdir -p $(ROUTER_PKGDIR)/bin
cp $(MRD6_BUILDDIR)/src/mrd $(ROUTER_PKGDIR)/bin
cp $(ECMH_BUILDDIR)/src/ecmh $(ROUTER_PKGDIR)/bin
cp $(ECMH_BUILDDIR)/tools/mtrace6/mtrace6 $(ROUTER_PKGDIR)/bin
PACKAGES += router

View File

@ -2,11 +2,24 @@
exec 2>&1
echo 8192 > /proc/sys/net/ipv6/neigh/default/gc_thresh3
echo 4096 > /proc/sys/net/ipv6/neigh/default/gc_thresh2
PFX=fd84:b410:3441
hostname router
log () {
echo "router: $@"
echo "router: $@" > /dev/console
}
# We're a router
if [ $(mount | grep -c /opt/) -gt 1 ]; then
log "cannot run alongside other packages" > /dev/console
exit 1
fi
# I'm a router
hostname router
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
# Bring up main ethernet interface

View File

@ -2,6 +2,6 @@
exec 2>&1
[ -r /etc/passwd ] || echo 'root:$1$xAJ7KwiU$BeKJjYGs9r/hY9Ag4qv4I1:0:0:root:/tmp:/bin/sh' > /etc/passwd
echo 'root:$1$xAJ7KwiU$BeKJjYGs9r/hY9Ag4qv4I1:0:0:root:/tmp:/bin/sh' > /etc/passwd
exec dropbear -r ./rsa.key -E -F

View File

@ -3,6 +3,7 @@
d=/var/lib/ctf/tanks
p=$d/players
w=/var/www/tanks
log=$d/winners.log
summary () {
cat <<EOF
@ -40,9 +41,8 @@ EOF
}
while true; do
# Make sure all teams exist
KEY='Too much cheese.' arc4 < /var/lib/ctf/teams.txt | \
while read hash; do
for dn in /var/lib/ctf/teams/names/*; do
hash=${dn##*/}
install -o ctf -d $p/$hash
done
@ -99,12 +99,13 @@ EOF
</html>
EOF
# Get a token and add it to the redemption log
nc 10.0.0.2 1 -e /opt/ctfbase/bin/tokencli tanks ./category.key 3> $tfn
k=$(cat $tfn)
winner.awk $rfn | while read winner; do
hash=$(basename $winner)
echo "Round $next winner: $hash"
echo "Round $next winner: $hash" >> $log
nwinners=$(wc -l $log)
# Read a token
k=$(sed -n ${nwinners}p /opt/tanks/tokens.txt)
# XXX: pull this out into another daemon
# XXX: this puts the token in /proc/self/cmdline

View File

@ -21,6 +21,8 @@ tanks-install: tanks-build
cp $(TANKS_BUILDDIR)/rank.awk $(TANKS_PKGDIR)/bin
cp $(TANKS_BUILDDIR)/winner.awk $(TANKS_PKGDIR)/bin
cp packages/tanks/tokens.txt $(TANKS_PKGDIR)/
$(call COPYTREE, packages/tanks/html, $(TANKS_PKGDIR)/html)
cp packages/mcp/www/ctf.css $(TANKS_PKGDIR)/html/style.css
cp $(TANKS_BUILDDIR)/nav.html.inc $(TANKS_PKGDIR)/html

1440
packages/tanks/tokens.txt Normal file

File diff suppressed because it is too large Load Diff

1
sh4pwn/README Normal file
View File

@ -0,0 +1 @@
This is the stuff you need to make a pwnable image. You build it just like dbtl.

919
sh4pwn/buildroot.config Normal file
View File

@ -0,0 +1,919 @@
#
# Automatically generated make config: don't edit
# Buildroot 2011.08 Configuration
# Fri Oct 7 15:50:09 2011
#
BR2_HAVE_DOT_CONFIG=y
# BR2_arm is not set
# BR2_armeb is not set
# BR2_avr32 is not set
# BR2_bfin is not set
# BR2_i386 is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_powerpc is not set
BR2_sh=y
# BR2_sh64 is not set
# BR2_sparc is not set
# BR2_x86_64 is not set
# BR2_xtensa is not set
# BR2_sh2 is not set
# BR2_sh2a is not set
# BR2_sh3 is not set
# BR2_sh3eb is not set
BR2_sh4=y
# BR2_sh4eb is not set
# BR2_sh4a is not set
# BR2_sh4aeb is not set
BR2_ARCH="sh4"
BR2_ENDIAN="LITTLE"
#
# Build options
#
#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_TAR_OPTIONS=""
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"
#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net/"
BR2_SOURCEFORGE_MIRROR="kent"
BR2_KERNEL_MIRROR="http://www.kernel.org/pub/"
BR2_GNU_MIRROR="http://ftp.gnu.org/pub/gnu"
BR2_DEBIAN_MIRROR="http://ftp.debian.org"
BR2_JLEVEL=2
# BR2_CCACHE is not set
# BR2_DEPRECATED is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
# BR2_STRIP_sstrip is not set
# BR2_STRIP_none is not set
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
BR2_OPTIMIZE_S=y
# BR2_PREFER_STATIC_LIB is not set
# BR2_HAVE_DOCUMENTATION is not set
# BR2_HAVE_DEVFILES is not set
#
# Toolchain
#
BR2_TOOLCHAIN_BUILDROOT=y
# BR2_TOOLCHAIN_EXTERNAL is not set
# BR2_TOOLCHAIN_CTNG is not set
#
# Kernel Header Options
#
# BR2_KERNEL_HEADERS_2_6_35 is not set
# BR2_KERNEL_HEADERS_2_6_36 is not set
# BR2_KERNEL_HEADERS_2_6_37 is not set
# BR2_KERNEL_HEADERS_2_6_38 is not set
BR2_KERNEL_HEADERS_2_6_39=y
# BR2_KERNEL_HEADERS_3_0 is not set
# BR2_KERNEL_HEADERS_VERSION is not set
# BR2_KERNEL_HEADERS_SNAP is not set
BR2_DEFAULT_KERNEL_HEADERS="2.6.39.4"
#
# uClibc Options
#
BR2_UCLIBC_VERSION_0_9_31=y
# BR2_UCLIBC_VERSION_SNAPSHOT is not set
BR2_UCLIBC_VERSION_STRING="0.9.31.1"
BR2_UCLIBC_CONFIG="toolchain/uClibc/uClibc-0.9.31.config"
# BR2_PTHREAD_DEBUG is not set
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
#
# Binutils Options
#
# BR2_BINUTILS_VERSION_2_20 is not set
# BR2_BINUTILS_VERSION_2_20_1 is not set
BR2_BINUTILS_VERSION_2_21=y
BR2_BINUTILS_VERSION="2.21"
BR2_BINUTILS_EXTRA_CONFIG_OPTIONS=""
#
# GCC Options
#
# BR2_GCC_VERSION_4_2_4 is not set
# BR2_GCC_VERSION_4_3_X is not set
# BR2_GCC_VERSION_4_4_X is not set
BR2_GCC_VERSION_4_5_X=y
# BR2_GCC_VERSION_4_6_X is not set
# BR2_GCC_VERSION_SNAP is not set
BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE=y
BR2_GCC_VERSION="4.5.3"
BR2_EXTRA_GCC_CONFIG_OPTIONS="--with-multilib-list=m4,m4-nofpu"
# BR2_INSTALL_OBJC is not set
# BR2_INSTALL_FORTRAN is not set
BR2_GCC_SHARED_LIBGCC=y
# BR2_GCC_ENABLE_OPENMP is not set
#
# Gdb Options
#
#
# Gdb debugger for the target needs WCHAR support in toolchain
#
# BR2_PACKAGE_GDB_SERVER is not set
# BR2_PACKAGE_GDB_HOST is not set
BR2_INET_IPV6=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS=y
# BR2_ENABLE_LOCALE_PURGE is not set
BR2_NEEDS_GETTEXT=y
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION="-pipe"
BR2_TARGET_LDFLAGS=""
#
# Toolchain Options
#
# BR2_TOOLCHAIN_BUILDROOT_LARGEFILE is not set
BR2_TOOLCHAIN_BUILDROOT_INET_IPV6=y
# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set
# BR2_TOOLCHAIN_BUILDROOT_WCHAR is not set
# BR2_TOOLCHAIN_BUILDROOT_LOCALE is not set
# BR2_TOOLCHAIN_BUILDROOT_CXX is not set
# BR2_TOOLCHAIN_BUILDROOT_USE_SSP is not set
# BR2_PTHREADS_NONE is not set
# BR2_PTHREADS is not set
BR2_PTHREADS_OLD=y
# BR2_ELF2FLT is not set
#
# System configuration
#
BR2_TARGET_GENERIC_HOSTNAME=""
BR2_TARGET_GENERIC_ISSUE=""
BR2_ROOTFS_DEVICE_CREATION_STATIC=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set
BR2_ROOTFS_DEVICE_TABLE="sh4pwn/target_device_table.txt"
BR2_ROOTFS_STATIC_DEVICE_TABLE="sh4pwn/target_device_table.txt"
# BR2_ROOTFS_SKELETON_DEFAULT is not set
BR2_ROOTFS_SKELETON_CUSTOM=y
BR2_ROOTFS_SKELETON_CUSTOM_PATH="sh4pwn/skeleton"
BR2_ROOTFS_POST_BUILD_SCRIPT="sh4pwn/cleanup.sh"
#
# Package Selection for the target
#
BR2_PACKAGE_BUSYBOX=y
# BR2_BUSYBOX_VERSION_1_16_X is not set
# BR2_BUSYBOX_VERSION_1_17_X is not set
BR2_BUSYBOX_VERSION_1_18_X=y
# BR2_PACKAGE_BUSYBOX_SNAPSHOT is not set
BR2_BUSYBOX_VERSION="1.18.5"
BR2_PACKAGE_BUSYBOX_CONFIG="sh4pwn/busybox.config"
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
# BR2_PACKAGE_CUSTOMIZE is not set
#
# Audio and video libraries and applications
#
# BR2_PACKAGE_ALSA_LIB is not set
#
# alsa-utils requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_AUMIX is not set
# BR2_PACKAGE_FAAD2 is not set
# BR2_PACKAGE_FLAC is not set
#
# ffmpeg requires a toolchain with LARGEFILE and IPV6 support
#
#
# gstreamer requires a toolchain with WCHAR support
#
#
# gst-ffmpeg requires a toolchain with LARGEFILE and IPV6 support
#
# BR2_PACKAGE_LAME is not set
# BR2_PACKAGE_LIBAO is not set
# BR2_PACKAGE_LIBCDAUDIO is not set
# BR2_PACKAGE_LIBCUE is not set
# BR2_PACKAGE_LIBCUEFILE is not set
#
# libdvdread requires a toolchain with LARGEFILE support
#
#
# libdvdnav requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_LIBID3TAG is not set
# BR2_PACKAGE_LIBMAD is not set
#
# libmms requires a toolchain with WCHAR support
#
#
# libmpd requires a toolchain with WCHAR support
#
# BR2_PACKAGE_LIBMPEG2 is not set
# BR2_PACKAGE_LIBOGG is not set
# BR2_PACKAGE_LIBREPLAYGAIN is not set
# BR2_PACKAGE_LIBSAMPLERATE is not set
# BR2_PACKAGE_LIBSNDFILE is not set
# BR2_PACKAGE_LIBTHEORA is not set
# BR2_PACKAGE_LIBVORBIS is not set
#
# Live555 needs C++ compiler
#
# BR2_PACKAGE_MADPLAY is not set
#
# mpd requires a toolchain with C++ and WCHAR support
#
# BR2_PACKAGE_MPG123 is not set
# BR2_PACKAGE_MPLAYER is not set
# BR2_PACKAGE_MUSEPACK is not set
# BR2_PACKAGE_SPEEX is not set
#
# swfdec requires a toolchain with WCHAR and C++ support
#
#
# taglib requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_TREMOR is not set
# BR2_PACKAGE_VORBIS_TOOLS is not set
# BR2_PACKAGE_WAVPACK is not set
#
# Compressors and decompressors
#
# BR2_PACKAGE_BZIP2 is not set
# BR2_PACKAGE_LZOP is not set
# BR2_PACKAGE_XZ is not set
#
# Debugging, profiling and benchmark
#
#
# bonnie++ requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_DHRYSTONE is not set
# BR2_PACKAGE_DMALLOC is not set
# BR2_PACKAGE_KEXEC is not set
#
# lmbench requires a toolchain with RPC support
#
#
# lsof requires a toolchain with RPC support
#
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_MEMSTAT is not set
# BR2_PACKAGE_NETPERF is not set
#
# oprofile requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_STRACE is not set
# BR2_PACKAGE_WHETSTONE is not set
#
# Development tools
#
# BR2_PACKAGE_AUTOCONF is not set
# BR2_PACKAGE_AUTOMAKE is not set
# BR2_PACKAGE_BINUTILS is not set
#
# bison requires a toolchain with WCHAR support
#
# BR2_PACKAGE_BSDIFF is not set
# BR2_PACKAGE_CCACHE is not set
# BR2_PACKAGE_DISTCC is not set
# BR2_PACKAGE_FLEX is not set
#
# gcc needs development files in target filesystem
#
#
# gettext requires a toolchain with WCHAR support
#
# BR2_PACKAGE_GMP is not set
#
# gperf requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_MAKE is not set
# BR2_PACKAGE_MPC is not set
# BR2_PACKAGE_MPFR is not set
# BR2_PACKAGE_LIBTOOL is not set
#
# m4 requires a toolchain with WCHAR support
#
#
# pkg-config requires a toolchain with WCHAR support
#
# BR2_PACKAGE_SSTRIP is not set
#
# Games
#
# BR2_PACKAGE_GNUCHESS is not set
# BR2_PACKAGE_PRBOOM is not set
#
# Graphic libraries and applications (graphic/text)
#
#
# Graphic applications
#
#
# rrdtool requires a toolchain with WCHAR support
#
#
# graphic libraries
#
# BR2_PACKAGE_DIRECTFB is not set
# BR2_PACKAGE_FBDUMP is not set
# BR2_PACKAGE_FBGRAB is not set
# BR2_PACKAGE_FBV is not set
# BR2_PACKAGE_IMAGEMAGICK is not set
# BR2_PACKAGE_LINUX_FUSION is not set
# BR2_PACKAGE_SDL is not set
#
# other GUIs
#
#
# qt requires a toolchain with C++ support enabled
#
#
# X.org requires a toolchain with WCHAR support
#
#
# X libraries and helper libraries
#
# BR2_PACKAGE_LIBERATION is not set
#
# X Window managers
#
#
# X applications
#
#
# gob2 requires a toolchain with WCHAR support
#
#
# midori requires C++, WCHAR in toolchain and libgtk2
#
#
# Hardware handling
#
#
# cdrkit requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_CRAMFS is not set
#
# dbus not available (need expat or libxml2)
#
#
# dmraid requires a toolchain with LARGEFILE support
#
#
# dosfstools requires a toolchain with LARGEFILE support
#
#
# e2fsprogs requires a toolchain with LARGEFILE + WCHAR support
#
# BR2_PACKAGE_EEPROG is not set
# BR2_PACKAGE_FCONFIG is not set
# BR2_PACKAGE_FIS is not set
# BR2_PACKAGE_GADGETFS_TEST is not set
#
# gdisk requires a toolchain with LARGEFILE/WCHAR/C++ support enabled
#
# BR2_PACKAGE_GENEXT2FS is not set
# BR2_PACKAGE_GENROMFS is not set
# BR2_PACKAGE_GPSD is not set
#
# gvfs requires a toolchain with LARGEFILE and WCHAR support
#
# BR2_PACKAGE_HWDATA is not set
# BR2_PACKAGE_I2C_TOOLS is not set
# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set
# BR2_PACKAGE_INPUT_TOOLS is not set
# BR2_PACKAGE_IOSTAT is not set
# BR2_PACKAGE_IRDA_UTILS is not set
# BR2_PACKAGE_KBD is not set
#
# libv4l requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_LM_SENSORS is not set
# BR2_PACKAGE_LSUIO is not set
#
# lvm2 requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_MAKEDEVS is not set
# BR2_PACKAGE_MDADM is not set
#
# memtester requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_MTD is not set
#
# ntfs-3g requires a toolchain with LARGEFILE and WCHAR support
#
#
# ntfsprogs requires a toolchain with WCHAR and LARGEFILE support
#
# BR2_PACKAGE_PCIUTILS is not set
# BR2_PACKAGE_RNG_TOOLS is not set
# BR2_PACKAGE_SDPARM is not set
# BR2_PACKAGE_SETSERIAL is not set
#
# smartmontools requires a toolchain with C++ support enabled
#
#
# squashfs requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_SREDIRD is not set
#
# sshfs requires a toolchain with LARGEFILE and WCHAR support
#
# BR2_PACKAGE_STATSERIAL is not set
# BR2_PACKAGE_SYSSTAT is not set
# BR2_PACKAGE_TI_UTILS is not set
# BR2_PACKAGE_UBOOT_TOOLS is not set
#
# udev requires /dev mgmnt set to udev under System configuration
#
# BR2_PACKAGE_USB_MODESWITCH is not set
# BR2_PACKAGE_USBUTILS is not set
# BR2_PACKAGE_WIPE is not set
#
# xfsprogs requires a toolchain with LARGEFILE + WCHAR support
#
#
# Interpreter languages and scripting
#
# BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_LUA is not set
# BR2_PACKAGE_MICROPERL is not set
# BR2_PACKAGE_PHP is not set
#
# python requires a toolchain with WCHAR support
#
#
# ruby requires a toolchain with WCHAR support
#
# BR2_PACKAGE_TCL is not set
#
# Libraries
#
#
# Compression and decompression
#
#
# libarchive requires a toolchain with WCHAR support
#
# BR2_PACKAGE_LZO is not set
# BR2_PACKAGE_ZLIB is not set
#
# Crypto
#
# BR2_PACKAGE_BEECRYPT is not set
# BR2_PACKAGE_GNUTLS is not set
# BR2_PACKAGE_LIBGCRYPT is not set
# BR2_PACKAGE_LIBGPG_ERROR is not set
#
# libnss requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_OPENSSL is not set
#
# Database
#
# BR2_PACKAGE_BERKELEYDB is not set
#
# Mysql client requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_SQLITE is not set
#
# Filesystem
#
#
# gamin requires a toolchain with WCHAR support
#
# BR2_PACKAGE_LIBCONFIG is not set
# BR2_PACKAGE_LIBCONFUSE is not set
#
# libfuse requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_LIBLOCKFILE is not set
# BR2_PACKAGE_LIBSYSFS is not set
#
# Graphics
#
#
# atk requires a toolchain with WCHAR support
#
# BR2_PACKAGE_CAIRO is not set
# BR2_PACKAGE_FONTCONFIG is not set
# BR2_PACKAGE_FREETYPE is not set
# BR2_PACKAGE_JPEG is not set
# BR2_PACKAGE_LIBART is not set
# BR2_PACKAGE_LIBEXIF is not set
#
# libgtk2 requires a toolchain with WCHAR and C++ support
#
# BR2_PACKAGE_LIBPNG is not set
#
# libraw requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_LIBSVGTINY is not set
# BR2_PACKAGE_LIBUNGIF is not set
#
# pango requires a toolchain with WCHAR and C++ support
#
# BR2_PACKAGE_PIXMAN is not set
# BR2_PACKAGE_TIFF is not set
#
# webkit requires C++, WCHAR in toolchain and libgtk2
#
#
# Hardware handling
#
# BR2_PACKAGE_LIBAIO is not set
# BR2_PACKAGE_LIBRAW1394 is not set
# BR2_PACKAGE_TSLIB is not set
# BR2_PACKAGE_LIBHID is not set
# BR2_PACKAGE_LIBIQRF is not set
# BR2_PACKAGE_LIBUSB is not set
#
# Networking
#
# BR2_PACKAGE_LIBCGI is not set
#
# libcgicc requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_LIBCURL is not set
# BR2_PACKAGE_LIBDNET is not set
# BR2_PACKAGE_LIBEXOSIP2 is not set
# BR2_PACKAGE_LIBIDN is not set
# BR2_PACKAGE_LIBMICROHTTPD is not set
# BR2_PACKAGE_NEON is not set
#
# libmnl requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_LIBNL is not set
# BR2_PACKAGE_LIBPCAP is not set
# BR2_PACKAGE_LIBOSIP2 is not set
# BR2_PACKAGE_LIBRSYNC is not set
#
# libsoup requires a toolchain with WCHAR support
#
#
# libupnp requires a toolchain with LARGEFILE support
#
#
# Other
#
# BR2_PACKAGE_LIBARGTABLE2 is not set
# BR2_PACKAGE_ARGP_STANDALONE is not set
# BR2_PACKAGE_LIBATOMIC_OPS is not set
# BR2_PACKAGE_LIBCAP is not set
# BR2_PACKAGE_LIBDAEMON is not set
# BR2_PACKAGE_LIBELF is not set
# BR2_PACKAGE_LIBEVENT is not set
# BR2_PACKAGE_LIBFFI is not set
#
# libglib2 requires a toolchain with WCHAR support
#
#
# libnspr requires a toolchain with LARGEFILE support
#
#
# libsigc++ requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_ORC is not set
#
# Text and terminal handling
#
#
# enchant requires a toolchain with C++ and WCHAR support enabled
#
#
# icu requires a toolchain with C++ support and WCHAR enabled
#
# BR2_PACKAGE_LIBICONV is not set
# BR2_PACKAGE_NCURSES is not set
# BR2_PACKAGE_NEWT is not set
# BR2_PACKAGE_PCRE is not set
# BR2_PACKAGE_POPT is not set
# BR2_PACKAGE_READLINE is not set
# BR2_PACKAGE_SLANG is not set
#
# JSON/XML
#
# BR2_PACKAGE_EXPAT is not set
# BR2_PACKAGE_EZXML is not set
# BR2_PACKAGE_LIBROXML is not set
# BR2_PACKAGE_LIBXML2 is not set
# BR2_PACKAGE_LIBXSLT is not set
# BR2_PACKAGE_LIBYAML is not set
# BR2_PACKAGE_MXML is not set
#
# xerces-c++ requires a toolchain with C++ and WCHAR support enabled
#
# BR2_PACKAGE_YAJL is not set
#
# Miscellaneous
#
#
# shared-mime-info requires a toolchain with WCHAR support
#
#
# Networking applications
#
# BR2_PACKAGE_ARGUS is not set
# BR2_PACKAGE_AVAHI is not set
# BR2_PACKAGE_AXEL is not set
#
# bind requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BRIDGE is not set
# BR2_PACKAGE_BWM_NG is not set
# BR2_PACKAGE_CAN_UTILS is not set
#
# ctorrent requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_CUPS is not set
# BR2_PACKAGE_DHCPDUMP is not set
# BR2_PACKAGE_DNSMASQ is not set
# BR2_PACKAGE_DROPBEAR is not set
# BR2_PACKAGE_EBTABLES is not set
# BR2_PACKAGE_ETHTOOL is not set
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_IFPLUGD is not set
#
# iperf requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_IPROUTE2 is not set
# BR2_PACKAGE_IPSEC_TOOLS is not set
#
# ipset requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_IPTABLES is not set
# BR2_PACKAGE_IW is not set
#
# Kismet requires a toolchain with C++ support enabled
#
# BR2_PACKAGE_XL2TP is not set
# BR2_PACKAGE_LINKS is not set
# BR2_PACKAGE_LRZSZ is not set
# BR2_PACKAGE_MII_DIAG is not set
# BR2_PACKAGE_MROUTED is not set
#
# mutt requires a toolchain with WCHAR support
#
#
# nbd requires a toolchain with WCHAR support
#
#
# ncftp requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_NETPLUG is not set
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NETSTAT_NAT is not set
#
# nfs-utils requires a toolchain with RPC and LARGEFILE support
#
# BR2_PACKAGE_NGIRCD is not set
# BR2_PACKAGE_NTP is not set
# BR2_PACKAGE_NUTTCP is not set
# BR2_PACKAGE_OLSR is not set
# BR2_PACKAGE_OPENNTPD is not set
# BR2_PACKAGE_OPENSSH is not set
# BR2_PACKAGE_OPENVPN is not set
#
# portmap requires a toolchain with 'Enable RPC' selected
#
# BR2_PACKAGE_PPPD is not set
# BR2_PACKAGE_RADVD is not set
# BR2_PACKAGE_PPTP_LINUX is not set
# BR2_PACKAGE_PROFTPD is not set
# BR2_PACKAGE_QUAGGA is not set
# BR2_PACKAGE_RSH_REDONE is not set
# BR2_PACKAGE_RSYNC is not set
# BR2_PACKAGE_SAMBA is not set
# BR2_PACKAGE_SER2NET is not set
# BR2_PACKAGE_SOCAT is not set
# BR2_PACKAGE_SPAWN_FCGI is not set
#
# Squid requires a toolchain with C++ and IPv6 support enabled
#
# BR2_PACKAGE_STUNNEL is not set
# BR2_PACKAGE_TCPDUMP is not set
# BR2_PACKAGE_TCPREPLAY is not set
# BR2_PACKAGE_TN5250 is not set
# BR2_PACKAGE_TTCP is not set
#
# udpcast requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_VPNC is not set
# BR2_PACKAGE_VSFTPD is not set
# BR2_PACKAGE_VTUN is not set
# BR2_PACKAGE_WIRELESS_TOOLS is not set
# BR2_PACKAGE_WPA_SUPPLICANT is not set
#
# Package managers
#
# BR2_PACKAGE_IPKG is not set
#
# Shell and utilities
#
# BR2_PACKAGE_AT is not set
# BR2_PACKAGE_DIALOG is not set
# BR2_PACKAGE_FILE is not set
#
# inotify-tools requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_LOCKFILE_PROGS is not set
#
# logrotate requires a toolchain with WCHAR support
#
# BR2_PACKAGE_SCREEN is not set
# BR2_PACKAGE_SUDO is not set
# BR2_PACKAGE_WHICH is not set
# BR2_PACKAGE_XMLSTARLET is not set
#
# System tools
#
#
# acl requires a toolchain with LARGEFILE support
#
#
# attr requires a toolchain with LARGEFILE support
#
# BR2_PACKAGE_HTOP is not set
#
# util-linux requires a toolchain with LARGEFILE + WCHAR support
#
#
# Text editors and viewers
#
# BR2_PACKAGE_ED is not set
# BR2_PACKAGE_NANO is not set
# BR2_PACKAGE_UEMACS is not set
#
# Filesystem images
#
# BR2_TARGET_ROOTFS_CRAMFS is not set
# BR2_TARGET_ROOTFS_CLOOP is not set
# BR2_TARGET_ROOTFS_EXT2 is not set
# BR2_TARGET_ROOTFS_JFFS2 is not set
# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
# BR2_TARGET_ROOTFS_TAR is not set
# BR2_TARGET_ROOTFS_CPIO is not set
BR2_TARGET_ROOTFS_INITRAMFS=y
# BR2_TARGET_ROOTFS_ROMFS is not set
#
# Bootloaders
#
# BR2_TARGET_BAREBOX is not set
# BR2_TARGET_UBOOT is not set
#
# Kernel
#
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_2_6_39=y
# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set
# BR2_LINUX_KERNEL_CUSTOM_VERSION is not set
# BR2_LINUX_KERNEL_CUSTOM_TARBALL is not set
# BR2_LINUX_KERNEL_CUSTOM_GIT is not set
BR2_LINUX_KERNEL_VERSION="2.6.39.4"
BR2_LINUX_KERNEL_PATCH=""
# BR2_LINUX_KERNEL_USE_DEFCONFIG is not set
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="sh4pwn/linux.config"
# BR2_LINUX_KERNEL_UIMAGE is not set
BR2_LINUX_KERNEL_ZIMAGE=y
# BR2_LINUX_KERNEL_VMLINUX_BIN is not set
# BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM is not set

990
sh4pwn/busybox.config Normal file
View File

@ -0,0 +1,990 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.18.5
# Fri Sep 9 12:29:48 2011
#
CONFIG_HAVE_DOT_CONFIG=y
#
# Busybox Settings
#
#
# General Configuration
#
CONFIG_DESKTOP=y
# CONFIG_EXTRA_COMPAT is not set
# CONFIG_INCLUDE_SUSv2 is not set
# CONFIG_USE_PORTABLE_CODE is not set
CONFIG_PLATFORM_LINUX=y
CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
CONFIG_SHOW_USAGE=y
CONFIG_FEATURE_VERBOSE_USAGE=y
# CONFIG_FEATURE_COMPRESS_USAGE is not set
CONFIG_FEATURE_INSTALLER=y
CONFIG_INSTALL_NO_USR=y
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_UNICODE_SUPPORT=y
# CONFIG_UNICODE_USING_LOCALE is not set
# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
CONFIG_SUBST_WCHAR=63
CONFIG_LAST_SUPPORTED_WCHAR=767
# CONFIG_UNICODE_COMBINING_WCHARS is not set
# CONFIG_UNICODE_WIDE_WCHARS is not set
# CONFIG_UNICODE_BIDI_SUPPORT is not set
# CONFIG_UNICODE_NEUTRAL_TABLE is not set
# CONFIG_UNICODE_PRESERVE_BROKEN is not set
CONFIG_LONG_OPTS=y
CONFIG_FEATURE_DEVPTS=y
CONFIG_FEATURE_CLEAN_UP=y
# CONFIG_FEATURE_WTMP is not set
# CONFIG_FEATURE_UTMP is not set
# CONFIG_FEATURE_PIDFILE is not set
CONFIG_FEATURE_SUID=y
# CONFIG_FEATURE_SUID_CONFIG is not set
# CONFIG_FEATURE_SUID_CONFIG_QUIET is not set
# CONFIG_SELINUX is not set
# CONFIG_FEATURE_PREFER_APPLETS is not set
CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
CONFIG_FEATURE_SYSLOG=y
# CONFIG_FEATURE_HAVE_RPC is not set
#
# Build Options
#
# CONFIG_STATIC is not set
# CONFIG_PIE is not set
# CONFIG_NOMMU is not set
# CONFIG_BUILD_LIBBUSYBOX is not set
# CONFIG_FEATURE_INDIVIDUAL is not set
# CONFIG_FEATURE_SHARED_BUSYBOX is not set
CONFIG_LFS=y
CONFIG_CROSS_COMPILER_PREFIX=""
CONFIG_EXTRA_CFLAGS=""
#
# Debugging Options
#
# CONFIG_DEBUG is not set
# CONFIG_DEBUG_PESSIMIZE is not set
# CONFIG_WERROR is not set
CONFIG_NO_DEBUG_LIB=y
# CONFIG_DMALLOC is not set
# CONFIG_EFENCE is not set
#
# Installation Options ("make install" behavior)
#
CONFIG_INSTALL_APPLET_SYMLINKS=y
# CONFIG_INSTALL_APPLET_HARDLINKS is not set
# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
# CONFIG_INSTALL_APPLET_DONT is not set
# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
CONFIG_PREFIX="./_install"
#
# Busybox Library Tuning
#
CONFIG_PASSWORD_MINLEN=6
CONFIG_MD5_SIZE_VS_SPEED=2
# CONFIG_FEATURE_FAST_TOP is not set
# CONFIG_FEATURE_ETC_NETWORKS is not set
CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_FEATURE_EDITING=y
CONFIG_FEATURE_EDITING_MAX_LEN=1024
CONFIG_FEATURE_EDITING_VI=y
CONFIG_FEATURE_EDITING_HISTORY=999
CONFIG_FEATURE_EDITING_SAVEHISTORY=y
CONFIG_FEATURE_TAB_COMPLETION=y
# CONFIG_FEATURE_USERNAME_COMPLETION is not set
CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
# CONFIG_FEATURE_EDITING_ASK_TERMINAL is not set
CONFIG_FEATURE_NON_POSIX_CP=y
# CONFIG_FEATURE_VERBOSE_CP_MESSAGE is not set
CONFIG_FEATURE_COPYBUF_KB=4
CONFIG_MONOTONIC_SYSCALL=y
CONFIG_IOCTL_HEX2STR_ERROR=y
# CONFIG_FEATURE_HWIB is not set
#
# Applets
#
#
# Archival Utilities
#
# CONFIG_FEATURE_SEAMLESS_XZ is not set
# CONFIG_FEATURE_SEAMLESS_LZMA is not set
# CONFIG_FEATURE_SEAMLESS_BZ2 is not set
# CONFIG_FEATURE_SEAMLESS_GZ is not set
# CONFIG_FEATURE_SEAMLESS_Z is not set
CONFIG_AR=y
# CONFIG_FEATURE_AR_LONG_FILENAMES is not set
CONFIG_FEATURE_AR_CREATE=y
CONFIG_BUNZIP2=y
# CONFIG_BZIP2 is not set
CONFIG_CPIO=y
# CONFIG_FEATURE_CPIO_O is not set
# CONFIG_FEATURE_CPIO_P is not set
# CONFIG_DPKG is not set
# CONFIG_DPKG_DEB is not set
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_GUNZIP=y
CONFIG_GZIP=y
# CONFIG_FEATURE_GZIP_LONG_OPTIONS is not set
# CONFIG_LZOP is not set
# CONFIG_LZOP_COMPR_HIGH is not set
# CONFIG_RPM2CPIO is not set
# CONFIG_RPM is not set
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
# CONFIG_FEATURE_TAR_AUTODETECT is not set
CONFIG_FEATURE_TAR_FROM=y
# CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY is not set
# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_FEATURE_TAR_LONG_OPTIONS=y
CONFIG_FEATURE_TAR_TO_COMMAND=y
# CONFIG_FEATURE_TAR_UNAME_GNAME is not set
# CONFIG_FEATURE_TAR_NOPRESERVE_TIME is not set
# CONFIG_FEATURE_TAR_SELINUX is not set
# CONFIG_UNCOMPRESS is not set
CONFIG_UNLZMA=y
# CONFIG_FEATURE_LZMA_FAST is not set
CONFIG_LZMA=y
CONFIG_UNXZ=y
CONFIG_XZ=y
CONFIG_UNZIP=y
#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAT=y
CONFIG_DATE=y
CONFIG_FEATURE_DATE_ISOFMT=y
# CONFIG_FEATURE_DATE_NANO is not set
CONFIG_FEATURE_DATE_COMPAT=y
CONFIG_TEST=y
CONFIG_FEATURE_TEST_64=y
CONFIG_TR=y
CONFIG_FEATURE_TR_CLASSES=y
CONFIG_FEATURE_TR_EQUIV=y
CONFIG_BASE64=y
# CONFIG_CAL is not set
CONFIG_CATV=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
CONFIG_CHROOT=y
CONFIG_CKSUM=y
# CONFIG_COMM is not set
CONFIG_CP=y
# CONFIG_FEATURE_CP_LONG_OPTIONS is not set
CONFIG_CUT=y
CONFIG_DD=y
CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
CONFIG_FEATURE_DD_IBS_OBS=y
CONFIG_DF=y
# CONFIG_FEATURE_DF_FANCY is not set
CONFIG_DIRNAME=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
CONFIG_DU=y
CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
# CONFIG_FEATURE_ENV_LONG_OPTIONS is not set
# CONFIG_EXPAND is not set
# CONFIG_FEATURE_EXPAND_LONG_OPTIONS is not set
CONFIG_EXPR=y
CONFIG_EXPR_MATH_SUPPORT_64=y
CONFIG_FALSE=y
CONFIG_FOLD=y
CONFIG_FSYNC=y
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_HOSTID=y
CONFIG_ID=y
CONFIG_INSTALL=y
CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
CONFIG_LENGTH=y
CONFIG_LN=y
CONFIG_LOGNAME=y
CONFIG_LS=y
CONFIG_FEATURE_LS_FILETYPES=y
CONFIG_FEATURE_LS_FOLLOWLINKS=y
CONFIG_FEATURE_LS_RECURSIVE=y
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
CONFIG_FEATURE_LS_USERNAME=y
CONFIG_FEATURE_LS_COLOR=y
CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
CONFIG_MD5SUM=y
CONFIG_MKDIR=y
CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MV=y
CONFIG_FEATURE_MV_LONG_OPTIONS=y
CONFIG_NICE=y
CONFIG_NOHUP=y
CONFIG_OD=y
CONFIG_PRINTENV=y
CONFIG_PRINTF=y
CONFIG_PWD=y
CONFIG_READLINK=y
CONFIG_FEATURE_READLINK_FOLLOW=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
CONFIG_SEQ=y
CONFIG_SHA1SUM=y
CONFIG_SHA256SUM=y
CONFIG_SHA512SUM=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_FEATURE_FLOAT_SLEEP=y
CONFIG_SORT=y
CONFIG_FEATURE_SORT_BIG=y
# CONFIG_SPLIT is not set
# CONFIG_FEATURE_SPLIT_FANCY is not set
# CONFIG_STAT is not set
# CONFIG_FEATURE_STAT_FORMAT is not set
CONFIG_STTY=y
# CONFIG_SUM is not set
CONFIG_SYNC=y
CONFIG_TAC=y
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
CONFIG_TEE=y
CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
CONFIG_TOUCH=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
# CONFIG_UNEXPAND is not set
# CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS is not set
CONFIG_UNIQ=y
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
CONFIG_UUENCODE=y
CONFIG_WC=y
# CONFIG_FEATURE_WC_LARGE is not set
# CONFIG_WHO is not set
CONFIG_WHOAMI=y
CONFIG_YES=y
#
# Common options for cp and mv
#
CONFIG_FEATURE_PRESERVE_HARDLINKS=y
#
# Common options for ls, more and telnet
#
CONFIG_FEATURE_AUTOWIDTH=y
#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y
#
# Common options for md5sum, sha1sum, sha256sum, sha512sum
#
CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
#
# Console Utilities
#
CONFIG_CHVT=y
# CONFIG_FGCONSOLE is not set
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
# CONFIG_KBD_MODE is not set
CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
CONFIG_RESIZE=y
CONFIG_FEATURE_RESIZE_PRINT=y
CONFIG_SETCONSOLE=y
# CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS is not set
# CONFIG_SETFONT is not set
# CONFIG_FEATURE_SETFONT_TEXTUAL_MAP is not set
CONFIG_DEFAULT_SETFONT_DIR=""
CONFIG_SETKEYCODES=y
CONFIG_SETLOGCONS=y
# CONFIG_SHOWKEY is not set
#
# Common options for loadfont and setfont
#
CONFIG_FEATURE_LOADFONT_PSF2=y
CONFIG_FEATURE_LOADFONT_RAW=y
#
# Debian Utilities
#
CONFIG_MKTEMP=y
# CONFIG_PIPE_PROGRESS is not set
# CONFIG_RUN_PARTS is not set
# CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS is not set
# CONFIG_FEATURE_RUN_PARTS_FANCY is not set
# CONFIG_START_STOP_DAEMON is not set
# CONFIG_FEATURE_START_STOP_DAEMON_FANCY is not set
# CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS is not set
# CONFIG_WHICH is not set
#
# Editors
#
CONFIG_PATCH=y
CONFIG_AWK=y
# CONFIG_FEATURE_AWK_LIBM is not set
CONFIG_CMP=y
CONFIG_DIFF=y
# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
CONFIG_FEATURE_DIFF_DIR=y
# CONFIG_ED is not set
CONFIG_SED=y
CONFIG_VI=y
CONFIG_FEATURE_VI_MAX_LEN=4096
CONFIG_FEATURE_VI_8BIT=y
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
CONFIG_FEATURE_VI_USE_SIGNALS=y
CONFIG_FEATURE_VI_DOT_CMD=y
CONFIG_FEATURE_VI_READONLY=y
CONFIG_FEATURE_VI_SETOPTS=y
CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_ASK_TERMINAL=y
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
CONFIG_FEATURE_ALLOW_EXEC=y
#
# Finding Utilities
#
CONFIG_FIND=y
CONFIG_FEATURE_FIND_PRINT0=y
CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_MMIN=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_MAXDEPTH=y
CONFIG_FEATURE_FIND_NEWER=y
# CONFIG_FEATURE_FIND_INUM is not set
CONFIG_FEATURE_FIND_EXEC=y
CONFIG_FEATURE_FIND_USER=y
CONFIG_FEATURE_FIND_GROUP=y
CONFIG_FEATURE_FIND_NOT=y
CONFIG_FEATURE_FIND_DEPTH=y
CONFIG_FEATURE_FIND_PAREN=y
CONFIG_FEATURE_FIND_SIZE=y
CONFIG_FEATURE_FIND_PRUNE=y
# CONFIG_FEATURE_FIND_DELETE is not set
CONFIG_FEATURE_FIND_PATH=y
CONFIG_FEATURE_FIND_REGEX=y
# CONFIG_FEATURE_FIND_CONTEXT is not set
# CONFIG_FEATURE_FIND_LINKS is not set
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_FEATURE_GREP_CONTEXT=y
CONFIG_XARGS=y
# CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION is not set
CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
#
# Init Utilities
#
# CONFIG_BOOTCHARTD is not set
# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
CONFIG_HALT=y
# CONFIG_FEATURE_CALL_TELINIT is not set
CONFIG_TELINIT_PATH=""
# CONFIG_INIT is not set
# CONFIG_FEATURE_USE_INITTAB is not set
# CONFIG_FEATURE_KILL_REMOVED is not set
CONFIG_FEATURE_KILL_DELAY=0
# CONFIG_FEATURE_INIT_SCTTY is not set
# CONFIG_FEATURE_INIT_SYSLOG is not set
# CONFIG_FEATURE_EXTRA_QUIET is not set
# CONFIG_FEATURE_INIT_COREDUMPS is not set
# CONFIG_FEATURE_INITRD is not set
CONFIG_INIT_TERMINAL_TYPE=""
CONFIG_MESG=y
#
# Login/Password Management Utilities
#
# CONFIG_ADD_SHELL is not set
# CONFIG_REMOVE_SHELL is not set
CONFIG_FEATURE_SHADOWPASSWDS=y
# CONFIG_USE_BB_PWD_GRP is not set
# CONFIG_USE_BB_SHADOW is not set
CONFIG_USE_BB_CRYPT=y
# CONFIG_USE_BB_CRYPT_SHA is not set
CONFIG_ADDUSER=y
# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_FIRST_SYSTEM_ID=100
CONFIG_LAST_SYSTEM_ID=999
CONFIG_ADDGROUP=y
# CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS is not set
# CONFIG_FEATURE_ADDUSER_TO_GROUP is not set
CONFIG_DELUSER=y
CONFIG_DELGROUP=y
# CONFIG_FEATURE_DEL_USER_FROM_GROUP is not set
CONFIG_GETTY=y
CONFIG_LOGIN=y
# CONFIG_PAM is not set
# CONFIG_LOGIN_SCRIPTS is not set
# CONFIG_FEATURE_NOLOGIN is not set
# CONFIG_FEATURE_SECURETTY is not set
CONFIG_PASSWD=y
CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
# CONFIG_CRYPTPW is not set
CONFIG_CHPASSWD=y
# CONFIG_SU is not set
# CONFIG_FEATURE_SU_SYSLOG is not set
# CONFIG_FEATURE_SU_CHECKS_SHELLS is not set
CONFIG_SULOGIN=y
# CONFIG_VLOCK is not set
#
# Linux Ext2 FS Progs
#
CONFIG_CHATTR=y
CONFIG_FSCK=y
CONFIG_LSATTR=y
CONFIG_TUNE2FS=y
#
# Linux Module Utilities
#
# CONFIG_MODINFO is not set
# CONFIG_MODPROBE_SMALL is not set
# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
# CONFIG_INSMOD is not set
# CONFIG_RMMOD is not set
# CONFIG_LSMOD is not set
# CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT is not set
# CONFIG_MODPROBE is not set
# CONFIG_FEATURE_MODPROBE_BLACKLIST is not set
# CONFIG_DEPMOD is not set
#
# Options common to multiple modutils
#
# CONFIG_FEATURE_2_4_MODULES is not set
# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
# CONFIG_FEATURE_CHECK_TAINTED_MODULE is not set
# CONFIG_FEATURE_MODUTILS_ALIAS is not set
# CONFIG_FEATURE_MODUTILS_SYMBOLS is not set
CONFIG_DEFAULT_MODULES_DIR=""
CONFIG_DEFAULT_DEPMOD_FILE=""
#
# Linux System Utilities
#
# CONFIG_BLOCKDEV is not set
CONFIG_REV=y
# CONFIG_ACPID is not set
# CONFIG_FEATURE_ACPID_COMPAT is not set
CONFIG_BLKID=y
CONFIG_DMESG=y
CONFIG_FEATURE_DMESG_PRETTY=y
# CONFIG_FBSET is not set
# CONFIG_FEATURE_FBSET_FANCY is not set
# CONFIG_FEATURE_FBSET_READMODE is not set
CONFIG_FDFLUSH=y
CONFIG_FDFORMAT=y
CONFIG_FDISK=y
CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
CONFIG_FEATURE_FDISK_WRITABLE=y
# CONFIG_FEATURE_AIX_LABEL is not set
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
# CONFIG_FEATURE_GPT_LABEL is not set
# CONFIG_FEATURE_FDISK_ADVANCED is not set
CONFIG_FINDFS=y
CONFIG_FLOCK=y
CONFIG_FREERAMDISK=y
# CONFIG_FSCK_MINIX is not set
CONFIG_MKFS_EXT2=y
# CONFIG_MKFS_MINIX is not set
# CONFIG_FEATURE_MINIX2 is not set
# CONFIG_MKFS_REISER is not set
CONFIG_MKFS_VFAT=y
CONFIG_GETOPT=y
CONFIG_FEATURE_GETOPT_LONG=y
CONFIG_HEXDUMP=y
CONFIG_FEATURE_HEXDUMP_REVERSE=y
CONFIG_HD=y
CONFIG_HWCLOCK=y
CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
CONFIG_IPCRM=y
CONFIG_IPCS=y
CONFIG_LOSETUP=y
CONFIG_LSPCI=y
CONFIG_LSUSB=y
CONFIG_MDEV=y
CONFIG_FEATURE_MDEV_CONF=y
# CONFIG_FEATURE_MDEV_RENAME is not set
# CONFIG_FEATURE_MDEV_RENAME_REGEXP is not set
CONFIG_FEATURE_MDEV_EXEC=y
# CONFIG_FEATURE_MDEV_LOAD_FIRMWARE is not set
CONFIG_MKSWAP=y
# CONFIG_FEATURE_MKSWAP_UUID is not set
CONFIG_MORE=y
CONFIG_MOUNT=y
# CONFIG_FEATURE_MOUNT_FAKE is not set
# CONFIG_FEATURE_MOUNT_VERBOSE is not set
# CONFIG_FEATURE_MOUNT_HELPERS is not set
CONFIG_FEATURE_MOUNT_LABEL=y
# CONFIG_FEATURE_MOUNT_NFS is not set
# CONFIG_FEATURE_MOUNT_CIFS is not set
CONFIG_FEATURE_MOUNT_FLAGS=y
# CONFIG_FEATURE_MOUNT_FSTAB is not set
# CONFIG_PIVOT_ROOT is not set
CONFIG_RDATE=y
# CONFIG_RDEV is not set
CONFIG_READPROFILE=y
# CONFIG_RTCWAKE is not set
# CONFIG_SCRIPT is not set
# CONFIG_SCRIPTREPLAY is not set
# CONFIG_SETARCH is not set
CONFIG_SWAPONOFF=y
# CONFIG_FEATURE_SWAPON_PRI is not set
# CONFIG_SWITCH_ROOT is not set
CONFIG_UMOUNT=y
CONFIG_FEATURE_UMOUNT_ALL=y
#
# Common options for mount/umount
#
CONFIG_FEATURE_MOUNT_LOOP=y
CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
# CONFIG_FEATURE_MTAB_SUPPORT is not set
CONFIG_VOLUMEID=y
#
# Filesystem/Volume identification
#
CONFIG_FEATURE_VOLUMEID_EXT=y
CONFIG_FEATURE_VOLUMEID_BTRFS=y
CONFIG_FEATURE_VOLUMEID_REISERFS=y
CONFIG_FEATURE_VOLUMEID_FAT=y
CONFIG_FEATURE_VOLUMEID_HFS=y
CONFIG_FEATURE_VOLUMEID_JFS=y
CONFIG_FEATURE_VOLUMEID_XFS=y
CONFIG_FEATURE_VOLUMEID_NTFS=y
CONFIG_FEATURE_VOLUMEID_ISO9660=y
CONFIG_FEATURE_VOLUMEID_UDF=y
CONFIG_FEATURE_VOLUMEID_LUKS=y
CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
CONFIG_FEATURE_VOLUMEID_CRAMFS=y
CONFIG_FEATURE_VOLUMEID_ROMFS=y
CONFIG_FEATURE_VOLUMEID_SYSV=y
CONFIG_FEATURE_VOLUMEID_OCFS2=y
CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
#
# Miscellaneous Utilities
#
# CONFIG_CONSPY is not set
# CONFIG_NANDWRITE is not set
# CONFIG_NANDDUMP is not set
# CONFIG_UBIATTACH is not set
# CONFIG_UBIDETACH is not set
# CONFIG_ADJTIMEX is not set
# CONFIG_BBCONFIG is not set
# CONFIG_FEATURE_COMPRESS_BBCONFIG is not set
# CONFIG_BEEP is not set
CONFIG_FEATURE_BEEP_FREQ=0
CONFIG_FEATURE_BEEP_LENGTH_MS=0
# CONFIG_CHAT is not set
# CONFIG_FEATURE_CHAT_NOFAIL is not set
# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
# CONFIG_FEATURE_CHAT_IMPLICIT_CR is not set
# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
CONFIG_CHRT=y
# CONFIG_CROND is not set
# CONFIG_FEATURE_CROND_D is not set
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_FEATURE_CROND_DIR=""
# CONFIG_CRONTAB is not set
CONFIG_DC=y
# CONFIG_FEATURE_DC_LIBM is not set
# CONFIG_DEVFSD is not set
# CONFIG_DEVFSD_MODLOAD is not set
# CONFIG_DEVFSD_FG_NP is not set
# CONFIG_DEVFSD_VERBOSE is not set
# CONFIG_FEATURE_DEVFS is not set
CONFIG_DEVMEM=y
# CONFIG_EJECT is not set
# CONFIG_FEATURE_EJECT_SCSI is not set
# CONFIG_FBSPLASH is not set
# CONFIG_FLASHCP is not set
# CONFIG_FLASH_LOCK is not set
# CONFIG_FLASH_UNLOCK is not set
# CONFIG_FLASH_ERASEALL is not set
# CONFIG_IONICE is not set
CONFIG_INOTIFYD=y
# CONFIG_LAST is not set
# CONFIG_FEATURE_LAST_SMALL is not set
# CONFIG_FEATURE_LAST_FANCY is not set
CONFIG_LESS=y
CONFIG_FEATURE_LESS_MAXLINES=9999999
CONFIG_FEATURE_LESS_BRACKETS=y
CONFIG_FEATURE_LESS_FLAGS=y
# CONFIG_FEATURE_LESS_MARKS is not set
CONFIG_FEATURE_LESS_REGEXP=y
# CONFIG_FEATURE_LESS_WINCH is not set
# CONFIG_FEATURE_LESS_DASHCMD is not set
# CONFIG_FEATURE_LESS_LINENUMS is not set
# CONFIG_HDPARM is not set
# CONFIG_FEATURE_HDPARM_GET_IDENTITY is not set
# CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET is not set
# CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF is not set
# CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA is not set
CONFIG_MAKEDEVS=y
# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
CONFIG_FEATURE_MAKEDEVS_TABLE=y
# CONFIG_MAN is not set
# CONFIG_MICROCOM is not set
# CONFIG_MOUNTPOINT is not set
# CONFIG_MT is not set
# CONFIG_RAIDAUTORUN is not set
# CONFIG_READAHEAD is not set
# CONFIG_RFKILL is not set
# CONFIG_RUNLEVEL is not set
# CONFIG_RX is not set
CONFIG_SETSID=y
CONFIG_STRINGS=y
# CONFIG_TASKSET is not set
# CONFIG_FEATURE_TASKSET_FANCY is not set
CONFIG_TIME=y
# CONFIG_TIMEOUT is not set
# CONFIG_TTYSIZE is not set
# CONFIG_VOLNAME is not set
CONFIG_WALL=y
# CONFIG_WATCHDOG is not set
#
# Networking Utilities
#
# CONFIG_NBDCLIENT is not set
CONFIG_NC=y
CONFIG_NC_SERVER=y
CONFIG_NC_EXTRA=y
# CONFIG_NC_110_COMPAT is not set
CONFIG_FEATURE_IPV6=y
# CONFIG_FEATURE_UNIX_LOCAL is not set
# CONFIG_FEATURE_PREFER_IPV4_ADDRESS is not set
# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
# CONFIG_ARP is not set
# CONFIG_ARPING is not set
CONFIG_BRCTL=y
CONFIG_FEATURE_BRCTL_FANCY=y
CONFIG_FEATURE_BRCTL_SHOW=y
# CONFIG_DNSD is not set
CONFIG_ETHER_WAKE=y
# CONFIG_FAKEIDENTD is not set
# CONFIG_FTPD is not set
# CONFIG_FEATURE_FTP_WRITE is not set
# CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST is not set
# CONFIG_FTPGET is not set
# CONFIG_FTPPUT is not set
# CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS is not set
CONFIG_HOSTNAME=y
# CONFIG_HTTPD is not set
# CONFIG_FEATURE_HTTPD_RANGES is not set
# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
# CONFIG_FEATURE_HTTPD_SETUID is not set
# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
# CONFIG_FEATURE_HTTPD_CGI is not set
# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
# CONFIG_FEATURE_HTTPD_PROXY is not set
# CONFIG_FEATURE_HTTPD_GZIP is not set
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
CONFIG_FEATURE_IFCONFIG_SLIP=y
CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
CONFIG_FEATURE_IFCONFIG_HW=y
# CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS is not set
# CONFIG_IFENSLAVE is not set
# CONFIG_IFPLUGD is not set
# CONFIG_IFUPDOWN is not set
CONFIG_IFUPDOWN_IFSTATE_PATH=""
# CONFIG_FEATURE_IFUPDOWN_IP is not set
# CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN is not set
# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
# CONFIG_FEATURE_IFUPDOWN_IPV4 is not set
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
# CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP is not set
# CONFIG_INETD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
# CONFIG_FEATURE_INETD_RPC is not set
CONFIG_IP=y
CONFIG_FEATURE_IP_ADDRESS=y
CONFIG_FEATURE_IP_LINK=y
CONFIG_FEATURE_IP_ROUTE=y
CONFIG_FEATURE_IP_TUNNEL=y
CONFIG_FEATURE_IP_RULE=y
CONFIG_FEATURE_IP_SHORT_FORMS=y
# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
CONFIG_IPADDR=y
CONFIG_IPLINK=y
CONFIG_IPROUTE=y
CONFIG_IPTUNNEL=y
CONFIG_IPRULE=y
# CONFIG_IPCALC is not set
# CONFIG_FEATURE_IPCALC_FANCY is not set
# CONFIG_FEATURE_IPCALC_LONG_OPTIONS is not set
# CONFIG_NAMEIF is not set
# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
CONFIG_NETSTAT=y
# CONFIG_FEATURE_NETSTAT_WIDE is not set
# CONFIG_FEATURE_NETSTAT_PRG is not set
CONFIG_NSLOOKUP=y
# CONFIG_NTPD is not set
# CONFIG_FEATURE_NTPD_SERVER is not set
CONFIG_PING=y
CONFIG_PING6=y
CONFIG_FEATURE_FANCY_PING=y
# CONFIG_PSCAN is not set
# CONFIG_ROUTE is not set
# CONFIG_SLATTACH is not set
CONFIG_TCPSVD=y
CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_TTYPE=y
CONFIG_FEATURE_TELNET_AUTOLOGIN=y
CONFIG_TELNETD=y
# CONFIG_FEATURE_TELNETD_STANDALONE is not set
# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
CONFIG_TFTP=y
CONFIG_TFTPD=y
#
# Common options for tftp/tftpd
#
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
# CONFIG_FEATURE_TFTP_PROGRESS_BAR is not set
# CONFIG_TFTP_DEBUG is not set
CONFIG_TRACEROUTE=y
CONFIG_TRACEROUTE6=y
# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
# CONFIG_TUNCTL is not set
# CONFIG_FEATURE_TUNCTL_UG is not set
CONFIG_UDHCPD=y
CONFIG_DHCPRELAY=y
CONFIG_DUMPLEASES=y
CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY=y
CONFIG_DHCPD_LEASES_FILE="/tmp/dhcp-leases"
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCPC_ARPING=y
# CONFIG_FEATURE_UDHCP_PORT is not set
CONFIG_UDHCP_DEBUG=0
# CONFIG_FEATURE_UDHCP_RFC3397 is not set
CONFIG_UDHCPC_DEFAULT_SCRIPT="/sbin/udhcpc-script"
CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=80
CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
CONFIG_UDPSVD=y
# CONFIG_VCONFIG is not set
CONFIG_WGET=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y
CONFIG_FEATURE_WGET_LONG_OPTIONS=y
CONFIG_FEATURE_WGET_TIMEOUT=y
# CONFIG_ZCIP is not set
#
# Print Utilities
#
# CONFIG_LPD is not set
# CONFIG_LPR is not set
# CONFIG_LPQ is not set
#
# Mail Utilities
#
# CONFIG_MAKEMIME is not set
CONFIG_FEATURE_MIME_CHARSET=""
# CONFIG_POPMAILDIR is not set
# CONFIG_FEATURE_POPMAILDIR_DELIVERY is not set
# CONFIG_REFORMIME is not set
# CONFIG_FEATURE_REFORMIME_COMPAT is not set
# CONFIG_SENDMAIL is not set
#
# Process Utilities
#
# CONFIG_IOSTAT is not set
# CONFIG_MPSTAT is not set
# CONFIG_PMAP is not set
# CONFIG_POWERTOP is not set
# CONFIG_SMEMCAP is not set
CONFIG_FREE=y
# CONFIG_FUSER is not set
CONFIG_KILL=y
CONFIG_KILLALL=y
CONFIG_KILLALL5=y
# CONFIG_NMETER is not set
# CONFIG_PGREP is not set
# CONFIG_PIDOF is not set
# CONFIG_FEATURE_PIDOF_SINGLE is not set
# CONFIG_FEATURE_PIDOF_OMIT is not set
# CONFIG_PKILL is not set
CONFIG_PS=y
CONFIG_FEATURE_PS_WIDE=y
# CONFIG_FEATURE_PS_TIME is not set
# CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS is not set
# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
CONFIG_RENICE=y
# CONFIG_BB_SYSCTL is not set
CONFIG_TOP=y
CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
# CONFIG_FEATURE_TOP_SMP_CPU is not set
# CONFIG_FEATURE_TOP_DECIMALS is not set
# CONFIG_FEATURE_TOP_SMP_PROCESS is not set
# CONFIG_FEATURE_TOPMEM is not set
# CONFIG_FEATURE_SHOW_THREADS is not set
CONFIG_UPTIME=y
CONFIG_WATCH=y
#
# Runit Utilities
#
CONFIG_RUNSV=y
CONFIG_RUNSVDIR=y
CONFIG_FEATURE_RUNSVDIR_LOG=y
CONFIG_SV=y
CONFIG_SV_DEFAULT_SERVICE_DIR="/service"
CONFIG_SVLOGD=y
CONFIG_CHPST=y
CONFIG_SETUIDGID=y
CONFIG_ENVUIDGID=y
CONFIG_ENVDIR=y
CONFIG_SOFTLIMIT=y
# CONFIG_CHCON is not set
# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
# CONFIG_GETENFORCE is not set
# CONFIG_GETSEBOOL is not set
# CONFIG_LOAD_POLICY is not set
# CONFIG_MATCHPATHCON is not set
# CONFIG_RESTORECON is not set
# CONFIG_RUNCON is not set
# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
# CONFIG_SELINUXENABLED is not set
# CONFIG_SETENFORCE is not set
# CONFIG_SETFILES is not set
# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
# CONFIG_SETSEBOOL is not set
# CONFIG_SESTATUS is not set
#
# Shells
#
CONFIG_ASH=y
CONFIG_ASH_BASH_COMPAT=y
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
# CONFIG_ASH_GETOPTS is not set
CONFIG_ASH_BUILTIN_ECHO=y
CONFIG_ASH_BUILTIN_PRINTF=y
CONFIG_ASH_BUILTIN_TEST=y
CONFIG_ASH_CMDCMD=y
# CONFIG_ASH_MAIL is not set
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
CONFIG_ASH_RANDOM_SUPPORT=y
CONFIG_ASH_EXPAND_PRMT=y
# CONFIG_CTTYHACK is not set
# CONFIG_HUSH is not set
# CONFIG_HUSH_BASH_COMPAT is not set
# CONFIG_HUSH_BRACE_EXPANSION is not set
# CONFIG_HUSH_HELP is not set
# CONFIG_HUSH_INTERACTIVE is not set
# CONFIG_HUSH_SAVEHISTORY is not set
# CONFIG_HUSH_JOB is not set
# CONFIG_HUSH_TICK is not set
# CONFIG_HUSH_IF is not set
# CONFIG_HUSH_LOOPS is not set
# CONFIG_HUSH_CASE is not set
# CONFIG_HUSH_FUNCTIONS is not set
# CONFIG_HUSH_LOCAL is not set
# CONFIG_HUSH_RANDOM_SUPPORT is not set
# CONFIG_HUSH_EXPORT_N is not set
# CONFIG_HUSH_MODE_X is not set
# CONFIG_MSH is not set
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
# CONFIG_FEATURE_BASH_IS_ASH is not set
# CONFIG_FEATURE_BASH_IS_HUSH is not set
CONFIG_FEATURE_BASH_IS_NONE=y
# CONFIG_SH_MATH_SUPPORT is not set
# CONFIG_SH_MATH_SUPPORT_64 is not set
CONFIG_FEATURE_SH_EXTRA_QUIET=y
# CONFIG_FEATURE_SH_STANDALONE is not set
# CONFIG_FEATURE_SH_NOFORK is not set
#
# System Logging Utilities
#
# CONFIG_SYSLOGD is not set
# CONFIG_FEATURE_ROTATE_LOGFILE is not set
# CONFIG_FEATURE_REMOTE_LOG is not set
# CONFIG_FEATURE_SYSLOGD_DUP is not set
CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=0
# CONFIG_FEATURE_IPC_SYSLOG is not set
CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=0
# CONFIG_LOGREAD is not set
# CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING is not set
# CONFIG_KLOGD is not set
# CONFIG_FEATURE_KLOGD_KLOGCTL is not set
# CONFIG_LOGGER is not set

26
sh4pwn/cleanup.sh Executable file
View File

@ -0,0 +1,26 @@
#! /bin/sh
# Invoked by buildroot just before making a filesystem
move () {
[ -d $1 ] && (cd $1 && tar cf - .) | (cd $2 && tar xf -) && rm -rf $1
}
rm -rf $1/init.d
rm -rf $1/var/cache $1/var/lib
move $1/usr/bin $1/bin
move $1/usr/sbin $1/sbin
move $1/usr/lib $1/lib
move $1/usr/share $1/lib
[ -d $1/usr ] && rmdir $1/usr
[ -x $1/usr ] && rm $1/usr
set
cp $(dirname $0)/skeleton/sbin/init $1/sbin || exit 1
cat <<EOF > $1/etc/issue
o Dirtbags Shitty Linux
(m) $(date --rfc-3339=date)
EOF

1645
sh4pwn/linux.config Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1 @@
127.0.0.1 localhost

View File

@ -0,0 +1,2 @@
o Dirtbags Tiny Linux
(m)

View File

@ -0,0 +1 @@
root::0:0:root:/tmp:/bin/sh

View File

@ -0,0 +1,6 @@
PATH=/bin
[ $USER = root ] && PATH=/sbin:/bin
for i in /opt/*/bin; do
[ -d $i ] && PATH=$i:$PATH
done
export PATH

View File

View File

View File

View File

55
sh4pwn/skeleton/sbin/init Executable file
View File

@ -0,0 +1,55 @@
#! /bin/sh
loudmount () {
echo -n " $3"
mount -t $1 $2 $3
}
sysctl () {
echo $2 > /proc/sys/$1
}
if [ $$ -ne 1 ]; then
echo "Perhaps you wanted poweroff, reboot, or halt?"
exit
fi
echo -n "Mounting filesystems:"
loudmount proc proc /proc
loudmount sysfs sys /sys
loudmount tmpfs dev /dev
/sbin/mdev -s
mkdir /dev/pts
loudmount devpts pts /dev/pts
loudmount tmpfs tmp /tmp
loudmount tmpfs mnt /mnt
echo "."
if grep -q noinit /proc/cmdline; then
exec /bin/sh
fi
echo -n "Setting kernel parameters..."
sysctl kernel/hotplug /sbin/mdev
sysctl kernel/randomize_va_space 2
sysctl kernel/hostname dbtl
sysctl kernel/ctrl-alt-del 0
sysctl net/ipv4/tcp_syncookies 1
echo " done."
echo -n "Setting up /service..."
if ! mkrw /service; then
echo " failed! How embarassing!"
echo
echo "Er, sorry about that. Here's a shell, hopefully you"
echo "can sort things out. The machine will reboot when this shell"
echo "exits."
/bin/sh
busybox reboot -f
fi
echo " done."
## Hand off to runit
exec runsvdir -P -s /sbin/runit-signal /service \
'log: ....................................................................................................................................'

17
sh4pwn/skeleton/sbin/mkrw Executable file
View File

@ -0,0 +1,17 @@
#! /bin/sh -e
if ! [ -d "$1" ]; then
echo "usage: $0 DIRECTORY"
echo
echo "Makes DIRECTORY a read/write tmpfs mount with the same"
echo "contents."
exit 1
fi
fsname=$(basename $1)
mkdir /tmp/$fsname
mount -t tmpfs $fsname /tmp/$fsname
(cd $1 && tar cf - .) | (cd /tmp/$fsname && tar xf -)
mount -o move /tmp/$fsname $1
rmdir /tmp/$fsname

View File

@ -0,0 +1,69 @@
#! /bin/sh
##
## Signal handler for runit
##
if [ $PPID != 1 ]; then
echo "This program should only be invoked by PID 1."
# The reason is that killall5 won't kill anything in the same
# process group. That means it won't kill your invoking shell,
# getty, or svrun. That in turn prevents filesystems from
# unmounting, or even being remounted ro, since svrun (at least) has
# a FIFO open for writes. And if we reboot without unmounting
# filesystems, that's bad.
echo "Feel free to read $0 to learn why :)"
exit 1
fi
waitall () {
for i in $(seq 50); do
# If all processes are in group 0, we're done
awk '($5){exit 1;}' /proc/[0-9]*/stat && return 0
usleep 200000
done
return 1
}
cleanup () {
echo "Stopping services..."
sv stop /service/*
echo "Asking processes to exit..."
killall5 -HUP
killall5 -TERM
if waitall; then
echo "Forcing processes to exit..."
killall5 -KILL
waitall
fi
echo "Unmounting file systems..."
umount -a -r
# Sometimes when we reach here we still haven't been able to umount
# everything. Not much more we can do about that, other than flush
# write buffers and hope for the best.
sync
}
case $1 in
1) # SIGHUP
;;
15) # SIGTERM: reboot
cleanup
echo "Rebooting..."
reboot -f
;;
10) # SIGUSR1: halt
cleanup
echo "Halting..."
halt -f
;;
12) # SIGUSR2: power
cleanup
echo "Shutting down..."
poweroff -f
;;
*) # Everything else
;;
esac

View File

@ -0,0 +1,39 @@
#!/bin/sh
# udhcpc script edited by Tim Riker <Tim@Rikers.org>
[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
RESOLV_CONF="/etc/resolv.conf"
[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast"
[ -n "$subnet" ] && NETMASK="netmask $subnet"
case "$1" in
deconfig)
/sbin/ifconfig $interface 0.0.0.0
;;
renew|bound)
/sbin/ifconfig $interface $ip $BROADCAST $NETMASK
if [ -n "$router" ] ; then
echo "deleting routers"
while route del default gw 0.0.0.0 dev $interface ; do
:
done
for i in $router ; do
route add default gw $i dev $interface
done
fi
echo -n > $RESOLV_CONF
[ -n "$domain" ] && echo search $domain >> $RESOLV_CONF
for i in $dns ; do
echo adding dns $i
echo nameserver $i >> $RESOLV_CONF
done
;;
esac
exit 0

View File

@ -0,0 +1,3 @@
#! /bin/sh
ip addr set dev eth0 down

View File

@ -0,0 +1,6 @@
#! /bin/sh -e
ip link set dev eth0 up
exec inotifyd true $(pwd)

View File

@ -0,0 +1,3 @@
#! /bin/sh
ip link set dev lo down

7
sh4pwn/skeleton/service/lo/run Executable file
View File

@ -0,0 +1,7 @@
#! /bin/sh -e
ip link set dev lo up
ip addr add 127.0.0.1/8 dev lo
exec inotifyd true $(pwd)

View File

@ -0,0 +1,8 @@
""\/ \/""
"\__/" A STAG PARTY YOU SAY ?!!?!?!?
(oo)
-. ______-LJ WELL OF COURSE I'D LOVE TO ATTEND
,' |
|.____.. / SAY WHAT REPEAT THAT LAST PART ABOUT WHAT IT IS AGAIN
\\ /A\
|A |// vir. pwn:xudap-tinak-kanex

View File

@ -0,0 +1,3 @@
#! /bin/sh
exec tcpsvd :: 23 telnetd -f issue -l /bin/sh

View File

@ -0,0 +1,6 @@
#! /bin/sh
dev=/dev/$(basename $(pwd))
test -c $dev || exit
exec getty 38400 $dev

View File

@ -0,0 +1 @@
../tty1/run

View File

@ -0,0 +1 @@
../tty1/run

View File

@ -0,0 +1 @@
../tty1/run

View File

View File

View File

@ -0,0 +1,42 @@
# When building a target filesystem, it is desirable to not have to
# become root and then run 'mknod' a thousand times. Using a device
# table you can create device nodes and directories "on the fly".
#
# This is a sample device table file for use with genext2fs. You can
# do all sorts of interesting things with a device table file. For
# example, if you want to adjust the permissions on a particular file
# you can just add an entry like:
# /sbin/foobar f 2755 0 0 - - - - -
# and (assuming the file /sbin/foobar exists) it will be made setuid
# root (regardless of what its permissions are on the host filesystem.
# Furthermore, you can use a single table entry to create a many device
# minors. For example, if I wanted to create /dev/hda and /dev/hda[0-15]
# I could just use the following two table entries:
# /dev/hda b 640 0 0 3 0 0 0 -
# /dev/hda b 640 0 0 3 1 1 1 15
#
# Device table entries take the form of:
# <name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
# where name is the file name, type can be one of:
# f A regular file
# d Directory
# c Character special device file
# b Block special device file
# p Fifo (named pipe)
# uid is the user id for the target file, gid is the group id for the
# target file. The rest of the entries (major, minor, etc) apply only
# to device special files.
# Have fun
# -Erik Andersen <andersen@codepoet.org>
#
#<name> <type> <mode> <uid> <gid> <major> <minor> <start> <inc> <count>
/dev d 755 0 0 - - - - -
/tmp d 1777 0 0 - - - - -
/bin/busybox f 4755 0 0 - - - - -
/etc/passwd f 644 0 0 - - - - -
/etc/shadow f 600 0 0 - - - - -
/dev/console c 666 0 0 5 1 - - -
/dev/null c 666 0 0 1 3 - - -
/dev/zero c 666 0 0 1 5 - - -

View File

@ -6,7 +6,7 @@ case "$1" in
exit
esac
bb=$(dd bs=1 count=5 if=/dev/urandom 2>/dev/null | ./bubblebabble)
bb=$(dd bs=1 count=5 if=/dev/urandom 2>/dev/null | bubblebabble)
points=$2${2:+:}
echo $1:$points$bb