问题列表 - 第24165页

Android视频采集示例应用

在Android中是否有用于视频捕获的独立示例代码?

android video-capture

17
推荐指数
2
解决办法
3万
查看次数

如何在eclipse本地安装jdt.core?

我需要在本地安装eclipse JDT.Core插件(例如,使用site.xml等下载文件),而不是由于工作中可怕的防火墙而远程安装它.任何人都可以建议在哪里下载它,以便我可以进行本地安装?谢谢

java eclipse eclipse-jdt

4
推荐指数
2
解决办法
2万
查看次数

反应性扩展使用的好例子

我理解Rx的基础知识.我正在努力的是你如何在学术范例之外实际使用它?什么是常见的,简单的现实场景,其中Rx是比我们今天在.NET中更好的解决方案?

.net c# system.reactive

78
推荐指数
4
解决办法
4万
查看次数

什么是C中的size_t?

size_t在C中感到困惑.我知道它是由sizeof运营商返回的.但究竟是什么呢?它是数据类型吗?

假设我有一个for循环:

for(i = 0; i < some_size; i++)
Run Code Online (Sandbox Code Playgroud)

我应该使用int i;size_t i;

c int size-t

590
推荐指数
10
解决办法
68万
查看次数

使用Hadoop MapReduce对单词计数进行排序

我对MapReduce非常陌生,我完成了一个Hadoop字数统计示例.

在该示例中,它生成单词计数的未排序文件(具有键值对).那么是否可以通过将另一个MapReduce任务与前一个任务相结合来按字出现次数对其进行排序?

parallel-processing hadoop mapreduce word-count

10
推荐指数
1
解决办法
2万
查看次数

使用shell脚本时,如何复制名称包含空格和UNICODE的文件?

我有一个文件列表,我试图在bash shell脚本中复制和移动(使用cp和mv).我遇到的问题是,我无法获得任何命令来识别大量文件,似乎因为文件名包含空格和/或unicode字符.我找不到任何开关来解码/重新编码这些字符.相反,例如,如果我复制"file name.xml",我会得到"*.xml"和脚本错误,表明找不到我的结果文件.有没有人知道将处理这些文件的设置或命令?

编辑(添加当前代码):当我运行时:

MacBookPro:桌面$ ./script.sh

#!/bin/sh
dateVar=`date +%Y-%m-%d`
mkdir /Volumes/Documents/SMSarchive/$dateVar
cd /Volumes/Documents/SMSarchive/SMSdrop
for i in *.xml
do
cp $i /Volumes/Documents/SMSarchive/$dateVar/$dateVar-$i
done
Run Code Online (Sandbox Code Playgroud)

我收到消息:

用法:cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file target_file cp [-R [-H | -L | -P]] [-fi | -n] [-pvX] source_file ... target_directory

......当它命中"cp"命令时.脚本实际上还有更多,它可以进一步处理复制的文件.使用"常规"文件名,例如'file.xml',一切正常.它只是带有空格或Unicode字符的文件,我遇到问题.

unicode bash shell scripting file

5
推荐指数
1
解决办法
1万
查看次数

使用VB.NET或C#中的itextsharp dll读取PDF内容

如何使用带有Pdfreader类的itextsharp读取PDF内容.我的PDF可能包含纯文本或文本图像.

c# vb.net pdf itextsharp

75
推荐指数
5
解决办法
20万
查看次数

我该如何防范硬链接攻击?

  • 我想将数据附加到/ tmp中的文件.
  • 如果文件不存在,我想创建它
  • 我不在乎别人是否拥有该文件.数据并不是秘密.
  • 我不希望有人能够在其他地方或其他文件中进行竞争.

做这个的最好方式是什么?

这是我的想法:

fd = open("/tmp/some-benchmark-data.txt", O_APPEND | O_CREAT | O_NOFOLLOW | O_WRONLY, 0644);
fstat(fd, &st);
if (st.st_nlink != 1) {
    HARD LINK ATTACK!
}
Run Code Online (Sandbox Code Playgroud)

问题:有人可以将文件链接到我的一些短期文件,因此/tmp/some-benchmark-data.txt与我的另一个脚本正在使用的/ tmp/tmpfileXXXXXX相同(并使用正确的方式打开) O_EXCL和所有这些).然后我的基准数据被附加到这个/ tmp/tmpfileXXXXXX文件,而它仍然被使用.

如果我的其他脚本碰巧打开了它的临时文件,那么删除它,然后使用它; 然后我的基准数据会破坏该文件的内容.然后,这个其他脚本必须在上面代码的open()和fstat()之间删除它的文件.

换句话说:

This script          Dr.Evil        My other script or program
                                    open(fn2, O_EXCL | O_CREAT | O_RDWR)
                     link(fn1,fn2)
open(fn1, ...)
                                     unlink(fn2)
fstat(..)=>link is 1
write(...)
close(...)
                                    write(...)
                                    seek(0, ...)
                                    read(...) => (maybe) WRONG DATA!
Run Code Online (Sandbox Code Playgroud)

因此上述解决方案不起作用.很可能还有其他攻击.

什么是正确的方法?除了不使用世界可写目录.

编辑:为了防止恶意用户使用他/她的所有权和权限创建文件,或者只是错误的权限(通过硬链接文件然后删除原始文件,或硬链接你的短文件)我可以在nlink检查后检查所有权和权限位.

没有安全问题,但也可以避免意外.最糟糕的情况是,我从我的其他文件复制的文件的开头得到了一些我自己的数据(来自另一个文件).

编辑2:我认为几乎不可能防止有人将名称硬链接到打开,删除然后使用的文件.例如EXE打包程序,有时甚至可以通过/ proc/pid/fd-num执行删除的文件.与此竞争会导致打包程序的执行失败.lsof可能会发现是否有其他人打开了inode,但它似乎比它的价值更麻烦.

c linux security

7
推荐指数
1
解决办法
1567
查看次数

在Python中,我该如何做这个Datetime?

right_now = datetime.datetime.now()
one_hour_before = ?????
Run Code Online (Sandbox Code Playgroud)

如何使用right_now获取one_hour_before?

python datetime

0
推荐指数
1
解决办法
100
查看次数

看似跳进自己的"召唤"指令

我有一些C++代码

#include <cstdio>
#include <boost/bind.hpp>
#include <boost/function.hpp>

class A {
public:
    void do_it() { std::printf("aaa"); }
};

void
call_it(const boost::function<void()> &f)
{
    f();
}

void
func()
{
    A *a = new A;
    call_it(boost::bind(&A::do_it, a));
}
Run Code Online (Sandbox Code Playgroud)

哪个gcc 4编译成以下程序集(from objdump):

00000030 <func()>:
  30:   55                      push   %ebp
  31:   89 e5                   mov    %esp,%ebp
  33:   56                      push   %esi
  34:   31 f6                   xor    %esi,%esi
  36:   53                      push   %ebx
  37:   bb 00 00 00 00          mov    $0x0,%ebx
  3c:   83 ec 40                sub    $0x40,%esp
  3f:   c7 04 …
Run Code Online (Sandbox Code Playgroud)

c++ assembly gcc g++

2
推荐指数
1
解决办法
244
查看次数