Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -module(flag).
- -export([flag/0]).
- -export([flag2/0]).
- -include("flags.hrl").
- flag() ->
- One = (?ONE_BIN),
- io:fwrite("~p~n", [<<(?PREFIX)/binary, (xor1(One, key1()))/binary>>]).
- flag2() ->
- The_Other = (?THE_OTHER_BIN),
- io:fwrite("~p~n", [<<(?PREFIX)/binary, (xoro(The_Other, keyo()))/binary>>]).
- key1() ->
- key1([]).
- keyo() ->
- keyo([]).
- key1([]) ->
- key1([9]);
- key1([_, _, _, _, _] = T) ->
- key1([71 | T]);
- key1([_, _] = T) ->
- key1([113 | T]);
- key1([_, _, _, _] = T) ->
- key1([185 | T]);
- key1([_, _, _, _, _, _, _] = T) ->
- key1([111 | T]);
- key1([_] = T) ->
- key1([150 | T]);
- key1([_, _, _, _, _, _] = T) ->
- key1([250 | T]);
- key1([_, _, _] = T) ->
- key1([221 | T]);
- key1([_, _, _, _, _, _, _, _] = T) ->
- key1([23 | T]);
- key1(F) -> F.
- keyo([]) ->
- keyo([182]);
- keyo([_, _] = T) ->
- keyo([36 | T]);
- keyo([_] = T) ->
- keyo([209 | T]);
- keyo([_, _, _] = T) ->
- keyo([34 | T]);
- keyo(F) -> F.
- xoro(Subject, [A, B, C | _T]) ->
- bx(Subject, <<A, B, C>>, <<>>).
- xor1(Subject, [A, B, C, D, E, F, G | _T]) ->
- bx(Subject, <<A, B, C, D, E, F, G>>, <<>>).
- bx(<<>>, _, Acc) -> Acc;
- bx(<<C:8, Rest/binary>>, Key, Acc) ->
- bx(Rest, Key, <<Acc/binary, (C bxor binary:at(Key, (byte_size(Rest) + 1) rem byte_size(Key))):8>>).
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement