![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
从算法到程序
文章平均质量分 71
penguin_wwy
这个作者很懒,什么都没留下…
展开
-
从extern说开去(一)
extern符号的主要目的是为了实现C++对C语言的正确调用,在C++中完美兼容C。 extern “C”的含义主要包含两个方面: (1)extern关键字表明函数和全局变量的作用范围。从链接的角度看,意味着在编译期间会以约定的方式表示引用的在其他模块中有extern声明的函数或变量,等到链接时再重定位,进行地址修正(绝对地址修正和相对地址修正)。与之相对应是static,用static声明后的函原创 2016-05-26 23:11:44 · 461 阅读 · 0 评论 -
红黑树的实现
红黑树性质 (1)每个节点非黑及红 (2)根是黑色 (3)每一片叶子是黑色 (4)若一节点为红,则其孩子为黑色 (5)对每个节点,所以从该节点到后代叶子的路径含有同样多的黑色节点 插入一个节点的时间复杂度O(lgn) 删除一个节点的时间复杂度O(lgn) RBTree.h typedef enum {RED, BLACK} Color; typedef struct RBNode原创 2016-05-29 00:55:21 · 384 阅读 · 0 评论 -
看开源代码如何解析ELF文件
工具ROPgadget 在ROPgadget中有识别并分析多种文件结构,这次主要用这个功能来分析ELF文件格式。 分析的文件为libc.so 上代码 class Binary: def __init__(self, options): self.__fileName = options.binary self.__rawBinary = None原创 2016-06-19 00:54:19 · 3432 阅读 · 0 评论 -
反编译编译后的AndroidManifest
反编译AndroidManifest.xml是反编译APK的核心工作之一。 而且往往很多应用为了防御apktool的反编译,会采取一些防御性的手段,比如修改AndroidManifest.xml的 文件头,导致反编译出错。 结合AXMLPrinte的源码以及http://blog.csdn.net/jiangwei0910410003/article/details/50568487 自己原创 2016-08-25 00:28:04 · 3337 阅读 · 0 评论