SYMBOL INDEX (146 symbols across 47 files) FILE: arg_errors.go type argErrors (line 5) | type argErrors struct method flagError (line 17) | func (p *argErrors) flagError(flag string, err error) { method flagErrorf (line 22) | func (p *argErrors) flagErrorf(flag string, format string, a ...interf... method flagWarningf (line 27) | func (p *argErrors) flagWarningf(flag string, format string, a ...inte... method warningf (line 32) | func (p *argErrors) warningf(format string, a ...interface{}) { function newArgErrors (line 10) | func newArgErrors() *argErrors { FILE: args.go function init (line 16) | func init() { constant defaultConcurrency (line 24) | defaultConcurrency = 30 constant defaultTerminalWidth (line 25) | defaultTerminalWidth = 80 constant maxConcurrency (line 26) | maxConcurrency = 256 type Args (line 30) | type Args struct function parseArgs (line 44) | func parseArgs() (*Args, *argErrors) { FILE: hints.go function _f (line 9) | func _f(f string) string { function makeDetectionHints (line 24) | func makeDetectionHints(args *Args) []string { function printHints (line 48) | func printHints(p *output.Printer, hints []string) { FILE: main.go function main (line 24) | func main() { FILE: pkg/client/client.go type Client (line 16) | type Client struct method DoRequest (line 48) | func (c *Client) DoRequest(ctx context.Context, cipher []byte) (*Respo... FILE: pkg/client/client_test.go function TestClient_DoRequest (line 16) | func TestClient_DoRequest(t *testing.T) { function TestClient_BrokenURL (line 104) | func TestClient_BrokenURL(t *testing.T) { function TestClient_NotRespondingServer (line 110) | func TestClient_NotRespondingServer(t *testing.T) { FILE: pkg/client/probe.go constant probeCount (line 9) | probeCount = 256 type ProbeResult (line 12) | type ProbeResult struct method SendProbes (line 21) | func (client *Client) SendProbes(ctx context.Context, chunk []byte, pos ... FILE: pkg/client/probe_test.go function TestClient_SendProbes (line 17) | func TestClient_SendProbes(t *testing.T) { FILE: pkg/client/response.go type Response (line 4) | type Response struct FILE: pkg/client/util.go function replacePlaceholder (line 9) | func replacePlaceholder(s, placeholder, replacement string) string { function copySlice (line 15) | func copySlice(slice []byte) []byte { FILE: pkg/color/color.go function init (line 15) | func init() { function StripColor (line 39) | func StripColor(s string) string { function TrueLen (line 44) | func TrueLen(s string) int { FILE: pkg/color/color_test.go function TestTrueLen (line 5) | func TestTrueLen(t *testing.T) { FILE: pkg/encoder/ascii.go type asciiEncoder (line 9) | type asciiEncoder struct method EncodeToString (line 12) | func (e asciiEncoder) EncodeToString(input []byte) string { method DecodeString (line 32) | func (e asciiEncoder) DecodeString(input string) ([]byte, error) { FILE: pkg/encoder/ascii_test.go function Test_asciiEncoder_EncodeToString (line 9) | func Test_asciiEncoder_EncodeToString(t *testing.T) { function Test_asciiEncoder_DecodeString (line 35) | func Test_asciiEncoder_DecodeString(t *testing.T) { FILE: pkg/encoder/factory.go function NewB64encoder (line 5) | func NewB64encoder(replacements string) Encoder { function NewLHEXencoder (line 9) | func NewLHEXencoder(replacements string) Encoder { function NewASCIIencoder (line 13) | func NewASCIIencoder() Encoder { FILE: pkg/encoder/hex.go type lhexEncoder (line 6) | type lhexEncoder struct method EncodeToString (line 8) | func (h *lhexEncoder) EncodeToString(input []byte) string { method DecodeString (line 12) | func (h *lhexEncoder) DecodeString(input string) ([]byte, error) { FILE: pkg/encoder/interface.go type Encoder (line 4) | type Encoder interface type DecodeError (line 10) | type DecodeError method Error (line 12) | func (e DecodeError) Error() string { return string(e) } FILE: pkg/encoder/replacer.go type encoderWithReplacer (line 10) | type encoderWithReplacer struct method EncodeToString (line 17) | func (r *encoderWithReplacer) EncodeToString(input []byte) string { method DecodeString (line 23) | func (r *encoderWithReplacer) DecodeString(input string) ([]byte, erro... function newEncoderWithReplacer (line 33) | func newEncoderWithReplacer(encoder Encoder, replacements string) Encoder { FILE: pkg/encoder/replacer_test.go function TestReplacer (line 12) | func TestReplacer(t *testing.T) { FILE: pkg/exploit/decrypt.go method Decrypt (line 5) | func (p *Padre) Decrypt(ciphertext []byte, byteStream chan byte) ([]byte... FILE: pkg/exploit/encrypt.go method Encrypt (line 9) | func (p *Padre) Encrypt(plainText string, byteStream chan byte) ([]byte,... FILE: pkg/exploit/exploit.go method breakCipher (line 15) | func (p *Padre) breakCipher(cipherBlock []byte, byteStreamer func(byte))... FILE: pkg/exploit/padre.go type Padre (line 8) | type Padre struct FILE: pkg/exploit/probes.go method getErrorlessByteValues (line 11) | func (p *Padre) getErrorlessByteValues(chunk []byte, pos int, maxCount i... method IsPaddingErrorInChunk (line 50) | func (p *Padre) IsPaddingErrorInChunk(chunk []byte) (bool, error) { FILE: pkg/exploit/util.go function xorSlices (line 6) | func xorSlices(s1 []byte, s2 []byte) []byte { function Pkcs7Pad (line 20) | func Pkcs7Pad(input string, blockLen int) string { function newXORingStreamer (line 25) | func newXORingStreamer(xorArg []byte, outChan chan byte) func(byte) { FILE: pkg/output/hackybar.go constant updateFreq (line 15) | updateFreq = 13 type HackyBar (line 22) | type HackyBar struct method Stop (line 60) | func (p *HackyBar) Stop() { method Start (line 66) | func (p *HackyBar) Start() { method listenAndPrint (line 72) | func (p *HackyBar) listenAndPrint() { method buildStatusString (line 133) | func (p *HackyBar) buildStatusString(hacky bool) string { function CreateHackyBar (line 45) | func CreateHackyBar(encoder encoder.Encoder, outputByteLen int, encryptM... function unknownString (line 198) | func unknownString(n int, hacky bool) string { FILE: pkg/output/prefix.go constant space (line 10) | space = ` ` type prefix (line 17) | type prefix struct method string (line 27) | func (p *prefix) string() string { method setLF (line 45) | func (p *prefix) setLF() { function newPrefix (line 53) | func newPrefix(s string, outter *prefix, paragraph bool) *prefix { FILE: pkg/output/printer.go constant _LF (line 12) | _LF = "\n" constant _CR (line 13) | _CR = "\x1b\x5b2K\r" type Printer (line 17) | type Printer struct method print (line 25) | func (p *Printer) print(s string) { method Print (line 29) | func (p *Printer) Print(s string) { method AddPrefix (line 46) | func (p *Printer) AddPrefix(s string, paragraph bool) { method RemovePrefix (line 51) | func (p *Printer) RemovePrefix() { method Println (line 56) | func (p *Printer) Println(s string) { method Printcr (line 66) | func (p *Printer) Printcr(s string) { method Printf (line 71) | func (p *Printer) Printf(format string, a ...interface{}) { method Printlnf (line 75) | func (p *Printer) Printlnf(format string, a ...interface{}) { method Printcrf (line 79) | func (p *Printer) Printcrf(format string, a ...interface{}) { method PrintWithPrefix (line 84) | func (p *Printer) PrintWithPrefix(prefix, message string) { method Error (line 90) | func (p *Printer) Error(err error) { method Errorf (line 94) | func (p *Printer) Errorf(format string, a ...interface{}) { method Hint (line 98) | func (p *Printer) Hint(format string, a ...interface{}) { method Warning (line 102) | func (p *Printer) Warning(format string, a ...interface{}) { method Success (line 106) | func (p *Printer) Success(format string, a ...interface{}) { method Info (line 110) | func (p *Printer) Info(format string, a ...interface{}) { method Action (line 114) | func (p *Printer) Action(s string) { FILE: pkg/probe/confirm.go function ConfirmPaddingOracle (line 12) | func ConfirmPaddingOracle(c *client.Client, matcher PaddingErrorMatcher,... FILE: pkg/probe/detect.go function DetectPaddingErrorFingerprint (line 11) | func DetectPaddingErrorFingerprint(c *client.Client, blockLen int) (Padd... function inSlice (line 79) | func inSlice(slice []int, value int) bool { FILE: pkg/probe/fingerprint.go type ResponseFingerprint (line 10) | type ResponseFingerprint struct function GetResponseFingerprint (line 17) | func GetResponseFingerprint(resp *client.Response) (*ResponseFingerprint... function countLines (line 26) | func countLines(input []byte) int { function countWords (line 40) | func countWords(input []byte) int { FILE: pkg/probe/interface.go type PaddingErrorMatcher (line 6) | type PaddingErrorMatcher interface FILE: pkg/probe/matcher.go type matcherByFingerprint (line 9) | type matcherByFingerprint struct method IsPaddingError (line 13) | func (m *matcherByFingerprint) IsPaddingError(resp *client.Response) (... type matcherByRegexp (line 29) | type matcherByRegexp struct method IsPaddingError (line 33) | func (m *matcherByRegexp) IsPaddingError(resp *client.Response) (bool,... function NewMatcherByRegexp (line 37) | func NewMatcherByRegexp(r string) (PaddingErrorMatcher, error) { FILE: pkg/util/http.go function ParseCookies (line 11) | func ParseCookies(cookies string) (cookSlice []*http.Cookie, err error) { function DetectContentType (line 39) | func DetectContentType(data string) string { FILE: pkg/util/http_test.go function TestParseCookies (line 9) | func TestParseCookies(t *testing.T) { function TestDetectContentType (line 37) | func TestDetectContentType(t *testing.T) { FILE: pkg/util/random.go function init (line 12) | func init() { function RandomSlice (line 26) | func RandomSlice(len int) []byte { FILE: pkg/util/random_test.go function TestRandomSlice (line 9) | func TestRandomSlice(t *testing.T) { FILE: pkg/util/strings.go function ReverseString (line 6) | func ReverseString(in string) string { FILE: pkg/util/strings_test.go function TestReverseString (line 5) | func TestReverseString(t *testing.T) { FILE: pkg/util/terminal.go function TerminalWidth (line 11) | func TerminalWidth() (int, error) { function IsTerminal (line 23) | func IsTerminal(file *os.File) bool { FILE: test_server/app.py function AES_key (line 14) | def AES_key(): function get_encoding (line 22) | def get_encoding(request): function route_encrypt (line 35) | def route_encrypt(): function route_decrypt (line 58) | def route_decrypt(): function health (line 80) | def health(): function handle_incorrect_padding (line 89) | def handle_incorrect_padding(exc): FILE: test_server/crypto.py function random_bytes (line 7) | def random_bytes(length: int) -> bytes: class IncorrectPadding (line 14) | class IncorrectPadding(Exception): method __init__ (line 15) | def __init__(self): function encrypt (line 19) | def encrypt(data: bytes, key: bytes) -> bytes: function decrypt (line 30) | def decrypt(data: bytes, key: bytes) -> str: FILE: test_server/encoder.py class Encoding (line 5) | class Encoding(Enum): function decode (line 11) | def decode(data: str, encoding: Encoding) -> bytes: function encode (line 22) | def encode(data, encoding: Encoding) -> str: FILE: test_server/tests/app_test.py function encoding (line 9) | def encoding(request): function is_vulnerable (line 14) | def is_vulnerable(request): function http_method (line 19) | def http_method(request): function secret (line 24) | def secret(): function client (line 29) | def client(is_vulnerable, secret): function call_route (line 41) | def call_route(client, http_method): function test_app (line 54) | def test_app(call_route, plaintext, is_vulnerable, encoding): function test_absent_params (line 82) | def test_absent_params(call_route): function test_health (line 97) | def test_health(call_route): FILE: test_server/tests/crypto_test.py function AES_key (line 10) | def AES_key(): function generate_plain_variants (line 14) | def generate_plain_variants(): function test_encrypt_decrypt (line 21) | def test_encrypt_decrypt(AES_key, plain): FILE: test_server/tests/encoder_test.py function test_encoding_decoding (line 9) | def test_encoding_decoding(value, encoding): function test_unknown_encoding (line 15) | def test_unknown_encoding(): FILE: usage.go function init (line 69) | func init() {