【问题标题】:How to disassemble a 32-bit ELF stripped c-program using IDA pro?如何使用 IDA pro 反汇编 32 位 ELF 剥离的 c 程序?
【发布时间】:2016-10-16 08:41:57
【问题描述】:

我想知道如何使用 IDA pro 反汇编剥离的 ELF

我只是将其剥离并制作为 32 位 ELF 程序以供理解..

#include <stdio.h>
 int my_password()
 {
   int pass,res,i,k;
   pass=5;
   for(i=0;i<=10;i++)
   {
     pass=pass+1;

   }
   return pass;
 }
 void main()
 {
   int ans,user;
   printf("Enter my password");
   scanf("%d",&user);
   ans=my_password();
   if(ans==user)
   {
     printf("You disassembled stripped C");
   }
   else
   {
     printf("You are not good enough!");

   }
 }  

我用来将其剥离并作为 32 位的命令:

 gcc -m32 test.c
 strip --strip-unneeded test

虽然我尝试使用 IDA pro 进行反汇编,但与未剥离的相比完全不同。

使用 IDA pro 请告诉我如何找到该密码..

请考虑我没有源代码。请仅使用 IDA PRO 来帮助我。

【问题讨论】:

    标签: reverse-engineering ida


    【解决方案1】:

    您可以使用“字符串引用”攻击方法。所以,如果你运行你剥离的crackme并尝试输入密码之类的东西,你会得到“你不够好!”信息。因此,您需要使用 Shift+F12 打开字符串窗口:

    然后你需要跳到“你不够好!”字符串(在包含许多字符串的大型应用程序中,您应该使用搜索功能):

    然后跳转到引用这个字符串的代码:

    my_password这里没有原名,但功能相同。结合 sscanf 格式分析,我们可以找出密码的正确值。

    【讨论】:

      猜你喜欢
      • 2010-10-08
      • 1970-01-01
      • 1970-01-01
      • 2016-06-06
      • 2011-07-25
      • 2013-08-04
      • 2016-03-31
      • 2015-02-14
      • 1970-01-01
      相关资源
      最近更新 更多