摘要: 在centos下安装vbox addition需要下载当前内核的头文件yum install kernel-devel但是下载了头文件后,仍然失败,原来是下载的头文件与当前的内核版本不对应,于是,只好,更新内核yum install kernel重启,使用新版本内核启动,再安装vbox additi... 阅读全文
posted @ 2014-05-30 10:09 Daniel King 阅读(404) 评论(0) 推荐(0) 编辑
摘要: echo "proxy=http://[proxy_url]:8080" >> /etc/yum.conf 阅读全文
posted @ 2014-05-30 10:07 Daniel King 阅读(219) 评论(0) 推荐(0) 编辑
摘要: sudo rsync -ave ssh /home/daniel/sc daniel@xx.xx.xx.xx:/home/daniel/sc如果提示无法mkdir,可能是权限的问题sudo chmod 777 /home/daniel/sc 阅读全文
posted @ 2014-05-30 09:49 Daniel King 阅读(182) 评论(0) 推荐(0) 编辑
摘要: use arcd srcar -cvq libprotobuf.a *.o 阅读全文
posted @ 2014-05-27 18:05 Daniel King 阅读(434) 评论(0) 推荐(0) 编辑
摘要: get current thread count grep -s '^Threads' /proc/[0-9]*/status | awk '{ sum += $2; } END { print sum; }'get the system thread limitcat /proc/sys/kernel/threads-max 阅读全文
posted @ 2014-05-27 15:02 Daniel King 阅读(314) 评论(0) 推荐(0) 编辑
摘要: 1. remove temporary files, only used for test purpose. ls | sed -e "/^term.sh$/d" | sed -e "/^test.cpp$/d" | sed -e "/^Makefile.am$/d" | sed -e "/^aut... 阅读全文
posted @ 2014-05-27 11:34 Daniel King 阅读(202) 评论(0) 推荐(0) 编辑
摘要: if we want to filter with sed pattern and just print the filtered lines without any further editing , we can do it like thisls -a1 ~ | sed -ne "/^\./p... 阅读全文
posted @ 2014-05-27 10:31 Daniel King 阅读(252) 评论(0) 推荐(0) 编辑
摘要: tex是latex的起源,参考:http://tex.stackexchange.com/questions/38155/rewrite-tex-web-in-c tex.web是由文学编程语言WEB编写,可以从中分解出Pascal程序。 链接中的人说想要重新编写tex.web程序,但是tex.web的程序的输出是.dvi文件,而dvi文件与pdf是不相同的,与其再将dvi文件转换成pdf文件,... 阅读全文
posted @ 2014-05-23 15:06 Daniel King 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 编写test.cpp #include #include #include #include #include void terminate_handler(){ char cmdline[1024] = {0,}; sprintf(cmdline, "bash term.sh %d %d", getpid(), getppid()); // printf("executing %s\... 阅读全文
posted @ 2014-05-23 11:54 Daniel King 阅读(499) 评论(0) 推荐(0) 编辑
摘要: 看到过的最好的一个讲解sed & awk的PPThttp://www.cs.nyu.edu/~mohri/unix08/lect5.pdf现在制作一个自己的版本的lssed_ls_fmts/^d/dir /1s/^-/file /1s/\([rwxs-]\{3\}\)\([rwxs-]\{3\}\... 阅读全文
posted @ 2014-05-23 11:25 Daniel King 阅读(456) 评论(0) 推荐(0) 编辑
摘要: Valgrind与其他DBI(Pin, DynamoRIO)的区别 我们需要了解DBI的几个 D&R Disassemble-and-Resynthesise 反汇编后重新组装 Valgrind采用这种方式,将Client中的代码全部翻译成IR,然后在IR级别进行instrument,最后将IR翻译成机器代码执行。 如果Client中的一段代码被翻译成IR,那么原来的native code就不再... 阅读全文
posted @ 2014-05-20 16:10 Daniel King 阅读(715) 评论(0) 推荐(0) 编辑
摘要: ocaml与haskell一样,是functional programming的代表。 对于有一定编程经验的人来说,入手一种新语言,最有效的方式就是开发一些实用的utility,因此top-level肯定不能满足我们的需要。 对于ocaml来说,我们怎样才能生成一个命令行程序的PE文件呢? 先安装OPAM 参考:https://github.com/realworldocaml/book/wik... 阅读全文
posted @ 2014-05-15 11:36 Daniel King 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 如果我是一根琴弦 一定难逃紧绷的命运; 如果我是一粒棋子 注定接受他人的摆布; 然而, 我是一个人, 血肉包裹着灵魂, 彼处稍驻, 此时停歇, 安静的外表掩饰不了狂噪的心跳, 一种渴望在体内燃烧, 自由。 阅读全文
posted @ 2014-05-15 09:27 Daniel King 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 如果C++的变长参数经过了多轮的调用,就可能失去作用 间接引址,但是只能引用到第一个变长参数。 va_list marker;va_start(marker, format);s_loggers[filename]->LoglineF(format, va_arg(marker, va_list));va_end(marker);或者,没有间接引址,就会造成地址的累积,从而没有引用到真正的参数... 阅读全文
posted @ 2014-05-13 10:46 Daniel King 阅读(539) 评论(0) 推荐(0) 编辑
摘要: PE代码段中可能包含一些数据,比如 optional header中的data directory会索引到一些数据,比如import/export table等等; 还有一些jump table/switch table等等。 一般来说,direct/indirect call/branch的目标,可能是代码,也可能是数据,比如: mov eax, offset_funccall eax以及m... 阅读全文
posted @ 2014-05-08 15:51 Daniel King 阅读(833) 评论(0) 推荐(0) 编辑
摘要: http://msdn.microsoft.com/en-US/ 搜索 specification 搜索“PE COFF specification”,得到一篇Microsoft官方的PE格式文档: http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v83.docx 这... 阅读全文
posted @ 2014-05-07 16:00 Daniel King 阅读(291) 评论(0) 推荐(0) 编辑
摘要: #include int main(int argc, const char* argv[]){ jmp_buf buf = {0,}; int k = 0; setjmp(buf); k = 1; longjmp(buf, 1);}测试代码如上所示, 看一下Disassemble的代码__setjmp3:69CDFC38 mov edx,dwo... 阅读全文
posted @ 2014-04-25 14:40 Daniel King 阅读(333) 评论(0) 推荐(0) 编辑
摘要: 参考:http://msdn.microsoft.com/en-us/library/windows/desktop/ms679291(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms680181(v=vs.85).aspx http://sleepy.sourceforge.net/ http://w... 阅读全文
posted @ 2014-04-11 16:08 Daniel King 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html https://code.google.com/p/libdasm/ http://nathanmarz.com/blog/you-should-blog-even-if-you-have-no-rea... 阅读全文
posted @ 2014-04-09 17:59 Daniel King 阅读(761) 评论(0) 推荐(0) 编辑
摘要: 参考项目:https://code.google.com/p/portable-executable-library/ 1. RVA与VA,File Offset 参考:http://www.pediy.com/kssd/pediy10/61737.html VA是内存中的真实的虚拟地址值; RVA是VA相对于ImageBase的相对偏移; 而File Offset就是在PE映像文件中相对于文件开... 阅读全文
posted @ 2014-04-04 14:52 Daniel King 阅读(428) 评论(0) 推荐(0) 编辑
摘要: 参考:http://software.intel.com/sites/landingpage/pintool/docs/62732/Pin/html/ http://blog.nruns.com/blog/2013/10/07/TracingExecutionWithPin-Carlos/ Pin is a tool for the instrumentation of programs. I... 阅读全文
posted @ 2014-03-31 11:56 Daniel King 阅读(4835) 评论(1) 推荐(1) 编辑
摘要: 1. 安全身份 Windows的安全模型是以用户为线索的,用户的身份是在登录系统时验证的。 除了用户外,还可以有一些特殊实体需要拥有安全的身份,以便进行验证,比如groups, domain等等。 Windows通过使用SID来标识一个实体的安全身份,重装过系统的同学会有类似的经验,对于上一个Windows系统留下来的文件夹,它的Owner会是一串以S-开头的数字,它就是上一个系统的用户的SID... 阅读全文
posted @ 2014-03-25 13:50 Daniel King 阅读(1269) 评论(0) 推荐(0) 编辑
摘要: import os,sysimport pefileimport pydasmimport struct#print sys.argvdef show_section(pe): print "[sections layout:]" print "#"*45 print "%10s %10s %10s %10s" % ("section", "addr", "real_size", "alloc_size" ) print "-"*45 阅读全文
posted @ 2014-03-20 17:59 Daniel King 阅读(1493) 评论(0) 推荐(0) 编辑
摘要: git clone https://github.com/OpenRCE/pydbg.gitgit clone https://github.com/OpenRCE/paimei.gitlibdasm:https://code.google.com/p/libdasm/PyEmu:https://code.google.com/p/pyemu/pefile:https://code.google.com/p/pefile/ 阅读全文
posted @ 2014-03-20 15:24 Daniel King 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 参考:http://www.ibm.com/developerworks/cn/linux/l-pythc/1. 基本数据类型Python拥有六大数据类型:IntegerFloatStringTupleListDictionary大致可以分为两类:简单型和容器型Integer, Float以及字面值的String, 都算是简单型的类型。也就是说,它们是基本的,不可再分的类型。String, Tuple, List, Dictionary都是容器型的类型。它们是由多个简单型的类型复合而成的。其中,字面值的Integer, Float, String都是Immutable的。2. 面向对象Pyth 阅读全文
posted @ 2014-03-20 14:05 Daniel King 阅读(155) 评论(0) 推荐(0) 编辑
摘要: import dpktimport structimport sys,osf=file(sys.argv[1],"rb")pcap=dpkt.pcap.Reader(f)for ts, buf in pcap: eth=dpkt.ethernet.Ethernet(buf) ip=eth.data tcp=ip.data if eth.type == dpkt.ethernet.ETH_TYPE_IP: src_tuple = map(ord, ip.src) print "src ip addr: (%d.%d.%d.%d)" % ((sr... 阅读全文
posted @ 2014-03-17 17:38 Daniel King 阅读(1199) 评论(0) 推荐(0) 编辑
摘要: cuckoo在部署阶段,只在Guest系统里塞了一个agent,这个agent在运行阶段负责与Host端程序进行通信,从Host端接收sample, 整个客户端程序,以及配置文件。 在Host端主要的源文件为: ./lib/cuckoo/core/scheduler.pyclass AnalysisManager(Thread): def acquire_machine(self):// ... 阅读全文
posted @ 2014-03-16 17:29 Daniel King 阅读(1005) 评论(0) 推荐(0) 编辑
摘要: python -m pdb target.py 阅读全文
posted @ 2014-03-14 14:20 Daniel King 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1. 查看哪些端口被占用$ netstat -anp | grep 2042tcp 0 0 192.168.56.1:2042 0.0.0.0:* LISTEN 8974/python2. 删除占用端口的进程sudo kill 8974 阅读全文
posted @ 2014-03-14 14:19 Daniel King 阅读(754) 评论(0) 推荐(0) 编辑
摘要: 1. Cuckoo使用的第三方工具及库Yara:http://plusvic.github.io/yara/Pydeep:https://github.com/kbandla/pydeepYara是用来扫描文件的Pattern的工具;Pydeep是用来计算一段缓存或者一个文件的摘要,以及根据摘要来分析两个文件的相似度的工具。Pydeep是根据ssdeep项目改写的Python版本,而ssdeep是根据下面的论文开发的:http://dfrws.org/2006/proceedings/12-Kornblum.pdfDpkt (Highly Recommended): for extractin 阅读全文
posted @ 2014-03-13 16:33 Daniel King 阅读(981) 评论(0) 推荐(0) 编辑
摘要: 之前使用python都是用来做一些简单的脚本,本质上和bat批处理文件没有区别。 但是Python是可以用来编写大型的项目的,比如: Volatility:https://code.google.com/p/volatility/ Cuckoo:http://cuckoosandbox.org/index.html 1. ctypes库 http://docs.python.org/2/libr... 阅读全文
posted @ 2014-03-13 13:33 Daniel King 阅读(1286) 评论(0) 推荐(0) 编辑
摘要: ollydbg项目地址:http://www.ollydbg.de/ 将exe文件打开到ollydbg项目中,就会直接停到“入口点”地址处,通过View->Memory Map可以清楚地看到用户空间的各个内存区域的用途。 找到我们的目标文件映射到地址空间的区域,选择PE Header跟进去看AddressOfEntryPoint,再加上PE Header映射基地址,我们就得到了一开始的“入口点”... 阅读全文
posted @ 2014-03-10 13:50 Daniel King 阅读(1067) 评论(0) 推荐(0) 编辑
摘要: qemu的作者在QEMU, aFastand Portable Dynamic Translator一文提到了qemu的动态翻译机制,大致可以总结为如下过程:目标代码中的一条指令 | |--(1) |微操作(Micro Op) | |--(2) |主机代码过程1: qemu将目标代码的指令一条条地解释为微操作(Micro Op)。通常来说,一条目标指令,可能被解释成一条或者几条微操作,因此这个过程是会让目标代码的执行过程比原来慢的。微操作是精挑细选的,它们的组合基本上可以完整地表示不同体系下的所有指令。从目标代码中的指令,到微操作的转换过程是由qemu中手... 阅读全文
posted @ 2014-03-07 15:56 Daniel King 阅读(1235) 评论(0) 推荐(0) 编辑
摘要: b : toggle highlightx : toggle sort row highlightshift + : switch sort row 阅读全文
posted @ 2014-03-06 17:34 Daniel King 阅读(190) 评论(0) 推荐(0) 编辑
摘要: qemu -kernel vmlinuz-3.14.0 -hda img_custom -append root=/dev/sda1 阅读全文
posted @ 2014-03-06 16:30 Daniel King 阅读(932) 评论(0) 推荐(0) 编辑
摘要: 参考:http://lists.gnu.org/archive/html/qemu-devel/2011-04/pdfhC5rVdz7U8.pdf 1. qemu与Bochs的区别: 1. Bochs Bochs和qemu都是以软件仿真为主的虚拟软件,二者的区别何在? Bochs完全是以软件的方式对目标程序(OS以及运行在其上的应用程序)进行仿真。Bochs在自己的内部维护着CPU、内存、IO设... 阅读全文
posted @ 2014-03-06 11:08 Daniel King 阅读(4678) 评论(0) 推荐(2) 编辑
摘要: 参考:http://en.wikipedia.org/wiki/Return-oriented_programming Rop全称Return-Oriented Programming,就是对栈上的返回地址进行利用的一种攻击方式。 对于栈的利用经历了几个阶段,都是在“道高一尺,魔高一丈”的正邪较量中不断地升级地。 1. Stack Smashing Attack 简单版本,主要是覆盖返回地址,将... 阅读全文
posted @ 2014-03-04 14:02 Daniel King 阅读(2518) 评论(0) 推荐(0) 编辑
摘要: 1. 安装vim/ctags/cscopectag2. 在源码根目录下执行sudo ctags -R .会生成tags文件,里面包含着整个源码目录下的符号信息。3. 直接到达某个符号(比如函数)的定义处sudo vim -t main就会直接到达main的定义处,如果有多个同名定义,可以在vim下面输入::ts然后选择列出来的其中的某一个定义。4. 在vim文件中跳转到符号定义处Ctrl + ]跳转回来Ctrl + Tcscope参考:http://blog.163.com/tlost_heaven/blog/static/79246122201073001957690/5. 在源文件目录执行 阅读全文
posted @ 2014-03-03 13:48 Daniel King 阅读(1078) 评论(0) 推荐(0) 编辑
摘要: start_kernel是内核启动时比较重要的一个函数,然而我发现一个问题,我编译出来的目标文件中的汇编代码与C源码并不完全对应,这是怎么一回事呢?asmlinkage void __init start_kernel(void){ char * command_line; extern const struct kernel_param __start___param[], __stop___param[]; /* * Need to run as early as possible, to initialize the ... 阅读全文
posted @ 2014-03-03 10:39 Daniel King 阅读(539) 评论(0) 推荐(0) 编辑
摘要: 在我的Linux Mint上使用Bochs时出现了很奇怪的问题,按照http://www.cnblogs.com/long123king/p/3568575.html步骤会提示:symbol not found因此,我决定使用gdb调试Bochs找出究竟发生了什么奇怪的问题。1. 如何配置.conf.linux添加-g -O0到CFLAGS/CXXFLAGS2. 重新生成bochs程序sudo make bochs3. 参考:http://code.google.com/p/stl-debug/添加对STL容器的调试支持调试:sudo gdb --args ~/latest_bochs/boc 阅读全文
posted @ 2014-02-28 17:23 Daniel King 阅读(582) 评论(0) 推荐(0) 编辑