• Thread: How to Reverse Engineer with IDA Pro Disassembler

1. IDA PRO DOWLAND LİNK ? PLS

2. Originally Posted by [GH]Rake
Long tutorial here, gonna upload it in 4 seperate parts! It is 1.5 hours long and will explain everything you need to know to get started using IDA Pro!

Requirements: Intermediate Knowledge of C++ and x86 Assembly
https://youtu.be/bRHrmwI9yc4
https://youtu.be/JCEI91H10Io

Nice work by the way ! I have watched the entire 1.5 hours !

Thank you very much

3. thanks for sharing useful

4. muito bom

5. Hello,

nice serie, many things to learn.

For those who, like me want to understand a bit more how work the DecreaseHealth function here is the original one :

Code:
```    // just subtract damage here, can set death, etc. later in code calling this
int dodamage(int damage, int gun)
{
guninfo gi = guns[gun];
if(damage == INT_MAX)
{
damage = health;
armour = health = 0;
return damage;
}

// 4-level armour - tiered approach: 16%, 33%, 37%, 41%
// Please update ./ac_website/htdocs/docs/introduction.html if this changes.
int armoursection = 0;
if(armour > 25) armoursection = 1;
if(armour > 50) armoursection = 2;
if(armour > 75) armoursection = 3;
switch(armoursection)
{
case 0: ad = (int) (16.0f/25.0f * armour); break;             // 16
case 1: ad = (int) (17.0f/25.0f * armour) - 1; break;         // 33
case 2: ad = (int) (4.0f/25.0f * armour) + 25; break;         // 37
case 3: ad = (int) (4.0f/25.0f * armour) + 25; break;         // 41
default: break;
}

//ra - reduced armor
//rd - reduced damage
int ra = (int) (ad * damage/100.0f);
int rd = ra-(ra*(gi.piercing/100.0f)); //Who cares about rounding errors anyways?

armour -= ra;
damage -= rd;

health -= damage;
return damage;
}```

Page 2 of 2 First 12