Log in to reply
 

Did R* make things hard to update scripthookv


  • MODERATOR

    @LeeC2202 I miss the days on PS3 (and 360) where they used the jenkins hashes and we didn't have this problem.


  • MODERATOR

    @LeeC2202 Wouldn't be at all surprised if the same obfuscation BS goes for the infamous car IDs. Seems I really wasn't all that wrong, earlier, stating Rock* is purposely trying to sabotage/frustrate modding.



  • @meimeiriver It's not really about sabotaging modding, it's about protecting their IP. Reverse engineering and code theft is a big problem, so they have to protect that. Any company with a major IP, would be absolutely crazy to not implement some form of it. And as compilation systems are pretty much guaranteed to have it on by default, I can't think of any reason why you would choose to not leave it on.

    I mean, imagine if you wrote this incredibly effective section of code, that revolutionised an aspect of app development, that people could just rip from your project in perfectly readable form... which they could then obfuscate to hide in theirs.

    From the devs perspective, it's great because you never see the end result, so it doesn't matter what it looks like.

    Back in the 80's when we were writing in assembler, our trick then was self-modifying code. You would define byte pairs in memory relative to the programme counter at that point. You would then feed that byte-pair with memory addresses in code and then jump to the created memory address. So the only time you knew what those addresses contained, was at the precise moment the jump call was being executed.

    Or we would create complete functions in memory that we would call, then remove. So they existed for an instant, got used, then disappeared.



  • @LeeC2202

    Back in the 80's when we were writing in assembler, our trick then was self-modifying code. You would define byte pairs in memory relative to the programme counter at that point. You would then feed that byte-pair with memory addresses in code and then jump to the created memory address. So the only time you knew what those addresses contained, was at the precise moment the jump call was being executed.

    I'm no expert, but I think Denuvo does the same thing.



  • @AHK1221 said in Did R* make things hard to update scripthookv:

    I'm no expert, but I think Denuvo does the same thing.

    I don't know anything about Denuvo, so I thought I would have a little look... I found this comment amusing on Reddit about it.

    It works by kicking a game in the face until it succumbs to a thirty frames per second restriction. True fact.

    :D

    From the bit I have read, it seems to create obfuscation by duplication. So where as the method I mentioned would effectively hide the true destination, Denuvo seems to say, "Here, pick the right one from this collection.", which is quite clever. It seems to use the online aspect as a kind of seed for the encryption it uses as well. I haven't read too much so that's just the basis of what I got from it.

    It sounds like a very clever system and I had seen in the past that it was supposed to be the Holy Grail of ant-piracy. Don't know if that's true mind you because I don't play that many PC games at all. I haven't bought anything other than GTAV in the last 18 months that would class as a AAA game... although I believe Abzu has it, which I got on Steam in a sale.



  • @LeeC2202 I've read it also constantly modifies code, thus making it harder for crackers to crack it.



  • I was wondering if the concept of obfuscation made sense the way it has been discussed, so I decided to try and relate it into normal language terms.

    So imagine if we ran an obfuscation process over words in a dictionary.

    Hashes and descriptions are for illustrative purposes only, they are not intended to be correct or accurate.

    Red - The colour of human blood.
    Yellow - A colour created from equal amounts of Red and Green light.
    Curved - Describes something that is not straight.
    Banana - A fruit that it yellow and is known for being curved.

    After it has been obfusctated like code.

    0x0547583 - The 0x86509353 of 0x7348264 0x95748326.
    0x8036294 - A 0x86509353 created from equal amounts of 0x0547583 and 0x8463852 0x734639836.
    0x3322017 - Describes something that is not 0x86593745.
    0x8860483 - A 0x00947656 that it 0x8036294 and is known for being 0x3322017.

    Now imagine having to solve that puzzle when those numbers change.


  • MODERATOR

    @LeeC2202 said in Did R* make things hard to update scripthookv:

    It's not really about sabotaging modding, it's about protecting their IP. Reverse engineering and code theft is a big problem, so they have to protect that. Any company with a major IP, would be absolutely crazy to not implement some form of it. And as compilation systems are pretty much guaranteed to have it on by default, I can't think of any reason why you would choose to not leave it on.
    I mean, imagine if you wrote this incredibly effective section of code, that revolutionised an aspect of app development, that people could just rip from your project in perfectly readable form... which they could then obfuscate to hide in theirs.
    From the devs perspective, it's great because you never see the end result, so it doesn't matter what it looks like.

    I understand wanting to protect their IP. But these are API calls: per definition meant to provide a programming interface to the outside world. It really feels rather petty, to me, to try and frustrate people as much as you can using those. Especially since a modding community is what will keep your game alive, long past its official EOL date.

    But, way it is is the way it is, I suppose, and we can count ourselves lucky with geniuses like Unknown Modder, and Alexander, to undo the obfuscation.



  • @meimeiriver said in Did R* make things hard to update scripthookv:

    But these are API calls: per definition meant to provide a programming interface to the outside world

    Ah, no... don't confuse something like DIrectX or EAX with an internal API. An API is simply a set of functions designed to interface with a system, it has no connection to the outside world unless that system is meant to be used like that.

    Many companies use multi-level API systems that act as a connection layer between those outside world system and their own custom systems. In the case of modding, NativeUI or ScriptHookVDotNet is an API and they simply wrap function calls in a more accessible manner.

    Rockstar's API is an internal system.



  • @LeeC2202 well all this dose make sense in a way but still I just don't get the reason why R* has to break the game all the time I know that they have to combat the retards who mod online and all but its making things a living hell for us offline players all this would be avoided if R* would of released everything from the heist DLC to this new DLC into story mode like it should be in he first place none of this would be happening so much not to mention they should be in offline mode point black period all they doing is appeasing the online only based players they don't give two shits about us offline players hell they make so much money off those transaction they could at least give the offline player base something but no they too bust getting richer with these online micro transactions its retarded that's why I call them fucktards for a reason cause they are greedy its like they baby the online players only.



  • @TR71777 For god's sake, learn how to use punctuation marks!

    all this would be avoided if R* would of released everything from the heist DLC to this new DLC into story mode like it should be in he first place none of this would be happening so much

    Nope. Memory offsets and native hashes are still changed. And @LeeC2202 said that it happens because of the way its compiled. Still not R*s fault.

    all they doing is appeasing the online only based players they don't give two shits about us offline players

    Yes well... that is where they're getting money from. That's the only department that's still played by many people today, and that's the community they are going to appease. They're a company for god's sake, they need to know what's good for it and what's not.

    they don't give two shits about us offline players hell they make so much money off those transaction they could at least give the offline player base something but no they too bust getting richer with these online micro transactions its retarded that's why I call them fucktards for a reason cause they are greedy its like they baby the online players only.

    That's understandable.



  • @TR71777 said in Did R* make things hard to update scripthookv:

    well all this dose make sense in a way but still I just don't get the reason why R* has to break the game all the time

    There's a company called SCS Software, probably the most mod friendly company I have yet to come across. Their support forums have developers on there. They have a full set of official modding tools for Blender, so none of this paid for only nonsense we have to deal with on GTAV. They have no online mode, so they have nothing to motivate them to earn money from a particular aspect of the game... with me so far?

    They sound great right? The perfect company for the offline player. All of that in the modder's favour, yet updates to the game, which only ever add things for the offline player, break mods.

    So knowing that, consider this... the very nature of adding content to a game, changes that game. It doesn't matter if it is single player content, online content or offline content. Adding content and making the game work with that content, will break anything that is not directly linked to the game's native content.

    So if a company that embraces modding as much as SCS does, can't update and not break something, doesn't it make logical sense that every other developer might just have the same problem? Isn't it fair to assume that if the game is released as something that will continue to evolve, then at periodic intervals in its lifespan, that evolution process will break things... not out of spite, but simply because that's how an evolving product has to work?

    If you add new words to a dictionary at the start, every page in that dictionary has to undergo a change to facilitate that... that is equally the nature of software. If you add a piece of functionality to deal with something new, everything beyond that is now in a new place... everything changes.



  • Rockstar dose not mind if people Mod GTA V that's have the fun as long as they do it in single player they can do what ever they want but Multiplayer that's a No No dude just busy with things I am sure it will be up this weekend couple of updates ago I had to wait almost 2 weeks for an update from so we have to be patient on it and Rockstar loves it when people mod there games becuase they get ideas for future updates and makes it more fun they just do not want you to mod Mulitplayer To many Trolls



  • @LeeC2202 hey is there a way to roll back to the 1.877.2 1.37 patch so I can play again till the next scripthookv update?



  • @TR71777 You used to be able to do it by replacing the 3 main exe files in the game folder, put the old update.rpf back over the updated one (including the one in the mods folder) and then reinstalling the old Social Club. Depends on whether you can get the old SC installer, I think Steam users have it stored in a folder in Steam.

    Can't guarantee it will work though, so it carries a fair amount of risk.



  • @LeeC2202 said in Did R* make things hard to update scripthookv:

    @meimeiriver It's not really about sabotaging modding, it's about protecting their IP. Reverse engineering and code theft is a big problem, so they have to protect that. Any company with a major IP, would be absolutely crazy to not implement some form of it. And as compilation systems are pretty much guaranteed to have it on by default, I can't think of any reason why you would choose to not leave it on.

    I mean, imagine if you wrote this incredibly effective section of code, that revolutionised an aspect of app development, that people could just rip from your project in perfectly readable form... which they could then obfuscate to hide in theirs.

    From the devs perspective, it's great because you never see the end result, so it doesn't matter what it looks like.

    Back in the 80's when we were writing in assembler, our trick then was self-modifying code. You would define byte pairs in memory relative to the programme counter at that point. You would then feed that byte-pair with memory addresses in code and then jump to the created memory address. So the only time you knew what those addresses contained, was at the precise moment the jump call was being executed.

    Or we would create complete functions in memory that we would call, then remove. So they existed for an instant, got used, then disappeared.

    Complicating code isn't really helping here IMO. It still gets hacked by modders and we still can get mods to work, any company who is interested in stealing their IP could do it, but they can't. The main holding factor is R* wealth and army of lawyers, they will sue anyone to death if code got stolen and used for profit, like in making and selling another game. Anyway, that's how I see it, could be wrong, but in case I'm not, I don't really see a real reason for R* to do what they do with their code.



  • @AHK1221 said in Did R* make things hard to update scripthookv:

    @TR71777 We kinda are breaking the game EULA by reverse-engineering it.... so R* has all the right to do whatever the fuck they want to, since

    1. its their game
    2. we're breaking the EULA!

    Since R* likes money, they should probably work with the mod community a little more. Only reason I bought GTAV is because of the mod scene and things you can do (for me, mostly turning it into a non-violent open world car game). If you look at games like crash time, releated 5-7-9 years ago people still playing it because of the ability to mod it. R* can do whatever it wants, but mods are good for business. Modders make R* money, for free, they need to protect online play, but they also need to support the mod scene imho. Which of course they do, they could release a patch a week breaking mods constantly, they could ban people for any mod ever, even just a file name that looks like a mod, so they do like mods as long as it doesn't promote pirating or online hax. Given all that, I still think they should do more to support the community.



  • @Forrest-Gimp said in Did R* make things hard to update scripthookv:

    I don't really see a real reason for R* to do what they do with their code.

    We used to obfuscate J2ME code for mobile phone games because the problem is very real. So if companies want to protect something that small, why would you not think there is a reason to take steps to protect something much bigger?

    There are so many components in a game engine that could provide a valuable stepping-stone for another company. AI, map-handling, scripting, file-access, encryption etc... small components that would be very hard to identify in another game. They might not use the exact code as written but if you're going to hand them a library of clearly readable code to work from, you might as well just give them the source code.

    Rockstar do what they do with their code, because it's a responsible business decision. Competent hackers will hack most things, very little will stop them. Curious casuals will be deterred by a decent level of obfuscation. You can't approach it with the state of mind that says "Well if it's going to get hacked by someone, we might as well do nothing", that just doesn't float in a professional industry. You certainly wouldn't ignore an option that has zero impact on the development side but could have significant impact on the hacking/modding side, by offering you a level of protection... no matter how small.

    If ever Rockstar got to the point where they were forced to look for investors, any action they take to protect what they have, is a tick in the plus column. That's as good a reason as any, to do what they do with their code. If they're faced with a competitor for investment that leaves the metaphorical door open, they're already one step ahead.



  • If they're faced with a competitor for investment that leaves the metaphorical door open, they're already one step ahead.

    They've made billions. R* just needs to support the franchise at this point, the name alone sells them millions of copies at launch. Considering the traffic/driving in gtav is utter shit, peds are ehhh, there's not a lot of highend NASA level AI going on. It's super fucking violent, and its real fun. GTA is more about the experience/franchise then the code, which I'd say is meh in terms of quality. Some stuff is worse since IV. There's no reason to go to war with the modders, they're good for business. they just have to protect piracy and online, which is fine.


  • MODERATOR

    @LeeC2202 said in Did R* make things hard to update scripthookv:

    Rockstar do what they do with their code, because it's a responsible business decision. Competent hackers will hack most things, very little will stop them. Curious casuals will be deterred by a decent level of obfuscation. You can't approach it with the state of mind that says "Well if it's going to get hacked by someone, we might as well do nothing", that just doesn't float in a professional industry

    The thing just is, that's all true... when you treat your playerbase as your enemy. Which is really rather bizarre. Modding, like I said, is usually what keeps a game alive, long past its due date. VALVe, for instance, actively supports modding, and comes up with tools to help the modding community, creates tools for them, no less (think Portal series).

    Your player base should never be confused with a hostile competitor in the industry. And Rockstar's lips say 'We encourage modding,' but their actions do the exact opposite.



  • @meimeiriver I think if there was no online, things would be different. But every hour a player spends playing a modded game, is an hour they are not playing online and potentially spending money. It's the same with Fifa and that team building nonsense they have.

    I mean, I have put hundreds of hours into the game and just 5 minutes online using the character creator, purely because mods exist. I am by true definition, an enemy to their business aspirations... I earn them nothing and get access to almost everything they release.

    I think that's where Valve and SCS are different. They don't lose money when players are playing a modded game, they are building a userbase that is a potential market for paid DLC. So the longer you keep that userbase happy, the more chance there will be that they will buy DLC, because it will truly add to their game.

    What I personally believe Rockstar did wrong, is they segregated the rewards to the extent that online has no value to the single player gamer. Can you imagine how different it would be, if players knew they could play online, earn money, buy things and then when they dropped into the SP game, all that they had bought would be there for them to use? The garages, the apartments, the vehicles... and all they had to do, was to make it a one-way thing. Make it so that online transfers to offline but offline doesn't transfer back... They could keep the money separate but make the items transferable.

    So in that sense, the offline player is the enemy (to the business) because they're not spending money. Everything R* does is designed around getting you into online. It's a constant barrage of tempting offers, special deals, enticing gameplay additions. None of which you are going to get access to unless you succumb to their marketing ploys... or use mods.


  • MODERATOR

    @LeeC2202 said in Did R* make things hard to update scripthookv:

    @meimeiriver I think if there was no online, things would be different. But every hour a player spends playing a modded game, is an hour they are not playing online and potentially spending money. It's the same with Fifa and that team building nonsense they have.

    I mean, I have put hundreds of hours into the game and just 5 minutes online using the character creator, purely because mods exist. I am by true definition, an enemy to their business aspirations... I earn them nothing and get access to almost everything they release.

    I think that's where Valve and SCS are different. They don't lose money when players are playing a modded game, they are building a userbase that is a potential market for paid DLC. So the longer you keep that userbase happy, the more chance there will be that they will buy DLC, because it will truly add to their game.

    What I personally believe Rockstar did wrong, is they segregated the rewards to the extent that online has no value to the single player gamer. Can you imagine how different it would be, if players knew they could play online, earn money, buy things and then when they dropped into the SP game, all that they had bought would be there for them to use? The garages, the apartments, the vehicles... and all they had to do, was to make it a one-way thing. Make it so that online transfers to offline but offline doesn't transfer back... They could keep the money separate but make the items transferable.

    So in that sense, the offline player is the enemy (to the business) because they're not spending money. Everything R* does is designed around getting you into online. It's a constant barrage of tempting offers, special deals, enticing gameplay additions. None of which you are going to get access to unless you succumb to their marketing ploys... or use mods.

    I very much agree. :) I too only spent like 5 mins Online, to create my online character; then had to do some silly tutorial, died a few times, said 'Screw this!' and went back to Single Player.

    And yes, I would have bought the fancy Online garages, and the equally fancy apartments and all, if, indeed, I could keep them in Single Player. Alas, they fumbled there.



  • @meimeiriver That's what made me laugh when Rockstar sent me an email saying they had removed all the money I had in my shared online bank account. I thought, "How much money do you earn in the character creator?", because that's the only thing I had been in. :D

    That was at the time I accused them of handing out people's login details and made a loud noise on Twitter, so I think they were clutching at straws of retribution... they came out empty handed though. ;)



  • @Chris-W. @meimeiriver @cyberzone2 we have perfect reason to be impatient because AB never has the courtesy to give us an estimated release date. It's not our fault that all GTA V modding depends entirely on just 1 stupid file that stops working after every update and has no alternatives, so getting angry at us and calling us insulting names for being rightfully annoyed with the lack of any information from AB won't solve anything. The only entitled spoiled brats and crybabies here are the Rockstar employees who clearly only care about their profits and flip out over players like us not really being a fan of online mode.



  • @mjames867 You just resurrected an old thread. They don't like that here. Anyway AB has no obligation to us. It's his mod and he can take as long as he wants to update it or he can choose to cease providing updates for us.


Log in to reply
 

Looks like your connection to GTA5-Mods.com Forums was lost, please wait while we try to reconnect.