blender 开源3d模型创作软件,基于2.7.8a版本分析blender文件(blender自己产生的文件)读取流程进行分析。

blender文件分析流程,没有画图了

wm_open_mainfile_exec 读取文件入口(这里其实在启动的时候将对应操作已经注册到了对应件操作中去了)。

wm_file_read_opwrap开始读取文件中信息。整个流程基于此函数操作。

WM_file_read 读取文件类容。

WM_cursor_wait 设置鼠标为等待形状

wm_read_exotic 读取文件是否为blender 格式

wm_window_match_init清除掉屏幕处理事件,

BKE_blendfile_read 开始读取文件,

blo_openblenderfile -> filedata_new

blo_decode_and_check->decode_blender_header 读取文件头。

read_file_dna->blo_firstbhead ->get_bhead(这里读取一个bhead8或者bhead4),解析数据类型,并读取整个文件长度,数据在bhead[1]处,并且将头加入到fd->listbase,以供后面使用。

第二部分数据拆分

DNA_sdna_from_data 开始从读取的buffer 中开始拆分。传入data通过指针指定并进行位移。

init_structDNA DNA转换

sdna->nr_names 对应名字个数,抽取的代码中变量名的个数

sdna->names 变量名,貌似有几千个

sdna->nr_types 数据类型?

sdna->nr_structs结构体个数,617个

sdna->structs[nr] 结构体,sp[1] 对应元素个数,结构由两个部分组成,即变量类型+变量名组合。

第三部分,比较新旧结构体变换。

DNA_struct_get_compareflags

blo_read_file_internal 这个正在分析中。。。。。

Blender文件读取分析相关推荐

  1. PHP-代码审计-文件读取(下载)

    概述 部分程序在下载或者读取显示文件的时候,读取文件的参数filename直接在请求里面传递,后台程序获取到这个文件路径后直接读取返回 挖洞经验 文件读取的漏洞寻找起来比较容易一种方式是可以先黑盒测试 ...

  2. python实现红警三录像文件读取与自动分析生成流程图信息——二、项目结构与代码初步介绍

    总目录 一.简介 二.项目结构与代码初步介绍 三.拓展给mod使用 ======================= 大爽歌作,made by big shuang ================== ...

  3. 安全研究 | Jenkins 任意文件读取漏洞分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由云鼎实验室 发表于云+社区专栏 一.漏洞背景 漏洞编号:CVE-2018-1999002 漏洞等级:高危 Jenkins 7 月 18 ...

  4. Ruby on Rails路径穿越与任意文件读取漏洞分析(CVE-2019-5418)

    Ruby on Rails是一个 Web 应用程序框架,是一个相对较新的 Web 应用程序框架,构建在 Ruby 语言之上.它被宣传为现有企业框架的一个替代,而它的目标,就是让 Web 开发方面的生活 ...

  5. osgEarth的Rex引擎原理分析(七十三)从高程文件读取的高程信息如何填充rex的高程瓦片

    目标:(七十二)中的问题147 高程文件的划分规则和rex瓦片是不一样的,高程文件的0级就是文件本身,不管文件实际范围多大,然后采用二分法逐级增加.rex瓦片的0级对应整个地球表面. 两个范围一般不是 ...

  6. CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析

    title: CVE-2020-1938 幽灵猫( GhostCat ) Tomcat-Ajp协议 任意文件读取/JSP文件包含漏洞分析 date: 2021-05-19 01:07:08 categ ...

  7. bvh文件读取(blender版)

    bvh文件读取(blender版) bvh文件是常用的运动捕捉数据格式,blender是一款比较强大(开源)的一款软件,对动画制作的业余爱好者而言带来了很大的便利. 下载网址(免费):https:// ...

  8. 编程模板-R语言脚本写作:最简单的统计与绘图,包安装、命令行参数解析、文件读取、表格和矢量图输出

    写在前面 个人认为:是否能熟悉使用Shell(项目流程搭建)+R(数据统计与可视化)+Perl/Python等(胶水语言,数据格式转换,软件间衔接)三门语言是一位合格生物信息工程师的标准. 之前分享过 ...

  9. python读取中文文件乱码-详解Python的json文件读取及中文乱码显示问题解决方法...

    Python的json文件读取及解决中文乱码显示问题 本文实例讲述了Python实现的json文件读取及中文乱码显示问题解决方法.分享给大家供大家参考,具体如下: city.json文件的内容如下: ...

最新文章

  1. linux系统被***后处理经历
  2. vue php axios 跨域,在vue项目中,使用axios跨域处理
  3. 小米12系列或首发骁龙898旗舰芯:三星4nm工艺
  4. C#设计模式---迭代器模式(Iterator Pattern)
  5. 数据库与表的操作之创建、修改和删除数据
  6. GetTickCount() 函数的作用和用法
  7. BGP 模式下 Calico 与 MetalLB 的组合
  8. python 根据经纬度 查地理位置
  9. CentOS 编译安装 Nebula Graph 3.10
  10. 你所不知道的VoIP通信技术?
  11. Mysql如何解决幻读:
  12. 内网通过映射后的公网IP访问内网服务测试--ASA842 hairpin NAT测试
  13. 收集N个超实用的 JS 片段( ES6+ 编写),你和大神只差这个宝典
  14. 稀里糊涂地被评为博客之星的候选人了,那就麻烦大家帮忙投个票吧~
  15. NetApp透露甲骨文数据库备份计划
  16. 计算机职场礼仪与技巧论文,职场礼仪论文1500字.doc
  17. HBase初识之学生心得总结
  18. Python 不用selenium 带你高效爬取京东商品评论
  19. python opencv 锐化_图像增强、锐化,利用 Python-OpenCV 来实现 4 种方法!
  20. 广东省汕头市谷歌卫星地图下载

热门文章

  1. 利用鹰眼快搜打造个人知识库
  2. 完美解决mysql保存中文出现1366错误
  3. redis-集群安装(2)变两重冗余为三重
  4. CS院校解析 | 清华大学清华-伯克利深圳学院
  5. 论文笔记:Harmonizing Transferability and Discriminability for Adapting Object Detectors
  6. 如何实现上传多个图片并依次展示_js前端实现多图图片上传预览的两个方法(推荐)...
  7. java socket通信的简要举例
  8. 偶尔勤奋的肥猫——OS时间片轮转调度基本算法
  9. 朴素贝叶斯分类器(Naive Bayes classifier)
  10. es浏览器连接电脑找不到服务器,es文件浏览器,教您es文件浏览器怎么连接电脑...