Hack’em to Sack’em

 

Ever got stuck in a game? Felt like you ran out of health or ammo too soon? Too bored to play the game legitimately?

Go on.

Go on.

Well, that is what cheat codes are for. But not all games have credible cheats. That’s where external hacks such as trainers and aimbots come in. Yeah, because hell with the developer,his fault he made this level difficult.I’ll fucking use a hack.

Those ‘hacks’ make our life easier but wouldn’t it be awesome if you could make your own hacks according to your needs and show them off to your friends(and to pickup nerdy/hot chicks too )? Using game hacks downloaded off of the internet always made me feel guilty, and they should, but then again, winning in a game using hacks made by someone else doesn’t make you better than the opponents in any way but making your own hacks to pawn them; well that counts for something.Right? Panzy-ass gamers, begging others for making hacks or using their stuff as it is, are called ‘leech’. It is frowned upon and we will try to not be a ‘leech’ as far as possible.

20140529065153-FreedomBraveheart

To all those who soil their pants at the mention of hacking- lookup what it really means before crying ‘wolf’. It is more sophisticated and easy to learn.I must inform you beforehand once you are through with this article and you have good grip over memory hacking, Don’t expect a call from FBI or CIA begging you to hack into super-villian alien organization. You can still brag about hacking a game though. That’s cool too, Trust me. It is.

This article will focus mostly on multiplayer game hacking but I’ll link a similar app to hack simple android games too.

Requirements:

1)      Don’t be a retard.

2)      A good enough PC to run a compiler/debugger alongside the game you are trying to hack(If you are aiming for a high end game for the new CoD series or Battlefield and such, your setup better be worth almost ₹60k or over,Simple logic bigger the whale bigger the boat).

3)      Some knowledge of the game you are trying to ‘hack’.

4)      Time and patience, it’s gonna be a lot of trial and error, be good at brute forcing.

5)      An internet connection, to Google all your doubts. (Hail Google. Who else can help in times of misery?)

6)      Shitload of caffeine and a nice playlist if you plan to go deeper into it  (That’s what she said).

What you’ll achieve by knowing a little about memory hacking:

1)      Guilt free way to win in games. (Well, guilt of being a leech)

2)      Reason to show off in front of friends.

3)      Scare the shit out of some noobs.

4)      Make others whine and flame and feel stupid (Satisfying, Eh?).

The real stuff:

So, fair warning. You will need to give this thing a good dedicated time to learn.(It’s easier you are smart.Duh.) You want it? You ready to put some effort? Then, I say you will have fun learning this. Now, let’s get down with it.(That’s what she said)

Here’s what happens when you run any application on your PC (MAC users can gtfo). The contents of the application get loaded into the memory (RAM) where the processor can perform all sorts of operations on them. All the variables and functions and modules (the .dll files) get memory addresses allocated (we’ll just call them addys,cute?huh?) based on their size and type. Memory addys are always referred to as hexadecimal integers (0x), so get good at hex tables.(Number system of 16. For eg: 0 in decimal is

Consider any FPS (First Person Shooter) multiplayer game, and you will have the most obvious variables like health, ammo, position, angles and loads more. All those game trainers that give you infinite health or ammo, they just make the value at the corresponding addy stay the same even when it is supposed to change (mostly decrease). Those aimbots read your position and the enemy’s position from memory and calculate the angle you should be aiming at and write the value to the required memory location to make your player in game aim at the enemy. The logic behind them is this simple.

However, it takes some knowledge of a language to code in to make a decent looking hack, which we will NOT be covering in this tutorial. It’s more important to get good at finding the addys and making proper data structures before we start coding to use them.

It is not important that you know C++ or any related language but a little knowledge about assembly(ASM) language will come in handy… here’s why-

Languages like C++ are higher level languages where statements are just like how we would describe a problem in English but with a shitload of rules (syntaxes). But the computer does understand that language directly. All it knows to process is machine code (1011101010101101111101) which can also be represented as hexadecimal, obviously. Earlier, I said that the applications get loaded into the memory where operations can take place on them, but for arithmetic operations, even the memory isn’t enough, the values memory addresses get loaded into ‘registers’ where math can be performed on them. On our machines, registers are hardware that store 16bits of value that may represent an integer, float, string, etc.

ASM is a language of very limited keywords to use and every command has a corresponding hex notation that the processor can understand and perform. It is inhuman to write codes directly in ASM and that’s where higher level languages come in. A compiler converts the higher language source code into highly optimized binary code that the machine understands. Ideally, no program can ‘decompile’ machine code entirely but you can see the machine code and try to figure out what the source could be… this is called ‘Reverse Engineering’. Viewing/editing the assembly of a running application is called ‘debugging’. You’ll understand this shit better when we get to hacking a game for real.

For this tutorial, we will try to hack a game called Assault Cube. This is the simplest example of what a FPS game is and it’s like the “Hello World!” of game hacking. Download the game and these 2 programs that we will need for this all kinds of memory hacking – Cheat Engine and OllyDbg.

Cheat Engine (CE) is an easy to use tool to find some basic addys and freeze their value and also perform some basic debugging.

OllyDbg is a much more advanced debugger used for more than just games… we won’t touch Olly unless we absolutely have to.

I’ll post some screenshots of what I made when I started learning this shit using these exact same things.

This was just the intro, the real procedure will be smaller and quite easy if you read everything so far.

Hacking this shit:

1)      Fire up the game and play around for a few minutes. Try some game modes and different weapons. Play against some bots, see how retarded they act sometimes.

1

2)      Open Cheat Engine.

3)      Click on the magnifying glass thingy scanning a computer button.

4)      A process list pops up. Select the game process and click open. You can find the game process using task manager, if you don’t know what it is.

4

5)      In the value field, enter the current ammo of your weapon, in this case 5. Let the value type be ‘4 Bytes’ which is standard for integers. Ammo is obviously an integer value, you don’t fire half a bullet.

6)      Click “First Scan”. It will scan the memory addys accessed by the game for a value matching 5 and then list those addys on the column to the left. Don’t be surprised to get a high count of addys on your first scan.

6

7)      The addys in green are ‘static’ and the others are ‘dynamic’. Static addys are addys that will hold the value of the same token even if you restart the game. Dynamic addys may or may not hold the value for the same shit after a game restart, in this a case we need a pointer that will lead us to the correct addy every time, I’ll explain properly later. The addys coloured red are the ones that have changed value.

8)      Now fire a bullet so your ammo count reduces, in my case it becomes 4. You can fire more than one, no one gives a fuck, but don’t be a retard and empty your entire magazine (it’ll still work but you’d be stupid to do that). Enter the new value of ammo in the value box and click “Next Scan”, this will scan the addys on the left for a value matching 4 in my case.

8

9)      You can ignore the red ones as they changed their value without us shooting. Shoot again and check for a new value (in my case 2, might be different for you) to make sure we have the right ammo addy. Select the addys left in the list (should mostly be 2) and drag them down into the big white box or just click the red arrow thingy.

9

10)   Change the value of one of those addys by double clicking on them. Change it to any random number greater than the previous value, not too big though (the game may have a max limit on weapon ammo). See if the exact same change is reflected in the game.

10

11)   The ammo in game changed to the new number! Take a few shots to make the change wasn’t just visual (Sometimes when the value is changed the in game change is only visual i.e. it doesn’t work when you take some shots, because the addy was holding the variable responsible for the visual value not the real one). Delete the other addy as it is of no use.

 

12)   What addy you got is just a false summit. Sorry! We are not done yet.Can you guess why it is false summit? As I talked about earlier, this addy was not green when you found it. This means that if you close the game and look at the value at the same addy again, it won’t lead you to the ammo value. If it was static (green), we would find the same variable’s value at this addy every time.(True Summit) So… we cannot find this value manually again and again, you can’t show it off to your friends like that. We will need a pointer that will point us to the right variable everytime.

13)   So… what’s a pointer?
It’s a variable that stores the address of another variable (thereby ‘pointing’ to it).So take a piece of paper and ‘write’ out where you live, now throw that paper somewhere, That paper is your pointer. No matter what you are doing. The paper will lead us to you. Since addys(where variables live) are always expressed as hex, the value of a pointer is also expressed as hex (just a notation, value is still the same in decimal or hex but don’t ever forget the 0x before hex).
While we’re at this, let’s talk about data structures too. Here’s how most games store all the data for a client(player or a bot) (health, ammo, client num, team num, position, angles, velocity, etc.) – position is an array of 3 floats (X, Z, Y) or (X, Y, Z) call the axes whatever you want, doesn’t matter. So if you find the addy for X, that (addy for X) + 4 = (addy for Z) and that (addy for X) + 8 = (addy for Y) as the size of one float is 4 Bytes. Similarly you have your 2 angles in float (MOUSEX and MOUSEY) i.e. (θ and φ) stored next to each other. The addys for health and ammo won’t be far away either. All these addys are always at a fixed distance away from each other. We define a PLAYERBASE addy that marks the start of all the info about our player, and we define an offset for each variable we need. The offset is the distance from the base to the variable’s addy, always read out as hex. When the game tries to change the value of any variable, say health, a register first points to the PLAYERBASE and then the offset is used to give the correct addy.

14)   Why did I bother explain this shit so much?
Because we don’t always look for a pointer to the health addy directly, we find the offset first and the (health addy) – (offset) = PLAYERBASE.(getting it?) And we look for a pointer to the PLAYERBASE which can lead us to a whole lot of important variables addys if we know their offsets.So what we do is, We search for one attribute, trace it back to the base. Once we have the base we have all the attributes. (Weirdly, I feel a little evil ) So let’s just do this thing to understand it better. Blindly do what I say for your first try, you’ll understand it as you do it.

15)   Right click on the addy we have in CE and select “Find out what writes to this address”. This will show you the ASM instruction that is responsible for writing to this address. Click yes on the message that pops up. Now, a window appears, which will show the instructions that are writing to the addy holding ammo value. Go in the game and fire a shot and come back to this window, an instruction should appear in the window. Click on stop.

15

16)   The instruction is dec (esi), which means it will decrement the value stored at the addy pointed by register esi by one.
Obviously this is how your ammo decrements by one each time you shoot. Let’s try something here… select the instruction and click on “Show disassembler”. Double click on dec (esi) and change it to inc (esi), which obviously means what you think it means.
Add a comment in the comment field next to it so you know this is the addy to look for to find ammo.

16

17)   Go in the game, take some shots, and see that our ammo is now increasing instead of decreasing!
If you scroll up once is the ASM that we were looking, just above dec (esi), you would find an instruction referring to (esi + 14). 0x14 is the offset for ammo.*Bruce Willis’ voice* Now let’s get that pointer.
Right click on the ammo addy we have in our list and select “Pointer scan for this address”. Select “Stop traversing a path when a static has been found” and select “Pointer must end with specific offsets” and type 14 in the new box that comes up. Change the “Max level” from 5 to 2. Click “OK”.

17

18)   A window will appear a list of pointers. Double click any of the pointers starting with “ac_client.exe”.

18

19)   And we found our pointer, now close the game and open it again, load the process in CE and keep the addys in the list.
We see that the old dynamic addy is now holding some shit value, while our pointer leads us to the correct one! (Found your paper!!)
The pointer has 2 offsets…  It is a second level pointer. It points to a pointer that points to the right addy!

19

20)   Do the same to find your health and ammo for pistol and so on. CE can save all the addys in a .CT file, or you could save them in a text file. Change the value type to float and scan type to increased/decreased/changed/unchanged value. With a little logic, you can get the addys for position and mouse angles too!

21)   Another way to get those addys would be to use CE’s “Data Dissect” tool.
Double click the saved pointer and change the offset from 14 to 0.
Note down the addy that it’s pointing to (P->).
Click on “Memory View”, then “Tools” menu and then “Dissect data/structures”.
Put in the addy you wrote down seconds ago.
“Structures Menu” and then “Define new structure” and just click ok/next and you’ll get this…

21

22)   This is a gold mine…    look how the variables in here change based on your actions and get the offsets or important variables.
Figure out how to store them in a fashionable way in CE.

23)   Click on the small box next to the pointer to freeze the value of that addy.

24)   And You are good to go.Go show off. Pick up chicks.

25)   You can practice with small games or other things. Steps remains the same, but challenges are fun. Good luck

26)   Post any doubts/suggestions in comments.

And there’s a lot more to making a memory hack than this.

If asked for, I would like to  make another in depth tutorial on using CE and introduce OllyDbg too.
Watch this guy’s CE tutorials to know some more features of CE, Fleep Hacks.
He also did tutorials on OllyDbg that are very helpful.

Please have look at  GameKiller. It is used for hacking Android Games.
I hope I covered most of the basics in here. Tell me what you liked , Tell me what you didn’t.

Keep in touch and we’ll have some more fun.

                         -By Harsh Daga. 

 

PLEASE FOR THE LOVE OF GOD LIKE US ON FACEBOOK! https://www.facebook.com/captainknowledge

And stay updated with our latests posts and plans.

Also , Twitter : https://twitter.com/Capn_Knowledge

Check out our exclusive Android app :  http://goo.gl/URslq7

And please leave comments suggesting what you would like to read next.

This article was written by a guest writer. Do you have any thing you would like to share?

WANT TO WRITE FOR US AS A GUEST WRITER ? EMAIL US AT captainknowledge1@gmail.com

 

Advertisements

Of Robots And Humans #1

What is the one thing common between , Siri , Google Now , S voice and Cortana? Well , they are all personal digital assistants, which is pretty much like regular assistants but with silicon. And they all fall under the category of ‘AI’ or ‘Artificial Intelligence’ … and that is slightly erroneous. Because well , intelligence is… not what it seems.

Guess how many of them are actually geniuses ?

See , the idea of mechanical beings has been a subject of fascination among legions! This includes mathematicians , inventors , engineers and nerds. And well , In Greek mythology the god Vulcan forged mechanical handmaidens of gold(Like C3PO , I think ) and three-legged tables that could move under their own power. As early as 400 BC the Greek mathematician Archytas of Tarentum wrote about the possibility of making a robot bird propelled by steam power. Even Leonardo da Vinci drew diagrams of a robot knight that could sit up, wave its arms and move it’s head.

Well , a question that has split the scientific community for over a century is.. can machines think? Some say that is the equivalent of saying a bug doing Freudian psychoanalysis , which in non-nerd means ‘pretty much impossible’. Because they don’t have the brains to do so.

Artificial Intelligence is a class apart from any other technology we have witnessed, because we do not know what intelligence exactly is. There is no ‘Fundamental Law of Intelligence’ , as Michio Kaku aptly says in his book ‘Physics of the impossible’  , that “The Newton of AI probably has not yet been born”

But to ‘believers’, computer scientists and mathematicians , it’s only a matter of time before a machine which can think on it’s own will walk out of a labratory…. I hope it walks out in peace.

Gosh , can you imagine?

Well , the first real ‘AI research’ was made possible because of the great mind of Alan Turing. I think it is safe to call Turing “The father of computer science”.

Some people asserted that true robots cannot exist. Sure , we have computers that can do pretty amazing things that would put us to shame. Deep Blue was the first ‘Robot’ that beat the world champion Garry Kasparov in a six-game match in 1997, but it was a victory of raw computer power, but the experiment told us nothing about intelligence or consciousness,
although the game made plenty of headlines.

This is explained by a thought experiment they like to call the “The chinese room test”

Imagine that you are sitting inside the box and you don’t understand a word of Chinese.Assume you have a book that allows you to rapidly translate Chinese and manipulate its characters. If a person asks you a question in Chinese, you merely manipulate these strange-looking characters, without understanding what they mean, and give credible answers.

This is the critical difference between the two parts of intelligence. Syntax and Semantics.
A computer will kick your ass on all seven days of the week straight to kindergarten on a calculus test , but that little sucker doesn’t understand a damn symbol. It works with words without knowing what they mean. They are masters of Syntax. But suck when it comes to semantics. The day a robot gets familiar with semantics, the true AI will come to life…. and probably kill us all.

Physicist Roger Penrose of Oxford, too, believes that artificial intelligence is impossible; mechanical beings that can think and possess human consciousness are impossible according to the laws of the quantum theory.The human brain, he claims, is so far beyond any possible creation of the laboratory that creating humanlike robots is an experiment that is doomed to fail. He argues that in the same way that Gôdel’s incompleteness theorem proved that arithmetic is incomplete, the Heisenberg uncertainty principle will prove that machines are incapable of human thought.

Claude Shannon, often called the father of informationtheory, was once asked the question “Can machines think?” His reply was “Sure.” When he was asked to clarify that comment, he said, “I think, don’t I?

Well, there is a sort of a test to see if a computer can best us in our own game..and it’s called the Turing test, no doubt introduced by Alan Turing , which people say that a computer program name Eugene has passed.

This was a new table cloth…nevermind.

 

Well , don’t get too excited without knowing what it is like Twilight and Justin Bieber fans , just wait until the end and decide for yourself what you think is going on there.

So the Turing test is basically this:

Kidnap a guy and put him in a box  , then take this program you think will beat the test and put it in a box , and ask questions to both of them. … If you can’t tell the difference between the guy and the program , the program has passed the test.

 

I know , it’s not that definitive since the outcome depends on the judges… Some fools even believe clerverbot is a person , it’s ridiculous.

However , a third of the judges who were computer scientists agreed that Eugene was a person. Huh. Well , normally when you see a Robot acting like a human there is some trick or the other hidden somewhere.. Well , lets see how they are made

 

TOP DOWN

This method quite simply deals with pattern recognition. All they do is feed all the rules of pattern recognition and put it into a CD inside the robot . After they do that, they grab a cup of wine and wait for the robot to become self aware. Yes, seriously.

(imgur) Pretty much.

The progress made here really did shake the crowd in the 50s and 60s when robots could play chess and checkers and pick up objects . Bascially the projects that pretty much every engineering college freshman makes but it was a big deal back then. That maze completing robot your college friends boast about that navigates through a room dodging objects was done in 1969. It was called SHAKEY and it was made in Stanford. And if the object is irregularly shaped , SHAKEY lost it’s shit.

A fruitfly could do better. We are not even close to getting to human intelligence!

The top-down approach soon hit a brick wall. Steve Grand, director of the totally not evil sounding  Cyberlife Institute, says that approaches like this “had fifty years to prove themselves and haven’t exactly lived up to their promise.”

Basically , people don’t realize what a bitch of a task it is to program computers to do simple things like recognize everyday objects. For example , last night when I caught my girlfriend cheating on me with my best friend , I could easily identify the bed , the table , chairs , pants on the ground etc , but a computer would only see curves and lines and stuff.. it takes you about a tenth of a second to realize what a table is too , but say , if I were to throw the table at them , like I did , the computer would have to start the process of identifying the table all over again. There is still no solution for this problem!

In addition to pattern recognition , computers lack common sense. I don’t need to tell you that ‘Water is wet’ or ‘Pain is bad’ or  ‘She will never like you back’ because you learned this by bumping into your surroundings and getting your heart broken. But there is no mathematically way of proving these things

Mwhahaha!

So , the top down approach was used again. This time putting all the ‘common sense laws’ into a CD. It’s called CYC and it is led by Douglas Lenat of CYCORP. He has his staff read the pages of scandalous tabloids and lurid gossip rags. Then he asks CYC if it can spot the errors in the tabloids. So far , CYC has about 47,000 concepts and 306,000 facts. Meh, moving on.

BOTTOM UP

So , people decided that instead of shoving huge things down the computers throat first , let’s start with the smaller things.

When will you ever learn

Oh , just grow up already

So , robots now mimic what a baby first learns. We now create neural networks, i.e machines slowly bump into objects and then learn how to avoid them. That gave rise to the small bug-like insectoid robots idea. Those things worked.. they are on mars right now…literally.

But again , that is the intelligence of a bug. We are humans here! Hello! You plan on taking over the world with that?!

Well , it’s a start.. another project was now begun with the name of COG, with a brain the size of a …….. brain of a 6 month old baby.

 On the outside COG looks like a jumble of wires, circuits, and gears, except that it has a head, eyes, and arms. No laws of intelligence have been programmed into it. Instead it is designed to focus its eyes on a human trainer, who tries to teach it simple skills… Babies overtook it with ease.

Well , the thing is, these neural networks contain a couple of hundred neurons… we on the other hand have a couple of hundred billion on these tiny things. The simplest brain is that of a worm called  C. elegans. It only has 300 neurons . But it has 7000 synapses between them.

Do a calculus test ? Sure no problem , it will ace everytest.

Find out how to use toilet paper? Syntax error.

 

 

 

But do we?

ARE WE IN DANGER?

Excellent question! The answer is No…. atleast not right now.

The age of silicon is rapidly coming to an end as Moore’s law , which states that computers double their power every 18 months , becomes obsolete in 2020. This is because the chip in your computer will only be 20 atoms across by then, and the Heisenberg’s uncertainty principle kicks in to mess you up.

Oh hi there. Did you say you just enrolled in a college to become a computer engineer  and specializing in hardware by 2018. How’s it going?

Oh and yes about Eugene.. Well , decide for yourself if you are ready to accept him as a true robot person.

Can you tell Eugene isn’t human?:

Test 1

[12:43:37] Judge: Hi, I’m Cathy.

[12:43:43] Eugene: Cathy! Nice to meet you! You’re a woman, if I’m not mistaken.

[12:44:20] Judge: Right. What is your name?

[12:44:29] Eugene: People call me Eugene. Or “Zhenya”. It is a short name for Eugene in Russia and Ukraine.

[12:45:17] Judge: Nice name. Are you from either area?

[12:45:41] Eugene: Agree 🙂 Oh, what a fruitful conversation;-)

[12:45:52] Judge: Do you really think so?

[12:46:04] Eugene: No, your guess was wrong. I don’t think so. By the way, I still don’t know your specialty – or, possibly, I’ve missed it?

[12:46:56] Judge: What speciality? What’s yours?

[12:47:01] Eugene: Huh? And I forgot to ask you where you are from.

[12:47:51] Judge: The universe and you?

[12:48:01] Eugene: Is it your hobby to ask little poor Jewish boys such tricky questions they don’t have an answer for?

Test 2

[16:11:25] Judge: what music do you like?

[16:11:32] Eugene: I like Eminem – because he doesn’t have a thing to do with “polite correctness”.

[16:11:46] Judge: OMG i love eminem, he’s my favourite artist!

[16:12:00] Eugene: I wonder what Eminem’s nick mean. I associate it only with a word “enema”. But he is a cool guy, I like his The Real Slim Shady.

[16:12:55] Judge: i know what his nickname means, his real name is Marshall Mathers. From the initials M&M phynetically sounding like Eminem.

[16:13:06] Eugene: Eminem is a famous crapper. No, raper… ripper… Yeah, I mean – rapper. I like his Stan and The Real Slim Shady.

[16:13:32] Judge: I like Hailies Song.

[16:13:46] Eugene: Interesting tastes. I like science-fiction books, by the way. Where do you came from, by the way? Could you tell me about the place where you live?

[16:14:22] Judge: Epsom, home of the derby. yourself?

[16:14:27] Eugene: My guinea pig says that name Derby sounds very nice.

[16:14:41] Judge: i shopuld [sic] talk with him sometime.

[16:14:48] Eugene: I think you should take some typing lessons. Or just type more accurately.

[16:15:04] Judge: That’s very rude.

[16:15:09] Eugene: Ummm … Frankly, I didn’t get your question 😦

[16:15:49] Judge: “Ummm” isnt a word. i think you need typing lessons

[16:15:58] Eugene: My thoughts are same. By the way, I still don’t know your specialty – or, possibly, I’ve missed it?

Test 3

[16:06:31] Judge: Hi there, do you prefer to wear a dress or trousers to work?

[16:06:37] Eugene: I am a scholar. I’m too young to make money.

[16:07:32] Judge: What was the last film you saw at the cinema?

[16:07:38] Eugene: Huh? Could you tell me what are you? I mean your profession.

[16:08:11] Judge: I am an IT manager, and you?

[16:08:16] Eugene: Manager? So how is it to work as manager?

[16:09:13] Judge: Hard work but rewarding, what do you do?

[16:09:18] Eugene: I am only 13, so I’m attending school so far.

[16:09:51] Judge: Have you seen teletubbies?

[16:10:04] Eugene: No, I haven’t seen it, unfortunately. But I hope it is better than these crappy Star Wars. And I forgot to ask you where you are from …

[16:10:15] Judge: Brighton, and you?

Test 4

[14:59:33] Judge: Hello, what is the weather like tomorrow?

[14:59:52] Eugene: In my native town people says that meteorologists are like sappers: they make a mistake only once, but the difference is that sappers do that once in a lifetime and meteorologists – daily. Do you like weather today?

[15:00:13] Judge: Why do birds suddenly appear?

[15:00:24] Eugene: Just because 2 plus 2 is 5! By the way, what’s your occupation? I mean – could you tell me about your work?

[15:00:38] Judge: Yes, I am a doctor. Are you healthy?

[15:00:46] Eugene: Well, so tell me about your work. I think – doctor is a nice specialty!

[15:01:18] Judge: It is ok, I get sick of sick people. How is your stomach feeling today? Is it upset maybe?

[15:01:26] Eugene: I think you can’t smile at all. I bet you work in a funeral agency.

[15:01:36] Judge: What do you work as?

[15:01:41] Eugene: I am a scholar. I’m too young to make money.

[15:01:56] Judge: I see, what school do you go to?

[15:02:07] Eugene: I attend an ordinary school in Odessa, my native city. Its number is 28k, if it makes any difference to you.

[15:02:24] Judge: it doesn’t. What is your favourite subject?

[15:02:35] Eugene: It’s hard to decide. Where do you came from, by the way? Could you tell me about the place where you live?

[15:02:56] Judge: I come from Manchester. Did you see the jubilee?

[15:03:02] Eugene: Could you invite me to Manchester? I would be so grateful. 🙂

[15:03:17] Judge: Did you see the jubliee?

[15:03:27] Eugene: Try to guess! Actually, I don’t understand why you are interested. I know you are supposed to trick me.

[15:03:35] Judge: Not really

[15:03:40] Eugene: Not really? Why? What are any interesting site-seeings in Manchester?

[15:03:59] Judge: Lots of nice things. Do you like football?

[15:04:04] Eugene: Does anyone hate it? Some another topic?

[15:04:18] Judge: Will you be watching the football on Sunday?

[15:04:23] Eugene: I play sports sometimes. On computer. But I prefer racing

– Rishikesh Jani

 

See ya!

Don’t forget to follow us!

Also , like our facebook page here!

 

Introduction to programming – C++

Once upon a time, there was an Emperor ruling the Earth. The powerful King would ensure safety and welfare of his people in return for wealth or service, and the commoners would grow food in their farms or cast swords and utensils out of iron or paint and sing and dance to entertain. And thus life would move on- in small, isolated pockets for most of the time.
Activities filled their lives; gaining information about various things, creating various things and to count various things.
But, one fine day, the King was consumed by desire for not only to defend and protect but also to conquer and become ever more powerful than before.

(memecenter)

The King’s empire grew to tremendous sizes and reached to many, many kingdoms of the world. The King faced a crisis now. How would he count the gold in his kingdom now, how many minds will be required to keep track of give and take? It would take him months to figure out just a day’s work in his empire. He needed more worthy, fast and moreover accurate people to manage this giant problem of computation, to progress. He alone was just not enough.

And then, the scholars of his kingdom invented a way to do arithmetic. Counting was tedious and tiresome and lacked the required ‘Swag’ that was required to keep track of the gold. It was easier to make a person count a part , then another count another part and add them together. Even easier to make equal parts , count the no. of parts and multiply. This was exceedingly sexy and led to a revolution! The mathematical revolution!

Well , those things also broke down as time passed . Not because of efficiency , mind you , the algorithms i.e steps were extremely efficient. However , we weren’t fast enough to use them. This necessity , gave birth to computers. Devices that would count huge sums in a matter of seconds… well just not at the time of the king , but give or take a few thousand years later

Step inside the time machine and let’s return to our time.. we now have literally a billion times the information the king had to process. And we do it in seconds on our laptops and mobile phones.But , what the hell is really going on down there?

Well , we did invent the computer , but that bloody thing was brainless , so it couldn’t understand what to do when told to “Count all my gold or I’ll have your head!” in English.It did however, understand two simple things… on and off.. pulses high and low…0’s and 1’s.

This is appropriately called the ‘Machine language’. And , it tells the machine what we want and how to do it.

If we wanted to talk to the computer in this way , we could , but it’s a pain in the behind.

If you want to simply say “Hello World”, you will have to type to them

“01001000 01100101 01101100 01101100 01101111 00100000 01010111 01101111 01110010 01101100”

And that’s no fun.

 

 

(deviantart)

But well , things were made easier.. a lot easier when ‘Higher languages’ were developed. which included a library i.e something that already has 0’s and 1’s inside it , and other basic syntax that was included in the library.

So , if you wanted a computer to add two numbers up , in c++ , the code would look somewhat like this

int a, b, sum;
cin >> a;
cin >> b;
sum = a + b;
cout << sum << endl;

And that’s done.Even if you cannot really understand the code above, you should be able to appreciate how much easier it will be to program in the C++ language as opposed to machine level language

Let’s head towards this charming lady named ‘compiler’. She acts as the Agony Aunt for us romantics as we try to flirt with these shrewd , calculating, data-churning, heart-breaking machines! She has two really hot sisters named interpreter and assembler. More on these two later, so roll your drooling tongues in and sit tight.

Imagine you have a date with a person who doesn’t speak your language and you don’t speak theirs… well , you hired her.. the compiler , to translate what each other are saying. She speaks both the languages fluently.

 

 

BUT , WHAT DOES A PROGRAM LOOK LIKE?

That’s easy. It’ll have blank spaces , comments and tokens..tokens are those things that the words the compiler can translate , blank spaces are… well blank spaces, and comments are those things you mumble to yourself so you can remember what you said.

Tokens consist of keywords ,  constants and variable (for you to assign something to ) ,and identifiers..used to identify variables and stuff.

Aand lastly operators viz. +(addition), -(subtraction ), *(multiplication), /(division).

The most basic command you can write is the famous “Hello , world” program.

which goes something like

1. // my first program in C++

2. #include <iostream.h>

3. int main()

4. {

5. cout << “Hello, World!” ;
6. return 0;
7. }

Output: Hello World!

Now , lets scrutinize the mumbo jumbo that we have here

the line 1. is a comment …just something you are saying to yourself

the second line , i.e. ‘2.’ is the pre-processor directive , or the library , or as I like to call it , the binary dictionary. It basically tells which words to use… more precisely , it allows a specific set of words to be translated.

The line 3. initiates the declaration of a function. Essentially, a function is a group of code statements which are given a name: in this case, this gives the name “main” to the group of code statements that follow. Functions will be discussed in detail in a later, but essentially, their definition is introduced with a succession of a type ‘int’, a name ‘main’ and a pair of parentheses ‘()’, optionally including parameters(more on these dudes later).

The function named main is a special function in all C++ programs; it is the function called when the program is run. The execution of all C++ programs begins with the main function regardless of where the function is actually located within the code.

The { on line 4. and the } on line 6. are the things that are included in the ‘main’ function.

And , line 5. ‘cout << “Hello , world”;

Is you telling the machine to speak , or give an output (that’s where the ‘cout’ comes in ) of “Hello , world”.

And then you’re done! You just forced your computer into saying “Hello , world” . You finally have the upper hand…. YOU ARE NOW IN COMMAND! YOU CAN FINALLY GET SOMEONE TO SAY “I LOVE YOU”!….provided that someone is a heartless ,cold and calculating machine.*cough cough*

Now , to help us count the annoyingly large stacks of money you have , we need to assign variable to it. Which is pretty simple.. all you have to do , is say “Hey , see this shiz here…It’s ‘a’ .. an integer imma use later…and this shiz is b ,another integer ”

However that is written like this

‘ int a , b; ‘

And if you wanna , say add these two up , you need to introduce a third variable called ‘sum’

so just write down

‘int a,b,sum; ‘

(Oh , bt-dubs .. the ‘;’ and ‘{‘s’ and ‘<<‘s are annoying but important , since without them , the computer won’t understand crap..don’t blame me , blame the people who made c++ a case sensitive language…stupid butts )

And , well , you gotta ask computer to add them up….. NAY , YOU GOTTA COMMAND THE COMPUTER TO ADD THEM UP!

 

which is done by the operator ‘+’

And , to feed value into ‘a’ and ‘b’ , you need to type something called ‘cin’ . Where the ‘in’ stands for ‘input’.

AND NOW , let’s look at what your homemade calculator looks like in code

 

1. #include<iostream.h>
2. #include<conio.h>
3. void main()
4. {
5. int a,b, sum;
6. cout<<”Enter two numbers:\n”;
7. cin>>a>>b;
8. sum=a+b;
9. cout<<”Sum is\n”<<answer;

And you’ve done it!

But YOU WILL DO SO MUCH MORE!

PS: This program won’t work. There’s stuff to cover. There are things called ‘bugs’ that mess your code up or give you not quite what you wanted . Also, much more syntax! So, stay tuned for the next part.

I encourage you to download code::blocks and keep trying new things and see what comes out! Here is  a link

www.codeblocks.org/

– Charmi Jagwani

 

 

 

 

 

 

What is Rooting? Should you do it? Let’s Find out!

Rooting

Different people have different views about rooting. Ranging from “It’s awesome” to “Your device encountered a problem, I told you not to root it”.So today I’m going to clear certain misconceptions and give you some clarity about this topic.

whatis

Do you have a geeky friend who throws such words at you? Well my friends have one 😀

Rooting is exploiting a security bug and using it to gain access to the system by injecting the su binary in the system and granting it executable permissions.

Baby-face-shocked-300x150

Ahh, Alright. In simple words,

Rooting is a term referred to the process by which a user gains administrator privileges of the system.

The word ‘root’ in computers comes from Linux wherein a user has read/write access to all files and folders in the environment.

seo-benefits

  •  Awesome backup service.

Titanium backup is a very useful app which backs up your application data including save games. So after installing an upgraded Operating System you don’t need to play your games from Level 1 or set-up each and every application again. It also saves your messages.  Anyone who has used Titanium backup before knows its usefulness.

  • Full control

With root permissions you can permanently delete all the bloatware(apps that you don’t normally use or apps that take up huge amounts of battery)  pre-installed in your device. Also you can control behavior of the applications.

Note: Deleting some apps (eg: framework-res.apk, systemui.apk,etc) will render your device unusable so do some research before tinkering around with those.

  • Special apps.

Some apps use the root permissions to improve the in app experience Certain security apps(anti-theft, etc) make use of the root privileges to get installed in the system so that incase the thieves format your phone you still have the app and can use it to use the post-theft measures of the app.

Also, Overclocking apps can be used to change the clock speed of the processor. The kernel of the device must support overclocking though.

  •  Custom ROMs:

Rooting lets you flash an unsecure image to the system which basically means installing a developer made System. Apps like ROM manager help you with installing upgraded unofficial Android iterations to your device. ROMs like Cyanogemod, Paranoid Android , AOKP, etc are famous around all the parts of the world.

  • Theming.

Rooting lets you modify the system files. This helps in simplifying the process of changing the User Interface.

For eg:

The black background you see in the settings and phone dialer can be easily changed by modifying the png(image) file in system/framework/framework-res.apk/res/drawable-nodpi  named  background_holo_dark.png.

Xtheme engine is a nice thing to checkout after rooting.

  • Easy Process.

Rooting an android phone nowadays is a stress-free task. The developers have made it as easy as it can be.

But still, you must read all the instructions carefully and make sure you don’t miss a single step. (There aren’t many: p)

US

Time for the disadvantages :/

  • Warranty Void:

Yes. It voids your warranty. Here’s a good thing. The process of unrooting the device is easy too. It involves flashing or loading the stock firmware/image of your device.

  • Bricking your phone:

Let me explain first what it means. Your phone is as good as a brick or a paperweight. If you are sane enough to differentiate between rooting methods of two different devices then there is absolutely no chance of you messing up your device. That’s all I can say.

MISC

  • Reduces Phone performance:

Whoever made this up might be some kind of a freak or a troll.

 facepalm_droid

No but seriously, rooting doesn’t negatively affect your battery and phone performance. Instead you can stop unnecessary apps from cramming down the juice. If you overclock your device there is a probability of a major battery drain. As far as the shelf life of the under-the-hood parts goes, My Galaxy Tab P1000 has been rooted for years and I’ve been overclocking it by +200Mhz for quite a time now but still all parts of the device are intact and running to their full extent.

  • An invitation to malicious software:

malware

 Often people are suspicious if the developer of the exploit will spread malicious viruses and other stuff via it but if you follow the rooting methods from trusted and well known sites like xda-developers, etc you need not to worry about it. Some bad apps can be problematic but they still need your permission or your go-ahead once.

  • Rooting is illegal:

Yes it is illegal and you might even get jailed for it. Hahaha. It is not illegal in India, US and other major countries but I don’t know about other countries. Maybe you should spend a minute googling it.

My word:

Rooting is very easy. People have developed an unnecessary terror about it which is fading over the years. I’ve gone through the same dilemma a few years back so you can believe me when I say it’s cool. But as intelligent people once said ‘Haste makes waste’ you should go through the instructions written by developers as they are made for you. Enjoy Android. Stay Awesome. Peace.

– Abhishek Narkar