War Rock Cheat Programming Discussion

01/19/2015 00:00 Raz9r#961
Quote:
Originally Posted by AmazingTurtle View Post
I don't understand. Can you explain that?
The calling convention defines (among other things) whether the caller or the callee is responsible of cleaning up the stack.
01/19/2015 08:28 MRx86™#962
Quote:
Originally Posted by Raz9r View Post
The calling convention defines (among other things) whether the caller or the callee is responsible of cleaning up the stack.
ya that exactly right :) i was just lazy to explain it.
01/23/2015 14:30 AmazingTurtle#963
"new" packet codes and their original names:

Code:
public static readonly int ACHIEVEMENT_SYSTEM = 0x7E01;
public static readonly int USER_SCORE = 0x7E02;
public static readonly int ROLLING_BOX = 0x7E03;
public static readonly int KILL_MSG = 0x7B16;
01/23/2015 21:12 xEndrine#964
Quote:
Originally Posted by AmazingTurtle View Post
"new" packet codes and their original names:

Code:
public static readonly int ACHIEVEMENT_SYSTEM = 0x7E01;
public static readonly int USER_SCORE = 0x7E02;
public static readonly int ROLLING_BOX = 0x7E03;
public static readonly int KILL_MSG = 0x7B16;
Could you maybe tell us what "ROLLING_BOX" does?
01/24/2015 11:46 AmazingTurtle#965
Quote:
Originally Posted by xEndrine View Post
Could you maybe tell us what "ROLLING_BOX" does?
I'm not that good in reading asm and understanding the overall sense.
But I see: Both server has a handler and client sends it.
My guess: it's ingame; client sends one ROLLING_BOX packet, all other clients receive it (or derivative).
01/24/2015 21:10 Futur94#966
Quote:
Originally Posted by AmazingTurtle View Post
I'm not that good in reading asm and understanding the overall sense.
But I see: Both server has a handler and client sends it.
My guess: it's ingame; client sends one ROLLING_BOX packet, all other clients receive it (or derivative).
Its the military supply system
01/26/2015 12:21 AmazingTurtle#967
How to convert contents of any bin file to XML:

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace Parity.Base.App
{
    public class XmlRewriter
    {

        public System.Xml.XmlDocument Document { get; private set; }

        public XmlRewriter()
        {
            this.Document = new System.Xml.XmlDocument();
            this.Document.LoadXml("<Document></Document>");
        }

        protected string EscapeTag(string Input)
        {
            Input = String.Join("", Input.Trim().Split('(', ')')).Replace(' ', '_');
            return char.IsDigit(Input[0]) ? "_" + Input : Input;
        }

        protected void NodeProcessing(string DocumentContent, System.Xml.XmlNode CurrentNode, int TagDeepness = 0)
        {
            int NodeCount = 0;
            if (!Regex.IsMatch(DocumentContent, @"\[(?<NodeName>[a-zA-Z0-9-_\s]+)\](?<NodeContent>.+)\[/\1\]", RegexOptions.Singleline | RegexOptions.Compiled))
            {
                MatchCollection SubNodeCollection = Regex.Matches(DocumentContent, @"<!--\s+?<(?<FirstTag>[a-zA-Z0-9-_\s]+)>(?<NodeContent>.*?)\s+?</(?<LastTag>[a-zA-Z0-9-_\s]+)>\s+?//-->", RegexOptions.Singleline | RegexOptions.Compiled);
                foreach (Match iMatch in SubNodeCollection)
                {
                    string TempDocument = "<" + iMatch.Groups["FirstTag"].Value + ">" + iMatch.Groups["NodeContent"].Value + "</" + iMatch.Groups["LastTag"].Value + ">";
                    var MainNode = this.Document.CreateElement("Entry");
                    CurrentNode.AppendChild(MainNode);
                    NodeProcessing(TempDocument, MainNode);
                }
                NodeCount += SubNodeCollection.Count;
            }

            if (NodeCount == 0)
            {
                MatchCollection MainNodeCollection = Regex.Matches(DocumentContent, @"[\[|<](?<NodeName>[a-zA-Z0-9-_\s]+)[\]|>](?<NodeContent>.*?)[\[|<]/\1[\]|>]", RegexOptions.Singleline | RegexOptions.Compiled);
                foreach (Match iMatch in MainNodeCollection)
                {
                    var MainNode = this.Document.CreateElement(this.EscapeTag(iMatch.Groups["NodeName"].Value));
                    CurrentNode.AppendChild(MainNode);
                    NodeProcessing(iMatch.Groups["NodeContent"].Value, MainNode, TagDeepness + 1);
                }
                NodeCount = MainNodeCollection.Count;
                if (NodeCount == 0)
                {
                    MatchCollection ValueCollection = Regex.Matches(DocumentContent, @"\s*(?<Key>[a-zA-Z0-9_\(\) ]+)\s*=\s*(?<Value>[a-zA-Z0-9\.\,_-]+)", RegexOptions.Singleline | RegexOptions.Compiled);
                    foreach (Match iMatch in ValueCollection)
                    {
                        string Key = iMatch.Groups["Key"].Value;
                        string Value = iMatch.Groups["Value"].Value;

                        var SubentryNode = this.Document.CreateElement(this.EscapeTag(Key));
                        SubentryNode.InnerText = Value;
                        CurrentNode.AppendChild(SubentryNode);

                    }
                }
            }

            //CurrentNode.OwnerDocument.AppendChild(CurrentNode);
        }

        public void Process(string Content)
        {
            uint DocumentChecksum = CRC32.CRC32String(Content);
            var ChecksumElement = this.Document.CreateElement("CHECKSUM");
            ChecksumElement.InnerText = DocumentChecksum.ToString("X2");
            this.Document["Document"].AppendChild(ChecksumElement);

            string Document = Regex.Match(Content, @"<\!--(.+)//-->", System.Text.RegularExpressions.RegexOptions.Singleline | RegexOptions.Compiled).Groups[1].Value;
            NodeProcessing(Document, this.Document["Document"]);
        }

    }
}
Quote:
Originally Posted by Futur94 View Post
Its the military supply system
Thanks for this, but not for my more significant post?
01/26/2015 13:54 xEndrine#968
Quote:
Originally Posted by AmazingTurtle View Post
(...)
Does this also work for the /data/UI .bins?
01/26/2015 14:02 AmazingTurtle#969
Quote:
Originally Posted by xEndrine View Post
Does this also work for the /data/UI .bins?
ofcourse not, mr. kadse. but i'm working on these formats, too.
01/31/2015 10:21 HeroTreak#970
Request adresses
01/31/2015 11:17 Futur94#971
Quote:
Originally Posted by HeroTreak View Post
Request adresses
Code:
/* *********************************** Pointers ********************************* */

  #define ADR_PlayerPointer						0xAE57E0
  #define ADR_ServerPointer						0xAE4784
  #define ADR_RemotePointer						0xC1CC9C
  #define ADR_ViewAnglesPointer						0xAE36B4
  #define ADR_DevicePointer						0xAE36B8
  #define ADR_UserPointer						0xAE4784
  #define ADR_HealthPointer						0x31FB8
  #define ADR_BasePointer						0xB36DB0
  #define ADR_WeaponPointer1						0xC10BE0
  #define ADR_WeaponPointer2						0xB038A0

/* *********************************** Offsets ********************************** */

  #define OFS_DevicePointer						0x2B930
  #define OFS_X								0x10304
  #define OFS_Y								0x10314
  #define OFS_Z								0x1030C
  #define OFS_Gravity_Y							0xC4AC
  #define OFS_Gravity_X							0xC4B0
  #define OFS_Gravity_Z							0xC4B4
  #define OFS_SuperNoSpread						0x906B68
  #define OFS_Slot1							0x34158
  #define OFS_Slot2							0x34159
  #define OFS_Slot3							0x3415A
  #define OFS_Slot4							0x3415B
  #define OFS_Slot5							0x3415C
  #define OFS_Slot6							0x3415D
  #define OFS_Slot7							0x3415E
  #define OFS_Slot8							0x3415F
  #define OFS_AutoShot							0x1038A
  #define OFS_Invisible							0x40794
  #define OFS_FastNadeBlast						0x10118
  #define OFS_Pitch							0x101AC
  #define OFS_Yaw							0x101C8
  #define OFS_WeaponState						0xC4D4
  #define OFS_AutoPlant							0x10374
  #define OFS_LocalIndex						0xC498
  #define OFS_NoM134Idle						0x103FC
  #define OFS_Premium							0x3C8
  #define OFS_NoReload							0x10411
  #define OFS_NoDelay							0x10414
  #define OFS_Level							0x40750
  #define OFS_Dinar							0x40760
  #define OFS_RoomMaster						0x31564
  #define OFS_SuperMaster						0x316A8

/* ********************************** Addresses ********************************* */

  #define ADR_Speed							0x906EF8
  #define ADR_SpeedRoll							0x906D28
  #define ADR_QuickPlantDefuse						0xAE36D8
  #define ADR_NoSpawnWait1						0xC37FEC
  #define ADR_NoSpawnWait2						0xC37FF0
  #define ADR_NoSpawnWait3						0xC37FF4
  #define ADR_NoBounds1							0xC2D950
  #define ADR_NoBounds2							0xC2D954
  #define ADR_NoBounds3							0xC2D962
  #define ADR_AntiAFKKick						0xC2D950
  #define ADR_STW							0x8C7AB4
  #define ADR_WUW							0xAEC6B4
  #define ADR_WTH							0x903658
  #define ADR_Plantanywhere						0xAE36CF
  #define ADR_NFD							0x102EC
  #define ADR_NoRecoil1							0xC444
  #define ADR_NoRecoil2							0xC448
  #define ADR_NoRecoil3							0xC44C
  #define ADR_FastAmmo							0xAE9EA0
  #define ADR_FastRepair						0x30090
  #define ADR_FastHealth						0xAE9EA8
  #define ADR_FastFlag							0x30090
  #define ADR_IngameName						0xB373F4
  #define ADR_GMWarning							0xB31994
  #define ADR_FarFog							0xAE37BC
  #define ADR_NearFog							0xAEC6C4
  #define ADR_QuickSpawn1						0xC37FEC
  #define ADR_QuickSpawn2						0xC37FF0
  #define ADR_QuickSpawn3						0xC37FF4
  #define ADR_FogColor1							0xAE5CF0
  #define ADR_FogColor2							0xAE5CEC
  #define ADR_FogColor3							0xAE5CE8
  #define ADR_GlassWals							0xAE37BC
  #define ADR_BoneShot							0x907B48
  #define ADR_StaminaStart						0x8CF264
  #define ADR_StaminaRoll						0x8CF270
  #define ADR_NoWater1							0xAEC6AC
  #define ADR_NoWater2							0xAEC6B0
  #define ADR_WeaponGravity						0x906B20

/* ************************************* ASM ************************************ */

  #define ASM_QuickPlant						0x515A6D
  #define ASM_NoReload							0x51F0CF
  #define ASM_AutoAmmo							0x50AA05
  #define ASM_SniperAmmo						0x62DA18
  #define ASM_AssaultAmmo						0x428ADA
  #define ASM_EventRoom							0x5AD095 // 2 NOPS
  #define ASM_OPK1							0x407F7B // Need to be tested
  #define ASM_OPK2							0x407F84 // Need to be tested
  #define ASM_OPK3							0x407F7F // Need to be tested

/* ************************************ Other *********************************** */

  #define ADR_CRC							0x62E510
  #define ADR_AUTH							0x4E97CD
  #define ADR_MESSAGEBOX						0x5250EB
  #define ADR_MESSAGEBOX_BUFFER						********
  #define ADR_MESSAGEBOX_INSTANCE					********
  #define ADR_ENGINE_TEXT						0x522AA9
  #define ADR_WINDOW_NAME						0x8D5398
  #define ADR_ENDGAME_BANNER						0x45C3E5
  #define ADR_VMTCheck							********
  #define ADR_VMTCheckGordon						********
  #define ADR_SOUNDVOLUME						0x41E3E3
  #define ADR_IAT_Send							********
  #define ADR_IAT_Rreceive						********
  #define ADR_IAT_Connect						********
02/03/2015 21:32 xKahba#972
Request Bypass
02/03/2015 21:33 Kazbah__#973
Quote:
Request Bypass
viel glück ... machs einfach ohne, was auch immer du vor hast
02/03/2015 21:50 xKahba#974
nein brauche für einen anderen zweck'n Bypass.. auch wenn er nach 4 min Serverkick macht oder kp
02/04/2015 21:32 +Yazzn#975
TBH I don't know about any anti-cheat detecting use of the CRT.

Quote:
using crt dependent functions like you do is indeed the most safe way for do things but not when you are writing cheats
ring3 cheats are not the safest way either. ring0 or gtfo. Or write a linux distro that allows you cheating.