本文由博主(SunboyL)原创,转载请注明出处:http://www.cnblogs.com/xsln/p/DLL_DeCompilation.html
在Unity实际开发过程中,我们可能会用到大量的插件,而很多插件有可能并非开源,而是封装成dll文件。
使用免费非开源插件时,插件往往缺少维护,这对我们的开发是非常不利的。例如dll暴露的诸多接口,我们并不知道这些接口背后干了什么、底层用到哪些接口、有什么使用上的潜规则、对性能影响如何。
根据网上发现的网友统计(统计来源:http://www.xuanyusong.com/archives/2664),多数的dll没有做代码混淆、反逆向等工作。因此对于这类由IL生成的dll,我们可以直接使用现成的工具,对dll进行反编译,查看和学习dll内部到底干了些什么,是否存对性能产生影响的设计缺陷等等。
目前已存在有很多的翻遍应工具,例如ILSpy、.Net Reflector 8、Resharper等等。
下面我们使用免费开源的ILSpy为例,对UnityEngine.dll进行一次反编译学习。
下载工具:
可以到ILSpy的官方网站进行下载:http://ilspy.net/
<声明:本文分享的是工具的简单使用方法,仅供学习参考使用,请勿用作其他用途>
使用:
1、打开ILSpy.exe,进入工具主界面:
2、点击工具菜单栏的<File - Open>进入文件浏览界面,在Unity安装路径中找到UnityEngine.dll并打开
3、反编译成功后,在左侧列表中将显示被反编译dll的层次列表内容,而右侧显示源码。
反编译后可以发现,UnityEngine.dll只是一个基于C#的包装层,因此我们看到的只是UnityEngine的包装代码以及一些比较基础的逻辑代码,核心代码并不在其中。
原因是Unity本身是由C++编写,即便要查看,也应该需要使用OllyDebug等其他反汇编工具深度逆向(这已经不是本文的讨论范畴),不可能通过ILSpy这类IL反编译工具获得。
Edit by SunboyL

转载于:https://www.cnblogs.com/SunboyL/p/DLL_DeCompilation.html

Unity-DLL反编译学习相关推荐

  1. Android 获取ROOT权限原理介绍和签名验证原理及反编译学习

     Root 的介绍 1.       Root 的目的 可以让我们拥有掌控手机系统的权限,比如删除一些system/app下面的无用软件,更换开关机铃声和动画,拦截状态栏弹出的广告等. 2.      ...

  2. 第19天:WEB攻防-.NET项目DLL反编译

    使用IDEA载入目录 打开.aspx后进项代码分析 <%@ Page Language="C#" AutoEventWireup="true" CodeB ...

  3. .net dll反编译源码后,使用vs的正则替换get_和set_

    get_([a-zA-Z0-9]+)\((.+)*?\) 替换为 $1 = $2; 以上()中的表示要保留的元素,按顺序分别对应于替换后的$1 $2 *?表示非贪婪匹配防止匹配失败 用于最新版vsco ...

  4. .net dll 反编译修改IL再编译,修改版本号

    记一次.net dll 反编译修改IL再编译exe 可用Everything搜索ildasm.exe 在用ildasm.exe打开dll或exe 点击文件右键转储 转储之后用visua studio ...

  5. unity防反编译 windows平台加密dll

    原文链接:http://gad.qq.com/college/articledetail/7194480 本文首发腾讯GAD开发者平台,未经允许,不得转载 功能取决于需求,在实现这功能之前,却有一个小 ...

  6. Unity C# 反编译

    前言 结合前篇:[反编译U3D]Decompile Unity Resources 修正 本篇说说如何查看unity项目(apk) 的源代码,前提是这个apk的代码未经过加密. 写这篇的目地就是看看别 ...

  7. APK反编译学习心得

    Apk反编译之后,我们就可以看到开发这个应用使用的资源文件(图片).layout.样式.相关的实现代码等,apk反编译也算是Android开发中一个比较实用的技巧吧,当我们对别人开发好的应用感兴趣时, ...

  8. Android apk反编译学习【天天酷跑】

    微信游戏出来之后,网上出现很多破解教程和攻略,修改最多的有无敌打飞机,无限弹药,刷分数,天天酷跑刷金币等.看了下破解方法不外乎以下两种: 1.反编译游戏apk包,修改smali字节码,重新打包. 2. ...

  9. .dll反编译工具Reflector的使用

    这个软件经常更新,可以在本词条提供的扩展阅读提供的链接中下载最新的版本. 默认情况下,Reflector会打开一组公共程序集(mscorlib.System.System.Data.System.Dr ...

  10. Android反编译学习

    1.下载需要反编译的APK文件(测试APK程序为QQ的官方版的Android客户端). 2.使用DoAPK工具反编译下载的APK文件.该工具是在往上下载的一款编译反编译APK程序的PC端小软件.使用该 ...

最新文章

  1. Microsoft Dynamics AX 2009 新增功能 – 应用(目录)
  2. Android之登录界面设计
  3. java去除字符串的空格,换行符,水平制表符,回车
  4. 老司机实战Windows Server Docker:4 单节点Windows Docker服务器简单运维(下)
  5. linux内核文件恢复,linux下系统文件恢复
  6. Logistic回归及梯度上升算法
  7. 组策略 之 注册表
  8. vs 2005 sp1 安装失败的解决方案 安装VS2005 sp1的方法
  9. 【验证小白】只有SV+modelsim学验证(3)——加checker到环境中
  10. 百度网盘不限速下载软件 Pan Download下载不了,创建文件失败的解决办法
  11. ApacheCN 活动汇总 2019.8.23
  12. 微信小程序开发-软件外包平台案例
  13. overleaf页码_Overleaf—使用教程-致谢原作者
  14. Hark的数据结构与算法练习之堆排序
  15. validate.js 插件表单校验
  16. kindle书摘-围城-相爱勿相伤
  17. 同步fifo与异步fifo
  18. Mavenir被以色列Partner选为下一代网络
  19. Linux打tar包命令
  20. 别想盗我视频之——blob加密+mediaSource防止用户下载视频

热门文章

  1. Python机器学习之决策树(使用西瓜数据集构建决策树,并将其可视化,graphviz程序下载)
  2. 基于STM32的多功能心电信号监测系统设计
  3. 开源界的视频会议系统-FreeSWITCH
  4. SystemTap笔记02 stap的编译运行
  5. shuffleNet实现
  6. 我看过的机器学习方面的好文章
  7. 欧拉角与方向余弦矩阵之间的转换
  8. F28335学习之GPIO配置
  9. git合并工具-DiffMerge
  10. PlaySound error