2011年8月21日
摘要: 判断PE文件的数字签名信息工作中碰到需要判断一个PE文件是否是所确认的文件,而不是被替换过的。直接判断文件名的话有些不保险,别人只要修改下文件名,就可以以假乱真。因而需要判断额外的信息;由于文件有数字签名,判断数字签名因而是一个比较好的方法,但是如果只是判断数字签名是否有效也不够,别人只要用自己的证书重新签名就可以了,所以需要判断证书签名者信息。验证文件数字签名是否有效可以使用函数 WinVerifyTrust取得文件数字签名证书信息需要使用函数 CryptQueryObject。下面是一段从网上搜到的获得文件数字签名证书信息的代码:1 #include <windows.h>2 阅读全文
posted @ 2011-08-21 23:18 chingliuyu 阅读(614) 评论(0) 推荐(0) 编辑
2011年8月18日
摘要: strace gdb与ptrace2011-05-24 10:20121人阅读评论(0)收藏举报学习, 转贴自:http://blog.csdn.net/Javadino/archive/2008/09/06/2891413.aspxhttp://blog.csdn.net/Javadino/archive/2008/09/06/2891434.aspx引子:1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK_STOPPED等,还有一个TASK_TRACED。这表明这个进程处于什么状态?2.strace可以方便的帮助我们记录 阅读全文
posted @ 2011-08-18 22:59 chingliuyu 阅读(717) 评论(0) 推荐(0) 编辑
2011年8月6日
摘要: 字符集和字符编码[订正]这个主题已经被N多人讨论过了,这里仅仅是个人总结,不是教程。字符集和字符编码潘孙友 2010-12-31 于遵义目录 一、字符集 二、字符编码 三、Windows平台 3.1 Codepage代码页 3.2 编码转换(API) 3.3 编码转换(CRT) [感谢@loop指出错误] 四、Linux/unix平台 4.1 iconv 4.2 ICU 一、字符集字符集是一个集合,描述并定义了这个集合中可以出现哪些字符,常见的字符有GB2312、GBK、GB18030、UNICODE等。字符集仅仅是一种规范,一种约定,我们也可以定义自己的字符集。举例来说,... 阅读全文
posted @ 2011-08-06 13:30 chingliuyu 阅读(343) 评论(0) 推荐(0) 编辑
2011年8月4日
摘要: http://hi.baidu.com/netwrom/blog/item/8885f31ef0d09ae7e1fe0b1c.html在很多类unix平台上都有一个iconv工具,可以用来转换字符编码;而对于普通的文本文件,file命令可以用来检测某个文件的字符编码类型,结合两者就可以非常方便地把一个未知编码类型的文本文件用某一指定编码类型进行编码。 例如,linux内核源代码的某些文件编码就不是用ASCII编码的(貌似跟有些hacker“怪样”的姓名有关),例如:$ cd /path/to/linux-2.6.17$ file kernel/sys.ckernel/sys.c: ISO-8. 阅读全文
posted @ 2011-08-04 17:22 chingliuyu 阅读(2208) 评论(0) 推荐(0) 编辑
2011年7月25日
摘要: Core Dump[ 2010-01-06 13:38:30 | 作者:yuhen]在 Windows 下我们已经习惯了用 Windbg 之类的工具调试 dump 文件,从而分析并排除程序运行时错误。在 Linux 下我们同样可以完成类似的工作 —— Core Dump。我们先看看相关的设置。$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited scheduling priority (-e) 20 file size (b... 阅读全文
posted @ 2011-07-25 22:40 chingliuyu 阅读(725) 评论(0) 推荐(0) 编辑
2011年7月13日
摘要: richardhesidu发表于 2005-11-27 11:11贴一个我写的吧. 纯粹是为了讨论, 免得有人说我侵犯知识产权.#include <linux/init.h>#include <linux/module.h>#include <linux/proc_fs.h> //proc_fs#include <linux/seq_file.h> //seq_file#include <linux/fs.h> //struct file,struct inode#include <linux/sched.h> //nex 阅读全文
posted @ 2011-07-13 15:24 chingliuyu 阅读(223) 评论(0) 推荐(0) 编辑
2011年7月7日
摘要: linux C程序中获取shell脚本输出(2010-12-23 10:43)标签:linuxstyle控制台名言 分类:shell1. 前言Unix界有一句名言:“一行shell脚本胜过万行C程序”,虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作。比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令。但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果。例如,执行外部命令ping后,如果执 阅读全文
posted @ 2011-07-07 14:39 chingliuyu 阅读(408) 评论(0) 推荐(0) 编辑
2011年7月5日
摘要: 最近在与人合作的项目中使用了Zend Framework。为保证项目稳定性和方便发布,合作者把框架导出(export)到他的版本库然后提交(check in)。因为ZF框架的文件大量频繁的更新,他放弃了从框架版本库导出(export)的本地版本库同步到版本控制服务器上的办法,每次更新框架的时候都从版本库中删除框架然后重新添加,这在我看来是在是低效的,特别是考虑到这会让他从开发分支合并到产品分支非常困难。(删除并重新添加目录会在一定成都影响合并)我想会有更好的办法。曾经听说过svn:externals属性,但是从来没有使用过。既然有这个属性,肯定有一个适合运用他的条件。问题是SVN电子书中svn 阅读全文
posted @ 2011-07-05 08:59 chingliuyu 阅读(4643) 评论(0) 推荐(0) 编辑
2011年6月30日
摘要: 从Linux内核2.6开始,Linux内核的编译采用Kbuild系统,这同过去的编译系统有很大的不同, 尤其对于Linux内核模块的编译。在新的系统下,Linux编译系统会两次扫描Linux的Makefile:首先编译系统会读取Linux内核顶层的 Makefile,然后根据读到的内容第二次读取Kbuild的Makefile来编译Linux内核。Linux内核Makefile分类· Kernel MakefileKernel Makefile位于Linux内核源代码的顶层目录,也叫 Top Makefile。它主要用于指定编译Linux Kernel目标文件(vmlinux)和模块( 阅读全文
posted @ 2011-06-30 16:48 chingliuyu 阅读(2378) 评论(0) 推荐(0) 编辑
2011年6月26日
摘要: 前段时间,我在网上下载了一个3D游戏,想要玩的时候却被提示需要将IE的主页设置为特定的网址才能玩这个游戏.对于我这种有"系统洁癖"的人来说,最反感的就是这种要求,用Peid查了下,发现没有加壳,一路跟下来,发现这个程序也提供了一种病毒感染的思路,那就是资源感染,既将宿主程序作为病毒程序的一个资源保存,将附加了宿主程序资源的病毒程序覆盖原宿主程序,在打开病毒程序时,病毒发作同时将宿主程序释放出来,运行之.这个3D游戏的反汇编片段:view plaincopy to clipboardprint?/**************************************** 阅读全文
posted @ 2011-06-26 21:15 chingliuyu 阅读(384) 评论(0) 推荐(0) 编辑