计算机程序执行

.fini_arry

2023.9.22

问题来自[2019红帽杯]easyRE

该题中对off_6CC090用十次base64解密出来一个网页作为混淆,向下继续分析发现还有一个byte_6CC0A0开头的数据段,寻找其调用函数发现一个(隐藏的)函数,从此函数中破解出flag(具体见该题WP)

问题:这个函数没有在main中调用,那么为什么写进来呢—我最后也没弄明白,这函数跑完也啥也没干

实际发现,这个函数被写入.fini_arry中,在程序结束时进行调用:

来自https://stackoverflow.com/questions/15265295/understanding-the-libc-init-array的回答:

image-20230922151506432