ASM Question ($) menu

User Tag List

Page 2 of 2 FirstFirst 12
Results 16 to 21 of 21
  1. #16
    Cypher's Avatar Kynox's Sister's Pimp
    Reputation
    1358
    Join Date
    Apr 2006
    Posts
    5,368
    Thanks G/R
    0/6
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by schlumpf View Post
    I want to see the one, writing a DLL with that range of functions in ASM.
    He probably meant the binary would be in ASM (i.e. native) and that you'd write it in C/C++/Delphi/whatever/.

    ASM Question ($)
  2. #17
    schlumpf's Avatar Retired Noggit Developer

    Reputation
    755
    Join Date
    Nov 2006
    Posts
    2,759
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I hope so.

  3. #18
    Smarter's Avatar Member
    Reputation
    10
    Join Date
    May 2008
    Posts
    31
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I understand the rules, I am asking how it would be possible, and for a possible example method of calling functions out of an injected DLL with C#? (Psuedo code even). As for the creation of such a DLL, I personally only program in C#, so I will have to purchase that knowledge from someone.

  4. #19
    SKU's Avatar Contributor
    Reputation
    306
    Join Date
    May 2007
    Posts
    565
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Note that I don't really have the knowledge of injecting DLLs / C++ in general, but I don't think there's much of a difference between calling a function of your own injected dll or calling a function of a 'normal' module of the target's process. (Correct me if I'm wrong. :P)

    Inject your DLL into the target process
    Find the function(s) you want to call
    In this case, I inject a DLL with a simple function that pops up a messagebox.
    Call said function via C# (gogo BlackMagic)

    Code:
                w.Asm.Clear();
                uint ccCode = w.AllocateMemory(0x1000);
                w.Asm.AddLine("push 0");
                w.Asm.AddLine("call 0x00E11000"); // my msgbox function
                w.Asm.AddLine("retn");
                w.Asm.InjectAndExecute(ccCode);
                w.FreeMemory(ccCode);
    Code:
    00E11000                              8BC0               MOV EAX,EAX
    00E11002                              8BC0               MOV EAX,EAX ; just to find it :P
    00E11004                              8BC0               MOV EAX,EAX ; same
    00E11006                              8BC0               MOV EAX,EAX ; same
    00E11008                              6A 00              PUSH 0
    00E1100A                              68 FC41E100        PUSH notepad2.00E141FC                    ; UNICODE "Wut"
    00E1100F                              68 0442E100        PUSH notepad2.00E14204                    ; UNICODE "Hi thar"
    00E11014                              6A 00              PUSH 0
    00E11016                              FF15 9830E100      CALL DWORD PTR DS:[<&USER32.MessageBoxW>] ; USER32.MessageBoxW
    00E1101C                              33C0               XOR EAX,EAX
    00E1101E                              C2 0400            RETN 4
    This is probably a bad way, but it works. Still don't get why you would call this stuff from C# if all the logic is already in your DLL..

  5. #20
    barthen's Avatar Contributor Authenticator enabled
    Reputation
    94
    Join Date
    Apr 2007
    Posts
    112
    Thanks G/R
    4/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Smarter View Post
    So how does one interact with the injected DLL? Via Memory reads at known offsets? Such as: dll injection? in c#... and they said it was impossible

    Are there any more "managed" ways of interacting with an injected DLL?

    Would EasyHook - The reinvention of Windows API Hooking - Home allow me to get rid of the need for an injected "non-managed" DLL?, by using that to inject my managed DLL?
    Well, you can use almost any Interprocess Communications method you can think of to talk to your injected DLL from another process.

    Usually people use dll shared memory, named pipes or sockets, but you have many options. Take a look here:
    http://msdn.microsoft.com/en-us/library/aa365574(VS.85).aspx

  6. #21
    Smarter's Avatar Member
    Reputation
    10
    Join Date
    May 2008
    Posts
    31
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Thank you everyone.

Page 2 of 2 FirstFirst 12

Similar Threads

  1. [Question] Not initialized asm var
    By backtrack1 in forum Programming
    Replies: 1
    Last Post: 12-23-2011, 09:15 PM
  2. question about wrapping asm instructions in classes
    By boredevil in forum WoW Memory Editing
    Replies: 0
    Last Post: 12-06-2011, 10:01 AM
  3. [Question] CTM... Memory Editing vs. ASM?
    By -Ryuk- in forum WoW Memory Editing
    Replies: 9
    Last Post: 07-14-2010, 12:44 PM
  4. [Question][C#][ASM] Object -> Interact (VMT 38)
    By -Ryuk- in forum WoW Memory Editing
    Replies: 5
    Last Post: 05-10-2010, 06:05 PM
  5. [Question][C#][ASM] CTM
    By -Ryuk- in forum WoW Memory Editing
    Replies: 12
    Last Post: 05-09-2010, 07:27 AM
All times are GMT -5. The time now is 08:31 PM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search