Chicken Invaders 3 v3.41 Roty. How to find variables ?

Hacking Any Other Offline Single-Player Game

Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo

Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby mentikadr » Sun Dec 27, 2009 7:08 pm

Well well well. Hello to all at first.
I started to play the chicken invaders 3 and you know is not the game a like to play is the adventure to find variables and hack the game.
But but but i didn't found yet variables like : life , bombs, power up or power gun.
I searched with MHS6 and even with CE but is very hard to find them.
SO plz help me with giving me a way how to find them, coz I found even trainers for this game but they not do work.

With respect for all Menti
Image
mentikadr
I Have A Few Questions
 
Posts: 7
Joined: Sun Dec 27, 2009 6:53 pm

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby WhiteHat » Mon Dec 28, 2009 9:36 am

CHICKEN INVADERS, Revenge of The Yolk...

Image

When this screen shot was taken, i had two addresses with their values in my MHS Main List (table):
- [0x27CF694] = 4195728866
- [0x27CF718] = 4195719917
(I modified the first address before to obtain 9999 lives, and following was how i made so.)

I got those addresses from Unknown Search followed by Same/Different Sub-Search...

When i lost one live, both addresses were written by these codes:
Code: Select all
00498AB0 | 8B81 04010000 | mov     eax, dword ptr [ecx+104] |
00498AB6 | 3381 80000000 | xor     eax, dword ptr [ecx+80]  |
00498ABC | C3            | retn                             |

while:
[ecx+104] = 0x27CF718
[ecx+080] = 0x27CF694

The code conducts bitwise operation XOR between those addresses:
[0x27CF718] XOR [0x27CF694]

So, in MHS Expression Evaluator, i put: [0x27CF718]^[0x27CF694], and the result was 9999.
^’ = bitwise operator XOR. Refer to MHS help for detail info...

I haven’t search for other values but it is likely the game uses same method to hide their real values. And this is as much as i can help with...


By the way, this is similar case to some old discussion: Bengal - Game of Gods.
I wonder if they are developed with the same engine...
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby mentikadr » Wed Dec 30, 2009 6:01 am

WhiteHat wrote:CHICKEN INVADERS, Revenge of The Yolk...

Image

When this screen shot was taken, i had two addresses with their values in my MHS Main List (table):
- [0x27CF694] = 4195728866
- [0x27CF718] = 4195719917
(I modified the first address before to obtain 9999 lives, and following was how i made so.)

I got those addresses from Unknown Search followed by Same/Different Sub-Search...

When i lost one live, both addresses were written by these codes:
Code: Select all
00498AB0 | 8B81 04010000 | mov     eax, dword ptr [ecx+104] |
00498AB6 | 3381 80000000 | xor     eax, dword ptr [ecx+80]  |
00498ABC | C3            | retn                             |

while:
[ecx+104] = 0x27CF718
[ecx+080] = 0x27CF694

The code conducts bitwise operation XOR between those addresses:
[0x27CF718] XOR [0x27CF694]

So, in MHS Expression Evaluator, i put: [0x27CF718]^[0x27CF694], and the result was 9999.
^’ = bitwise operator XOR. Refer to MHS help for detail info...

I haven’t search for other values but it is likely the game uses same method to hide their real values. And this is as much as i can help with...


By the way, this is similar case to some old discussion: Bengal - Game of Gods.
I wonder if they are developed with the same engine...


Tell me more about the steps you took to search value how many sub-search did you do
Image
mentikadr
I Have A Few Questions
 
Posts: 7
Joined: Sun Dec 27, 2009 6:53 pm

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby WhiteHat » Wed Dec 30, 2009 10:39 pm

Started with Searching for Unknown value, followed by many many Same/Different from before Sub-Search:
- Started a new game > Search for Unknown value, Unsigned Long.
- I bumped the chicken, lost one live > Sub-search for different from before values.
- I stayed alive, keeping my lives count > Sub-Search for same as before values.
- Repeated the sub-search steps several times until few addresses found...

I did not say that the scanning was easy. In fact i was failed for several scanning (score, food, etc) before came up with that finding after which i use MHS Auto-Hack to ‘decrypt’ the method...
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby mentikadr » Fri Jan 01, 2010 5:36 am

Yes yes but how you used auto-hack is this the right reference http://memoryhacking.com/forums/viewtopic.php?t=2290
Image
mentikadr
I Have A Few Questions
 
Posts: 7
Joined: Sun Dec 27, 2009 6:53 pm

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby WhiteHat » Fri Jan 01, 2010 12:51 pm

Yes it is.
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby mentikadr » Sat Jan 02, 2010 6:01 am

Hey one good news is that a found the address that changes the powergun, I mean the address that increases powergun.
All you have to do is to start a new game.
In the first boss attack you have
5 lifes
0 bombs
10 powerguns
0 chicken meat

So start MHS, attach CI3.RWG at process, search unsigned long with exact value, put nr. 10 of powergun.
die once then you will have 4 lifes and 5 powerguns. So search again in sub-search 5
and you will have 3 addresses, so put them all 3 addresses value for example 100 and lock them.
One more thing, this is the way to find only powergun because to find lifes you have to use other way to find them.
This is it.
Image
mentikadr
I Have A Few Questions
 
Posts: 7
Joined: Sun Dec 27, 2009 6:53 pm

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby WhiteHat » Sun Jan 03, 2010 11:23 am

That’s clever. I’ll try it soon when i get home...
Thanks for sharing the steps... :wink:

-------------------------------------------------------------------------------------
EDIT:

It turn out to be a fake value which only appear so on-screen. Even if we lock it to
any higher value, it won’t affect the Gun’s Damage. It uses different function to calculate
its final value than the live one...

However, after several tries, i can say that Lives, Rockets, and Foods are processed by
the same function i mentioned in my earlier posts...
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby CoMPMStR » Mon Jan 11, 2010 9:33 am

I tried hacking this game a while back and could only find the weapon overheat, but thanks to WhiteHat's submission I found the rest very easily.

To find the overheat meter just start a game, then before you shoot anything (when the meter is empty) search for 1 [float type]. Shoot some to increase the meter then subsearch decreased, repeat until you've narrowed it down enough.

Weapon power (the bolt symbol) is an exact search, just as mentikadr suggested, but since the game stores each weapon type differently it's hard to pinpoint the exact address (sometimes the correct one will change while others will stay). My lssave has no weapon overheat, max weapon power, and max everything else. I even included a weapon type hack that gives you any weapon when you pick up a bonus weapon power item (the rainbow atom thing). The weapon types are:

Code: Select all
0 = red (Ion Blaster)
1 = green (Neutron Gun)
2 = yellow (Laser Cannon)
3 = dark blue (Vulcan Chaingun)
4 = light blue (Lightning Frier)
5 = pink (Plasma Rifle)
6 = black (Forks)


Just double click on the weapon type entry in the list, then open the Auto Assemble tab. You should see this toward the middle:

Code: Select all
jmpwep:
mov dword ptr [edx+290], 6
mov eax, dword ptr [edx+290]
jmp 0041E8A1


The line that you can change is mov dword ptr [edx+290], 6, 6 will give you the fork weapon, changing it above 6 will crash the game but can be changed from 0-6. Here's the link.

Also the max stuff entry should only be enabled when you need it, otherwise it may crash the game. If you have at least 1 missile just enable it, then fire a missile, then disable it. Same for lives/food, but if you use it for food it will modify score too. If you need lives just get hit by an egg then disable it, hitting a chicken will modify score too. Enjoy!
Image

______________________________________________________
My Utilities:
CT <-> LSSAVE Converter
LSS Visual Dialog Designer
.NET Trainer Helper Library

~Whether you think you can or you think you can't, you're right.

L. Spiro wrote:In my left hand is a red pill. If you take it I will show you the truth. I lost my right hand in the war, so I’m afraid you’re stuck with the red pill.
User avatar
CoMPMStR
(P)ot (I)n (M)y (P)ipe
 
Posts: 451
Joined: Thu Mar 06, 2008 7:50 am
Location: Best Place

Re: Chicken Invaders 3 v3.41 Roty. How to find variables ?

Postby WhiteHat » Thu Jan 14, 2010 7:32 pm

Almost miss this topic over...

Thanks for sharing !
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...


Return to Others (Offline)

Who is online

Users browsing this forum: No registered users and 0 guests