精华内容
下载资源
问答
  • 关于硬编码的问题,在上面的 reference 中有过讨论,但是没有一个结果说如何来做。 <h3>Requirements: <ul><li>取消 hookPlugin.apk , 直接讲 plugin 的代码写入到 yahfa 或者其他 module 中。</li><li...
  • Android的SDK提供了硬编码的接口,但是是基于异步机制,就是当编码这一帧的时候,可能输出的上几帧的编码输出,即使是level为baseline也是这样。 但是我的要求实时性特别高,有没有能改成同步的方法,即这一帧的输出...
  • 安卓视频硬编码分辨率设置跟编码器有关。一般来说有QCom(高通)和MTK(联发科)两家芯片,前者能对任意分辨率编码,而MTK的只能针对宽和高同时为16的倍数编码。而且考虑到视频采集有YUV三个分量,U和V又为Y的一半...

          很多情况下,大家愿意选择16:9的分辨率作为编码分辨率,但是测试发现,很多手机编码会失败,导致程序崩溃。这是什么原因呢。原来,罪魁祸首是手机的芯片厂商。

          安卓视频硬编码分辨率设置跟编码器有关。一般来说有QCom(高通)和MTK(联发科)两家芯片,前者能对任意分辨率编码,而MTK的只能针对宽和高同时为16的倍数编码。而且考虑到视频采集有YUV三个分量,U和V又为Y的一半,即边长为1/2,所以只能把长和宽同时设为32的整数倍才能在MTK芯片上硬编码。

         所以,为了安全起见,编码时,我们最好放弃16:9的分辨率选择,退而求其次,选择跟16:9相接近的分辨率,比如,640x360的分辨率,我们可以设置为640x352,这样就不会出问题了。

    转载于:https://www.cnblogs.com/liuxt/p/8192958.html

    展开全文
  • 更多精彩内容请关注我们施耐德1836年由施耐德兄弟创立。主要业务包括电力,工业自动化,基础设施...中国PLC供应商市场份额关于硬编码漏洞的描述:The Schneider Electric Quantum Ethernet Module, asused in the Qu...
    ae38221ede675248a8730ea1f7636d55.gif更多精彩内容请关注我们施耐德1836年由施耐德兄弟创立。主要业务包括电力,工业自动化,基础设施,节能增效,能源,楼宇自动化与安防电子,数据中心和智能生活空间等业务领域,其在PLC领域占比较高,且漏洞等级较高危害较大。

    中国PLC供应商市场份额

    098de1a22e14c28690f3106ffac6bd99.png

    关于硬编码漏洞的描述:

    The Schneider Electric Quantum Ethernet Module, asused in the Quantum 140NOE771* and 140CPU65* modules, the Premium TSXETY* andTSXP57* modules, the M340 BMXNOE01* and BMXP3420* modules, and the STB DIOSTBNIC2212 and STBNIP2* modules, uses hardcoded passwords for the (1) AUTCSE,(2) AUT_CSE, (3) fdrusers, (4) ftpuser, (5) loader, (6) nic2212, (7)nimrohs2212, (8) nip2212, (9) noe77111_v500, (10) ntpupdate, (11) pcfactory,(12) sysdiag, (13) target, (14) test, (15) USER, and (16) webserver accounts,which makes it easier for remote attackers to obtain access via the (a) TELNET,(b) Windriver Debug, or (c) FTP port.我们来分析一下这个漏洞的成因该漏洞属于施耐德PLC硬编码漏洞,存在于多个型号以太网模块中以及产品更新固件中。通过默认账号,可以远程登录访问设备TelnetWindriver FTP服务,登陆后可以实时获取数据、掌握设备权限、甚至破坏网络。首先:获取模块固件后查看二进制可执行固件,发现模块的固件信息(红色框)。

    3fd1be8e6f8734b7b6b7fad4c2971123.png

    接下来:对固件包(zlib形式)解压查看符号表、代码地址、操作系统等。

    32c316cb3c5c2eb3be430fc31c694f8a.png

    因为通常vxworks编译时会设置代码段偏移地址(不固定由厂商定制),故要先分析此偏移地址,再,最后使用反编译分析工具静态分析。代码段偏移地址常用值(0x10000)如下图。

    5260c00a4f53a2cb8de7b4fdfa70b1e6.png

    4196313427f3667546eb339461d0b8d5.png

    然后我们继续:通过固件的函数对应表对函数进行修复    打开函数列表发现系统随机生成的值需要恢复。在vxworks调试shell中输入lkup strcat命令,返回函数内存地址。用编辑器打开固件,函数对应表在最后。以16个字节为一组数据,前四个是字符串内存地址,后四个是函数内存地址。以另四个特征字节数据与四个字节0x00结尾。

    dc595aecfe3381d025b099d55e6cab77.png

    a18fdf95820a2e3f99693ec5a971b2a5.png

    编写脚本对函数名修复:

    d80adc751d92f1e2d49b86730a1a97f6.png

    之后找到加密函数源码并解出后门密码

    找到加密函数 loginDefaultEncrypt后比对 vxworks5.5源代码(已公开)中的加密源码并更改源码。

    f253d63f1c0a1708ba75ac36249a69cd.png

    把加密函数单独取出作为独立可运行程序,随机生成字符串碰撞Hash值,最后解出后门账户的密码。

    445717aaec0ac9aa8b7ffbaf084d201b.png

    总结:

    基于固件逆向分析的漏洞挖掘方法可以发现隐藏较深的软件后门漏洞,在工业控制领域,存在着数量庞大的嵌入式系统,大多固件只压缩未加密,多数固件采用VxWorks 系统,故以上分析方法具有普遍性和通用性。
    e07fd91c8d152b31ee796338fcc4c5ad.gif

    下一篇:勒索病毒行为分析

    展开全文
  • tv_Name.setText(getString(“删除文档”+ mCurDocument.title+"?"); 这种做转换的时候应该在string。xml里怎么写? 很简单的一个问题,但是我总是搞混
  • <div><p>iOS 平台上无论硬编还是软编,由于是 Apple 一家公司出厂,几乎不存在因为芯片平台不同而导致...关于 andriod 上面软硬编码。</p><p>该提问来源于开源项目:begeekmyfriend/yasea</p></div>
  • 讨论到一个关于系统时间的问题。简单分享下我的观点: 1、 System.currentTimeMillis(), new java.util.Date(),Calendar.getInstance() 尽量不要分布在代码的各个角落,而用一个静态类SystemClock管理起来。 2、 ...
    讨论到一个关于系统时间的问题。简单分享下我的观点:
    1、 System.currentTimeMillis(), new java.util.Date(),Calendar.getInstance() 尽量不要分布在代码的各个角落,而用一个静态类SystemClock管理起来。
    2、 例如:Class SystemClock {
    Long currentTimeMillis() {
             Return System.currentTimeMills();
    }
    ……
    }
    一切使用System.currentTimeMills()的地方,都换成SystemClock. currentTimeMills();
    3、 这样做的坏处? 太矫情了,多走了个套路。但代价并非很大。
    4、 这样做的好处? 可以让系统运行在你想要的任何一个时间点,而不需要依赖计算机系统时间。比如的应用场景:
    a) 电商的支付交易都是要对账的,所有交易都有个“交易日”的概念,但这个交易日都是可以人为控制的,有必要时可以把23:00的交易都换成第二天的。
    b) 安全设计时很多签名有过期时间,比如有的过期时间是10分钟。但测试联调的时候,没必要真的傻等10分钟,而需要一个能干预应用的当前时间的机制。
    c) 便于“昨日重现”:系统很多优化的工作一般是离线的,但是有些优化需要尽可能真实的数据请求。比如并发测试,既要构造尽可能多的访问量,更难的是要模拟出真实线上环境的“资源竞争”,因为并不是所有的并发都存在同一资源的竞争,现实生产环境的并发竞争情况往往很难模拟。有个简单的办法就是把历史的Nginx access log读取并解析Mock成一个HTTP请求,让应用逻辑直接处理,此时需要做的一个工作是“系统当前运行时间=access log的打印时间”,具体实现是从access log解析出一个HTTP,把这个HTTP请求的请求时间绑定到ThreadLocal容器里,SystemClock. currentTimeMillis()时从ThreadLocal容器里面获取,这样所有的代码都不用修改,唯一需要变更的是SystemClock类。
    展开全文
  • 痛苦的挣扎好了,最近由于有个项目需要用到web后端的知识,而本人技能栈是一张白纸,那就着头皮学下,辗转着从某位学长拿到了本Flask Web开发(江湖人称狗书,书名就说了基于python,那就免不了和python打交道。...

    痛苦的挣扎

    好了,最近由于有个项目需要用到web后端的知识,而本人技能栈是一张白纸,那就硬着头皮学下,辗转着从某位学长拿到了本Flask Web开发(江湖人称狗书,书名就说了基于python,那就免不了和python打交道。

    顺便提下,笔者用的ide是pycharm2.3吧,虽然我觉得可能和今天的问题关系不大。今晚贴完狗书的第一个demo就爆了。demo长得像这个样

    from flask import Flask

    app = Flask(__name__)

    @app.route('/')

    def index():

    return '

    Hello World!

    '

    if __name__ == '__main__':

    app.run(debug=True)

    报的错有一长串...

    Exception in thread Thread-1:

    Traceback (most recent call last):

    ...

    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb5 in position 2: invalid start byte

    看到Trackback我就猜大概 ... 省略的一坨代表的是大概可以称为调用栈的东东,所以问题定位到UnicodeDecodeError,把这段错误贴到百度,说是编解码问题,然而点进去一个个博客看起来都不具有可操作性,后面在一条百度知道的评论(...)看到了一个感觉有用的东东

    import sys

    reload sys

    sys.set???#忘了这是啥

    好了,贴到demo的顶部,发现除了import sys之外都报了错,第三个语句被说是sys没有这个函数,懵逼,没事,至少知道应该是windows系统导致的编解码错误,换个电脑就行了(逃。回到正题,机(yu)智(chun)的我用.操作符浏览了sys的所有函数,目的是发现跟编解码有关的函数,而且有了之前的启发,应该是个set函数,找了一圈,ok no趴笨,找到了

    sys._enablelegacywindowsfsencoding()

    sys.getfilesystemencoding()

    好吧不是set是enable,只有这两个搭点边,get估计没啥用,那就用enable那个,函数名怪长,抱着试试的心态,代码运行成功。

    展开全文
  • IOS 视频硬编码H.264

    千次阅读 2017-12-28 17:09:41
    在学习了落影大神的相关博客及WWDC有关编解码的视频后准备总结下所思所得,先写有关硬编码的内容之后会再写关于硬解码的内容. 概念简要 众所周知,我们平时在网络上收看视频会经历视频编码及解码的过程.编码是为了...
  • 本文从业务含义和接口调用的角度的介绍一些关于特征缺失值处理的思考。 目录 Part 1. SQL中的COUNT和SUM Part 2. 缺失值的业务含义 Part 3. 接口调用处理 Part 4. 总结 版权声明 参考资料 Part 1. SQL中的COUNT和...
  • 关于URL编码

    2014-04-29 20:57:25
    关于URL编码 一、问题的由来 URL就是网址,只要上网,就一定会用到。 一般来说,URL只能使用英文字母、阿拉伯数字和某些标点符号,不能使用其他文字和符号。比如,世界上有英文字母的网 址...
  • 最近研究视频通话,写一下关于摄像头采集视频并使用MediaCodec硬编码为H264的过程,希望对有需要的朋友有所帮助。 说实话,刚开始不太熟折腾了挺久的,网上这方面的东西比较少,很多都是代码片段或者就是其他语言写...
  • 本文我们来分享下TSINGSEE青犀视频开发EasyGBD MediaCodec硬编码的流程。EasyGBD的硬编码的流程如下: 1、初始化编码器 2、配置编码器参数 3、开始编码 4、获取编码器的输入缓存inputBuffers 和输出缓存

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 426
精华内容 170
关键字:

关于硬编码