gcc
狼群一一先锋
他日仙界如相见,一声道友尽沧桑。
展开
-
将expect脚本移植到嵌入式linux上
嵌入式设备需要telnet访问服务器并在服务器上执行工具,用expect脚本实现,但嵌入式系统已经将expect裁剪掉,今天将expect移植过来,不是十分清晰,为了防止以后忘记,将整个过程记录下来。 网上相关并不多,这篇是我认为写的最好的。tcl和expect版本有很多,为了简洁,我使用的也是这篇文章链接中的版本,分别是tcl8.6.10-src.tar.gz和expect5.45.3.tar...原创 2020-01-08 09:05:33 · 580 阅读 · 0 评论 -
动态库链接动态库运行问题
问题 liba.so包含函数符号abc,libb.so里面又调用了函数abc。程序运行的时候如果普通dlopen会报错,libb.so无法找到符号abc。 解决 dlopen的时候参数加入RTLD_GLOBAL即可。下面是man中的解释,就是针对这种问题。一个动态库需要的符号在另一个动态库中定义,非常不提倡!但有时候动态库不是你做的,你没有办法去修改,也只能这么去做保证程序的运行。 RT...原创 2019-10-24 20:43:45 · 204 阅读 · 0 评论 -
5——Linux二进制分析——学习——关于elf文件类型/-no-pie选项
《4——Linux二进制分析——学习——ptrace调试器》的补充。关于编译test的问题。 我直接通过gcc test.c -o test编译,在执行的时候会报错./testshare is not an ELF executable. The type: 3.我用readelf -h test去查看头文件的时候发现test的文件格式是 DYN (Shared object file),而我想...原创 2019-02-20 09:47:30 · 6005 阅读 · 0 评论 -
payload.c详细说明——linux c编程内嵌汇编和_start启动
下面是代码和注释,我详细的讲解一下。在这之前我是不懂的,虽然在看kernel代码的时候经常看到内嵌汇编代码,但也没有认真去学习。借着这次机会查了一下,谈不上懂了,但这3个接口应该是每一行都明白了。希望以后的开发过程中我也能用一下来提高性能,高逼格操作。感谢这篇文章的作者C语言内联汇编。这个是官网的一些知识,有兴趣可以看一下GCC-Inline-Assembly //To compile: g...原创 2019-03-09 16:50:39 · 501 阅读 · 0 评论 -
动态库链接静态库遇问题
问题 liba.so的编译依赖libb.a,链接后正常编译通过。运行加载liba.so的时候报找不到函数int c(int d ). 原因 原因现在讲不清楚,只知道和链接,地址,程序执行过程有关。 解决 在编译libb.a的时候加上 -fPIC 选项(编译为位置独立(地址无关)的代码)这篇博客写的挺好的 其他 ldd -r liba.so | grep c 和nm liba.so ...原创 2019-07-24 20:39:04 · 1090 阅读 · 0 评论 -
openssl交叉编译方法
查看手头openssl文件夹,发现有以前交叉编译openssl时候的一个说明,已经不记得了,防止丢失写此文章。总共就3步。 1、先执行: ./config no-asm 如果需要动态库,执行: ./config no-asm shared。--prefix=/usr/local/openssl选项指定install的地址,install后可以在里面找到库和头文件等,有需要的话,可以加入-fPIC...原创 2019-08-09 15:05:07 · 972 阅读 · 0 评论 -
libcurl交叉编译方法
linux上开发httpClient使用最广发的就是curl了,关于curl和libcurl区别等科普知识不是我要写的内容。我使用版本是curl-7.66.0。交叉编译和发行版大linux编译我都进行了尝试,其实最开始只是交叉编译,但因为要用cookie,所以才进行的ubuntu编译,比交叉编译遇到的问题更棘手。这篇文章会把遇到的一些问题说一下,细节不赘述。点击这里是下载地址,写此文章时最新的版本...原创 2019-10-11 16:17:39 · 709 阅读 · 0 评论 -
libcurl中cookie的使用
异步multi没有使用,easy是最常用的。cookie我试了下面4个宏,基本全了。cookie的细节很多,但不是我的重点,就这么笼统的写一下。 CURLOPT_COOKIE 参考 https://curl.haxx.se/libcurl/c/CURLOPT_COOKIE.html 说明 1、第一种自定义cookie,只需调用一次,多次调用以最后一次为准 2、格式必须是NAME=CONT...原创 2019-10-11 16:44:17 · 1418 阅读 · 0 评论