ShadowEditor Ver0.11
作者:RahXephon
QQ:442033958 (evangelion)
QQ群：74846488，262611306

时隔八年再度更新，也算是完成当年的承诺，当时0.10B完成后曾说过下一版要增加对星际2和魔兽世界的支持，这次也算兑现承诺了，
0.11版开始支持高版本MPQ，感谢寒泉修改组的宿情和时代等支持我的朋友，让我再次有兴趣更新这个软件。

系统需求：
WINXP,WIN7,WIN8,WIN8.1,WIN10等WINDOWS操作系统

ShadowEditor功能:
1、支持目前所有MPQ加密图的读取和编辑
2、支持强制替换加密图文件
3、支持重压缩（移除空位）所有已知加密图，生成新文件后可自由添加新文件和其他编辑
4、分析地图获得大部分文件列表，支持HOOK STORM进行游戏中实时分析列表
5、支持自定义注入脚本（注意如果JASS文件有反作弊加密，则可能注入失败，此时请手动注入）
6、可编辑地图文件头中定义的地图名称(此名称显示在游戏地图列表中)
7、可自定义制作外挂MPQ包，用于ORPG地图，同时自动生成注册表文件
8、可修改地图最大文件数，更新(attributes)文件和添加弱签名文件
9、可查看哈希表及文件表，分析加密方式
10、支持JASS的文本哈希计算及反向哈希值猜解
11、支持BLP，TGA，BMP，PNG，JPG，TIFF等多种格式图像查看和相互转换

Ver 0.12 更新
02/06/2016：
[+]增加HOOK STORM游戏中实时分析列表功能，注意使用SE直接启动游戏默认为单人游戏，需局域网运行分析时请把目录中的ASI文件拷贝到魔兽根目录下，运行分析器并手动进入游戏
[+]增加JASS的文本哈希运算和逆哈希运算，支持多重哈希迭代，支持对16进制数字进行哈希运算
[+]增加图像查看工具，可查看MPQ内或外部的BLP，TGA，BMP，PNG，JPG，TIFF等多种格式图像，并支持相互转换
   图像功能使用freeimage库，目前只使用了其1/100的功能，以后可能陆续加入各类图像编辑功能
[+]增加哈希表和块表导出为CSV表格的功能
[+]增加列表栏文件后缀过滤功能
[+]增加拖拽文件至图标和程序窗口自动打开文件功能
[+]增加对于新加密的支持（此加密会造成包括SE 0.11，MPQEDITOR等多种MPQ编辑器打开文件失败）
[+]增加自动备份功能，备份文件后缀为.sebak
[-]修正分析文件后部分有效文件被识别为无效文件而丢失的问题
[-]修改添加，替换，重压缩文件时，使用ZLIB压缩的压缩率，由6级压缩改为8级压缩，进一步减小体积，考虑重压缩速度问题未使用9级压缩
[-]修改重压缩功能，不再生成新文件，直接重压缩本文件，请注意备份
[-]针对部分加密造成重压缩MPQ损坏的问题进行修正
[-]修正解压文件时上次解压文件目录不能自动记录的BUG

Ver 0.11 SP1更新
01/03/2016：
[+]增加导出当前列表的功能
[-]修正读取文件列表时，UNICODE字符文件名文件无法被正确打开的问题
[-]临时文件改为绝对路径读取，解决XP下无法正确找到工作文件夹问题
[-]修正无后缀文件无法解压问题
[-]修正只读模式无法分析地图问题
[+]增加解压地图默认文件夹为地图所在文件夹

Ver 0.11更新
12/30/2015：
[+]	重制了整个核心，放弃使用SFMPQ，同时也不使用魔兽的STROM.DLL，新核心支持MPQ 1.0到4.0版本，同时针对目前的MPQ加密进行
	优化，可以解压目前已知MPQ加密后的文件，同时可以进行修改，添加，删除等一些列操作。
[+]	改进了地图分析算法，目前可自动分析所有文件包括未知文件，从而获得更全面的文件列表，注意目前算法仍不保证分析所有文件名。
[+]	重制所有界面，使用RIBBON界面，界面更为整洁，更换界面语言，不再需要VB运行库。支持XP以上操作系统
[+]	增加强制替换加密图文件功能（只针对MPQ 1.0版本）
[+]	增加重压所任意加密图功能（只针对MPQ 1.0版本），重压所后加密图可增加新文件。
[+]	支持自定义注入脚本（注意如果JASS文件有反作弊加密，则可能注入失败，此时请手动注入）
[+]	可自定义制作外挂MPQ包，用于ORPG地图，同时自动生成注册表文件
[+]	可修改地图最大文件数，更新(attributes)文件和添加弱签名文件
[+]	可查看哈希表及文件表，分析加密方式
[-]	取消文件头修正功能，目前软件可忽略加密直接读取，另外在加密情况下以前的修正算法会破坏地图，因此取消
[-]	取消W3I地图基本信息编辑，此功能等待重制
[-]	取消WTS地图文本文件编辑，此文件手动修改即可，此功能意义不大
[-]	取消重建IMP文件导入列表文件功能，目前加密图重建导入表也无法用WE打开，此功能意义不大
[-]	取消查看地图或MPQ文件中的图象资源(BLP,TGA)，此功能等待重制

//--------------------------------------------------------------------------------------------------------------
V0.10B功能:
识别签名地图.
修复某些加密器对地图MPQ的文件头的修改,修复后此类地图可以用MPQMASTER打开.
修复某些加密器对地图MPQ的HASHTABLE的修改.
listfile重建功能,可以在没有内部listfile的情况下显示大部分地图资源.
MPQ文件基本操作(与MPQMASTER等MPQ工具一样).
可编辑地图文件头中定义的地图名称(此名称显示在游戏地图列表中).
可编辑W3I地图基本信息文件(小地图上名称,及LOADING画面等的文字信息)
可编辑WTS地图文本文件
可重建IMP文件导入列表文件
可自定义MPQ文件上限及BUFFER SIZE进行重压缩(要求有完整listfile)
可对多地图文件进行批量操作
可查看地图或MPQ文件中的图象资源(BLP,TGA),及进行BLP->TGA转换

注意:	某些地图可能无法导入列表文件,出现此情况请导出生成的列表,并在设置中设置该列表为默认列表,
	再次读取地图即可列出所有资源.
	
	对于某些地图可能出现文件头修复后实际文件数有小数的情况,这时只要重压缩就能自动恢复正常,
	本工具对于未修复文件头的地图依然可以进行修改,因此不必考虑修复是否完全(不用再费力去用UE做还原,
	除非游戏不能读取),即不存在所谓的无法解密问题.


修正:
08/10/2007:
V0.10B:	针对新的加密方式添加了修复HASHTABLE的功能,与修复文件头功能合并,改名为修复MPQ文档
	
	修正重命名后进行重压缩造成读取错误问题.

	添加ReHashDll.dll,含有HASHTABLE明文转换功能,HASHTABLE还原功能,最初版本
	(没有添加BLOCKTABLE还原的函数,HASHTABLE还原后重压缩会自动修复部分错误,而且剩余错误信息对与正常操作没有影响,因此暂不处理)
	

07/30/2007:
V0.10:	更换了工具栏上的图标,统一图标风格
	
	增加解压文件夹功能,可以直接选择文件夹并将文件夹下所有文件解压到指定目录
	(在指定目录下生成MPQ中的相应文件夹,但同时包括上层文件夹)
	
	增加地图批量操作功能(文件菜单下),支持对多张地图进行同时还原文件头,解压文件,添加文件,和重压缩功能

	增加地图图象资源查看功能,可以直接查看预览图,小地图,及所有BLP,TGA图象,支持BLP-->TGA转换.
	
	增加文件列表中直接使用Delete键删除文件的功能

	增加简易的帮助文件
	
	修正0.09版中还原文件头后地图列表不能正常显示的错误
	
	修正listfile重建对W3U文件分析可能出现的一些遗漏现象

	默认listfile改用MPQMASTER的900多K长列表
		
	IMP列表重建只列入工具菜单,不再列入右侧工具栏

07/17/2007:
V0.09:	整体修改界面,对界面进行了简单的美化

	增加文件重命名功能

	增加listfile重建对于PAS和DISPAS图标的支持
	
	优化列表读取功能，大幅提升地图内容读取速度，长listfile列表也可以快速读取了

	修正地图直接拖入图标不能正确打开的错误

	修正文件解压不能保存上次路径的问题，现在解压文件以工具所在路径为默认路径

	W3I编辑功能中所有文字均显示其正式内容，不在出现TRIGSTR...的变量
	(此处修改均直接保存在W3I文件中,忽略WTS内容)

	取消设置中只使用外部列表的选项(listfile读取速度优化,不再需要此功能)

	自定义BUFFER SIZE重压缩功能只列入工具菜单,不在工具栏提供按钮

07/09/2007:
V0.08:	增加新建MPQ文件的功能

	增加重建war3map.imp文件的功能,解决使用本工具添加文件后,WE不能显示所导入文件的问题.
	
	增加自定义BUFFER SIZE进行重压缩的功能,较大的BUFFER SIZE可以使压缩后的地图文件体积减小,
	但地图文件的BUFFER SIZE不应超过4096KB的上限.重压缩一律使用ZLIB压缩,压缩效果较好,但要求有
	完整的listfile,否则会造成文件丢失.

	修正打开非地图MPQ文件时出错的问题,现在可以正常打开所有MPQ文件
	
	更改了替换文件的过程,修正替换文件可能造成的体积变大问题
	
	修正地图缺少W3I,WTS等文件时,相应编辑出错的问题

	修正部分快捷键冲突问题

	修正若干小BUG

06/08/2007:
V0.07:	修正自定义外部listfile设置不能保存的错误
	
	修正istfile重建中部分MDX文件读取出错问题
	
	加入地图文件拖放打开功能(地图文件直接拖放入图标或窗体可直接打开地图)

	本版继续修正BUG,由于学习紧张,预计更进一步的功能将在假期加入.

05/18/2007:
V0.06:	修正读取某些地图后退出异常出错的问题
	
	添加设置菜单,可以自定义外部默认列表,选择外部列表只读模式
	(此模式可加快DOTA等特殊地图的列表读取速度)
	
	地图文件添加,解压,删除功能可以进行批量操作(列表可多选)

	添加W3I文件文本信息修改功能
	(文本信息直接由UTF8格式写入W3I,解决某些地图信息整和入W3I造成修改不便的问题,
	主要是比W3MMASTER多了玩家和势力文本的修改)
	
	添加WTS文件文本信息修改功能
	(以上两功能主要用于汉化)

	listfile重建加入了对于Protrait模型文件的支持,修正了某些blp文件查找错误,listfile重建基本上能够
	达到90%以上.	
	
	修正地图文件操作后列表刷新方式,加快了一些速度

	修正一些小BUG

04/30/2007:
V0.05:	工具改名为ShadowEditor
	(作为专为魔兽地图制作的MPQ编辑工具,针对w3xmaster的还原功能只是一小部分,因此不在针对w3xmaster命名)

	添加双击直接执行地图内部文件的功能,右键菜单加入"执行文件"

	重写listfile枚举地图内容部分,现在可以使用长列表,鉴于检测未知文件有效性会降低读取速度,依然不列举未知名文件

        添加工具栏,文件头修复功能移入工具栏.

	新功能listfile重建,通过读取内部文件来检测可能文件名,算法依然有待优化,不过已经可以列出绝大部分文件,
	资源导出问题基本解决.

	添加读取和修改地图名称(此名称显示在游戏地图列表中)的功能
	
-----------------------------------------------------------------------------------------------------------------------------------
V0.02	修正DOS版中非正常w3xmaster加密不能还原的问题

V0.03	添加修正HashTableSize的功能(虽然此值加密的可能性不高,但是鉴于特殊地图可能使用因此添加)

V0.04	添加MPQ文件的解压,删除,替换,添加,重压缩功能.由于LISTFILE的算法不够好,所以暂时只能列出部分主要内容,如需提取
其他资源请使用其他MPQ工具.对于破坏了HASHTABLE的地图,不能进行添加操作(其他MPQ工具也一样).本工具使用SFMPQ进行重压缩
效果较MPQMASTER好些.

注意:0.04版对于某些地图操作后可能造成工具退出时出错,但不影响操作,因此只需点确定跳过即可.具体原因尚没找到.