Raised This Month: $32 Target: $400
 8% 

Solved [ORPHEU] How to identify windows signatures ??


Post New Thread Reply   
 
Thread Tools Display Modes
Natsheh
Veteran Member
Join Date: Sep 2012
Old 02-26-2021 , 16:30   Re: [ORPHEU] How to identify windows signatures ??
Reply With Quote #11

its not that hard to create a signature the really problem is finding the right signature on windows.
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 02-26-2021 , 16:46   Re: [ORPHEU] How to identify windows signatures ??
Reply With Quote #12

Yeah, I know, but thought a little wizard would be a cool way to simplify it.

And yes, it's annoying finding them, if you get lucky there is a string within the function which you can first identify in the linux decompile (or these days regamedll) and then find that same string in the windows code to find the correct function.
__________________
Bugsy is offline
Bugsy
AMX Mod X Moderator
Join Date: Feb 2005
Location: NJ, USA
Old 02-26-2021 , 21:38   Re: [ORPHEU] How to identify windows signatures ??
Reply With Quote #13

Here's an example:

You want to hook Host_ValidSave()

Look at the linux decompile or regamedll
Code:
int Host_ValidSave(void) {     if (cmd_source != src_command)         return 0;     if (!g_psv.active)     {
        Con_Printf("Not playing a local game.\n");
        return 0;     }     if (g_psvs.maxclients != 1)     {
        Con_Printf("Can't save multiplayer games.\n");
        return 0;     }     if (g_pcls.state != ca_active || g_pcls.signon != 2)     {
        Con_Printf("Can't save during transition.\n");
        return 0;     }     if (g_pcl.intermission)     {
        Con_Printf("Can't save in intermission.\n");
        return 0;     }     if (g_psvs.clients->active && g_psvs.clients->edict->v.health <= 0.0)     {
        Con_Printf("Can't savegame with a dead player\n");
        return 0;     }     return 1; }

Search for those same strings in the Windows decompile, and you have your function, sub_1D479C0().
Code:
signed int __cdecl sub_1D479C0() {   signed int result; // eax@3   if ( dword_269A21C != 1 )     return 0;   if ( !dword_21D4A00 )   {
    sub_1D2C030("Not playing a local game.\n");
    return 0;   }   if ( *(_DWORD *)dword_21D3E88 != 1 )   {
    sub_1D2C030("Can't save multiplayer games.\n");
    return 0;   }   if ( dword_26EBA80 != 5 || *(_DWORD *)dword_26EEF9C != 2 )   {
    sub_1D2C030("Can't save during transition.\n");
    return 0;   }   if ( dword_271D200 )   {
    sub_1D2C030("Can't save in intermission.\n");
    result = 0;   }   else   {     if ( *(_DWORD *)dword_21D3E84 && *(float *)(*(_DWORD *)(dword_21D3E84 + 19356) + 480) <= 0.0 )     {
      sub_1D2C030("Can't savegame with a dead player\n");
      result = 0;     }     else     {       result = 1;     }   }   return result; }
__________________

Last edited by Bugsy; 02-26-2021 at 21:39.
Bugsy is offline
Natsheh
Veteran Member
Join Date: Sep 2012
Old 02-27-2021 , 03:26   Re: [ORPHEU] How to identify windows signatures ??
Reply With Quote #14

Thanks bugsy for the explanation it was very helpful.
__________________
@Jailbreak Main Mod v2.7.0 100%
@User Tag Prefix 100% done !
@Mystery Box 100% done !
@VIP System 100% done !

Natsheh is offline
Send a message via MSN to Natsheh Send a message via Skype™ to Natsheh
Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 23:01.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode