海思H.265解码库破解

    <div class="postBody"><div id="cnblogs_post_body" class="blogpost-body"><div class="markdown_views">

以后关于所有的文章分享全部转至这个Blogs

海思H.265解码库破解(去除海思LOGO)

海思H.265解码库破解(去除海思LOGO)


   最近在做一个关于H.265视频流的项目时,遇到一个问题:用海思H.265解码库,解码出来的图像会附加一个海思的logo严重影响了视频的体验。于是自己琢磨这怎么把这个logo去掉。经过广览资料和咨询朋友得到了解决方法:反汇编解码库,然后把加logo的这段代码跳过去,然后再链接回去。

静态库破解
这个给了我很大的帮助。直接按照他的第二步来开工。
——————————–
我的环境是Win7+VS2013,在vs2013的目录下

图中红色框的文件夹里的 《VS2013 x86 本机工具命令提示》这个工具下进行反汇编按照上面的资料的步骤来:
1. 导出OBJ文件 :lib /LIST HW_H265dec_Win32.lib > liblist.txt

得到解码库的OBJ文件列表,然后利用UltraEdit编辑liblist.txt,用Column菜单的Insert/Fill column功能做一个批处理文件liblist.bat,形如:

运行该批处理文件会将静态库中的所有obj文件导出到当前目录下,此时再用UltraEdit将所有obj文件打开,选择
“search / Find in Files”,查找关键字”add_log”,发现在Util.obj和DPB.obj中找到了它,需
要破解的obj文件找到了!就是Util.obj和DPB.obj,而添加LOGO的函数叫做_add_logo_H265_c。
2. 分析需要被破解的obj:运行以下命令dump出Util.obj和DPB.obj中尽可能详细的信息:dumpbin /ALL Util.obj > dumpcrackingobj.txt(DPB.obj 同样)然后经过分析Util.obj里面是_add_logo_H265_c的定义和实现,而DPB.obj里面是_DisplayPic里面调用了_add_logo_H265_c,我一开始按照常规思路就想在_DisplayPic直接跳过_add_logo_H265_c的调用,然后发现只要播放到要加LOGO的时候播放器就崩溃了,这个失败的过程就不放出来了,然后我就开始研究_add_logo_H265_c的过程:因为海思这个解码库如果视频源是从海思自己设备出来的就不会出现,所以他在_add_logo_H265_c这个函数中肯定有一个判断跳过贴LOGO这个步骤。于是乎,再次运行dumpbin,反汇编Util.obj,命令如下:
dumpbin /disasm Util.obj > dumpasm.txt
编辑该文件,查找InitSkinMagicLib,会看到如下信息:

从图中就可以看出第一个红框是加载海思logo,第二红框小于直接跳到这个函数的最后,第三个红框也是小于直接跳到最后,于是我把第二个红框和第三个红框之间的操作全部改成nop,把第三个操作改成大于跳过,这样就不管怎么样都会跳到函数的最后而不会绘制海思logo。
红框部分就是修改部分。
3. 分将修改后的obj导入到静态库:
直接运行以下命令将修改后的obj文件再导入到静态库:lib HW_H265dec_Win32.lib Release\Util.obj
需要到当前目录建一个子目录Release把Util.obj放进去。
然后播放果然不会出现海思LOGO了。
关于海思H.264的库也可以用这个方法破解,不过H.264的库的函数叫_add_logo_c
破解好的库


海思H.265解码库破解相关推荐

  1. PotPlayer不支持S/W HEVC(H.265)解码的解决方法

    PotPlayer播放MKV格式的视频时跳出视窗显示:不支持S/W HEVC(H.265)解码,按下寻找编解码器,请安装相应的解码器. 解决方法: 1.开启浏览器,打开「FFMPEG64.DLL」这个 ...

  2. 什么是4K H.265解码?一起来深度了解下

    什么是4KH.265解码?有什么用呢?想要了解电视H.265解码的意思,那么就先得了解什么是H.265. 简单描述: H.265是近些年流行的一种新视频编码,在保证视频质量的同时,大大的减小了视频的容 ...

  3. 海思3531DV200-强编解码能力解决方案

    DEC3531D_C是广州英码信息科技有限公司推出的一款以海思Hi3531DV200处理器为核心而设计的编解码一体板.Hi3531DV200内置 ARM Cortex A53 四核@1.15GHz处理 ...

  4. PotPlayer不支持S/W HEVC(H.265)解码的解决办法

    当使用PotPlayer播放器打开H265格式视频时会提示不支持编码 本次使用的PotPlayer版本为: 打开播放器的"选项"(快捷键F5) 依次选择"滤镜" ...

  5. PotPlayer不支持S/W HEVC(H.265)解码怎么办

    1.下载「ffmpeg64.dll」 前往 https://dll.website/ffmpeg64-dll 点击蓝色的「ffmpeg64.dll」把它下载下来并解压 2.把「ffmpeg64.dll ...

  6. 海思 Hi3516 使用 gpac 库把 H265 和 AAC 封装成 MP4

    gpac的库用起来比较麻烦,从mp4box的代码里整理了一个简化的接口,可以方便h265和aac合成mp4 https://github.com/Tvirus/gpac-interface 使用时按下 ...

  7. h.265编码库x265实例

    https://blog.csdn.net/subfate/article/details/48437763

  8. 关于PotPlayer不支持S/W HEVC(H.265)解码,亲测有效

    去下载了个 K-Lite Codec Pack 就可以了.我下载的是Basic的,安装时选择Normal,一路yes,就可以看了 . 下载地址 Download K-Lite Codec Pack

  9. php h.265解码视频,用狸窝转换H265编码视频步骤

    认识众多玩家高手/拆客/DIYer,查阅更多资源,一起学习技术知识 您需要 登录 才可以下载或查看,没有帐号?立即注册 x 网上下了些电视剧,可惜是H265编码的,机顶盒和电脑都播放不了 只能转码了 ...

  10. C# WinForm 调用海思 H264 解码库进行解码

    最近做视频监控监控项目,学习了一下如何在 C# WinForm 下进行 H264 解码.下面贴一下代码,让大家了解一下如何使用海思的 H264 解码库进行解码,以方便其他有需要的人使用. 1.首先根据 ...

最新文章

  1. struts1 几种Action父类的比较
  2. Oracle用户管理学习总结
  3. oracle sql删除job,修改Oracle的Job Scheduler 日志级别及删除运行日志
  4. 关于ABST2的若干问题
  5. 【Transformer】ViT:An image is worth 16x16: transformers for image recognition at scale
  6. IOS UIPageController
  7. 记一次海洋cms任意代码执行漏洞拿shell(url一句话)
  8. Failed reading log event, reconnecting to retry
  9. Music Bugs : 不支持wma格式的歌曲播放
  10. 高频量化交之李庆:在华尔街狼共舞的岁
  11. oracle查看表索引及索引类型
  12. wvs_patcher批量测试网站
  13. 3.7V和7.4V输入升压输出12V1A外围简单,8.4V升压12V1A芯片方案
  14. Android 12中系统Wallpaper详解1--锁屏透看壁纸和桌面透看壁纸的切换
  15. 强大的 Apipost 要取代 Postman 了吗?
  16. 提示文件损坏无法删除时如何删除文件
  17. 重置IE:专治IE疑难杂症的“万精油”(转)
  18. 苹果10月23日或发布iPad mini
  19. 第一次将所学的指针和递归结合在一起
  20. 双非硕士阿里大数据开发面经(已拿offer)(建议收藏)

热门文章

  1. Java获取List长度
  2. 综治应急指挥中心建设方案
  3. 项目管理十大知识领域之项目资源管理
  4. 各种通信接口的简单对比
  5. 深度学习面试100题
  6. winhex使用教程(详细版)
  7. JAVA之进制转换(全)
  8. 大数据第三季--Hbase(day6)-徐培成-专题视频课程
  9. 电压跟随器不要随便加
  10. MATLAB代码:基于纳什谈判理论的风–光–氢多主体能源系统合作运行方法 关键词:合作博弈 纳什谈判 风–光–氢系统 综合能源