反编译的swf 怎么生成swf
(1)下载Flash Decompiler Trillix并安装
(2)安装完成后,双击打开,
(3)点击管理,点击添加到任务,
(4)点击添加到任务之后,可以添加SWF文件或者EXE文件,
(5)根据实际需要,添加需要反编译的文件
(6)点击转换所有任务之后
(7)点击确定,就可以到存放的目录去找转换过来的源文件了。
swf文件反编译是什么意思
flash制作的时候,有制作文件,打开这个文件后,flash动画可以直接修改,这个文件是源代码文件fla。swf文件是flash制作完成后生成的最终文件。从swf转换出fla文件就叫做反编译。
C#如何防止被别人反编译
C#
编写的代码通过VS编译器生成
dll
或
exe
,很容易被一些反编译工具查看到源码或对源码进行修改。
为防止代码被反编译或被篡改,我们可以进行一定的防范措施。但不能杜绝,因为DotNet编写代码运行必须编译成IL
中间语言,IL是很规则,同时也很好反编译。
反编译防范措施:
设置项目代码反汇编属性
混淆
方法一:防止
Ildasm.exe(MSIL
反汇编程序)
反汇编程序集
方法很简单在项目文件AssemblyInfo.cs中增加SuppressIldasm属性。
当项目中增加SuppressIldasm属性后在使用ildasm.exe反编译代码,会提示:“受保护的模块
--
无法进行反汇编“
ildasm.exe
读取项目中包含
SuppressIldasm
属性就不对此程序集进行反编译。但ILSyp,Reflector等反编译工具针对程序集设置SuppressIldasm属性置之不理,一样可以反编译源码。
缺点:
可见SuppressIldasm
属性只针对ildasm.exe工具起效果,同时也能删除ildasm.exe工具的此项限制。参考:《去掉ILDasm的SuppressIldasmAttribute限制》
方法二:混淆
混淆原理:将VS编译出的文件(exe
或
dll)通过ildasm对文件进行重命名,字符串加密,移动等方式将原始代码打乱。这种方式比较常见。
VS2013
自带混淆工具:工具--》PreEmptive
Dotfuscator
and
Analytics
但VS2013自带Dotfuscator
5.5
需购买激活才能使用全部功能。目前百度提供
DotfuscatorPro
4.9
破解版版本下载。
打开
DotfuscatorPro
4.9
主界面
Settings-》Global
Options
全局配置
常用功能配置:Disable
String
Encryption=NO
启用字符串加密
选择需混淆C#编译代码(dll
或
exe)
其中Library不要勾选,否则有些类、变量等等不会混淆;
Rename
重命名配置
常用功能配置:
勾选
=
use
enhanced
overload
induction
使用增强模式
重命名方案
Renaming
Scheme
=
Unprintable
(不可打印字符,即乱码),也可以选择其他如小写字母、大写字符、数字的方式。
String
Encryption
字符串加密
勾选需要加密字符串文件(exe
或
dll)
可根据各自需求可进行其他相关配置。(如:control
flow,Output,Setting
-》Build
Settings,Settings
--》
Project
Properties等)
最后生成混淆文件
Build
Project。
Build
Project
生成混淆项目错误:
Could
not
find
a
compatible
version
of
ildasm
to
run
on
assembly
C:\Users\***bin\Debug\WindowsFormsApplication1.exe.??This
assembly
was
originally
built
with
.NET
Framework
v4.0.30319.
Build
Error.
处理方法:
ILASM_v4.0.30319
=
C:\Windows\Microsoft.NET\Framework\v4.0.30319\ilasm.exe
ILDASM_v4.0.30319
=
C:\Program
Files
(x86)\Microsoft
SDKs\Windows\v8.1A\bin\NETFX
4.5.1
Tools\ildasm.exe
[安装VS版本不同对应目录会有所变化]
混淆代码对比
未使用混淆工具,反编译出的源码:
使用混淆工具,反编译出的源码:
效果很明显,很难看出反编译代码所写的真正逻辑。
缺点:
C#代码通过混淆工具生成后,增加了很多转换过程。这使得反编译工具无法很直观看到源码真正逻辑。但源码代码过多转换会使软件本身运行效率降低,甚至会出现报错情况。-反编译swf