[App] HConsEnabler - Console for Halo Demo

Halo modding and gaming related applications.
nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

[App] HConsEnabler - Console for Halo Demo

Post by nil » Mon Dec 28, 2009 1:40 pm

In short, me and Modzy figured out how to enable the console for the Demo, and I wrote an app that would do this.

Instructions:

1) Launch Halo Demo and get to the main menu screen.
2) Start up the program. (The first time it does this, it takes a while, so be patient).
3) Repeat this procedure each time you start up Halo Demo and want to use the console.

The application requires Mac OS X 10.4 or later.

If any issues exist, post them here, or IM me.

Version: 1.01

Download

Mirror (HDM)

Source code (For programmers)
Last edited by nil on Fri Jan 15, 2010 9:49 pm, edited 6 times in total.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Dirk

Re: [App] HConsEnabler - Console for Halo Demo

Post by Dirk » Mon Dec 28, 2009 1:45 pm

OOOOOLD!

Old as of like 20 minutes ago.

good job ;)

RXA
Operative
Posts: 200
Joined: Wed Jul 22, 2009 8:51 pm

Re: [App] HConsEnabler - Console for Halo Demo

Post by RXA » Mon Dec 28, 2009 1:49 pm

Is it just me, or does the link not work? It led me to the mediafire homepage.

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: [App] HConsEnabler - Console for Halo Demo

Post by nil » Mon Dec 28, 2009 2:08 pm

RXA wrote:Is it just me, or does the link not work? It led me to the mediafire homepage.
Fixed. I accidentally put a quotation mark at the end of the url >_>.
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Kayar
Delta Force
Posts: 4214
Joined: Mon Jul 16, 2007 11:59 am
Location: Elsewhere.

Re: [App] HConsEnabler - Console for Halo Demo

Post by Kayar » Mon Dec 28, 2009 2:41 pm

No way. I don't believe it.

Just kidding.

But, unfortunately I have to do college application crap, so I can't try it out right now.
Image
~Kayar~
TaxiService wrote:You haven't seen like the 90% of the dicks i drew. Someday i'll make a website where people will be able to browse the contents of my old notebooks.
WilliamSub wrote:They flock with your hormones
MGM Sig

Amy
Green Beret
Posts: 3628
Joined: Mon Nov 17, 2008 6:22 pm
Location: Mota-Lev's house.
Contact:

Re: [App] HConsEnabler - Console for Halo Demo

Post by Amy » Mon Dec 28, 2009 4:23 pm

Wait so...we can do like cheat_ stuff!?

Edit:

NVM

so what CAN we use this for....
MGM Sig
Mota-Lev wrote:Its like watching an Asian girl crush a cats brain through its eye socket with high heels.. Its horrible but I just can't look away :/.

theone4life692 lazy

Re: [App] HConsEnabler - Console for Halo Demo

Post by theone4life692 lazy » Mon Dec 28, 2009 7:37 pm

Ban People. Change server details.

Pielogist
Ranger
Posts: 914
Joined: Mon May 11, 2009 12:55 am
Location: Guess.

Re: [App] HConsEnabler - Console for Halo Demo

Post by Pielogist » Mon Dec 28, 2009 8:04 pm

will this help?
viewtopic.php?f=43&t=3162&hilit=console+commands

anyway.... can someone upload it to filefront? plz? o_o

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: [App] HConsEnabler - Console for Halo Demo

Post by Modzy » Mon Dec 28, 2009 8:22 pm

Yeee, nil and I pwn.

RXA
Operative
Posts: 200
Joined: Wed Jul 22, 2009 8:51 pm

Re: [App] HConsEnabler - Console for Halo Demo

Post by RXA » Mon Dec 28, 2009 8:27 pm


Amy
Green Beret
Posts: 3628
Joined: Mon Nov 17, 2008 6:22 pm
Location: Mota-Lev's house.
Contact:

Re: [App] HConsEnabler - Console for Halo Demo

Post by Amy » Mon Dec 28, 2009 8:39 pm

Modzy wrote:Yeee, nil and I pwn.
Hey didn't i give you the general idea!
MGM Sig
Mota-Lev wrote:Its like watching an Asian girl crush a cats brain through its eye socket with high heels.. Its horrible but I just can't look away :/.

Modzy
Green Beret
Posts: 3058
Joined: Fri Feb 22, 2008 11:06 pm
Location: Portland, OR

Re: [App] HConsEnabler - Console for Halo Demo

Post by Modzy » Mon Dec 28, 2009 9:17 pm

Amy wrote:Hey didn't i give you the general idea!
General idea of what? Console? People have been asking for this since before you were born. You're not the centric idea formulator, others have thought of, and, unlike you, tried to put their ideas into actions.
Lately your posts have been argumentative and overall nubbish, ending with you being wrong and acting like a pubescent know-it-all, which I suppose the first is correct.
If you're going to respond to this post, make it relatable to the topic; your past few haven't quite made the cut. Otherwise, take it to PMs.

As for the application, the process for enabling Demo's console is pretty straightforward, and easy:
• Search for "halo(" within demo's memory.
• Take the offset of the second result and subtract 0x97.
• This new offset is the offset of a 8-bit integer; 0 for no console, 1 for console.

You can toggle it from there.

sword
Ranger
Posts: 1077
Joined: Tue Feb 07, 2006 6:53 pm

Re: [App] HConsEnabler - Console for Halo Demo

Post by sword » Mon Dec 28, 2009 10:03 pm

Really cool work.

I never looked into how the trial guys did it so I'm wondering, how did the dev team originally disable the console? The code makes it look like it's just a boolean in memory that states whether or not the console is active or inactive.

I love the search algorithm you've got there nil. I'm so far out of memory hacking now that I can't entirely figure out what the different memory jargon means but it still looks pretty. It looks to me like you search through regions of memory for the regions that are protected from write and read (or is it that they aren't?) and do a search for the string "halo( " in memory which is the console prompt. Oh, that's cool. So the switch always occurs at 0x90 bytes behind the second instance of "halo "?

I'm going to guess that the first result is from the instance of the halo executable being loaded into memory and that the second one is... I'm not so sure. Either it's allocated memory or something due to rosetta emulation. Either way it's a really cool method.

Awesome job!
The sword.

Image

Spartan-006
Ranger
Posts: 873
Joined: Mon Jun 08, 2009 11:00 am
Location: Kino der Toten, fighting hordes of undead nazis.
Contact:

Re: [App] HConsEnabler - Console for Halo Demo

Post by Spartan-006 » Mon Dec 28, 2009 10:24 pm

:( it no work, wtf kinda codes you put in it? I tried the CE ones and they no work, and I have a mac over 10.4 and everything else, wtf? The only one that worked for me was the "quit" one :flaming:
(monorail cat is NOT obsolete)
Image

nil
Halo Moderator
Halo Moderator
Posts: 1090
Joined: Sat Jul 05, 2008 8:38 am
Location: null zone

Re: [App] HConsEnabler - Console for Halo Demo

Post by nil » Mon Dec 28, 2009 10:41 pm

sword wrote: I never looked into how the trial guys did it so I'm wondering, how did the dev team originally disable the console? The code makes it look like it's just a boolean in memory that states whether or not the console is active or inactive.
Yeah, it looks like a boolean to allow the console to be used.
sword wrote: I love the search algorithm you've got there nil. I'm so far out of memory hacking now that I can't entirely figure out what the different memory jargon means but it still looks pretty. It looks to me like you search through regions of memory for the regions that are protected from write and read (or is it that they aren't?) and do a search for the string "halo( " in memory which is the console prompt. Oh, that's cool. So the switch always occurs at 0x90 bytes behind the second instance of "halo "?
0x97 bytes behind the second instance, otherwise, yeah. My approach in the first place was to search for the boolean in Halo full (couldn't use the cheat, because i had to account for quitting Halo and re-launching it, so I wrote my own code to do this). Once I found the boolean, I took a memory dump around that region and saw that a "halo( " string followed afterwards by an offset of 0x97. So I searched for "halo( " in Halo Demo, which returned two results, which is pretty nice.. and from there it's just a matter of subtracting 0x97.
sword wrote: I'm going to guess that the first result is from the instance of the halo executable being loaded into memory and that the second one is... I'm not so sure. Either it's allocated memory or something due to rosetta emulation. Either way it's a really cool method.
The first result exists even at the Halo Graphics Settings Window, which is before you start up Halo Demo. I took a memory dump and I found that it was just a bunch of weird strings. You can find them right in the executable with a hex editor, it looks something like this:
~primary-blur/~secondary-blur/primary trigger1secondary trigger"?Ä"?Ä&>ôôö?Ä"|t,profile_load /Requested function "%s" cannot be executed now."%s!
!r#
%-exec(init.txt)editor_%s,map_name b30&halo( "!!%ˇˇˇˇ.levels\b30\b30 1Halo macintosh 01.00.00.0579 Jun 11 2005 12:15:14 )chucky was here! NULL belongs to me!!!!!>old tags\internal system plain ;Halo macintosh 01.00.00.0579 built at: Jun 11 2005 12:15:14%movie7%s
I think I found the second instance of "halo( " to be the console message buffer (not sure though). If I remember correctly, if I typed in characters in the console, the message would lie there. Also, I think I found that my commands that I put in init.txt, I think they were stored into a string somewhere between the offset of the boolean and the offset of the "halo( " string.
sword wrote: Awesome job!
Thanks :).
I am no longer active to Halo or MGM, and don't guarantee a response on the forums or through email. I will however linger around the discord room for general chatting. It's been fun!

Post Reply

Who is online

Users browsing this forum: No registered users and 5 guests