-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathobfs.c
14 lines (14 loc) · 1.39 KB
/
obfs.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int d[] = {-1};
#define x(h) ((h >= 97) ? h - 87 : h - 48)
char* q; main(){int c=0;while(q[c]){putchar(x(q[c])*16+x(q[c+1]));c += 2;}printf("q=\"%s\";\n",q);}
/*-}();
e = fromEnum
c _ [] = []
c n xs = let (ys, zs) = splitAt n xs in ys : c n zs
t x | x >= 48 && x <= 57 = x - 48
| x >= 97 && x <= 102 = x - 87
f (a:b:[]) = 16 * (t $ e a) + (t $ e b)
b s = map (\s' -> toEnum(f s') :: Char) (c 2 s)
main = do putStr . b $ q; putStrLn ("q=\"" ++ q ++ "\";")
-- */char*
q="696e7420645b5d203d207b2d317d3b0a23646566696e65207828682920282868203e3d20393729203f2068202d203837203a2068202d203438290a636861722a20713b206d61696e28297b696e7420633d303b7768696c6528715b635d297b70757463686172287828715b635d292a31362b7828715b632b315d29293b63202b3d20323b7d7072696e74662822713d5c2225735c223b5c6e222c71293b7d0a2f2a2d7d28293b0a65203d2066726f6d456e756d0a63205f205b5d203d205b5d0a63206e207873203d206c6574202879732c207a7329203d2073706c69744174206e20787320696e20207973203a2063206e207a730a742078207c2078203e3d2034382026262078203c3d203537203d2078202d2034380a202020207c2078203e3d2039372026262078203c3d20313032203d2078202d2038370a662028613a623a5b5d29203d203136202a20287420242065206129202b202874202420652062290a622073203d206d617020285c7327202d3e20746f456e756d286620732729203a3a20436861722920286320322073290a6d61696e203d20646f20707574537472202e2062202420713b207075745374724c6e202822713d5c2222202b2b2071202b2b20225c223b22290a2d2d202a2f636861722a0a";