Exemple #1
0
    def test_model_file_bytes(self):
        with self.getRamCore() as core:

            hset = s_axon.HashSet()
            hset.update(b'visi')

            valu, props = hset.guid()
            t0 = core.formTufoByProp('file:bytes', valu, **props)

            self.eq(t0[1].get('file:bytes:size'), 4)

            self.eq(t0[1].get('file:bytes'),
                    '442f602ecf8230b2a59a44b4f845be27')
            self.eq(t0[1].get('file:bytes:md5'),
                    '1b2e93225959e3722efed95e1731b764')
            self.eq(t0[1].get('file:bytes:sha1'),
                    '93de0c7d579384feb3561aa504acd8f23f388040')
            self.eq(
                t0[1].get('file:bytes:sha256'),
                'e45bbb7e03acacf4d1cca4c16af1ec0c51d777d10e53ed3155bd3d8deb398f3f'
            )
            self.eq(
                t0[1].get('file:bytes:sha512'),
                '8238be12bcc3c10da7e07dbea528e9970dc809c07c5aef545a14e5e8d2038563b29c2e818d167b06e6a33412e6beb8347fcc44520691347aea9ee21fcf804e39'
            )
Exemple #2
0
    def _ingFileInfo(self, core, data, info, scope):

        with scope:

            self._ingMergScope(core, data, info, scope)

            cond = info.get('cond')
            if cond != None and not self._isCondTrue(cond, scope):
                return

            path = info.get('path')

            byts = data.valu(path)

            dcod = info.get('decode')
            if dcod != None:
                byts = s_encoding.decode(dcod, byts)

            hset = s_axon.HashSet()
            hset.update(byts)

            iden, props = hset.guid()

            mime = info.get('mime')
            if mime != None:
                props['mime'] = mime

            tufo = core.formTufoByProp('file:bytes', iden, **props)

            self.fire('gest:prog', act='file')

            for tag in scope.iter('tags'):
                core.addTufoTag(tufo, tag)
                self.fire('gest:prog', act='tag')
Exemple #3
0
    def test_model_file_seeds(self):
        with self.getRamCore() as core:

            hset = s_axon.HashSet()
            hset.update(b'visi')

            valu, props = hset.guid()
            t0 = core.formTufoByProp('file:bytes', valu, **props)

            self.eq(t0[0], core.formTufoByProp('file:bytes:sha256', props.get('sha256'))[0])
            self.eq(t0[0], core.formTufoByProp('file:bytes:sha512', props.get('sha512'))[0])

            self.ne(t0[0], core.formTufoByProp('file:bytes:sha1', props.get('sha1'))[0])
            self.ne(t0[0], core.formTufoByProp('file:bytes:md5', props.get('md5'))[0])
Exemple #4
0
    def test_axonblob(self):
        with self.getTestDir() as axondir:
            axon = s_axon.Axon(axondir)
            core = axon.core

            hset = s_axon.HashSet()
            hset.update(b'visi')

            valu, props = hset.guid()
            props.update({'off': 0})

            t0 = core.formTufoByProp('axon:blob', valu, **props)
            self.eq(t0[1].get('axon:blob:off'), 0)
            self.eq(t0[1].get('axon:blob:size'), 4)
            self.eq(t0[1].get('axon:blob'), '442f602ecf8230b2a59a44b4f845be27')
            self.eq(t0[1].get('axon:blob:md5'), '1b2e93225959e3722efed95e1731b764')
            self.eq(t0[1].get('axon:blob:sha1'), '93de0c7d579384feb3561aa504acd8f23f388040')
            self.eq(t0[1].get('axon:blob:sha256'), 'e45bbb7e03acacf4d1cca4c16af1ec0c51d777d10e53ed3155bd3d8deb398f3f')
            self.eq(t0[1].get('axon:blob:sha512'), '8238be12bcc3c10da7e07dbea528e9970dc809c07c5aef545a14e5e8d2038563b29c2e818d167b06e6a33412e6beb8347fcc44520691347aea9ee21fcf804e39')