Results 1 to 11 of 11
  1. #1
    why06's Avatar
    Join Date
    Jul 2009
    Gender
    male
    Location
    IBM
    Posts
    4,304
    Reputation
    170
    Thanks
    2,203
    My Mood
    Flirty

    IAT Hooking (A Shiny new Toy)

    IAT Hooking

    Well I've been getting my ass kicked by hacksheild for way too long:
    - It detects my cheat engines
    - Hooks my D3D
    - Steals my lunch money

    But it's time to fight back, and I think I might have found a technique to do it. It's called IAT (Import Address Table) Hooking. In PE (Portable Executable) files aka. .exe there is a table of imported functions that the executable borrows from .dlls. With IAT Hooking it is possible to detour or hook these functions before they ever get called.

    I went for this approach because of the lack of documentation for the Lithtech Engine. Unlike in HD's AssualtCube hooks where there is a lot of source code and little trinkets like text strings to look for. So Im going to be reading up on this. Thought someone else maybe interested to so I shared.

    "Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."
    - Dwight D. Eisenhower

  2. The Following 5 Users Say Thank You to why06 For This Useful Post:

    Arhk (04-10-2010),Melodia (05-13-2010),ngh555 (06-27-2010),Retoxified (04-09-2010),Void (04-07-2010)

  3. #2
    Retoxified's Avatar
    Join Date
    Feb 2010
    Gender
    male
    Posts
    148
    Reputation
    8
    Thanks
    171
    I'm in, althought I have my own way of hooking functions without getting detected ^^

  4. #3
    Void's Avatar
    Join Date
    Sep 2009
    Gender
    male
    Location
    Inline.
    Posts
    3,198
    Reputation
    205
    Thanks
    1,445
    My Mood
    Mellow
    Quote Originally Posted by Retoxified View Post
    I'm in, althought I have my own way of hooking functions without getting detected ^^
    Sharing is caring. ;(

  5. #4
    Arhk's Avatar
    Join Date
    Dec 2008
    Gender
    male
    Location
    Engineering
    Posts
    3,618
    Reputation
    35
    Thanks
    217
    My Mood
    Amused
    Hmmm.... My API book is helping, it forced me to learn alot about this kind of stuff....
    ~
    Last edited by Arhk; 04-10-2010 at 04:36 PM.
    "If the world hates you, keep in mind that it hated me first." John 15:18

  6. #5
    TheBigBoy's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Location
    texas
    Posts
    160
    Reputation
    19
    Thanks
    115
    I think u want to do something like this It dont take much to bypass HS at all they fail so much
    What this does is u get the function like
    sub_blahblah In IDA
    you detour that function returning 0(False) or 1(True)
    Sometimes it takes a little more depends on what ur trying to do
    But this is how u do a simple bypass This is my private way and it does the job
    Code:
    HSCeScan = (HS_CeScan)	HsBypass.Create(( BYTE* )(hEhsvc + NotTellingYou), ( BYTE* )cHSCeScan, DETOUR_TYPE_JMP);
    
    typedef int (__cdecl *HS_CeScan)(int a1, int a2, int a3);
    HS_CeScan HSCeScan;
    int __cdecl cHSCeScan(int a1, int a2, int a3)
    {
    	return 1; 
    }
    
    HSCheckA= (HS_CheckA)	HsBypass.Create(( BYTE* )(hEhsvc + NotTellingYou), ( BYTE* )cHSCheckA, DETOUR_TYPE_JMP);
    
    typedef int (__cdecl *HS_CheckA)(int a1, int a2);
    HS_CheckA HSCheckA;
    int __cdecl cHSCheckA(int a1, int a2)
    {
    	return 1; 
    }
    
    HSCheckB= (HS_CheckB )	HsBypass.Create(( BYTE* )(hEhsvc + NotTellingYou), ( BYTE* )cHSCheckB, DETOUR_TYPE_JMP);
    
    typedef int (__cdecl *HS_CheckB)(int a1, int a2,int a3, int a4, int a5);
    HS_CheckB HSCheckB;
    int __cdecl cHSCheckB(int a1, int a2,int a3, int a4, int a5)
    {
    	return 1; 
    }
    
    HSSelfCheck = (HS_SelfCheck)	HsBypass.Create(( BYTE* )(hEhsvc + NotTellingYou), ( BYTE* )cHSSelfCheck, DETOUR_TYPE_JMP);
    
    typedef int (__cdecl *HS_SelfCheck)(int a1, int a2);
    HS_SelfCheck HSSelfCheck;
    int __cdecl cHSSelfCheck(int a1, int a2)
    {
    	return 0; 
    }

  7. #6
    Dave84311's Avatar
    Join Date
    Dec 2005
    Gender
    male
    Location
    The Wild Wild West
    Posts
    35,837
    Reputation
    5782
    Thanks
    41,292
    My Mood
    Devilish
    IAT hooking is old, but won't help you unless you know what you're doing or have a ton of time to waste trying to figure out what you're hooking and what correlation it has to the overall operation of things.





    THE EYE OF AN ADMINISTRATOR IS UPON YOU. ANY WRONG YOU DO IM GONNA SEE, WHEN YOU'RE ON MPGH, LOOK BEHIND YOU, 'CAUSE THATS WHERE IM GONNA BE


    "First they ignore you. Then they laugh at you. Then they fight you. Then you lose.” - Dave84311

    HAVING VIRTUAL DETOX

  8. #7
    why06's Avatar
    Join Date
    Jul 2009
    Gender
    male
    Location
    IBM
    Posts
    4,304
    Reputation
    170
    Thanks
    2,203
    My Mood
    Flirty
    Quote Originally Posted by TheBigBoy View Post
    I think u want to do something like this It dont take much to bypass HS at all they fail so much
    What this does is u get the function like
    sub_blahblah In IDA
    you detour that function returning 0(False) or 1(True)
    Sometimes it takes a little more depends on what ur trying to do
    But this is how u do a simple bypass This is my private way and it does the job
    hmmm... really? disabling HS is that easy? But how do I go about unpacking EHsvc.dll to even try to do this...? =/

    "Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."
    - Dwight D. Eisenhower

  9. #8
    TheBigBoy's Avatar
    Join Date
    Jan 2010
    Gender
    male
    Location
    texas
    Posts
    160
    Reputation
    19
    Thanks
    115
    LordPE google that to dump ehsvc.dll/engine.exe/cshell.dll/anything else u want to
    and that don't completely stop hacksheild but it lets you do whatever you wish

  10. The Following User Says Thank You to TheBigBoy For This Useful Post:

    Zoom (04-14-2010)

  11. #9
    why06's Avatar
    Join Date
    Jul 2009
    Gender
    male
    Location
    IBM
    Posts
    4,304
    Reputation
    170
    Thanks
    2,203
    My Mood
    Flirty
    Quote Originally Posted by TheBigBoy View Post
    LordPE google that to dump ehsvc.dll/engine.exe/cshell.dll/anything else u want to
    and that don't completely stop hacksheild but it lets you do whatever you wish
    Oh I have LordPE, I was trying to do something like that with it, but it would not show Engine.exe on its process lists. =/

    "Every gun that is made, every warship launched, every rocket fired signifies, in the final sense, a theft from those who hunger and are not fed, those who are cold and are not clothed. This world in arms is not spending money alone. It is spending the sweat of its laborers, the genius of its scientists, the hopes of its children. The cost of one modern heavy bomber is this: a modern brick school in more than 30 cities. It is two electric power plants, each serving a town of 60,000 population. It is two fine, fully equipped hospitals. It is some fifty miles of concrete pavement. We pay for a single fighter plane with a half million bushels of wheat. We pay for a single destroyer with new homes that could have housed more than 8,000 people. This is, I repeat, the best way of life to be found on the road the world has been taking. This is not a way of life at all, in any true sense. Under the cloud of threatening war, it is humanity hanging from a cross of iron."
    - Dwight D. Eisenhower

  12. #10
    Hell_Demon's Avatar
    Join Date
    Mar 2008
    Gender
    male
    Location
    I love causing havoc
    Posts
    3,976
    Reputation
    343
    Thanks
    4,320
    My Mood
    Cheeky
    Quote Originally Posted by why06 View Post
    Oh I have LordPE, I was trying to do something like that with it, but it would not show Engine.exe on its process lists. =/
    Google for PermEdit and grant LordPE full system rights everytime you run it.
    Ah we-a blaze the fyah, make it bun dem!

  13. #11
    Lugz's Avatar
    Join Date
    Jul 2006
    Gender
    male
    Location
    Detroit, MI
    Posts
    2
    Reputation
    10
    Thanks
    0
    Quote Originally Posted by Dave84311 View Post
    IAT hooking is old, but won't help you unless you know what you're doing or have a ton of time to waste trying to figure out what you're hooking and what correlation it has to the overall operation of things.
    I was going to say I remember way back when LanceVorgin or someone on gd introduced IAT hooking to the community for a short period of time.

Similar Threads

  1. New toys
    By HazedUp in forum General
    Replies: 18
    Last Post: 09-27-2010, 04:25 PM
  2. fun wid muh new toy
    By kunstler in forum Showroom
    Replies: 11
    Last Post: 06-15-2009, 02:37 PM
  3. new hack : Warrock hook
    By re123456789 in forum WarRock - International Hacks
    Replies: 2
    Last Post: 03-27-2009, 10:36 AM
  4. My new toy
    By HeXel in forum General
    Replies: 0
    Last Post: 05-22-2008, 10:18 AM
  5. New Hacks Announced & Warrock DX Hook Update
    By Dave84311 in forum Hack/Release News
    Replies: 17
    Last Post: 03-02-2007, 03:54 PM