ISCTF2023 RE mfx_re WP

魔改UPX头

Ctrl+F搜索MFX字符,修改头尾的三个

成功脱壳

看下主函数

密文每一位加一获得原文

让文心一言搓个脚本

稍作修改

def increment_ascii(input_string):  
    output_string = ""  
    for char in input_string:  
        ascii_value = ord(char)  
        incremented_value = ascii_value + 1  
        output_string += chr(incremented_value)  
    return output_string  
  
# 测试函数  
input_string = "HRBSEzdb/37ce0,ada/,3032,ab68,ca/7783c803c|"  
print(increment_ascii(input_string))

(不一样不要慌,应该是动态flag)

### `MFX_MEMTYPE_INTERNAL_FRAME` 的用途和配置方法 `MFX_MEMTYPE_INTERNAL_FRAME` 是 Intel Media SDK 中用于标识内部帧分配请求的内存类型标志。该标志表明帧的分配由 SDK 内部管理,通常用于内部处理流程,例如解码器、编码器或 VPP 模块内部使用的缓冲区。这类帧不直接暴露给应用程序,也不用于直接的 I/O 操作,而是由 SDK 在处理过程中自动管理其生命周期和使用方式[^1]。 该标志的典型应用场景包括: - **解码过程中的参考帧**:用于存储解码过程中所需的参考帧数据。 - **VPP 内部使用的中间缓冲区**:例如缩放、去隔行、色彩空间转换等操作所需的临时帧。 - **编码器内部的参考帧和重建帧**:用于帧间预测和运动估计。 在配置时,`MFX_MEMTYPE_INTERNAL_FRAME` 通常与其他内存类型标志结合使用,以指定帧的物理存储位置和访问权限。例如,在视频内存中分配内部帧时,可以结合 `MFX_MEMTYPE_VIDEO_MEMORY_DECODER_TARGET` 或 `MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET` 标志。 以下是一个典型的使用 `MFX_MEMTYPE_INTERNAL_FRAME` 的配置示例,用于 VPP 初始化时的帧分配请求: ```cpp mfxFrameAllocRequest vppInternalRequest = {}; vppInternalRequest.Info = internalInfo; // 设置帧格式、分辨率等信息 vppInternalRequest.Type = MFX_MEMTYPE_INTERNAL_FRAME | MFX_MEMTYPE_VIDEO_MEMORY_PROCESSOR_TARGET; vppInternalRequest.NumFrameSuggested = 3; // 建议分配数量 vppInternalRequest.NumFrameMin = 2; // 最小必须分配数量 ``` 在实际使用中,SDK 会根据请求的类型和当前硬件能力自动选择合适的内存分配策略。应用程序通常不需要直接访问这些帧,也不应尝试释放或修改这些帧的内容。若需要与外部资源(如 OpenGL 或 Vulkan)共享帧数据,则应使用 `MFX_MEMTYPE_EXPORT_FRAME` 或 `MFX_MEMTYPE_SHARED_RESOURCE` 标志进行导出和导入操作[^1]。 若未满足 `NumFrameMin` 的最低帧数要求,则初始化过程可能返回错误,因此建议始终检查帧分配的实际响应结果,并根据 `NumFrameActual` 字段确认实际可用帧数。 --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值