What's new

Tools Halo 4 Real Time Modder

  • Thread starter Fierce Waffle
  • Start date
  • Views 20,393
griffin89

griffin89

Enthusiast
Messages
704
Reaction score
250
Points
125
Sin$
0
My bad. I thought you were talking about the program.
haha, i shoulda been more clear on that

i guess my problem was i was searching in memory when i shoulda been decompiling the xex
 
Fierce Waffle

Fierce Waffle

Enthusiast
Messages
472
Reaction score
129
Points
155
Sin$
0
Just uploaded a new version. Hopefully the updater works. Tell me if it doesnt.
 
Fierce Waffle

Fierce Waffle

Enthusiast
Messages
472
Reaction score
129
Points
155
Sin$
0
People are making scanners just to do invincibility? Really?

1. Get the uint32 at 0x840DA714 and hold onto it. This is the pointer to the gamestate buffer.
2. Add 0x5EE276 to the value you got and read the uint16 at the resulting address to get the object index for the first player's biped (MP is a bit more complicated than this because you need to look for your gamertag, so ask me if you need help with that).
3. Multiply the value from step 2 by 0x10, add the value from step 1, and add 0x707508.
4. Read the uint32 at the address you calculated in step 3 to get the memory address of the first player's biped.
5. Add 0x140 to the value you read in step 4 to get the address of the max health and shield information.
6. Write FF FF FF FF FF FF FF FF to the address you calculated in step 5 (or write 42 34 00 00 42 8C 00 00 to reset).
7. ...
8. Profit.

This might seem a bit complicated, but it's the only way to reliably give invincibility to a single player.
Thank you :smile: this was added to the app. Mind helping me get it to work with multiplayer? I also have a few more questions if you dont mind. My AIM is fiercewaffle.
 
DaftHacker

DaftHacker

Jet fuel can't melt steel beams
Programmer Forum Addict Fabled Veteran
Messages
2,606
Reaction score
917
Points
440
Sin$
7
Just uploaded a new version. Hopefully the updater works. Tell me if it doesnt.
The updated program is crashing.


May i suggest a better updater.
This code was converted from visual basic to c# using a crap website so it may have some errors. I made this code for a project of mine. It may not be the best updater but its better then to keep download a new file. This code will download a new exe then that new exe closes and deletes your old version and downloads a new one and starts it, then closes your updater. This code is good because you can always change the updater and the program. Also the new exe aka updater will only open for a second then close and delete. You can change the updater to not showing up at all which is great.
Code:
//Place in your program
 
 
        //Check if updater exists
        If My.Computer.FileSystem.FileExists("Updater.exe") Then
            My.Computer.FileSystem.DeleteFile("Updater.exe")
        End If
 
 
        //Version Check
        Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("Version.txt file, i used dropbox. make the text in the text file, Example: 1.0.0.0")
        Dim response As System.Net.HttpWebResponse = request.GetResponse()
 
        Dim stream As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
 
        Dim newestversion As String = stream.ReadToEnd()
        Dim currentversion As String = Application.ProductVersion
 
        If newestversion.Contains(currentversion) Then
            Return
        End If
 
        //Prompt user for update if version isn't the current
        If MessageBox.Show("Would you like to download the new version ?", "New version available", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = MsgBoxResult.Yes Then
            My.Computer.Network.DownloadFile("Dropbox link to your updater.", "Updater.exe")
 
            If My.Computer.FileSystem.FileExists("Updater.exe") Then
                Process.Start("Updater.exe")
                End
            Else
                MessageBox.Show("The update was not downloaded successfully.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End
            End If
        End If
 
 
 
//place in a new exe called updater.exe
 
 
        //check if your program is there.
        If My.Computer.FileSystem.FileExists("YOUR.exe") Then
        Else
            MessageBox.Show("The File: YOUR.exe does not exist", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End
        End If
 
        //delete old version and download new one
        My.Computer.FileSystem.DeleteFile("YOUR.exe")
        My.Computer.Network.DownloadFile("Your program uploaded in dropbox, you will have the same link as long as the file name is the same", "YOUR.exe")
 
        If My.Computer.FileSystem.FileExists("YOUR.exe") Then
            Process.Start("YOUR.exe")
            End
        Else
            MessageBox.Show("The updated file was not installed.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End
        End If
 
I

infinityiii

Enthusiast
Messages
68
Reaction score
12
Points
55
Sin$
0
People are making scanners just to do invincibility? Really?

1. Get the uint32 at 0x840DA714 and hold onto it. This is the pointer to the gamestate buffer.
2. Add 0x5EE276 to the value you got and read the uint16 at the resulting address to get the object index for the first player's biped (MP is a bit more complicated than this because you need to look for your gamertag, so ask me if you need help with that).
3. Multiply the value from step 2 by 0x10, add the value from step 1, and add 0x707508.
4. Read the uint32 at the address you calculated in step 3 to get the memory address of the first player's biped.
5. Add 0x140 to the value you read in step 4 to get the address of the max health and shield information.
6. Write FF FF FF FF FF FF FF FF to the address you calculated in step 5 (or write 42 34 00 00 42 8C 00 00 to reset).
7. ...
8. Profit.

This might seem a bit complicated, but it's the only way to reliably give invincibility to a single player.
why couldn't we just search for 42 34 00 00 42 8C 00 00 and change it to FF FF FF FF FF FF FF FF ?
 
amd42

amd42

Getting There
Messages
826
Reaction score
595
Points
180
Sin$
7
why couldn't we just search for 42 34 00 00 42 8C 00 00 and change it to FF FF FF FF FF FF FF FF ?

You could, I'm just pointing out the actual way of finding the values. I can imagine that scanning could also be slower.

Also, this method can easily be extended to work with MP (tut coming soon) where you can give it to only select players.
 
Fierce Waffle

Fierce Waffle

Enthusiast
Messages
472
Reaction score
129
Points
155
Sin$
0
The updated program is crashing.



May i suggest a better updater.
This code was converted from visual basic to c# using a crap website so it may have some errors. I made this code for a project of mine. It may not be the best updater but its better then to keep download a new file. This code will download a new exe then that new exe closes and deletes your old version and downloads a new one and starts it, then closes your updater. This code is good because you can always change the updater and the program. Also the new exe aka updater will only open for a second then close and delete. You can change the updater to not showing up at all which is great.
Code:
//Place in your program
 
 
        //Check if updater exists
        If My.Computer.FileSystem.FileExists("Updater.exe") Then
            My.Computer.FileSystem.DeleteFile("Updater.exe")
        End If
 
 
        //Version Check
        Dim request As System.Net.HttpWebRequest = System.Net.HttpWebRequest.Create("Version.txt file, i used dropbox. make the text in the text file, Example: 1.0.0.0")
        Dim response As System.Net.HttpWebResponse = request.GetResponse()
 
        Dim stream As System.IO.StreamReader = New System.IO.StreamReader(response.GetResponseStream())
 
        Dim newestversion As String = stream.ReadToEnd()
        Dim currentversion As String = Application.ProductVersion
 
        If newestversion.Contains(currentversion) Then
            Return
        End If
 
        //Prompt user for update if version isn't the current
        If MessageBox.Show("Would you like to download the new version ?", "New version available", MessageBoxButtons.YesNo, MessageBoxIcon.Information) = MsgBoxResult.Yes Then
            My.Computer.Network.DownloadFile("Dropbox link to your updater.", "Updater.exe")
 
            If My.Computer.FileSystem.FileExists("Updater.exe") Then
                Process.Start("Updater.exe")
                End
            Else
                MessageBox.Show("The update was not downloaded successfully.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
                End
            End If
        End If
 
 
 
//place in a new exe called updater.exe
 
 
        //check if your program is there.
        If My.Computer.FileSystem.FileExists("YOUR.exe") Then
        Else
            MessageBox.Show("The File: YOUR.exe does not exist", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End
        End If
 
        //delete old version and download new one
        My.Computer.FileSystem.DeleteFile("YOUR.exe")
        My.Computer.Network.DownloadFile("Your program uploaded in dropbox, you will have the same link as long as the file name is the same", "YOUR.exe")
 
        If My.Computer.FileSystem.FileExists("YOUR.exe") Then
            Process.Start("YOUR.exe")
            End
        Else
            MessageBox.Show("The updated file was not installed.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End
        End If
Ugh. Sorry for the crashing. Tell me if this works.
http://xantecgames.com/halo4modder/Release v1.0.2.rar
Ill try and add that updater in after school. Thanks.
 
DaftHacker

DaftHacker

Jet fuel can't melt steel beams
Programmer Forum Addict Fabled Veteran
Messages
2,606
Reaction score
917
Points
440
Sin$
7
Ugh. Its still basically in VB. I guess Ill try :/
idk ****** website code converter, this might work. idk but anyways yeah your program still crashes, and i know its not me because i have all the .net frameworks and everything. your program was working for me.
Code:
//your program
//place in the spot where your program first loads
 
{
    if (My.Computer.FileSystem.FileExists("Updater.exe")) {
        My.Computer.FileSystem.DeleteFile("Updater.exe");
    }
 
 
    //Version Check
    System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("version.txt dropbox download. text must include your program version, example: 1.0.0.0");
    System.Net.HttpWebResponse response = request.GetResponse();
 
    System.IO.StreamReader stream = new System.IO.StreamReader(response.GetResponseStream());
 
    string newestversion = stream.ReadToEnd();
    string currentversion = Application.ProductVersion;
 
    if (newestversion.Contains(currentversion)) {
        return;
    }
 
    //Prompt user for update if version isn't the current
    if (MessageBox.Show("Would you like to download the new version ?", "New version available", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == MsgBoxResult.Yes) {
        My.Computer.Network.DownloadFile("your updater.exe in dropbox", "Updater.exe");
 
        if (My.Computer.FileSystem.FileExists("Updater.exe")) {
            Process.Start("Updater.exe");
            System.Environment.Exit(0);
        } else {
            MessageBox.Show("The update was not downloaded successfully.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
            System.Environment.Exit(0);
        }
    }
 
 
 
 
//new program updater.exe
 
 
    //check if your program is there.
    if (My.Computer.FileSystem.FileExists("YOUR.exe")) {
    } else {
        MessageBox.Show("The File: YOUR.exe does not exist", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
        System.Environment.Exit(0);
    }
 
    //delete old version and download new one
    My.Computer.FileSystem.DeleteFile("YOUR.exe");
    My.Computer.Network.DownloadFile("your new program that was dropped in dropbox, it will have the same link as your old program as long as you don't change the file name", "YOUR.exe");
 
    if (My.Computer.FileSystem.FileExists("YOUR.exe")) {
        Process.Start("Private MSP Hack.exe");
        System.Environment.Exit(0);
    } else {
        MessageBox.Show("The updated file was not installed.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
        System.Environment.Exit(0);
    }
}
 
vonkova

vonkova

Getting There
Messages
1,250
Reaction score
391
Points
185
Sin$
0
idk ****** website code converter, this might work. idk but anyways yeah your program still crashes, and i know its not me because i have all the .net frameworks and everything. your program was working for me.

Has to be your end, Works fine for me and many others.
 
Fierce Waffle

Fierce Waffle

Enthusiast
Messages
472
Reaction score
129
Points
155
Sin$
0
idk ****** website code converter, this might work. idk but anyways yeah your program still crashes, and i know its not me because i have all the .net frameworks and everything. your program was working for me.
Code:
//your program
//place in the spot where your program first loads
 
{
    if (My.Computer.FileSystem.FileExists("Updater.exe")) {
        My.Computer.FileSystem.DeleteFile("Updater.exe");
    }
 
 
    //Version Check
    System.Net.HttpWebRequest request = System.Net.HttpWebRequest.Create("version.txt dropbox download. text must include your program version, example: 1.0.0.0");
    System.Net.HttpWebResponse response = request.GetResponse();
 
    System.IO.StreamReader stream = new System.IO.StreamReader(response.GetResponseStream());
 
    string newestversion = stream.ReadToEnd();
    string currentversion = Application.ProductVersion;
 
    if (newestversion.Contains(currentversion)) {
        return;
    }
 
    //Prompt user for update if version isn't the current
    if (MessageBox.Show("Would you like to download the new version ?", "New version available", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == MsgBoxResult.Yes) {
        My.Computer.Network.DownloadFile("your updater.exe in dropbox", "Updater.exe");
 
        if (My.Computer.FileSystem.FileExists("Updater.exe")) {
            Process.Start("Updater.exe");
            System.Environment.Exit(0);
        } else {
            MessageBox.Show("The update was not downloaded successfully.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
            System.Environment.Exit(0);
        }
    }
 
 
 
 
//new program updater.exe
 
 
    //check if your program is there.
    if (My.Computer.FileSystem.FileExists("YOUR.exe")) {
    } else {
        MessageBox.Show("The File: YOUR.exe does not exist", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
        System.Environment.Exit(0);
    }
 
    //delete old version and download new one
    My.Computer.FileSystem.DeleteFile("YOUR.exe");
    My.Computer.Network.DownloadFile("your new program that was dropped in dropbox, it will have the same link as your old program as long as you don't change the file name", "YOUR.exe");
 
    if (My.Computer.FileSystem.FileExists("YOUR.exe")) {
        Process.Start("Private MSP Hack.exe");
        System.Environment.Exit(0);
    } else {
        MessageBox.Show("The updated file was not installed.", "Notice", MessageBoxButtons.OK, MessageBoxIcon.Information);
        System.Environment.Exit(0);
    }
}
Get on skype. I added you
 
griffin89

griffin89

Enthusiast
Messages
704
Reaction score
250
Points
125
Sin$
0
Why glad?
Well because then someone can just decompile your work, change some things and recompile it and claim it as theirs.
Or just use all your offsets, which im sure u spent time finding

As a joke, this is wht i mean(and it only took me a matter of seconds)
joke.png
 
vonkova

vonkova

Getting There
Messages
1,250
Reaction score
391
Points
185
Sin$
0
Well because then someone can just decompile your work, change some things and recompile it and claim it as theirs.
Or just use all your offsets, which im sure u spent time finding

As a joke, this is wht i mean(and it only took me a matter of seconds)
joke.png
lul
 
amd42

amd42

Getting There
Messages
826
Reaction score
595
Points
180
Sin$
7
Well because then someone can just decompile your work, change some things and recompile it and claim it as theirs.
Or just use all your offsets, which im sure u spent time finding

As a joke, this is wht i mean(and it only took me a matter of seconds)
Exactly why developers should just release as open-source and protect their code with a license such as the GPL. Any time someone tries to rip one of my programs off, I just report them as violating the license, provide proof, and their post gets removed immediately.
 
griffin89

griffin89

Enthusiast
Messages
704
Reaction score
250
Points
125
Sin$
0
Exactly why developers should just release as open-source and protect their code with a license such as the GPL. Any time someone tries to rip one of my programs off, I just report them as violating the license, provide proof, and their post gets removed immediately.
I am not very familiar with the GPL lisence

I do believe though they are free to edit/add on to your program but have to give proper credits & possibly leave certain parts intact, am i right?
 
amd42

amd42

Getting There
Messages
826
Reaction score
595
Points
180
Sin$
7
I am not very familiar with the GPL lisence

I do believe though they are free to edit/add on to your program but have to give proper credits & possibly leave certain parts intact, am i right?
I'm no expert either, but basically the original license statement has to remain intact, proper credit has to be given, and the modified program also has to be released as open-source under the GPL.

Even without the GPL though, it's pretty easy to tell if someone ripped something off.
 
Top Bottom
Login
Register