当前位置:   article > 正文

新发的日常学习——IDA的入门使用,反编译so/dll文件(反编译神器)_ida 反编译

ida 反编译

一、前言

之前一般是搞搞c#java反编译,比较方便。如果是用C/C++写的dllso,用什么工具来反编译呢?最有名的应该是IDA了。

二、IDA下载安装

链接:https://pan.baidu.com/s/1NATDYzomBYiwrwdH6qBjUA
提取码:2dmy

IDA官网:https://www.hex-rays.com/

三、IDA使用

1、编写test.c

为了方便演示,我们先协议而简单的test.c
test.c代码如下

#include <stdio.h>

int AddInt(int a, int b)
{
    return a + b;
}

void SayHello()
{
	printf("hello world");
}


int main()
{
	SayHello();
	int sum = AddInt(1, 5);
	printf("%d\n", sum);
	return 0;
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
2、将test.c编译成so文件

然后使用ndk-build将其编译成.so文件
在这里插入图片描述
具体如何编译so文件,要用到ndk-build,可以参见我另一篇文章:https://linxinfa.blog.csdn.net/article/details/108642977
如果是编译成exe,可以使用gcc,参见我另一篇文章:
https://linxinfa.blog.csdn.net/article/details/109142964

3、用IDA打开so文件

现在,我们使用IDA反编译一下我们的这个libtest.so
点击菜单File - Open
在这里插入图片描述
选择我们的libtest.so,打开
在这里插入图片描述
点击OK
在这里插入图片描述
反编译成功,我们可以看到对应的汇编代码
在这里插入图片描述

4、找函数

因为我们在test.c中有个main函数,我们在IDA左侧的Functions Windows中按Ctrl + F,查找main函数
在这里插入图片描述
双击main函数,可以看到对应的汇编代码
在这里插入图片描述
看汇编有点吃力的话,可以直接按F5转成伪代码(注意:伪代码不可全信,它与源码是有差异的)
在这里插入图片描述
从上的伪代码可以见到,调用了j_SayHello方法,我们的AddInt(1, 5);调用直接被优化成结果6了。
双击j_SayHello可以跳到函数定义里,里面调用了SayHello
在这里插入图片描述
继续跳到SayHello,可以看到调用了j_printf("hello world");
在这里插入图片描述
如果想切换会汇编视图,可以直接在上面的标签页中切换即可
在这里插入图片描述

四、实战

我们下载海王捕鱼的PC版(它是Unity做的),我们知道,Unity的C#代码会编译成Assembly-CSharp.dll,然后通过mono加载进内存中。
如果没有对Assembly-CSharp.dll做加密的话,可以直接使用ILSpy.exe反编译Assembly-CSharp.dll

ILSpy下载地址:https://github.com/icsharpcode/ILSpy/releases

尝试了发现海王捕鱼对Assembly-CSharp.dll做了加密,那么他们肯定修改了mono的加载Dll的逻辑(mono_image_open_from_data_with_name方法)。

Unity防破解 —— 加密Dll与Key保护
:https://www.cnblogs.com/lixiang-share/p/5979981.html

我们找到海王捕鱼exe所在目录中找到mono.dll
在这里插入图片描述
使用IDA打开,找到mono_image_open_from_data_with_name方法,发现了一个惊天秘密,解密密钥是:fuckyoutencent
在这里插入图片描述
看来,海王的程序员对腾讯怨念很深啊~

五、结束语

本文介绍的知识IDA最简单的用法,跟多高深的技巧,我会在后面的学习和使用中进行文章更新~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/133760
推荐阅读
相关标签
  

闽ICP备14008679号