CTF逆向4

本文详细介绍了在CTF比赛中遇到的逆向分析问题,包括UPX脱壳、ida分析堆栈不平衡的解决、互斥体在多线程中的应用以及exit(0)在程序终止中的角色。通过分析,揭示了线程执行和程序验证的关键点。
摘要由CSDN通过智能技术生成

BUUCTF-Youngter-drive

1.UPX脱壳

这个程序不知道为什么打不开,就不手动脱壳了
复制到kali linux
终端输入

upx -d 文件名

得到的文件就是脱壳好的文件

2.堆栈不平衡导致ida分析失败

在进入ida分析的函数时,ida显示:
Decompilation failure:
xxxxxx: positive sp value has been found
解决方法:
显示esp的值,按g跳转到xxxxxx,ALT+k修改esp的值
深入了解请看:
https://www.cnblogs.com/xunbu7/p/7779309.html

3.互斥体

拖进ida

int main_0()
{
   
  HANDLE v1; // [esp+D0h] [ebp-14h]
  HANDLE hObject; // [esp+DCh] [ebp-8h]

  sub_4110FF();
  ::hObject = CreateMutexW(0, 0, 0);
  j_strcpy(Dest, Source);
  hObject = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)StartAddress, 0, 0, 0);
  v1 = CreateThread(0, 0, (LPTHREAD_START_ROUTINE)sub_41119F
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值