我希望能够显示带有重叠注释的普通YouTube视频,每个帧包含彩色矩形.唯一的要求是这应该以编程方式完成.
YouTube现在有注释,但要求您使用他们的前端手动创建它们.我希望能够生成它们.这样做的最佳方法是什么?
一些想法:
- 建立自己的Flash播放器(是吗?)
- 以某种方式吸引YouTube Flash播放器.这会有用吗?
- 反向工程并劫持YouTube的注释系统.弄乱本地文件或重定向其下载注释的尝试.(使用Greasemonkey?Firefox插件?)
不计的想法:
下载视频
是否有任何好的程序可以比较编译.NET程序集?
例如,我有HelloWorld.dll(1.0.0.0)和HelloWorld.dll(2.0.0.0),我想比较差异我该怎么做?
我知道我可以使用.NET Reflector并使用Assembly Diff插件.有没有其他好的工具可以做到这一点?
我有一个第三方jar文件,它只是部分API的javadocs.有没有办法对jar文件进行反向工程以获得类和方法的完整列表?
我正在使用Charles Proxy来查看我的iphone发出的所有流量.我在我的iphone上安装了ssl证书/配置文件,我可以看到很多ssl加密的流量.但是,某些应用程序似乎没有完成ssl握手.
错误是:"SSLHandshake:握手期间远程主机关闭连接",然后Charles Proxy建议配置应用程序以信任Charles Root证书.当我将配置文件安装到我的iphone上时,我以为我做了什么?
有什么解释这个/解决方法吗?
有时您没有源代码,需要对程序或黑盒进行反向工程.有趣的战争故事吗?
这是我的一个:
几年前我需要重写一个我没有源代码的设备驱动程序.设备驱动程序在旧的CP/M微型计算机上运行,并通过串行端口驱动专用的照排机.几乎没有照相排版机的文件可供我使用.
我最终在DOS PC上将一个串口监视器混合在一起,模仿了照相排版机器的响应.我将DOS PC连接到CP/M机器,并在我通过CP/M机器输入数据时开始记录来自设备驱动程序的数据.这使我能够找出设备驱动程序使用的握手和编码,并为DOS机器重新创建一个等效的.
我只是尝试在VS2010上编译几个C++片段并分析IDA Pro上的可执行文件.我注意到的是,他们中的大多数在开始时都有类似的内容(在调用__security_check_cookie之后不久)
xor eax, ebp
和类似的东西
xor ecx, ebp
在底部.为什么会这样?编译器优化已关闭.
c++ assembly reverse-engineering buffer-overflow compiler-optimization
我正在对一个串行协议进行逆向工程,并对糟糕的工具感到沮丧.有没有人知道一个好的,免费的工具,用于在Windows上向/从串行端口记录数据?
要求:
有任何想法吗?Portmon可以工作,但它的日志很难处理,它的过滤器实际上没用; 我也试过一些商业工具,似乎没有什么比这更合适了.
我有一个关于从Java源代码生成序列图的问题.当我用Google搜索时,我看到有人被告知要使用视觉范例(VP),但它不会为我生成序列图.我的VP中的一些步骤与手动不同.手册说要选择方法但我的VP不允许在特殊类中选择方法.Java源代码的逆向工程序列图
有没有人有新想法从Java源代码生成序列图?
(如果这是一个错误的地方,我很抱歉.我认为它肯定与编程相关,但如果这属于其他网站,请告诉我)
我一直在玩神奇宝贝红色和蓝色,这些游戏非常有趣,但因为有大量可利用的故障而臭名昭着(例如,看到这个使用内存损坏将项目屏幕变成十六进制编辑器的游戏的荒谬速度).
最近,我发现了一个有趣的游戏速度,使用一个名为"ZZAZZ故障"的小故障来破坏重要的记忆位置并让玩家几乎立即赢得比赛.根据作者对speedrun 的描述,ZZAZZ故障的工作原理如下:
要开始训练师之战,游戏需要加载大量数据,例如如果被击败他会承认的钱.当它加载钱时,事情会变得非常丑陋.由于超出我的原因,钱以完全不同的方式存储,游戏使用三个字节的数据结构,而不是将值转换为二进制,它将其存储在"人"表示中.例如,$ 123456将被存储为0x123456而不是0x01E240,即正确的转换.
[Trainer表中的某些无效条目]指向包含无效货币数据的位置.当游戏试图在所述结构中对这些数据进行算术运算时,它会疯狂并开始覆盖大部分RAM.更具体地说,对于每个三个字节的块,其中两个将包含0x9999(教练可以给出的最大金额).这种模式通过RAM重复多次.为了更好地看到这一点,我建议在面对ZZAZZ训练器后在模拟器上暂停视频并将VBA的内存查看器设置为0xD070.
这种分析是有道理的,但作为程序员,我不禁想知道程序员究竟是如何编写使这成为可能的代码的.如果输入不是有效的十六进制编码的十进制数,那么编写将十六进制编码的十进制数转换为十进制的函数的任何方法都不会开始用0x9999填充随机内存块.
我的问题是 - 没有专门设计算法以这种方式失败,是否有直接实现从十六进制编码的十进制到十进制的转换,当输入无效值时可能导致这种类型的内存损坏?
再说一次,如果这是偏离主题,我道歉.我的想法是,这个网站上的其他程序员也可能已经长大了玩这个游戏,这听起来像是一个有趣的逆向工程练习,试图弄清楚这样的故障怎么可能.
可能重复:
解析/解压缩JavaScript的在线工具
在线javascript minify工具基本上删除了注释和空白.
有没有可以扭转这种情况的工具?通常只需一行代码:
function(){var K=o.timers;for(var J=0;J<K.length;J++){if(!K[J]()){K.splice(J--,1)}}if(!K.length){clearInterval(n);n=g}}
Run Code Online (Sandbox Code Playgroud)
并自动格式化它,以便您可以开始逆向工程?
function(){
var K=o.timers;
for(var J=0;J<K.length;J++){
if(!K[J]()){
K.splice(J--,1);
}
}
if(!K.length){
clearInterval(n);
n=g;
}
}
Run Code Online (Sandbox Code Playgroud)