dogukan Posted September 3, 2010 Posted September 3, 2010 (edited) Alpha Protocol Reputation Hack // Sept. 3 2010 05:26 (GMT+3) Okay, here's the thing; I played this game a lot and I said some wrong things. In life, there's no turning back from saying wrong things, but in games we got HEX editors, therefore we can change things as we wish. I wanted to change reputation points, so I went looking for a save editor. The only save editor that was released was the CheatHappens save editor, and it was "sold", not released to public. At that point, I gave the middle finger to them, refusing paying money for cheats, and started thinking of my own reputation hack. I've came up with this; 1- You open any xxxxx.sav file with your HEX editor. I personally use HEX Editor Neo's free version. 2- Now we search for the desired character's Engine name. The engine name is the name of a character that has been appointed to it by the developers. Enginenames are like this; "nMinaTangReputation" now, the bolded things, the "n" and the "Reputation" thingy are absolutes for an engine name. Another enginename example would be nAlbatrossReputation or nSIEReputation. 3- So, when you search for that value, you'll come up with something like "nMinaTangReputation........." Let's have a closer look to those dots. As you can see, there are nine dots. The fifth dot and the nineth dot have values, the other dots are valued 00 hexadecimally, therefore useless. But their uselessness are protected by the engine, so if you try to change those values, you **** your savegame up. Let's say the Reputation value of Mina Tang is 9. This means she's "Trusted". In your hex editor, it will look like this; 1 2 3 4 5 6 7 8 9 | The number of dots . . . . . . . . . | the dots 00 00 00 00 09 00 00 00 12 | the hexadecimal meaning of the dots The fifth dot is hexadecimally your reputation amount. The last dot is always valued at 12. I don't know what 12 means, but it's always like that, I guess that's about the engine itself. Anyway, you can edit the fifth dot's hexadecimal value to your desired amount of reputation. 1-9 go straight and appear straight in game, but when you write 10 in the hexadecimal meaning box, it appears as 16 in game. The person you've written 10 in his/her box has the reputation value "Friendship" with you, the maximum level in the game. BUG TESTS AND MUMBO JUMBO During the test, I used the savegame of a Safehouse save just before the last mission, "Infiltrating the Alpha Protocol". Now, before editing, SIE's reputation was 0. Like I said, I've said wrong things. So I edited this to be 9. I used the safehouse door to get to the last mission, chose SIE as my handler, and voila. Everything went normal, I've got the "Size Matters II" perk in the beginning of the level, and I've seen SIE's famous "Savage Love" scene. So, this is working as desired. PROOF Legal ****: I've tested this many times, but I can't guarantee your savegame's safety entirely, due to you. So if you do something wrong, please don't come here and swear at me. Edited September 3, 2010 by dogukan
Karl the Unfettered Posted September 3, 2010 Posted September 3, 2010 How do you get negative rep points?
dogukan Posted September 3, 2010 Author Posted September 3, 2010 honestly, I have no idea. I think my project fell a little short there.
Oblarg Posted September 3, 2010 Posted September 3, 2010 (edited) 10 appears in game as 16 because 10 in hexadecimal is 16. If you want 10, the value should be 'c,' I believe. Edited September 3, 2010 by Oblarg "The universe is a yawning chasm, filled with emptiness and the puerile meanderings of sentience..." - Ulyaoth "It is all that is left unsaid upon which tragedies are built." - Kreia "I thought this forum was for Speculation & Discussion, not Speculation & Calling People Trolls." - lord of flies
dogukan Posted September 3, 2010 Author Posted September 3, 2010 yes, I've tried that. but changing the value anything else than 0,1,2,3,4,5,6,7,8,9 makes the dot change to the correspondant number, and I haven't tried if that works.
Karl the Unfettered Posted September 3, 2010 Posted September 3, 2010 Scrolling through the file I found a bunch of entries which I believe are vendors, but there's no immediate way of telling how to activate them. More interesting are entries for GameStop and GameCrazy, leading me to think perhaps these items could be brought up in the game somehow, with the right data manipulation, but as I said I've no clue which arcane number-letter combinations will do this. Anyone have any thoughts? It has to be some sort of numerical switch, but I have no idea what switch to flip.
Sannom Posted September 3, 2010 Posted September 3, 2010 10 appears in game as 16 because 10 in hexadecimal is 16. If you want 10, the value should be 'c,' I believe. 'C' is for '12', 'A' is for '10' It goes like this in hexadecimal : 1, 2,3,4,5,6,7,8,9,A,B,C,D,E,F
Oblarg Posted September 3, 2010 Posted September 3, 2010 10 appears in game as 16 because 10 in hexadecimal is 16. If you want 10, the value should be 'c,' I believe. 'C' is for '12', 'A' is for '10' It goes like this in hexadecimal : 1, 2,3,4,5,6,7,8,9,A,B,C,D,E,F Yeah, I know. I have no clue why I said 'C,' looking back. "The universe is a yawning chasm, filled with emptiness and the puerile meanderings of sentience..." - Ulyaoth "It is all that is left unsaid upon which tragedies are built." - Kreia "I thought this forum was for Speculation & Discussion, not Speculation & Calling People Trolls." - lord of flies
dogukan Posted September 3, 2010 Author Posted September 3, 2010 well, I realized that lots of things are based on those "dots" right now. skills use them too, aswell as perks. I wish we could reverse engineer the game, so we would have a total definition of what a parameter is good for. I thought this reputation hack was a real breakthrough, but now I realize it's only a small step. there are people that actually have an idea about reverse engineering / programming, I think they should take a look into the savegames. I mean, if the greedy bastards in the CH can release a save editor, so can we. plus, this is a tradition for obsidian games. every obsidian game has a save editor - why not AP?
Zoraptor Posted September 3, 2010 Posted September 3, 2010 For negative reps it's probably just putting in FF FF FF F# (where hash is a hex value from F [gives -1] to 6 [gives -10]) in columns 2-5 from the original post.
dogukan Posted September 4, 2010 Author Posted September 4, 2010 a-ha. and the code for 10 relation is A0.
Zoraptor Posted September 5, 2010 Posted September 5, 2010 0A, A0 is 160. You can check values with the built in windows calculator which has a hexadecimal mode and can do simple dec <-> hex conversions.
Xor42 Posted September 6, 2010 Posted September 6, 2010 I've messed with savegame editing a bit and I'll throw my 2 cents in. The game will crash if you mess with the wrong value, or add an extra byte in anywhere, so be careful and you should probably back up your save file in case you make a mistake. It's usually easier to start over than to find where you messed something up. Data values are in hex, meaning a numberset going from 0 to F as was explained above. You can use the Windows calculator to freely convert between decimal and hex. The largest single value a byte can hold is FF, or 255 in decimal, and there are 4 bytes, making the maximum possible value 2^32/2, or about +/- 2 billion because the values are signed. I'll spare you more pointless detail, if you're really curious take a digital systems class. Variables in the save file seem to be laid out like this: Variable name, null byte, 4 byte data value, 4 byte data value. The second data value is probably some kind of ID, as it generally increases from variable to variable and changing it crashes the game. The first data value is what the game actually reads for a given variable. When editing savegame variables, only change bytes 2-5 after the name of the variable. Changing anything else will probably crash the game on loading. In other words, the bolded range here: N_SOME_VARIABLE_NAME.00.00.00.00.01.00.00.00.12 Negative numbers count backwards from FF.FF.FF.FF (which is probably -1 but I'm not going to check), so -6 would be FF.FF.FF.FA or something close to that. The only value that will probably go above 255 and therefore take up more than one byte will be money; you can change to 00.FF.FF.FF which will translate to about $2,000,000, and that should be more than enough to buy everything you could ever want. Also, you can set health as high as you want and it won't go back down until you level up or change areas. Just be sure you don't accidentally set your health to a negative number or crazy stuff could happen. While it's technically possible to do so, I don't recommend trying to do hex editing in notepad. Get a hex editing program; they have a million and one day to day uses. My hex editor of choice is XVI32 because it's free.
dogukan Posted September 13, 2010 Author Posted September 13, 2010 greetings, I appreciate your help greatly. you can fill in any details that I lack in knowledge. Although I currently don't have AP installed, I can get it soon. perhaps you could work something out with my reputation hack? like a hack compilation or something, I don't know. by the way, right now I use HXD Hex editor, it's free and has no limitations, plus it has the same features with HHD.
lJustAlexl Posted September 13, 2010 Posted September 13, 2010 Just thought this was worth mentioning. If you change a value in the core of the body of hex and it changes the character for . on the side, the game functions just fine so long as you edited in an appropriate value in the appropriate area in the body of the hex. So don't stress if you change the series of periods on the right when hex editing.
m3rr Posted December 23, 2010 Posted December 23, 2010 Hello Hello So Firstly Much Obliged for this , good thinking. However - I can't seem to Alter Sis Reputation at all. She doesn't come up under the same handle as everyone else. Her "SisReputation" isn't even in the file. Also - found out that if you do Alter someone to 16 (regardless who) when you loose rep you'll end up loosing 6 even when I did something they like I still Lost. I've tested this a few times. Lastly - I can confirm that so long as you stick to the appropriate values you can edit the other 00 values though only within those 9 values. I was mucking around with the Game's Binaries and accidentally forced the game to use the dying sound for every attack. Thought it was a glitch at first but was able to reproduce it lol Luckily I remembered the Changes I made. (( p.s. Love the Hex editor you use ))
dogukan Posted January 19, 2011 Author Posted January 19, 2011 (edited) mate, sorry for the late reply. I'm glad you find it useful. the thing is, I don't know why can't you se nSISReputation parameter. have you encountered her before? the save file only keeps record of the characters you've encountered and/or spoke before. cheerio, -dogukan. Edited January 19, 2011 by dogukan
Charles_The_Grate Posted April 1, 2012 Posted April 1, 2012 I'm putting this here mostly for my own benefit so I don't have to figure it out every time I alter reputations due to reading comprehension problems. As Zoraptor said, to change the rep to negative you have to change columns 2-4 to FF, and the fifth column to anything from FF (-1 rep) to F6 (-10 rep). Using Sis' reputation as an example, for -10 rep this would be 00 FF FF FF F6 00 00 00 12
Gamewinner3 Posted May 29, 2012 Posted May 29, 2012 i know this topic is quite old, but i fell into this and my interest was drawn. so i investigated and am writing a simple java-based savegame editor at the moment. what i found out so far: there are some variables that have 3 byte of data (e.g. fFastestInfiltration), giving the hint of floating-point data. also, there are many variables starting with a 'b' - i think those are boolean. hope i can implement that ) if some of you are interested, reply to this...
Sosseres Posted September 23, 2012 Posted September 23, 2012 i know this topic is quite old, but i fell into this and my interest was drawn. so i investigated and am writing a simple java-based savegame editor at the moment. what i found out so far: there are some variables that have 3 byte of data (e.g. fFastestInfiltration), giving the hint of floating-point data. also, there are many variables starting with a 'b' - i think those are boolean. hope i can implement that ) if some of you are interested, reply to this... It does seem interesting. Though if I did have to choose I would take something that fixed the broken hacking mini game. ^^
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now