自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (5)
  • 收藏
  • 关注

原创 解决ffmpeg生成mp4文件不能正常预览的问题

框架的使用极大的提高了开发效率,让我们能够有更多的精力去关注系统的整体架构和业务需求,而不需要过多的关注一些具体的实现细节,但任何事情都有两面性,如果某个细节出了问题,由于对具体的实现不了解,那么会给我们解决问题带来不少困扰。下面借用最近遇到的问题分享一个解决问题的思路,我们的会议系统使用ffmpeg生成的mp4文件在windows下不能正常预览,进一步测试还有如下表现:1、在wmp(系统自带播放器)下播放弹出“无法播放此文件”,而使用vlc播放是正常的;2、使用mp4info打开该文件显示“open

2020-11-04 18:42:12 6145 7

原创 控件加密方式之窥探、模拟

控件加密方式之窥探、模拟场景网址:http://www.xxxxxx.com/控件:xxxxx.ocx目的:通过反汇编调试跟踪控件对于密码的加密方式登录界面如下图,密码框为控件: 工具OllyDBG_1.10 步骤1、 使用RUN跟踪等方式找到关键代码位置,如下图:  大家可以看到此处“999999”为输入的密码,06CA75EC函数的目的是对原始密码做3DES加密,密钥固定。2、 继续运行,如下...

2018-03-22 10:33:52 727

原创 多码流RM文件的解析

单码流与多码流分析       VOD4.6客户端不支持rm10的播放,通过分析发现rm10文件是多码流的,它的各条数据流按块分布,与以前的单码流音视频交错分布不同。而有些rm9的文件也是多码流的,所以不能播放的原因是单、多码流的不同。       单码流和多码流不只是数据分布的不同,它们的头部也有很大的不同。       MDPR部分:在单码流中每一个流对应一个MDPR,在多码流中也

2013-07-23 10:14:10 890

翻译 XMM SSE2浮点指令

SSE2 (单指令多数据流扩展)浮点指令使用128位的XMM寄存器,可以处理双精度(64位)浮点值。也有一些工作于单精度(32位)浮点值的指令。SSE2在Pentium 4 和 Xeon处理器中被提出。这些指令跟SSE浮点指令非常类似,除了它们工作的数据长度不同。在你的代码中使用这些指令之前,你必须检测你的机器是否支持它们。设置EAX=1,调用CPUID指令,此时测试EDX的第26位,如果

2013-05-03 18:07:45 6312

原创 Node.js中的IOCP

想必有些人看过朴灵的《深入浅出Node.js(五):初探Node.js的异步I/O实现》http://www.infoq.com/cn/articles/nodejs-asynchronous-io,此篇写的还是很精彩的,特别是对于原理的分析,说明作者在此浸淫已久,不过个人认为其中对于IOCP的理解不是很精准,或者说会引起读者歧义,且看以下原文中描述:那么在Windows平台下的状况如何呢?而

2013-04-28 09:42:54 1977

原创 无锁编程之免锁

要保证线程安全,并不是一定就要进行同步,两者没有因果关系,即使涉及到共享数据,也未必需要加锁,大家往下看。环形缓冲区是生产者和消费者模型中常用的数据结构。生产者将数据放入数组的尾端,而消费者从数组的另一端移走数据,当达到数组的尾部时,生产者绕回到数组的头部。如图所示,当读者和写者指针相等时,表明缓冲区是空的,而只要写入指针在读取指针后面时,表明缓冲区已满。如果只有一个生产者和一

2013-04-16 17:19:47 1315

原创 斐波那契数列的递归、递推算法比较

公式:F(n+1)=F(n)+F(n-1), F(0)=F(1)=1网上找到的一个最简单例子,修改了两个bug// 递归算法int F1(int n){    if (n         return 1;    else        return F1(n-1)+F1(n-2);} // 递推算法int F2(int n){    if (n

2013-04-16 15:24:32 1208 1

原创 JVM中复杂对象的原子操作

上次讲到在无锁编程中,AtomicInteger可以对int型变量进行原子加减等操作,但是如果操作的是变量类型变成一个复杂对象,那么AtomicStampedReference就派上用场了,下面还是通过compareAndSet方法来剖析一下其内部的机制(以32位X86平台为例)。         AtomicStampedReference::compareAndSet­-> AtomicS

2013-04-15 09:08:42 1246

原创 JVM原子操作的实现与一点改进想法

"原子操作(atomic operation)是不需要synchronized",这是Java多线程编程的老生常谈了。所谓原子操作是指不会被线程调度机制打断的操作;这种操作一旦开始,就一直运行到结束,中间不会有任何 context switch (切换到另一个线程)。原子操作是不可分割的,在执行完毕之前不会被任何其它任务或事件中断。在单处理器系统(UniProcessor)中,能够在单条指令中

2013-04-13 10:39:48 1262

Android软件安全与逆向分析(完整版)

完整的android平台逆向分析,arm指令等

2016-12-14

并发编程模型演进

2016-06-25

IO模型与性能分析

2016-06-25

Python脚本教程

Python是一种即译式的,互动的,面向对象的编程语言,它包含了模组式的操作,异常处理,动态资料形态,十分高层次的动态资料结构,以及类别的使用。它具有很多优秀的脚本语言的特点:解释的,面向对象的,内建的高级数据结构,支持模块和包,支持多种平台,可扩展。而且它还支持交互式方式运行,图形方式运行。它拥有众多的编程界面支持各种操作系统平台以及众多的各类函数库。

2013-03-18

漫谈兼容内核——毛德操

漫谈兼容内核之一:ReactOS怎样实现系统调用漫谈兼容内核之二:关于kernel-win32的对象管理漫谈兼容内核之三:Kernel-win32的文件操作漫谈兼容内核之四:Kernel-win32的进程管理漫谈兼容内核之五:Kernel-win32的系统调用机制漫谈兼容内核之六:二进制映像的类型识别漫谈兼容内核之七:Wine的二进制映像装入和启动漫谈兼容内核之八:ELF映像的装入(一) 漫谈兼容内核之九:ELF映像的装入(二) 漫谈兼容内核之十:Windows的进程创建和映像装入漫谈兼容内核之十一:Windows DLL的装入和连接漫谈兼容内核之十二:Windows的APC机制漫谈兼容内核之十三:关于“进程挂靠” 漫谈兼容内核之十四:Windows的跨进程操作漫谈兼容内核之十五:Windows线程的等待、唤醒机制漫谈兼容内核之十六:Windows的进程间通信漫谈兼容内核之十七:再谈Windows的进程创建漫谈兼容内核之十八:Windows的LPC机制漫谈兼容内核之十九:Windows线程间的强相互作用漫谈兼容内核之二十:Windows线程的系统空间堆栈漫谈兼容内核之二十一:Windows进程的用户空间漫谈兼容内核之二十二:Windows线程的调度和运行漫谈兼容内核之二十三:关于TLS 漫谈兼容内核之二十四:Windows的结构化异常处理(一) 漫谈兼容内核之二十五:Windows的结构化异常处理(二) 漫谈兼容内核之二十六:Windows的结构化异常处理(三)

2011-03-03

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除