Widescreen Gaming Forum

[-noun] Web community dedicated to ensuring PC games run properly on your tablet, netbook, personal computer, HDTV and multi-monitor gaming rig.
It is currently 27 Nov 2024, 08:47

All times are UTC [ DST ]




Post new topic Reply to topic  [ 8 posts ] 
Author Message
PostPosted: 29 Jul 2012, 19:07 
Offline

Joined: 08 Jul 2010, 16:04
Posts: 64
Location: Coventry, UK
This site has been incredibly useful to me over the years, but I've never really had a great deal of time to give anything back. That's changed now, but I'm finding it really hard to break into the whole "hacking games for widescreen/surround support" (I can't find anything relating to the actual process on the site - sorry if I missed something). I've been programming for a while now, but I've never really done anything in the way of reverse engineering. I've been reading around what I think I need to know from Google, but in the end it doesn't really get me anywhere since I'm mostly clueless on how people even start a hack. I've had ideas that I've tried out, but I could really use some pointers from the gurus that frequent this site. I'm sure I'm not the only one who would like to get into this, but doesn't really know where to start, so any pointers could potentially get a few more game fixers going around here. Once I've acquired the know-how, I'd be happy to write a tutorial article for this site.

So, to get the ball rolling, here's a couple of questions that come to mind:

  • What method do you use when starting a hack? I've always assumed it's just searching for known values in memory, and changing things in game to see what addresses change...but surely alot of things change when resolution does, and this surely wouldn't help you identify something obscure like HUD positioning...right?

  • Recommended tools for this sort of thing? I've played briefly with TSearch, and seen OllyDbg mentioned.



Any help, big or small, would be greatly appreciated. Thanks.


Note to self/others: Useful thread I (eventually) found (thanks squ1zzy): http://www.wsgf.org/forum/8483/squ1zzy-some-knowledge
Another with a few gems of wisdom: http://www.wsgf.org/forum/5965/correct-fovand-unstrectched-values-artmoney
Article on FoV calculations: http://www.wsgf.org/article/fov-calculations-complicated-math-version-developers

_________________
"Personally, I see it as a virtue - trying to make the world a slightly better place _without_ trying to impose your moral values on other people. You do whatever the h*ll rings your bell, I'm just an engineer who wants to make the best OS possible." - Linus Torvalds


Top
 Profile  
 


PostPosted: 29 Jul 2012, 19:52 
Offline
Insiders
Insiders

Joined: 08 Nov 2011, 09:36
Posts: 156
Location: The Netherlands
Yes iam also interested to know how to make a game work on multimon when its not. Good post Nox Deleo :D. Hope someone with some knowledge reply to this post.

This may also lead to more fixers like hayden, dopefish, helifax etc. and that would be really good for multimon gaming and WSGF.

_________________
Asrock Z77 Extreme 4 ----- Intel Core i7 2700K ----- GTX 680 Twinn Frozer III ----- NVIDIA Geforce GT 520 1x Edition


Top
 Profile  
 
 Post subject: My recommended step 1:
PostPosted: 31 Jul 2012, 11:09 
Offline
Editors
Editors
User avatar

Joined: 12 Sep 2007, 19:14
Posts: 1560
My recommended step 1: download Cheat Engine and go through its built-in tutorial as many times as it takes (seriously) until you understand its lessons very well. The Cheat Engine help file also has some great beginner tutorials. Pay special attention to the ASM basics tuts, of which I believe there are 3.

As far as practice goes, one of the easiest ways to learn how to search for memory values is with a game that uses a numeric ammo count (use windowed mode for game to keep CE visible).
1) Search memory for current ammo count using Exact Value (usually a 4-byte type, sometimes 2-byte) in Cheat Engine.
2) Switch to game, shoot some rounds.
3) Switch to CE, search for new count.
4) Rinse, repeat until you find just a few values. Now, you should be able to shoot in-game and see which mem value in CE matches the ammo count.
5) Add that entry to the address list in CE and change its value. If successful, the ammo count in-game will change to match the CE value.
(note: some games hold the actual ammo count in one memory location and the text of the HUD display in another)
6) Congrats, you just made your first hack.

_________________
VirtualDub Game Recording Guide | BFME2 & RotWK Widescreen/Triplehead Mods


Top
 Profile  
 
 Post subject: Much appreciated. I was
PostPosted: 31 Jul 2012, 11:51 
Offline

Joined: 08 Jul 2010, 16:04
Posts: 64
Location: Coventry, UK
Much appreciated. I was actually just now giving this a go with the San Andreas resolution issues I've been having. Was actually doing what you describe above, but not really getting anywhere (no surprise). Anyway tutorial here I come.

_________________
"Personally, I see it as a virtue - trying to make the world a slightly better place _without_ trying to impose your moral values on other people. You do whatever the h*ll rings your bell, I'm just an engineer who wants to make the best OS possible." - Linus Torvalds


Top
 Profile  
 
 Post subject: A huge thanks to
PostPosted: 31 Jul 2012, 19:48 
Offline

Joined: 08 Jul 2010, 16:04
Posts: 64
Location: Coventry, UK
A huge thanks to GeneralAdmission. Once I'd got my head around the tutorials it took me all of 60 seconds to find the appropriate base addresses for San Andreas's resolution, and voila!...problem solved. An ideal next exercise...see if I can integrate my fix with Hayden's FWS one so it'll work properly for me.

Once I've gotten some more experience, and hopefully contributed a few fixes, I'm thinking I'll write a nice detailed tutorial (with specific aim at widescreen fixing). The CE one was good at getting the concepts down, but the wording wasn't too clear at times.

_________________
"Personally, I see it as a virtue - trying to make the world a slightly better place _without_ trying to impose your moral values on other people. You do whatever the h*ll rings your bell, I'm just an engineer who wants to make the best OS possible." - Linus Torvalds


Top
 Profile  
 
PostPosted: 31 Jul 2012, 20:03 
Offline
Insiders
Insiders
User avatar

Joined: 06 Sep 2011, 09:29
Posts: 552
Location: Haarlem, the Netherlands
A huge thanks to GeneralAdmission. Once I'd got my head around the tutorials it took me all of 60 seconds to find the appropriate base addresses for San Andreas's resolution, and voila!...problem solved. An ideal next exercise...see if I can integrate my fix with Hayden's FWS one so it'll work properly for me.

Once I've gotten some more experience, and hopefully contributed a few fixes, I'm thinking I'll write a nice detailed tutorial (with specific aim at widescreen fixing). The CE one was good at getting the concepts down, but the wording wasn't too clear at times.


Good work :onethumb

_________________
Philips BDM4065UC(3840x2160) Acer Z35(2560x1080@200hz); 980 Ti Hybrid @stock ; 6700K 4.6ghz (1.35v)/D15; 16GB 3200mhz; Asus Maximus Ranger VIII; AX860; 1TB 960 EVO; 750GB 840 EVO; Teufel Concept D 500; Sennheiser HD6XX; Windows 10 (latest build)


Top
 Profile  
 
PostPosted: 01 Aug 2012, 04:57 
Offline
Editors
Editors
User avatar

Joined: 12 Sep 2007, 19:14
Posts: 1560
Happy to help.

Coming from a programming background will certainly give you a leg up on reverse engineering once you've got the basics (which apparently you have). I arrived at this hobby backwards: started with reversing, memory hacking, and assembly, and now I'm working my way towards "regular" programming.

Regarding tools, CE is really the best option around. It has robust features and is one of the few apps of its kind that is actively developed. I do like MHS as well. If for nothing else it has the best value conversion tool I've found. I've toyed with Olly a few times but I need to walk through a couple good tutorials to get a good understanding of its capabilities and functionality. It is certainly one of the most popular tools in the world of hacking/reversing.

_________________
VirtualDub Game Recording Guide | BFME2 & RotWK Widescreen/Triplehead Mods


Top
 Profile  
 
PostPosted: 01 Aug 2012, 09:00 
Offline

Joined: 08 Jul 2010, 16:04
Posts: 64
Location: Coventry, UK
Coming from a programming background will certainly give you a leg up on reverse engineering once you've got the basics (which apparently you have). I arrived at this hobby backwards: started with reversing, memory hacking, and assembly, and now I'm working my way towards "regular" programming.


I guess it works both ways, since that stuff'll help you no end when it comes to C/C++. Thanks again.

_________________
"Personally, I see it as a virtue - trying to make the world a slightly better place _without_ trying to impose your moral values on other people. You do whatever the h*ll rings your bell, I'm just an engineer who wants to make the best OS possible." - Linus Torvalds


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 8 posts ] 

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  




Powered by phpBB® Forum Software © phpBB Group