diff --git a/Artemis/Artemis/Artemis.csproj b/Artemis/Artemis/Artemis.csproj index dfc6cda5d..baec03fe0 100644 --- a/Artemis/Artemis/Artemis.csproj +++ b/Artemis/Artemis/Artemis.csproj @@ -23,6 +23,8 @@ false + + C:\Users\spoin\Desktop\Artemis builds\ true Disk @@ -38,8 +40,6 @@ false true true - - x64 @@ -101,6 +101,9 @@ ..\packages\MahApps.Metro.1.3.0-ALPHA017\lib\net45\MahApps.Metro.dll True + + E:\Downloads\Chome Downloads\MemorySharp-master\MemorySharp-master\MemorySharp\bin\Release\MemorySharp.dll + False @@ -363,6 +366,7 @@ + SettingsSingleFileGenerator Offsets.Designer.cs @@ -443,6 +447,7 @@ PreserveNewest + PreserveNewest diff --git a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs index f748637a9..257392c74 100644 --- a/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs +++ b/Artemis/Artemis/Modules/Games/Witcher3/Witcher3Model.cs @@ -8,6 +8,7 @@ using Artemis.Modules.Games.RocketLeague; using Artemis.Settings; using Artemis.Utilities.Keyboard; using Artemis.Utilities.Memory; +using Binarysharp.MemoryManagement; using MyMemory; using Newtonsoft.Json; @@ -15,10 +16,11 @@ namespace Artemis.Modules.Games.Witcher3 { public class Witcher3Model : GameModel { - private KeyboardRectangle _signRect; private IntPtr _baseAddress; private GamePointersCollectionModel _pointer; private RemoteProcess _process; + private KeyboardRectangle _signRect; + private MemorySharp _mem; public Witcher3Model(MainModel mainModel, RocketLeagueSettings settings) : base(mainModel) { @@ -33,6 +35,7 @@ namespace Artemis.Modules.Games.Witcher3 { return true; } + public override void Dispose() { _process = null; @@ -40,7 +43,8 @@ namespace Artemis.Modules.Games.Witcher3 public override void Enable() { - _signRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 0, new List(), LinearGradientMode.Horizontal) + _signRect = new KeyboardRectangle(MainModel.ActiveKeyboard, 0, 0, new List(), + LinearGradientMode.Horizontal) { Rotate = true, LoopSpeed = 0.5 @@ -52,6 +56,7 @@ namespace Artemis.Modules.Games.Witcher3 var tempProcess = MemoryHelpers.GetProcessIfRunning(ProcessName); _baseAddress = tempProcess.MainModule.BaseAddress; _process = new RemoteProcess((uint) tempProcess.Id); + _mem = new MemorySharp(tempProcess); } public override void Update() @@ -64,6 +69,14 @@ namespace Artemis.Modules.Games.Witcher3 _pointer.GameAddresses.First(ga => ga.Description == "Sign").BasePointer, _pointer.GameAddresses.First(ga => ga.Description == "Sign").Offsets); + var test = + _mem.Modules.MainModule.FindPattern( + new byte[] + { + 0x88, 0x07, 0x48, 0x8B, 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC2, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48 + }, + "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", 0, true); + var tessst = _process.MemoryManager.Read(test.Address); var result = _process.MemoryManager.Read(addr); switch (result) diff --git a/Artemis/Artemis/Properties/Resources.Designer.cs b/Artemis/Artemis/Properties/Resources.Designer.cs index 5765a8156..c9ce2b8ae 100644 --- a/Artemis/Artemis/Properties/Resources.Designer.cs +++ b/Artemis/Artemis/Properties/Resources.Designer.cs @@ -60,10 +60,27 @@ namespace Artemis.Properties { } } + /// + /// Looks up a localized string similar to <?xml version="1.0" encoding="UTF-16"?> + ///<!-- Used by Artemis to get the active Sign --> + ///<UserConfig> + /// <Group id="Artemis" displayName="Artemis"> + /// <VisibleVars> + /// <Var id="ActiveSign" displayName="ActiveSign" displayType="SLIDER:0:1:1000000"/> + /// </VisibleVars> + /// </Group> + ///</UserConfig>. + /// + internal static string artemis { + get { + return ResourceManager.GetString("artemis", resourceCulture); + } + } + /// /// Looks up a localized string similar to "Artemis" ///{ - /// "uri" "{{address}}/csgo_game_event" + /// "uri" "http://127.0.0.1:{{port}}/csgo_game_event" /// "timeout" "5.0" /// "buffer" "0.1" /// "throttle" "0.1" @@ -85,5 +102,15 @@ namespace Artemis.Properties { return ResourceManager.GetString("gamestateConfigFileCsGo", resourceCulture); } } + + /// + /// Looks up a localized resource of type System.Byte[]. + /// + internal static byte[] playerWitcher { + get { + object obj = ResourceManager.GetObject("playerWitcher", resourceCulture); + return ((byte[])(obj)); + } + } } } diff --git a/Artemis/Artemis/Properties/Resources.resx b/Artemis/Artemis/Properties/Resources.resx index 775c9f736..782795640 100644 --- a/Artemis/Artemis/Properties/Resources.resx +++ b/Artemis/Artemis/Properties/Resources.resx @@ -118,7 +118,13 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\artemis.xml;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + ..\Resources\gamestateConfigFileCsGo.txt;System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;Windows-1252 + + ..\Resources\playerWitcher.ws;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + \ No newline at end of file diff --git a/Artemis/Artemis/Resources/artemis.xml b/Artemis/Artemis/Resources/artemis.xml new file mode 100644 index 000000000..4bb757ee4 --- /dev/null +++ b/Artemis/Artemis/Resources/artemis.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Artemis/Artemis/Resources/playerWitcher.ws b/Artemis/Artemis/Resources/playerWitcher.ws new file mode 100644 index 000000000..2fead1e77 Binary files /dev/null and b/Artemis/Artemis/Resources/playerWitcher.ws differ