C/C++语言
文章平均质量分 53
hchen90
EAT, CODE, SLEEP
展开
-
C语言中嵌入汇编代码
C语言怎样嵌入汇编 TIPS:在编译过程汇中,汇编代码块是原封不动地送到汇编语言编译阶段的。 一、为什么会用到汇编?6 v& }, T, m+ M( c# Q) y M: K 1.为了提高速度和效率。不过这种情况很少了,现在C/C++编译器的优化很厉害了。" J* F' O' f0 y& i+ |* X0 Z 2.为了实现某些C语言中不具备、但为不同的机器所特有的功能。这是主要原转载 2012-11-06 12:44:16 · 6400 阅读 · 0 评论 -
内存Dump原理
windows中一个可执行性程序被执行后,或者其他的数据文件,只要被影射到了某个进程的地址空间就有机会将它dump出来,这种技术到底有何用,举个例子,比如你有一个软件,并且设置了注册机制,而且用过特殊加密措施,比如用UPX,PECompact加密,但是如果在内存中将其给dump出来,所有的加密的壳都化为乌有,软件的保护也就化为乌有。 加密的文件必须解密后才能进驻内存,代码才能正常执行,所以在代码原创 2013-02-24 01:22:42 · 10584 阅读 · 0 评论 -
MS-PE文件全解
MS-PE文件全解(一) MS-PE文件时微软的Windows系列NT操作系统中的可执行文件的简称,它与传统的UNIX可执行文件ELF相比,稍微复杂一点,结构内容也多了一些。对于编写如杀毒软件,加密可执行程序的软件(加壳软件)等,熟悉它还是非常有必要的。 好了,下面切入主题。 MS-PE文件,以下将简称PE文件。PE文件大体分为四个部分,最前面的是DOS的头部,结构如下: type原创 2013-10-15 01:42:06 · 1208 阅读 · 0 评论 -
说说LINUX程序内存管理那些事
说说LINUX程序内存管理那些事 在LINUX系统中,在内存管理方面,为考虑到简便高效,就像UNIX那样,有时会出现这样的情形,刚刚释放的内存,这时内存已经是无效的了,但是仍然可以访问,这是因为暂时释放的区域实际上根本就没有真正地回收,不过可能过不一会儿就变成无效的了,这是一种延迟回收的策略,如果一直使用一个被释放了的指针,可能会刚开始时,一切都正常,可过会儿就出现地址越界而导致程序出错(在原创 2015-09-01 02:35:47 · 873 阅读 · 0 评论