mount_sd.py 文件源码

python
阅读 36 收藏 0 点赞 0 评论 0

项目:fuse-3ds 作者: ihaveamac 项目源码 文件源码
def write(self, path, data, offset, fh):
        if self.readonly:
            raise FuseOSError(errno.EROFS)
        # special check for special files
        if os.path.basename(path).startswith('.'):
            if common.windows:
                f = open(path, 'r+b', buffering=0)
                f.seek(offset)
                return f.write(data)
            else:
                with self.rwlock:
                    os.lseek(fh, offset, 0)
                    return os.write(fh, data)

        before = offset % 16
        iv = self.path_to_iv(path) + (offset >> 4)
        out_data = self.crypto.aes_ctr(0x34, iv, (b'\0' * before) + data)[before:]
        if common.windows:
            with open(path, 'r+b', buffering=0) as f:
                f.seek(offset - before)
                written = f.write(out_data)
        else:
            with self.rwlock:
                os.lseek(fh, offset, 0)
                written = os.write(fh, out_data)

        return written
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号