As long as all the instructions are the same size (or smaller padded with no-operation instructions) then yes. If, however, you do change the size of the application all relocation deltas need to be changed, and all relative jumps and calls need to be recalculated.
There are sometimes tricks that get you around this problem, too: you can sometimes patch in a trampoline, which gives you some flexibility in the instructions you get to use.
An alternate direction rather than your standard jmp/displacement/nop'ing-to-align would be to use Dyninst[1] and live patch in memory[2]. Really though, your standard hex-editor will have facilities to alter all the necessary relatives. If you have access to modify the binary, no need to put in a trampoline (though it's awfully handy when playing CTFs!)
Honestly, do we really need another static analysis tool? Hopper and radare2 have covered the open source gap fairly well. I'd put r2 on near-power-parity of IDA if you invest the time to learn and configure it, which admittedly is an expensive proposition in labor who already knows IDA. It'll take him more days in salary to learn a new platform than just to pay the 5k and get him a IDA/HexRays license.
>Honestly, do we really need another static analysis tool?
Definitely. IDA Pro is proprietary software and the possibilities of IDAPython are limited. IDA Pro mostly ignores the last two decades of research done in the field of binary program analysis. It still relies on pattern matching compilers instead of using semantics driven methods that have been around for >10ys. While there exist tools like BAP, BitBlaze, Jackstab and Bindead. They are not really usable for people w/o graduate student level understanding of program analysis. This is where Panopticon fits in.
i was trying to edit one byte in an ELF, no change in file size and it kept crashing. i read that each section of code is hashed and obviously my byte edit changed the hash. i was pretty out of my depth tbh.
Sometimes code will add additional checks such as hashes to verify that parts of the text section haven't been modified. Should be able to remove those checks, too. Just have to track them all down.
To detect hashes like that, use a debugger that supports memory break points and set a read breakpoint on the instruction you changed. It usually makes it a lot easier to identify where the checksum is calculated.
Yes you can. An executable (using ELFs as an example, most formats are similar) is nothing more than some headers and bytes. The executable code can be modified in any way you please, as long as you're writing valid opcodes (the program will crash if it hits a bad opcode).
That said, it's usually much more complicated to change the size of the executable section (this requires modifying the headers and this tends to be a rather involved process), so usually if people are doing binary patches they are only modifying bytes, not adding or removing them.
The code that checks the signature. If you can identify all the places that checks the signature and disable that code, then it no longer matters if you are unable to correctly update the signature itself.
I was talking about changing the signature/checksum to match the new code.
Corecoder pointed out that sometimes you just need to patch the checksum checking code, and not the checksum itself.
Yes, there's no recompiling that can be done anyway if you only have the binary and no source code. Writing the new machine code would overwrite some code at the start of the function you're modifying, but that doesn't matter if you just want the function to return true or false.
You could edit the binary manually with a hex editor, but some disassemblers like Hopper have a feature where you can type new instructions in assembly and it will assemble and insert them for you. I'm sure IDA pro has something like that as well.
IDA Pro as of 6.9 wasn't designed to act as a hex editor as such it's not the "ideal" but there are tons of scripts[1] that people use[2] to craft it into whatever you want. Likewise, it wasn't really a dynamic analysis tool but the healthy ecosystem kes it feel sorta-kinda powerful with the proper tooling + WinDBG. I'm using a fairly old setup (old dog, new tricks and all that - I stuck with SoftICE as long as I could) so there are likely better solutions out there.
[1] https://github.com/iphelix/ida-patcher/blob/master/idapatche... is what I have in my scripts dir, but I'm sure there are dozens of others out there. That specific Python script has the added benefit of being really approachable for the average user. Check Woodmann or Github or wherever people post their scripts these days if it doesn't meet your needs.
[2] IDA's basically turned into emacs, where the real power comes from all of the tooling you can conf into it. A stock 6.9 + HexRays license is worth it just for the free tooling you can find.
It would be incredibly cool to have a script that automatically manages your inventory while playing the game, e.g. the player picks up all items and has the script auto-drop them if they don't meet certain requirements (value/weight ratio, duplicates, etc.). I'm excited to see where this goes!
I find the way the game displays inventory (particularly guns) quite irritating to say the least. I want to see one ammo type at a time (since you need minimum one gun per ammo type) and then to see a comparison (damage, rate of fire, accuracy, and specials).
Yes, that's also one of the very few complaints I have about FO4. The whole inventory system is designed as if limited to what you can do with a controller. Why can't you deposit all junk from your companion automatically? Why can't you get all inventory not currently used by them? Why can't you craft/replace with power armor pieces that are in storage?
I hope some patches/mods for the inventory system come out soon.
I find this to be a pervasive problem with Bethesda games starting a few years after The Elder Scrolls 3 Morrowind was released. They pack an insane amount of complexity into their games then provide utterly feeble tools to manage it or refuse to invest time into them as that complexity grows from game to game (especially their inventory system which hasn't changed much since Oblivion). Nothing demonstrates this better than Fallout 4's base building mechanic which is leagues better (and more complicated) than in any other game I've played. You can literally build a downtown Sanctuary with a dozen 10 story tall skyscrapers with farmland and electrical infrastructure but doing so using the Workshop as it is now (months before the release of the official game editor) is absolutely maddening and down right impractical. No 2d map or overhead camera, no alignment with complex terrain like building foundations, no templating, zero interface to manage the settlers (the current community concensus is to give each settler a different hat or outfit for each available job!), and it's just down right Unintuitive in every way. The mechanic overall feels like it was part of the game design from day 1 but the interface they give you to use it was made in a weekend.
Bethesda knows their games are bought for replayability and community mods so it seems that they make a lot of sacrifices no other gaming company would, knowing that the more annoying it is the faster some modder will totally replace it with far superior execution. To be fair though, no other company cranks out fantastic open world games that are as good as Bethesda's on such a regular basis. All of this pays off when a five year old game has graphics as good as a newly released one except with half a decade of damn near professional effort by thousands of modders.
The only actual improvement they've made to the inventory system is that in FO4 you can now take items from containers without opening a separate dialog, which is a _very_ welcome improvement IMO.
the last bit ain't true - from my experience last month. had a off-gaming period for last 5 years and didn't play Skyrim when it was launched. sat to it 2 months ago, with all datadiscs, patches, put all interesting (not only) graphic mods, which had years to gain maturity and compatibility. So I thought I will have the best possible version of the game, better than creators ever aimed for.
The game looked meh on all maxed, but that isn't a dealbreaker for me (after all, I still sometimes run old Deux Ex 1, probably the best game ever in its genre). it was boring like hell, and the whole game screamed quantity-over quality. FYI - I played all previous TES games vigorously, starting properly with Daggerfall (didn't have good enough rig for Arena back in those days, but I played it too a bit). This was just nothing-special experience, and I uninstalled it after few hours of gaming.
2 weeks ago installed Witcher 3, and those games are uncomparable. 21st century meets 80's arcade gaming (heck, not even). Visual side is one aspect, but this game is simply better in every possible way.
Had an off-gaming period of 5 years as well, and trying to get back into it. Just built a nice rig, to max out these new games. Is there a texture pack I can get for the original Deus Ex (1) or something? I played Deus Ex HR two years ago and I was blown away by it. Had a talk with a friend of mine who is also a Deus Ex fan and he told me that Deus Ex 1 is better than HR in every conceivable aspect. Of course I can't wait for Mankind Divided to come out, but I'd very much like to play Deus Ex 1 (for historical reasons) without my eyes smarting. If not I just might get Deus Ex HR Director's Cut off of Steam.
I completely agree and want these features, but I think Bethesda is faced with the issue of overcomplicating the UI for a more mainstream audience which they're obviously hoping to attract. The UI is probably already completely overwhelming for a lot of mainstream users. At some point, I'm sure adding more options, buttons, commands, and screens might make a lot of people really uncomfortable.
Obviously though there's a balancing act at play. The flip side to not having these features is that some of the inventory management stuff is a bit inconvenient and boring and cumbersome. But people tolerate that to an extent if the rest of the experience is worthwhile.
I can't help but think Bethesda takes a "World of Warcraft" approach to UI - since no level of customization will make everyone happy, they just implement a baseline and leave the rest up to modders. (And since this only applies to desktop, the baseline works out heavily tailored to consoles.)
Of course this would work more smoothly in practice if the modding tools were ready, and if UI extensions were easy to make and manage.
I really like this idea, but one of the big "improvements" for me in the scavanging system (given that I didn't play New Vegas, which I believe implemented some of this) is that it's no longer just about weight to value ratio, and it's also about rare components (screws, gears, etc.) for weapon mods. For this to be useful to me, it would need a customizable "hit list" of crafting components as well.
Am I the only person who collects lots of stuff early in a quest, runs out of room when I find better stuff, then drops a bunch of it in a locker/cigarette machine/corpse near the front door in the hopes that I'll stumble across it later (current return rate = 0)?
You can mark ingredients for search in the crafting menu (press 'T' on the pc version I think) and any item that has those ingredients will have a spyglass next to the item name when you look at the item. I have gears, springs, adhesive, and aluminum all marked.
I think they tried to force you to learn how to use this system when you need a circuit board to build a sentry for your settlement and the closest one is in the red rocket in a phone. I just got mad and used the internet. It wasn't until about 20 hours into the game when I wanted to start building mods for the guns that I noticed it.
In addition to the spyglass icon, if you are facing a chest/item that contains materials you've marked, they have a blue "glow" overlay that makes them stand out. Pretty sure that's part of the base game since the only mods I've installed are one to add more songs to Diamond City Radio and one to tweak lighting and improve ambient occlusion (just basic post-processing tweaks). Don't think the blue glow on tagged materials is part of either mod.
That sounds like level 2 of the scavenging perk in the INT tree. Level 1 was finding screws and uncommon materials when scrapping guns, level 2 is finding rare materials when scrapping guns as well as highlighting tagged components in the game.
Fallout 4, being a Bethesda game, has first class modding support on desktop PC. AFAIK, Xbox One should be getting similar capabilities within the next year, and PS4 is rumoured to follow suit.
Mods give you complete access to accomplish anything with the game world or interface, even morph it into a completely different game.
games like Nethack and Dungeon Crawl Stone Soup actually have client scripts that do that. One could take them as a foundation to work out the details of such a tool. I think this would be really really helpful.
That's the default header created by Xcode when making a new file, I didn't add that on purpose. I suppose I should go through and get rid of those lines.
This is somewhat anecdotal but with the latest iOS and Facebook app versions, Facebook doesn't even show up on the list of apps that have requested to use my microphone. Unless they found some exploit to bypass Apple's restrictions and use my microphone without even asking for permission, I seriously doubt they're listening to users.
None of the things you mentioned are possible without jailbreaking, but I think workflow's creators are planning to bring extra features like those to it through a jailbroken plugin of some kind.
Maybe I'm misinterpreting but I assumed the subreddit would be a collection of answers like this instead of a place to ask them which would be super cool and helpful. Not sure if that's what's meant though.