From c34789da454f5b3484cb6fed43061abe02254008 Mon Sep 17 00:00:00 2001 From: sin365 <353374337@qq.com> Date: Thu, 23 Mar 2023 18:32:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BD=92=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../DesignTimeBuild/.dtbcache.v2 | Bin 0 -> 83189 bytes ...22a22e0a-378a-4162-9029-df857dd8a9b7.vsidx | Bin 0 -> 5654 bytes ...7d2f5524-f7b5-49f7-b6d7-33f1ebc58b92.vsidx | Bin 0 -> 5410 bytes ...c0664012-1feb-404d-a35b-78294170492b.vsidx | Bin 0 -> 5266 bytes ...e774d260-8760-453e-b362-96d9289ea8fe.vsidx | Bin 0 -> 7459 bytes .../FileContentIndex/read.lock | 0 .vs/MHFQuestToMH2Dos/v17/.suo | Bin 0 -> 43008 bytes FileHelper.cs | 60 ++++++++++++++ HexHelper.cs | 75 +++++++++++++++++ MHFQuestToMH2Dos.csproj | 10 +++ MHFQuestToMH2Dos.sln | 25 ++++++ ModifyQuest.cs | 77 ++++++++++++++++++ Program.cs | 49 +++++++++++ 13 files changed, 296 insertions(+) create mode 100644 .vs/MHFQuestToMH2Dos/DesignTimeBuild/.dtbcache.v2 create mode 100644 .vs/MHFQuestToMH2Dos/FileContentIndex/22a22e0a-378a-4162-9029-df857dd8a9b7.vsidx create mode 100644 .vs/MHFQuestToMH2Dos/FileContentIndex/7d2f5524-f7b5-49f7-b6d7-33f1ebc58b92.vsidx create mode 100644 .vs/MHFQuestToMH2Dos/FileContentIndex/c0664012-1feb-404d-a35b-78294170492b.vsidx create mode 100644 .vs/MHFQuestToMH2Dos/FileContentIndex/e774d260-8760-453e-b362-96d9289ea8fe.vsidx create mode 100644 .vs/MHFQuestToMH2Dos/FileContentIndex/read.lock create mode 100644 .vs/MHFQuestToMH2Dos/v17/.suo create mode 100644 FileHelper.cs create mode 100644 HexHelper.cs create mode 100644 MHFQuestToMH2Dos.csproj create mode 100644 MHFQuestToMH2Dos.sln create mode 100644 ModifyQuest.cs create mode 100644 Program.cs diff --git a/.vs/MHFQuestToMH2Dos/DesignTimeBuild/.dtbcache.v2 b/.vs/MHFQuestToMH2Dos/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..29ea1fe0595109df9bd16a18f65789068013db4a GIT binary patch literal 83189 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 Q+@?%ohrw;?q#JJdf3ihco&W#< literal 0 HcmV?d00001 diff --git a/.vs/MHFQuestToMH2Dos/FileContentIndex/22a22e0a-378a-4162-9029-df857dd8a9b7.vsidx b/.vs/MHFQuestToMH2Dos/FileContentIndex/22a22e0a-378a-4162-9029-df857dd8a9b7.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..e5fe1e6042416606cbb0895e0423dcf40bc04e77 GIT binary patch literal 5654 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 literal 0 HcmV?d00001 diff --git a/.vs/MHFQuestToMH2Dos/FileContentIndex/7d2f5524-f7b5-49f7-b6d7-33f1ebc58b92.vsidx b/.vs/MHFQuestToMH2Dos/FileContentIndex/7d2f5524-f7b5-49f7-b6d7-33f1ebc58b92.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..ef1b08b4056692dd48e9efc5c5a648b6e7a14a4a GIT binary patch literal 5410 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 QlZ!@I%*ZOQT)Q(^-qW9FW9d2r*y> z2sM-dp|{Wiq4(ZH554yqI-&R8>%4b=GtPZZ<~!*(<;|NJN#4(Kf3UpOYVBIGpKpo*TDS-A=N$Hf>wBDcZ21v$3dVW;#J!1OpYMD#+ZQ z4k!vp1(XI<1Ut%2uGp&E?R2|gH`Lv_ySW!`J~!;Ob*~flx?!(h^h|%Y*PiWlWs2oP+II`O#Ya@yy(h(JNnVu_(xiQ5X zi#W(!Z>)x~&f_eKi!3foOge6QaWfk?N!+-49ygP|iu!hzuzp$!3r`k#dJKU-& z)+#2IDV1rJ4OM1U9;iH2`A`|9%s>rEm4Pa?Dvc^h*`czesG}%UWEEA48bu4L?x=dB zszX&rs*Y8is+v^2pqgAYRyC8PZIdWV5}W8O(RGqVNl_-FDzPdVC&_p;XipCU8t{@d zNNGT6+Uut(bBWSql$I)`Fr`U43H62zdS*t)p-$R58S6~xJaQ+~Mrkw9W~2@2!e~;u z)_M}?Nx0pH?xkkYAd76K+WZbxoGFv(IMXJ}!Yor+VfH_OI1jQspghX*sLYkk(_Wq? zc^>6OKQHF8d8RarpnB` zD*EnE7fDiRQ)H^hvLa6lGjO4WnJAn|5Rl1Cz3XJ7y~!7k(vgZI&cv+!)l9}tgkfwzUXgXhBYU>G>@Icz-UZ$j-VI&=FN7C4xv)Hc7rZ;X2iy(s3GW3jhWCb- zz&-Fj@V@YVa4*~kFNODq4}cGZm%#_Y2g8TJhr)-!hr`RATrPJPpYIXyk?>LQ(eMiR z82DKDICv#|JbVItB772jGJFbrDtsDzI(!CvCcFwh3qBh@2R;`*4_*zQ4_^SUfiHwF zf-i)|)y zx8S$oci?y7_u%*858w^(hww-6$M7fcr%o;h%KQ15yV#$@U%+3&U%_8Hxv(7n8~9uJ zJNSF}2lz+$C-`S47nbw<1^yNO4gMYe1O5~K3;rAa2mTjwQqH>!9s&=A%i#)m7(5&v z0gr@7!K2|Z@K`4oma8k_D!3Z1fycq);aWHaPk<-Flif~~u+;tkpPlso~ z_3%tM4bOttu8?%{|3$8?=3D>9Hy7G!t>K%Dj<_b%hFp`;ZCvxWB{QVCoI|80=_S?F z|NA7Lj7m*{C7;AepVTBoYD=1at_Ea_$AGJ2CYzqo|lgoX;$MGEL6r*N_J$8<&$yf`gqy;v%=b#r^rrGQ%g85NQrM zc*&A7OS&mBl5*Cy*?1i#SfQNX-vOD&O=Ql0KOsnWZV2ITKe_amAH&i?miqaH};3 JuUWY`@IOe+;amU! literal 0 HcmV?d00001 diff --git a/.vs/MHFQuestToMH2Dos/FileContentIndex/e774d260-8760-453e-b362-96d9289ea8fe.vsidx b/.vs/MHFQuestToMH2Dos/FileContentIndex/e774d260-8760-453e-b362-96d9289ea8fe.vsidx new file mode 100644 index 0000000000000000000000000000000000000000..9315c06cc11d3ec1f65896bfbbf798eaf90908f2 GIT binary patch literal 7459 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 Hfq{Pmx^<`h literal 0 HcmV?d00001 diff --git a/.vs/MHFQuestToMH2Dos/FileContentIndex/read.lock b/.vs/MHFQuestToMH2Dos/FileContentIndex/read.lock new file mode 100644 index 0000000..e69de29 diff --git a/.vs/MHFQuestToMH2Dos/v17/.suo b/.vs/MHFQuestToMH2Dos/v17/.suo new file mode 100644 index 0000000000000000000000000000000000000000..a80ac1f750bf5d0996164925d681a19c7fa91c2e GIT binary patch literal 43008 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 + /// 另一种16进制转10进制的处理方式,Multiplier参与*16的循环很巧妙,对Multiplier的处理很推荐,逻辑统一 + /// + /// + /// + public static int HexaToDecimal(string HexaDecimalString) + { + int Decimal = 0; + int Multiplier = 1; + + for (int i = HexaDecimalString.Length - 1; i >= 0; i--) + { + Decimal += HexaToDecimal(HexaDecimalString[i]) * Multiplier; + Multiplier *= 16; + } + return Decimal; + } + + static int HexaToDecimal(char c) + { + switch (c) + { + case '0': + return 0; + case '1': + return 1; + case '2': + return 2; + case '3': + return 3; + case '4': + return 4; + case '5': + return 5; + case '6': + return 6; + case '7': + return 7; + case '8': + return 8; + case '9': + return 9; + case 'A': + case 'a': + return 10; + case 'B': + case 'b': + return 11; + case 'C': + case 'c': + return 12; + case 'D': + case 'd': + return 13; + case 'E': + case 'e': + return 14; + case 'F': + case 'f': + return 15; + } + return -1; + } + } +} diff --git a/MHFQuestToMH2Dos.csproj b/MHFQuestToMH2Dos.csproj new file mode 100644 index 0000000..f02677b --- /dev/null +++ b/MHFQuestToMH2Dos.csproj @@ -0,0 +1,10 @@ + + + + Exe + net7.0 + enable + enable + + + diff --git a/MHFQuestToMH2Dos.sln b/MHFQuestToMH2Dos.sln new file mode 100644 index 0000000..bcd4fb0 --- /dev/null +++ b/MHFQuestToMH2Dos.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.4.33403.182 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MHFQuestToMH2Dos", "MHFQuestToMH2Dos.csproj", "{EE88C3AA-67C2-47C8-8326-AA4537A31F74}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EE88C3AA-67C2-47C8-8326-AA4537A31F74}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EE88C3AA-67C2-47C8-8326-AA4537A31F74}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EE88C3AA-67C2-47C8-8326-AA4537A31F74}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EE88C3AA-67C2-47C8-8326-AA4537A31F74}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {78C4E67B-A482-4AE4-BD41-93A15B6FF133} + EndGlobalSection +EndGlobal diff --git a/ModifyQuest.cs b/ModifyQuest.cs new file mode 100644 index 0000000..684bc5b --- /dev/null +++ b/ModifyQuest.cs @@ -0,0 +1,77 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace MHFQuestToMH2Dos +{ + public static class ModifyQuest + { + /// + /// Dos中无意义数据 + /// + const int fixindex_1 = 19; + + const int Offset = 12; + const int Offset_2nd = 8; + + const int moveLenght = 64; + + public static bool ModifyFile(byte[] src,out byte[] target) + { + try + { + target = new byte[src.Length]; + + for (int i = 0; i < src.Length; i++) + { + target[i] = src[i]; + } + + //清除无意义数据 + target[fixindex_1] = 0x00; + + string IntPtrHex = ""; + bool flag = false; + + for (int i = 3; i >= 0; i--) + { + if (target[i] != 0x00) + flag = true; + + if (flag) + IntPtrHex += target[i].ToString("X"); + else if (target[i] != 0x00) + IntPtrHex += target[i].ToString("X"); + } + + long PtrIndex = HexHelper.HexaToDecimal(IntPtrHex); + + long MoveStarPtr = PtrIndex + Offset; + + byte[] temp = new byte[moveLenght]; + for (int i = 0; i < moveLenght; i++) + { + temp[i] = target[MoveStarPtr + i]; + target[MoveStarPtr + i] = 0x00; + } + + long targetStarPtr = PtrIndex + Offset_2nd; + + for (int i = 0; i < moveLenght; i++) + { + target[targetStarPtr + i] = temp[i]; + } + + return true; + } + catch (Exception ex) + { + Console.WriteLine(ex); + target = null; + return false; + } + } + } +} diff --git a/Program.cs b/Program.cs new file mode 100644 index 0000000..cada1cb --- /dev/null +++ b/Program.cs @@ -0,0 +1,49 @@ +namespace MHFQuestToMH2Dos +{ + internal class Program + { + static string loc = Path.GetDirectoryName(AppContext.BaseDirectory) + "\\"; + + const string InDir = "Input"; + const string OutDir = "Out"; + + static void Main(string[] args) + { + if (!Directory.Exists(loc + InDir)) + { + Console.WriteLine("Input文件不存在"); + Console.ReadLine(); + return; + } + + if (!Directory.Exists(loc + OutDir)) + { + Console.WriteLine("Out文件不存在"); + Console.ReadLine(); + return; + } + + string[] files = FileHelper.GetDirFile(loc + InDir); + + int index= 0; + for(int i = 0;i < files.Length;i++) + { + string FileName = files[0].Substring(files[0].LastIndexOf("\\")); + if (!FileName.ToLower().Contains(".mib") && !FileName.ToLower().Contains(".bin")) + { + return; + } + index++; + FileHelper.LoadFile(files[i], out byte[] data); + ModifyQuest.ModifyFile(data, out byte[] targetdata); + string newfileName = FileName + "_unpack"; + string outstring = loc + OutDir + "\\" + newfileName; + FileHelper.SaveFile(outstring, targetdata); + Console.WriteLine($"已处理第{index}个:{outstring}"); + } + + Console.WriteLine($"需处理{files.Length}个文件"); + Console.ReadLine(); + } + } +} \ No newline at end of file