如何使用IDA pro拆解32位ELF剥离的c程序?

时间:2016-06-15 09:51:44

标签: reverse-engineering ida

我想知道如何使用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 来帮助我。

1 个答案:

答案 0 :(得分:1)

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

enter image description here

然后你需要跳到&#34;你还不够好!&#34; string(在具有许多字符串的大型应用程序中,您应该使用搜索功能):

enter image description here

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

enter image description here

my_password这里没有原始名称,但它具有相同的功能。使用sscanf格式一起分析它,我们可以找出正确的密码值。