Page 1 of 5

AMA: Computer Specialist

Posted: Wed Jun 16, 2010 7:24 pm
by krainboltgreene
AMA, or "Ask Me Anything", is a term from Livejournal/Reddit where the OP is in a position to answer questions about something specific.

Since lately there have been a few Shadowrun threads about the Matrix I thought I'd do this.

I'm a computer specialist which basically boils down to knowledge of all parts of computers, computer science, and related fields. I'm a professional programmer in 3 languages (Clojure, Python, and Ruby), academic follower of 7 more (Haskell, Erlang, Common LISP, F#, Forth, Modula-2/3, Scheme).

I've done Computer Security work as well as System Administration. I've even written my fair share of cracks and malware.

Ask me anything (Even RPG related).

Posted: Wed Jun 16, 2010 7:28 pm
by Cynic
this might constitute as trolling because I'm not sure if it can be done or not.

But is there anyway to add a ultrasound mod to a phone or tablet pc.

I saw an app recently that shows a picture of what a baby at X level of pregnacy should look like in the stomach. But that's just that. I'm tryign to see if we can kick up a notch.

Posted: Wed Jun 16, 2010 7:40 pm
by krainboltgreene
It's not trolling unless you're trying to elicit an emotional (angry, pissed) response from me.

You're probably thinking about this: http://hackedgadgets.com/2009/05/12/cel ... ltrasound/

Posted: Wed Jun 16, 2010 8:37 pm
by Cynic
awesome.

Posted: Wed Jun 16, 2010 8:57 pm
by RandomCasualty2
Here's a computer question I always wondered...

How do you go about writing hacks and stuff? Like lets say a simple maphack for Starcraft, since people have told me it's really easy.

Posted: Thu Jun 17, 2010 3:31 am
by krainboltgreene
This really depends on the situation. For Starcraft I'm going to assume it's a script that changes the files received over battlenet about the game.

You need to know a programming language, how the files are structured, and what to change.

Posted: Thu Jun 17, 2010 4:48 am
by RandomCasualty2
krainboltgreene wrote:This really depends on the situation. For Starcraft I'm going to assume it's a script that changes the files received over battlenet about the game.

You need to know a programming language, how the files are structured, and what to change.
Well in this case all the information is clientside, since your client basically has a copy of where all the units are, there's just a fog of war placed over your map basically which during the game prevents you from seeing everything. But you don't actually have to analyze any network traffic.

But my big question is how would you actively find that stuff in memory? Does it constitute going over the actual game .exe file in Assembly? or are we talking some kind of other method?

I'm familiar with some basic programming languages like C++ and Java. And I figure you could use pointers or something to change various addresses in memory. My main problem though is just actually figuring out what you change.

Posted: Thu Jun 17, 2010 5:28 am
by Count Arioch the 28th
Know of any drivers for an nVidia Geforce FX5200 that would work with Windows 7? I don't seem to be able to find one with my current computer skilz.

Posted: Thu Jun 17, 2010 12:10 pm
by RobbyPants
RandomCasualty2 wrote:
krainboltgreene wrote:This really depends on the situation. For Starcraft I'm going to assume it's a script that changes the files received over battlenet about the game.

You need to know a programming language, how the files are structured, and what to change.
Well in this case all the information is clientside, since your client basically has a copy of where all the units are, there's just a fog of war placed over your map basically which during the game prevents you from seeing everything. But you don't actually have to analyze any network traffic.

But my big question is how would you actively find that stuff in memory? Does it constitute going over the actual game .exe file in Assembly? or are we talking some kind of other method?

I'm familiar with some basic programming languages like C++ and Java. And I figure you could use pointers or something to change various addresses in memory. My main problem though is just actually figuring out what you change.
I have a coworker who used to do that for fun, and he explained it to me once.

From my understanding, you can mod things to be able to get info you normally couldn't have, such as removing the fog of war, and possibly getting a list of all enemy troops.

I don't think you can easily add units or resources to your side, though, because I thought that each person running the game would track all of this info separately, and if at any point they weren't in sync, the game would know that someone had hacked it. I don't know what happens at this point, but I assume the match would just end.

As for the specifics of how to get at and read the info, I'll have to ask him to see if he remembers. I know it does involve going in and looking at the memory allocated for the game, but I don't know much more than that.

Posted: Thu Jun 17, 2010 12:35 pm
by Murtak
RandomCasualty2 wrote:Here's a computer question I always wondered...

How do you go about writing hacks and stuff? Like lets say a simple maphack for Starcraft, since people have told me it's really easy.
- First you need to know how the game/program works. This will let you figure out what to change. (Educated guesses may suffice, particularly when you can rapidly refine your guess.)
- Then you need to find out how to change the value. This may be trivial (unencrypted files on your own disk), easy (unencrypted memory on your computer) or damn hard (properly verified values on a server not under your control).
- Finally you will probably want to automate your hack (and I guess try to make it as subtle as possible). Obviously this step is not needed if you only need your hack once.



An example I am somewhat familiar with:
Let's say you want to change a an entry on a wiki article without having access to the admin interface. First you find out how the article itself is displayed. You learn it is HTML, so you only need to change some plaintext.

Your next step depends on what kind of wiki you work with. If it is one of those local javascript-only wikis you can just search the file for the current text and replace it. Alternatively you can change the code for the admin interface so you do get the interface when you look at the article. If the wiki is online it gets harder. If you can get to the change form for a different entry you might be able to find out the pattern used to send data to the server and emulate it, the idea being that the server only verifies whether you are allowed to click on the "change article" button, not whether you are allowed to actually change the article (this is depressingly common). Failing that you will need to search for another vulnerability.

Once you find an approach that works you will probably want to automate it. This step should be trivial in that you no longer need to figure out what to do, but may still involve a substantial amount of work, especially if it is supposed to be easy to work with.



Those same steps should work to hack a game, whether online or offline. Basically you need to acquire domain knowledge, find a vulnerability and then automate the process.

Posted: Thu Jun 17, 2010 4:45 pm
by Gelare
As someone who has been eagerly awaiting Starcraft 2 for years and who got only a tantalizing taste of the beta, it depresses me to think how many people I'll be fighting will be using maphacks.

Here's a question: what are some common mistakes people make when assembling computers (such as, but not limited to, static shocking their hardware into paperweights), and how can they be avoided?

Posted: Thu Jun 17, 2010 6:40 pm
by RandomCasualty2
Gelare wrote:As someone who has been eagerly awaiting Starcraft 2 for years and who got only a tantalizing taste of the beta, it depresses me to think how many people I'll be fighting will be using maphacks.
Yeah, heh. I'm just mostly curious how it's done. Not that I would actually use one. Mostly because I've heard it's "easy" from a variety of people, and I've taken several years of computer courses and still have no fucking idea where you'd even start. I actually know how you'd change values, I just don't have any idea how you'd find the value you need to change or how that would be remotely "easy", since mapdata isn't like searching for plain unencrypted text. Like you basically have no idea how it's stored or what you're even looking for, so like randomly probing memory wouldn't even work.

The good news in SC2 is that the CD-keys are going to be a bit more secure, and Blizzard is banning people for hacking, or at least they have since WC3 and will likely continue that trend in SC2. And it's much easier to ban people's accounts in the new battle.net I think.

Posted: Thu Jun 17, 2010 6:48 pm
by Surgo
Gelare wrote:Here's a question: what are some common mistakes people make when assembling computers (such as, but not limited to, static shocking their hardware into paperweights), and how can they be avoided?
The #1 problem I've had is plugging in the positive/negative polarity of wires backwards. I've found on most motherboards and connectors I've used that they are marked very poorly among many other poorly marked pins, so you're never sure what goes where.

Posted: Thu Jun 17, 2010 7:47 pm
by Gelare
Surgo wrote:The #1 problem I've had is plugging in the positive/negative polarity of wires backwards. I've found on most motherboards and connectors I've used that they are marked very poorly among many other poorly marked pins, so you're never sure what goes where.
Good to know. I'm planning to assemble a new computer (with the help of a friend who is way more knowledgeable on the subject than I) in preparation for Starcraft 2, and I'd like to avoid making rookie mistakes. Speaking of which, RC and anyone else who wants in, we should play sometime once it comes out.

Posted: Thu Jun 17, 2010 8:07 pm
by RandomCasualty2
Gelare wrote: Good to know. I'm planning to assemble a new computer (with the help of a friend who is way more knowledgeable on the subject than I) in preparation for Starcraft 2, and I'd like to avoid making rookie mistakes. Speaking of which, RC and anyone else who wants in, we should play sometime once it comes out.
Hell yeah. I been playing the beta considerably ever since they started giving away beta keys for preorders. Though it's unfortunately shut down for a couple weeks right now until phase 2 of the beta... :(

Posted: Thu Jun 17, 2010 9:45 pm
by Starmaker
I have a sorta dated PC (2005) that I need to reinstall WinXP on. Problem is, Windows does not see my SATA hard drive on install, and neither does Hiren's PE. I can however boot from the drive normally. A tech support lady at Seagate live chat told me to install chipset drivers for the motherboard, and ASUS is being an asshole as per their policy and is demanding a full list of hardware with serial numbers and whatnot before they consider answering my question.

And the question is this: assuming I find the correct driver for the chipset, how to install it with WinXP? (and another question: is lack of chipset drivers an actual possible problem or have they simply told me gibberish to close the ticket?)

Thank you.

Posted: Thu Jun 17, 2010 11:01 pm
by Gelare
Question: Does reformatting a computer actually significantly improve performance? If so, why?

Posted: Thu Jun 17, 2010 11:15 pm
by Crissa
Gelare wrote:Question: Does reformatting a computer actually significantly improve performance? If so, why?
Yes. Less entries into tables and less files to sort through is just plain faster.

Specifically for PCs, there are many temporary files and virtual memory - as you use the computer, these files get pushed further and further back on the drive. The closer to the beginning of a physical drive (and to a lesser extent logical partition) the faster the files are located and can be physically read.

This is less of an issue for unix-based machines which have more hierarchy broadly built across applications, than for PCs which are more organic in structure.

-Crissa

(A+ certifications never expire)

Posted: Fri Jun 18, 2010 3:15 am
by TarkisFlux
Starmaker wrote:I have a sorta dated PC (2005) that I need to reinstall WinXP on. Problem is, Windows does not see my SATA hard drive on install, and neither does Hiren's PE. I can however boot from the drive normally. A tech support lady at Seagate live chat told me to install chipset drivers for the motherboard, and ASUS is being an asshole as per their policy and is demanding a full list of hardware with serial numbers and whatnot before they consider answering my question.

And the question is this: assuming I find the correct driver for the chipset, how to install it with WinXP? (and another question: is lack of chipset drivers an actual possible problem or have they simply told me gibberish to close the ticket?)

Thank you.
You probably don't need the chipset drivers, just the 3rd party sata controller driver. There should be an F6 prompt (bottom line of the screen right after it goes all blue) to load the drivers early in the win xp install process, and you will need the driver on an old school floppy disk to load since that's all the install process accepts. You could actually build it into the install cd too, but I don't remember the procedure for that and you'd need an enterprise install.

Alternately you might be able to change the controller function in the bios until you get to one the installer will recognize with its default drivers. You might be stuck in sub-optimal disk running land after that, but better that than not getting it to install in the first place (I have had this issue with Dell PCs with variable sata / raid controllers).

And the seagate lady would be right about the chipset drivers if you had winxp installed already and then couldn't get it to recognize. Those aren't installed until after the OS though, so tehy will not help you with the install at all and she's all kinds of wrong in this case. The ticket shouldn't have gone to them anyway as it's not their hardware that isn't being recognized by the installer, so it's not a big deal. ASUS should have drivers for just the sata controller on their site though, and if they don't that's probably all you need to ask for if you get a ticket open.

Posted: Fri Jun 18, 2010 5:40 am
by krainboltgreene
[quote]Question: Does reformatting a computer actually significantly improve performance? If so, why?[/quote]

That is a dangerously vague question.

Posted: Fri Jun 18, 2010 5:48 am
by Murtak
Gelare wrote:Question: Does reformatting a computer actually significantly improve performance? If so, why?
When you freshly install your OS all files are neatly aligned on disk, none of them split. No extraneous programs are installed, no duplicate versions of files. As you use your computer you will install more and more programs. Files will get deleted, added, changed and moved, leading to fragmentation. You may even catch a virus or trojan, or failing that, install programs that block each other half of the time because of poor design.

So yes, for most users, formatting and installing from scratch is going to be a noticeable speedup. Of course so is not installing tons of crap and defragmenting your hard drive (assuming you are on windows and do not use a solid state disk).

Posted: Fri Jun 18, 2010 6:27 am
by krainboltgreene
Note that this only has to do with the File System, not the OS. Ext4 can go for an impossibly long time before needing a defrag.

Posted: Fri Jun 18, 2010 11:55 am
by RobbyPants
Surgo wrote:
Gelare wrote:Here's a question: what are some common mistakes people make when assembling computers (such as, but not limited to, static shocking their hardware into paperweights), and how can they be avoided?
The #1 problem I've had is plugging in the positive/negative polarity of wires backwards. I've found on most motherboards and connectors I've used that they are marked very poorly among many other poorly marked pins, so you're never sure what goes where.
The ones I've used in the past usually have one side a slightly different shape, so you can tell the correct orientation.

krainboltgreene wrote:Note that this only has to do with the File System, not the OS. Ext4 can go for an impossibly long time before needing a defrag.
My understanding of part of why defagging helps is because when you delete files, they don't actually get deleted, but rather a bit is flipped. This makes it appear to be deleted. Is that handled on the OS level or the file system level? I've always assumed this was done by the OS.

Posted: Fri Jun 18, 2010 2:13 pm
by Surgo
Gelare wrote:Question: Does reformatting a computer actually significantly improve performance? If so, why?
People mentioned all the classic justifications for defragging -- I'm not sure any of them are actually true anymore in the modern versions of NTFS.

NTFS isn't a full log filesystem, but it will attempt to put a new file (this includes new *versions* of files) in an area of free space big enough to fit it. This basically solves the classic fragmentation problem, so while it can and does happen (and happens in ext4 and the other Unix filesystems), it doesn't happen to the degree that you were forced to defrag like every week in Windows 98.

Also, a side note...they also have similar versioning support to ZFS, so if you want to you could do full copy-on-write...that's very non-standard though and not really part of the scope of what we're talking about.

Posted: Fri Jun 18, 2010 8:12 pm
by Crissa
However, it doesn't solve the problem of file sorting, just the issue of file fragmentation.

-Crissa