python solve encrypted data

-4

can you help me? -> gzip and Crypto, would you help me retrieve it in the places you encrypt?

tc=ؿ재 .򅾳:!w^~��F짼9ЏL˟"ࠂ̸ߝҎʊ÷Nl7Ḽ̌ɠ!,לO߶۽eSaƓŇޗ܁ˮ?􊒗ʤÏؙ:pٸܔާڔ4T#<BLJ黵ܒsւ򝶨WӝϘUΦ5��ƘҔ6҃f˗ߓTԎ!ӡ0ْ䣐)æ腀jh.Dhƃ:eŎVҠ vyŪޣ*Ǎ􁩏Ơn`t򻢳œ�톦Á~ׅ⟸s|ڹ؏؂Mք6)񻤈ijDd̅ӇX{	&㔂QҒŚ'ވ͛Ϛ<Ңe_ࠃφ!t䞹Ϭ䠥Ѥ䫄ݎڃڽҖg㜒7𯮪𬴄`{кOY(֯�Rࠞ4%ࠌ/Ѷ}tʔ𞳉򜧢 j~˧rPJ33ϹࠝO5 궻lSʇ]ހוܟ{_話Q,2	b8Śμɽ̜b|��֐ڃvq'g;𙅦ϖƧԚ%k:ڳ؜֧�ٖ|➫4̥��eG˘kՔ/%E۩곍Nk\ɟӍۯʶ Eټԕݙֲy ��ղͧ4^t𿄠ѳoΕ;HۊǝصNʳ䳣lwר󢗘̺҈d
;,ɭѼfH3&+وД۷܇ןh£ԼɔnKƘ'
큔֦ق︈J|ӝmbh_7f����ڈo𞂻ٳޗ/WE��דBs㛴ׯݛ܌ᛣŘеqֱ-x:ξuR˒xPKȂޗ羜^ēʉ^҄֏͗-ǻ��ߑ
jM𣼾ﱌ��ӱzǴy鼭`̤޲I4��ӛDωt
+=դ؀ϥĹ8SńgYePёĥGm0˖ʺI	2Z"̖d5ػP֩VӪ񯮝r:ݰn5)Źq 5Ӷw͟U۟[hȺߞ0&ծ̈۲⎙Iοʎ`f꘶Գ嶦֖B11唐 Ыiږg婷ퟘ�ʂɸ;ӬZN+ޟb񠬫w��\|֔¦~ړäퟔ�	Κ��ۋY𾃥8ѭ?􍅶܎?󘈦ޞ!kתӉݩMy߯ŎĤퟚ�xة>ǟ?.¢��驞nи^ĭ鈡ڤg|A~Ьйռ.3AY+ܰwQyekݷ~=qwyْ۹˂߲ռBڪȼܻĮt׍Ρ㍼Ϯ9xˁ
ŷՖ^ɳr쇻ѰӓϱжXх#
,ㄺ؀-?۶Ω񣙃nj>蹯tф.vp͉ٕ󋻡
֢PRv[󅽬銩$kŎƅKfĎٲBƅļ霵ǃŵbϬݞΚOՍ&gՙ󋛺Mάvhfm
😰օ'=Μ|׵K_ᰳIj. ࠸يnֱքĀqꊴΟǮܝÉ᜼P&ζsޓ덒붰ϰ9Uήӵƴ۷^~ݒ>ӾΜȱҌң,ߋͩӱ񥸾yΥeȓMƟTYd*��Ún쵚<zƹĒDEz鳣ڒŸ׹-ësYvEOԊ[dž鵔:򪯓>*i/}ڕǒPȆ󪗴ȳߪɋІ,9-]ۉӃUoݛZψPLjRd]' POfb8ה+w?򰕭iW#Ļ̰̅tPF񩱵

tc\x02\x02=\xd8\xbf\xec\x9e\xac .\xf2\x85\xfe3:!\x19\xa17^~\xfd\x93\x96 F\xebg<9\xb0\x8fL\xcb\x9f\x07"\xbf\xc2\xabx\xbf\x1d\xb2\x8e\x89J\x837Nl7\x1e\xa4\xbd\x8c-\x89\x00!,\xd7\x9cO\xde\xf6\x15\xda\xfdeSa\xa5\xd3\x1b\xa5\x87\xde\x97\x08\xdb\xc1\x8b.?\xfc\xca\x12\x97\xa9d\x1a\xc3\x0f\x15\xb8\x99:\x03p\xb8x\x9bT\x9e'\x9a\x144\x7fT#<B\xa6\xc7\xe8\xfb5\xbb\xd2\xee6\x11s\xd6\x82\xfa]\xf6h\x0c\xc1[W\x81\xcf\x93\x9d\xaf\x98U\xcdf5\xfe\xc7Q\xdf\xc5\xd8\xd2\x946\xd2\x83f\xcb\x97\xde\xd3T\xb3N!\xd2a0\xd8\xd2\xe3\xe3\x10)\xc3\xa6\xe7D@j\xa0h.\x08D\x06h\x86\x03:e\xa5\x0eV\x91\xe0 vy\xa4\xea\x9d\xe3*\xc7
\x0f\x11\xfc\xc1i\x8f\xc5`n\x1e`\x07t\x1e\xfa{\xe2s\xc4S\xecbr\xed\x85\xe6\x12\xc3\x01\x0e~\xd6E\x1e\xe1_\xb8s|\xba\xb9\x08\xb7O\x97BM\xb6\x846)\xf9\xbb$\x88\x83sDd\xab\xc5\xd3\x07X{	&\xe2T\x02Q\xd1\xd2\xc5\x9a'\x08\xde\x88\xee\xa5Y\xad\x1b\x02\x07\xce\xda<\x91be\x12_\x9f\xc3\xce\xc6!t\xe4\x1e9\x8el\xe4\x9fe\xd0d\xe4*D\x9cN\xda\x83\x99}\xd1Vg\x12\xe2\\\x927\xf8o\xee*\xf0\xec\xf4D`{\x05\x1a\x8fzOY(\x06\x96/\xed\xb1\x7fR\x9f\xde4%\xbf\xcc/\x916}t\xc9T\xf8\xde\xb3\xc9\xf2\\\xa7\xa2\x00j~\xcagrPJ\x15\x1433\xce\xf9\x9f]\x0cO5\x1f \xea5{\x02lS\x8a\x07]\xdd@\xb6U\xdb_{_\x04\xe8\xa9\xb1Q,\x072	b8\x84\xda\xae\xbc\xa8}\xac\x9cb|\xf4=P`\x96\x90\xba\x03\x12vq'\x05\x17g;\xf8\xd9\x05&\xcf\x16\xc6'\x93\xda%k:\x9a3\x10\xb8\x9c\xb5\xe7\xed&)\xb8\xd6|\x1d\xe2\x1e+4\x1e\xcc%\xf4\xfc\xfd?eG\xca\xd8\x15k\x95\x94/%E\x9b\xa9\xea2MNk\\\x88_\x92M\xbao\xa9\xf6\x00E\xd8|\xb4\x95\x9c\xd9\xd5\xf2\x81\xd2y\x00\xf5F\xf7;\xb4\xf2\x03\xcd'4^t\xf0?\xc4 \xef\xd1\xb3o\xcd\xd5;H\x9aJ\xa7\x9d\x98\xb5N\xa9\xf3\x1d\xe42\xe3lw\x96\xe8\xfbbWX\xab\xfa\x92\x08d
;,\xa8m\x0f\xd0|f\x81\x083\x17&+\xb9\x88\x90\x14\x9b\xb7\xdc\x07\x7f\x97\x9fh\x13\xa2#\xb4\xbc\x89\x14nK\xc6\x18'
\xecA\x14\x96&\xb9\x82\xef\xb8\x08J\x07|\xb2]\x7fmb\x80\xe8_7f\x04\xfd\x85k6\xfec\xcb\x9c\xba\x08o\xf8\x9eB{\x993\xdd\xd7/WE\xf5ZH\x05\xd7\x13Bs\xe3\x1b\xb4\xb6o\x9c\xdb\xdbL\xe0[\xa3\xa4X\xcf\xf5\x7fq\x961-x:\xae>uR\xab\x92xPK\xc1\xcb\xc8\x82\xddW\xe7\xbe\x9c^\x83\xd3\xa9I^\x92\x04\xb6\x0f\xac\xd7-\xa6{\xf5\x02\xaa\x19\xbe\xd1\x02
\x19j\x18M\xf8\xa3<~\xeep\xcc\x13\xfd\x8a\x89o\xd2qz\x874y\xe9;m\x1e\x12`\xcc$\xa5\x9e\x82\xb2I4\xf7Ji\x9c\x92\xdbD\xcf	t
+\x19=\x95$\xd8\x80\xaf%\x8498S\x84\xc4gYeP\xb1\x11\xc3\xe5Gm0\xab\x16\xa9\xfaI	2Z"\x8b\xd6d5\xd7\xfb\x7f\xef;\xf0\xd5\xe9V\x92\xea\xc0\x87\xf9o.]r:\x0f\x9c\xf0n5)\xa4yq 5\x92\xf6w\x8c\xdfU\xdb\x1f[h\x88:\x9f\x9e0&\xb5\xae\x16\x8b\xc8\xbb2\xe2\x8e\x99I\xcd\xff\x89\xce`f\xea\x18\xb6\xd3\xf3\xe4v&\xb5VB\x80\xb1\x0e1\xe4\xd3P \x90+i\xba\x96g\xe4\xe8\xf7\x1c\xf8\xc6\xccs\xc9B\xa98;\x93\xacZ\x02N+\xdd_b\xf9\x00\xeck\xa1\xb7\xf4?\x96"\\|\x95\xd4\x81\xe6~\x9a\x93\x82\xe4\xf0E\x04\xce	\x8dZ\xfd$\xd5q\x15\xdaKY\x7f\xf8~\xc3%8\xd0m?\xf4\x8dEv\xbc\x8e?\xfb\xd8\x88f\xde\x1e!k\x97\xaa\xb3\x89\xdc\xe9M\x01y\xbf/\x85\x8e\x83d\xf8\x86'\x95x\xa0\x93\x97i>\x86_?.\x81b\xfe\xb5\x0b\x1d\xe9\xa8^n\x8fx^\xc3m\x17\xe9\x87a\x7f\xb9\xe4g|A~\x90,\xb09\xb4|.\x0c3AY+\xbb\xf0wQy\x1fek\xbcw~=qwy\xd9\x12\xdb\xb9\x8aB\x9f2\xd4\xfcB\x99j\xa7|\xbb{\x83\xeet\xd7\x8d\x8e!\xe2L|\xcf.9x\x11\xaaA
\xa57\x02\x94\xd6^\xc9\xb3r\xec\x07\xbb\xb0\xf0\xd3\x13\xae\xf1\x8f\xf6\x1fX\xb0\xc5#
,\xe2\xc3\xfa\x97\xc0-?\xbb\xb6\xad\xe9\x01\xf9c\x99\xc3\x87\x8c>\xe7y\xaft\xb0D.vp\xad\x89\xb9\x15\xfb\x8b\xbb\xa1
\xd5\xe2\x14PRv[\xfb\xc5\xbd\xec\xe8\xca\xa9$k\xc4\xce\xa6\x85Kf\xa3\xce\x992B\xa5\xc5\x15\xc4\xbc\xe8\xdc5\xa6C\xc5\xb5b\x8el\x9d\x1e\x07\xcdZO\xd4M&g\xb5\x19\xfb\xcb\xdb\xfaM\xcdlvhfm
\xf8\x1f\x98\xb0\x96\x85'=\xce\x9c|\xb6uK_\xe1\xb03Ij. \xbfx\xd9\x8an\xb61\xd6\x04\x83\xc0q\x0c\xea\x89t\xad_\xc6\xee\x9b\xdd\xa3\x89\xe0\xdc<P\xa0\x17&\x8d\xf6s\xddS\xeaM\x12\xeau\xf0\xcf\xb09\x16\x07U\xad\xee\x92u\x85\xf4\x9a\xf7^~\xbc\xd2>\x93>\xae\x1c\x88\xb1\x91\xcc\xb1c,\xdf\x0b\xcd\xa9\xd3\xb1\xf9%\xf8>y\xae\xa5e\xa8\x13M\xa6\x9fTYd*\xf5\xc3z\xe7\x83\x9an\xec\xb4Z<z\x85\xf9\xc3RDEz\xe8rc\x99\xd2\xc58\x97\xb9-\xc2ks\x1dY\xa1\xb6\x81\x85O\xd4

# handle_crypto.py

def enclen(p):
    return ((16 - p % 16) & 0xF) + p + 4


def rsb(a, b):
    return (0 - a + b) & 0xffffffff


def ands(a, b):
    return (a & b) & 0xffffffff


def _ror(val, bits, bit_size):
    return ((val & (2 ** bit_size - 1)) >> bits % bit_size) | \
           (val << (bit_size - (bits % bit_size)) & (2 ** bit_size - 1))


def __ROR4__(a, b):
    return _ror(a, b, 32)


def eor(a, b):
    return (a ^ b) & 0xffffffff


class Crypto(object):
    def __init__(self):
        self.key = b'!*ss!_defaul%t54'
        self.kl = 0x10
        self.sbox0 = bytes.fromhex(
            '637C777BF26B6FC53001672BFED7AB76CA82C97DFA5947F0ADD4A2AF9CA472'
            'C0B7FD9326363FF7CC34A5E5F171D8311504C723C31896059A071280E2EB27'
            'B27509832C1A1B6E5AA0523BD6B329E32F8453D100ED20FCB15B6ACBBE394A'
            '4C58CFD0EFAAFB434D338545F9027F503C9FA851A3408F929D38F5BCB6DA21'
            '10FFF3D2CD0C13EC5F974417C4A77E3D645D197360814FDC222A908846EEB8'
            '14DE5E0BDBE0323A0A4906245CC2D3AC629195E479E7C8376D8DD54EA96C56'
            'F4EA657AAE08BA78252E1CA6B4C6E8DD741F4BBD8B8A703EB5664803F60E61'
            '3557B986C11D9EE1F8981169D98E949B1E87E9CE5528DF8CA1890DBFE64268'
            '41992D0FB054BB16')
        self.plen = 0

    def crypt(self, payload):
        if not isinstance(payload, bytes):
            payload = payload.encode('utf8')
        self.plen = len(payload)
        i = 0
        r = [00] * 16
        while i < self.kl:
            a = self.key[i]
            r[i] = self.sbox0[a]
            i += 1

        t = int.from_bytes(r[:4], 'big')
        r[:4] = int.to_bytes(t, 4, 'little')
        t = int.from_bytes(r[4:8], 'big')
        r[4:8] = int.to_bytes(t, 4, 'little')
        t = int.from_bytes(r[8:12], 'big')
        r[8:12] = int.to_bytes(t, 4, 'little')
        t = int.from_bytes(r[12:16], 'big')
        r[12:16] = int.to_bytes(t, 4, 'little')
        b = rsb(self.plen, 0)
        b = ands(b, 0xf)
        c = b + self.plen + 4

        result = [00] * enclen(self.plen)
        result[0] = 0x74
        result[1] = 0x63
        result[2] = 0x02
        result[3] = b
        result[4:len(payload) + 4] = payload

        i = 4
        while i != c:
            a = result[i]
            result[i] = self.sbox0[a]
            i += 1

        a = c - 4
        b = 0
        a = a >> 4
        d = 4
        while b < a:
            c = int.from_bytes(result[d:d + 4], 'big')
            e = int.from_bytes(r[:4], 'little')
            c ^= e
            result[d:d + 4] = int.to_bytes(c, 4, 'big')
            c = int.from_bytes(result[d + 4:d + 8], 'big')
            e = int.from_bytes(r[4:8], 'little')
            c = eor(e, __ROR4__(c, 24))
            result[d + 4:d + 8] = int.to_bytes(c, 4, 'big')
            c = int.from_bytes(result[d + 8:d + 12], 'big')
            e = int.from_bytes(r[8:12], 'little')
            c = eor(e, __ROR4__(c, 16))
            result[d + 8:d + 12] = int.to_bytes(c, 4, 'big')
            c = int.from_bytes(result[d + 12:d + 16], 'big')
            e = int.from_bytes(r[12:16], 'little')
            c = eor(e, __ROR4__(c, 8))
            result[d + 12:d + 16] = int.to_bytes(c, 4, 'big')
            b += 1
            d += 0x10
        return bytes(result)


c = Crypto()

print(bytes([ 116, 99, 2, 10, 190, 168, 183, 118, 176, 0, 186, 182, 54, 234, 222, 119, 248, 150, 145, 59, 229, 224, 157, 157, 249, 215, 91, 85, 52, 235, 190, 87, 114, 85, 97, 91, 197, 28, 116, 194, 111, 121, 18, 130, 183, 192, 208, 119, 195, 252, 197, 49, 16, 82, 12, 25, 58, 203, 180, 73, 11, 22, 222, 29, 149, 105, 219, 215, 189, 10, 16, 204, 121, 80, 14, 106, 174, 96, 206, 0, 114, 101, 62, 73, 98, 120, 204, 118, 218, 202, 172, 14, 220, 162, 174, 19, 39, 223, 219, 247, 239, 226, 72, 136, 6, 172, 32, 110, 80, 140, 254, 51, 92, 241, 245, 123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]))

hi,can you help me? -> gzip and Crypto, would you help me retrieve it in the python restore encrypted solve places you encrypt?

python
encryption
decode
encode
asked on Stack Overflow Jan 17, 2019 by Eray Tank • edited Jan 17, 2019 by Eray Tank

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0