当前位置: 首页 > 工具软件 > Hotpatch > 使用案例 >

hotpatch,汇编,链接,程序运行地址---基础

巫马瀚漠
2023-12-01

linux 实现一个热补丁
https://www.cnblogs.com/leo0000/p/5632642.html
https://github.com/vikasnkumar/hotpatch
https://www.jianshu.com/p/9269836e0bd6
https://blog.csdn.net/chrisnotfound/article/details/79099711

 

程序的编译,链接,运行和地址映射
https://blog.csdn.net/weixin_40365003/article/details/80726269

深入理解函数调用跳转地址
https://blog.csdn.net/weixin_41028621/article/details/87830267

运行地址和加载地址
https://blog.csdn.net/wangliang888888/article/details/54952580

深度解析程序从编译到运行
https://www.cnblogs.com/tsingke/p/9747141.html

在Linux中如何利用backtrace信息解决问题
https://blog.csdn.net/jxgz_leo/article/details/53458366    -----imp   牛逼的博客

backtrace堆栈调用追踪函数
http://oroct.com/20190629/155.html

linux 段错误调试方法   --imp                                     -----1)
https://blog.csdn.net/hulihong/article/details/46454653

addr2line 动态库                                                 -----2)
https://www.cnblogs.com/cute/archive/2012/07/16/2593208.html  

动态链接库之延迟绑定探究
http://blog.chinaunix.net/uid-31545209-id-5787225.html


使用backtrace获得动态链接库的调用地址      -----Imp;
https://blog.csdn.net/littlefang/article/details/17654419?utm_source=blogxgwz9


Position Independent Code (PIC) in shared libraries
https://blog.csdn.net/astrotycoon/article/details/8456453


Linux中maps/smaps的妙用   ---- imp
https://blog.csdn.net/hp_truth/article/details/45029291

Linux反汇编根据程序崩溃堆栈信息定位问题2
https://blog.csdn.net/TSZ0000/article/details/93906878   ---imp

linux c开发: 程序崩溃时保存堆栈信息并解析具体代码行
https://blog.csdn.net/n5/article/details/77651120?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

Linux调试工具
https://cloud.tencent.com/developer/article/1471057

Linux 程序编译过程的来龙去脉
https://cloud.tencent.com/developer/article/1346487

从汇编角度来理解linux下多层函数调用堆栈运行状态 
https://cloud.tencent.com/developer/article/1345203
<<linux c 编程一站式学习>>
<<网络渗透技术>>

Linux程序崩溃调试手段--core使用(续)   ---imp  ----
https://blog.csdn.net/lisayh/article/details/74420434

更改core dump生成路径 :echo /data/coredump/core.%e.%p> /proc/sys/kernel/core_pattern
https://blog.csdn.net/lisayh/article/details/74371312

通过反汇编定位段错误
https://blog.csdn.net/ringrang/article/details/60596846?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

善用backtrace解决大问题【转】
https://www.cnblogs.com/sky-heaven/p/9239371.html

使用BackTrace查看调用堆栈
https://blog.csdn.net/qq_28351465/article/details/82999140

ELF动态库加载技术
https://blog.csdn.net/SUKHOI27SMK/article/details/8737656

ELF动态库加载技术
https://blog.csdn.net/zzmfish/article/details/8454794


Intel平台下Linux中ELF文件动态链接的加载、解析及实例分析
https://www.cnblogs.com/ict-wangwei/archive/2012/09/03/2668832.html


ELF文件格式分析 —— 滕启明。
http://wenku.baidu.com/link?url=6t_cD3RkPHdxtkdeVwqfhtXUZbwPswwaS99gL7OgNkD_rarhMXaMe_Oe7E3TAGz5b9Ut2FfFwKX8niEvTGYtvp5_Bkngy8cQrYPvY39Gvza

ELF文件加载与动态链接(一)
https://www.cnblogs.com/gm-201705/p/9901555.html

objdump命令解析
https://www.cnblogs.com/tongongV/p/10745040.html


动态链接库中函数的地址确定---PLT和GOT
https://blog.csdn.net/hulihong/article/details/44224521


linux c 编译时出现warning: assignment makes pointer from integer without a cast原因
https://blog.csdn.net/hulihong/article/details/5387608


linux 段错误调试方法
https://blog.csdn.net/hulihong/article/details/46454653

syslog 导致的死锁问题排查记录
http://blog.chinaunix.net/uid-29547110-id-5825272.html


Linux查看动态链接库的所有函数以及在动态链接库查找某一个函数的方法
https://blog.csdn.net/jirryzhang/article/details/72801284

区别:编译时与运行时(Combile-time Vs Runtime)
https://www.jianshu.com/p/2bc88288f295
What is the difference between runtime and compile time?
runtime-vs-compile-time@StackOverFlow


Lambda表达式(C语言)
https://www.linuxidc.com/Linux/2016-07/133555.htm
https://blog.csdn.net/qq_29621351/article/details/91345203


VC6断点调试之窗口监视(内存监视、寄存器和栈回溯)<第五篇>
https://www.dotcpp.com/wp/545.html#

反汇编能查看链表数据吗

通过反汇编分析非循环单链表
https://www.cnblogs.com/scrat/archive/2012/08/16/2640852.html

C语言中的回调函数(Callback Function)
https://www.cnblogs.com/jontian/p/5619641.html
https://github.com/EyalAr/lwip

go channel详解之源码分析
https://www.jianshu.com/p/b9a76325ccc5

通过 /proc/[pid]/ 查看进程状态   -----官方英文手册
https://blog.csdn.net/encourage2011/article/details/78452487

Linux中 /proc/[pid] 目录各文件简析
https://www.cnblogs.com/DataArt/p/10089850.html

Linux /proc/$pid/smaps的含义 :其中的Shared_Clean/Shared_Dirty/Private_Clean/Private_Dirty究竟是什么含义?
https://blog.csdn.net/petib_wangwei/article/details/38225929
【Linux】Linux的虚拟内存详解(MMU、页表结构)
https://blog.csdn.net/qq_38410730/article/details/81036768
内核必须懂(七): Linux四级页表(x64)
https://cloud.tencent.com/developer/article/1421792
https://www.cnblogs.com/zhuchenglin/p/8686924.html

https://blog.csdn.net/u010902721/article/details/46446031


当函数执行完毕后,如何返回调用处?

//汇编部分:
汇编语言子程序调用及返回 BL指令
https://www.veryarm.com/27242.html

BL指令的语法格式如下:
BL          subname
其中:subname是被调用的子程序的名称。BL指令完成2个操作,即将子程序的返回地址放在LR寄存器中,
同时将PC寄存器值设置成目标子程序的第一条指令地址。

 

修改函数返回地址   --- good
https://www.cnblogs.com/houhaibushihai/p/9664723.html

gcc编译-m32、-mx32有什么区别   ----good
https://blog.csdn.net/Namcodream521/article/details/85109061


VC6断点调试之窗口监视(内存监视、寄存器和栈回溯)<第五篇>  ---good
https://www.dotcpp.com/wp/545.html#

深入理解函数调用跳转地址    ---good
https://blog.csdn.net/weixin_41028621/article/details/87830267
 

什么是ARM中的SP(堆栈)和LR?  ---Imp;
https://blog.csdn.net/internet_register/article/details/77880637
https://blog.csdn.net/zhou1232006/article/details/6149548
https://blog.csdn.net/qscdianzhi/article/details/80802109
https://blog.csdn.net/Mirage520/article/details/41896433

返回连接寄存器【LR】详解
https://blog.csdn.net/xuan_h/article/details/23935507

Assembly  ---- 汇编
https://www.cnblogs.com/dgwblog/category/1194463.html

ARM与Thumb (2010-09-09 08:09:28)
http://blog.sina.com.cn/s/blog_62714d6a0100ly0b.html


关于LD_DEBUG (转载)
https://www.cnblogs.com/diyunpeng/p/3663201.html
 

 

Segmentation Fault with strcmp
https://stackoverflow.com/questions/7316306/c-segmentation-fault-with-strcmp

如何进行Linux平台共享库替换
https://cloud.tencent.com/developer/article/1040842

linux+so+查找顺序
https://cloud.tencent.com/developer/information/linux%2Bso%2B%E6%9F%A5%E6%89%BE%E9%A1%BA%E5%BA%8F

Linux动态链接
https://cloud.tencent.com/developer/article/1143729


Linux替换动态库导致正在运行的程序崩溃
https://www.cnblogs.com/wangliangblog/p/10766986.html

基地址 linux
https://cloud.tencent.com/developer/information/%E5%9F%BA%E5%9C%B0%E5%9D%80%20linux

Linux 程序编译过程的来龙去脉
https://cloud.tencent.com/developer/article/1346487

利用LD_PRELOAD hook代码
https://www.cnblogs.com/cobbliu/p/5725472.html

 类似资料: