Thread: Making a DLL

Page 1 of 2 12 LastLast
Results 1 to 15 of 25
  1. #1
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk

    Making a DLL

    So as you know I use to code DLL hacks in C++ for Combat Arms. But now I'm getting into Black Ops Zombies. I'm going to make a hotkey DLL that uses console commands. I have 3 questions:


    1) What is the most updated address for...
    Code:
    typedef void (*SendConsoleCommand_)(int a1, char *command);
    SendConsoleCommand_ SendConsoleCommand = (SendConsoleCommand_)0x??????;
    2) What is int a1 there for?

    3) What files do I have to check before hooking? In Combat Arms I do...
    Code:
    bool IsGameReadyForHook()
    {
    	if(GetModuleHandleA("d3d9.dll") != NULL 
    		&& GetModuleHandleA("ClientFX.fxd" ) != NULL 
    		&& GetModuleHandleA("CShell.dll") != NULL)
    		return true;
    	return false;
    }
    What files will I need put in for Black Ops.

    EDIT: I actually have another question...
    4) I tried injecting a DLL that I made that would change the ammo of the first weapon in zombies to 99. This is my code...
    Code:
    if(GetAsyncKeyState(VK_NUMPAD0)&1)
    {
    *(long*)0x01BF9D58 = 99;
    }
    0x01BF9D58 is the address of the amount of ammo. But for some reason it wont work when I press numpad 0...
    Last edited by seaplusplus; 05-08-2011 at 03:48 PM.

  2. #2
    lolbie's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Netherlands
    Posts
    5,207
    Reputation
    288
    Thanks
    2,090
    My Mood
    Angelic
    in visual basic i only use cshell.dll
    I love it when people keep their agreements /sarcasm ftw

  3. #3
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by lolbie View Post
    in visual basic i only use cshell.dll
    So the answer for #3 is...
    Code:
    bool IsGameReadyForHook()
    {
    	if(GetModuleHandleA("CShell.dll") != NULL)
    		return true;
    	return false;
    }
    ?

  4. #4
    lolbie's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Netherlands
    Posts
    5,207
    Reputation
    288
    Thanks
    2,090
    My Mood
    Angelic
    i guess so
    i am not familiar with c++
    but i used this

    Code:
            If IsProcessOpen("BlackOps") Then
    
                string1 = readdll("cshell.dll")
                string2 = "&H" & Hex(string1 + address)
                WriteMemory(string2, value, bytes)
    I love it when people keep their agreements /sarcasm ftw

  5. #5
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by lolbie View Post
    i guess so
    i am not familiar with c++
    but i used this

    Code:
            If IsProcessOpen("BlackOps") Then
    
                string1 = readdll("cshell.dll")
                string2 = "&H" & Hex(string1 + address)
                WriteMemory(string2, value, bytes)
    well im looking at the libraries with kernel detective, and not finding cshell.dll...

  6. #6
    lolbie's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Netherlands
    Posts
    5,207
    Reputation
    288
    Thanks
    2,090
    My Mood
    Angelic
    Quote Originally Posted by seaplusplus View Post
    well im looking at the libraries with kernel detective, and not finding cshell.dll...
    oh than i can't help you sorry i tried my best
    I love it when people keep their agreements /sarcasm ftw

  7. #7
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by lolbie View Post
    oh than i can't help you sorry
    are you sure it's called cshell?

  8. #8
    lolbie's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Netherlands
    Posts
    5,207
    Reputation
    288
    Thanks
    2,090
    My Mood
    Angelic
    Quote Originally Posted by seaplusplus View Post
    are you sure it's called cshell?
    that code I send you is what i am using
    I love it when people keep their agreements /sarcasm ftw

  9. #9
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by lolbie View Post
    that code I send you is what i am using
    okay, ill take your word for it...

    can you answer any of my other questions?

  10. #10
    lolbie's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Location
    Netherlands
    Posts
    5,207
    Reputation
    288
    Thanks
    2,090
    My Mood
    Angelic
    Quote Originally Posted by seaplusplus View Post
    okay, ill take your word for it...

    can you answer any of my other questions?
    nope maybe he can help
    @Hell_Demon
    I love it when people keep their agreements /sarcasm ftw

  11. #11
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by lolbie View Post
    nope maybe he can help
    @Hell_Demon
    okay, thanks for all the help man, and i'll wait until hell_demon and other people get online for more answers.

  12. #12
    Hell_Demon's Avatar
    Join Date
    Mar 2008
    Gender
    male
    Location
    I love causing havoc
    Posts
    3,660
    Reputation
    236
    Thanks
    4,130
    My Mood
    Cheeky
    #1: int (__cdecl *execConsoleComand)(int a1, int a2, char *command) = (int (__cdecl*)(int,int,char*))0x48C070;

    usage: execConsoleComand(0, 0, "command");

    Not 100% sure, I haven't played black ops in months
    #2: it just means they don't/didn't know what that argument was for, therefor didn't rename it from what Hex Rays for IDA named it.
    #3: None, only BlackOpsMP.exe is needed for BO(it doesnt have any important dll's)
    Last edited by Hell_Demon; 05-08-2011 at 02:41 PM.
    Ah we-a blaze the fyah, make it bun dem!

  13. #13
    seaplusplus's Avatar
    Join Date
    Jan 2011
    Gender
    male
    Posts
    107
    Reputation
    4
    Thanks
    49
    My Mood
    Drunk
    Quote Originally Posted by Hell_Demon View Post
    #1: int (__cdecl *execConsoleComand)(int a1, int a2, char *command) = (int (__cdecl*)(int,int,char*))0x48C070;

    usage: execConsoleComand(0, 0, "command");

    Not 100% sure, I haven't played black ops in months
    #2: it just means they don't/didn't know what that argument was for, therefor didn't rename it from what Hex Rays for IDA named it.
    #3: None, only BlackOpsMP.exe is needed for BO(it doesnt have any important dll's)
    can anyone confirm this as the latest address? 0x48C070

  14. #14
    iFireLazers's Avatar
    Join Date
    Apr 2010
    Gender
    male
    Posts
    264
    Reputation
    18
    Thanks
    868
    My Mood
    Amused
    Maybe it doesn't work cause he gave you the MP offset which I assume it is cause he is talking about BlackOpsMP.exe later on.

    L2reverse or GTFO and don't beg.
    No-oversized-signatures-movement!

  15. The Following 2 Users Say Thank You to iFireLazers For This Useful Post:

    ♪~ ᕕ(ᐛ)ᕗ (05-10-2011),[MPGH]master131 (05-09-2011)

  16. #15
    Hell_Demon's Avatar
    Join Date
    Mar 2008
    Gender
    male
    Location
    I love causing havoc
    Posts
    3,660
    Reputation
    236
    Thanks
    4,130
    My Mood
    Cheeky
    Code:
    006B1B23     6A 00               PUSH 0
    006B1B25     68 C469B400         PUSH BlackOps.00B469C4                     ; ASCII "ui_showShadowOptions"
    006B1B2A     E8 91E1F6FF         CALL BlackOps.0061FCC0
    Ah we-a blaze the fyah, make it bun dem!

Page 1 of 2 12 LastLast