【reverse】buu-[Zer0pts2020]easy_strcmp——main函数的启动过程+IDA动态调试ELF

本文介绍了64位ELF程序中动态调试函数的过程,通过IDA分析和动态调试,揭示了easy_strcmp函数可能被hook的细节。在调试过程中,发现了函数地址被篡改,导致函数调用时执行了预期之外的代码。文章提供了CPP和Python+libnum的代码示例,以及IDA动态调试配置方法,帮助读者理解这种hook技术。
摘要由CSDN通过智能技术生成

依赖

1.IDA7.7
2.Ubuntu20.04

作者:hans774882968以及hans774882968以及hans774882968

本文52pojie:www.52pojie.cn/thread-1686…

本文juejin:juejin.cn/post/714231…

本文csdn:blog.csdn.net/hans7748829…

思路

64位ELF。用IDA打开即可看到main函数:

__int64 __fastcall main(int a1, char **a2, char **a3)
{if ( a1 > 1 ){if ( !strcmp(a2[1], "zer0pts{********CENSORED********}") )puts("Correct!");elseputs("Wrong!");}else{printf("Usage: %s <FLAG>\n", *a2);}return 0LL;
} 

会这么简单嘛?我们应该关注a2[1]是否被修改了。因此看看start函数:

// positive sp value has been detected, the output may be wrong!
void __f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值