Blackmagic / FASM menu

User Tag List

Results 1 to 8 of 8
  1. #1
    peterwurst's Avatar Member
    Reputation
    11
    Join Date
    Jul 2006
    Posts
    31
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Blackmagic / FASM

    Heya guys,

    I tried to dive into the world of injecting ASM code into the WoW process.
    I used the blackmagic library in combination with the fasm_managed.dll.

    No matter what ASM code I try to inject and execute my program crashs...


    Example:
    Code:
    wow.Asm.Clear();
    wow.Asm.AddLine("MOV  EAX, 0x004D1FE0");
    wow.Asm.AddLine("CALL EAX");
    wow.Asm.InjectAndExecute(wow.AllocateMemory());
    Of course there exists a handle to the wow process...

    Code:
    System.Exception: Assembly failed!  Error code: -122;  Error Line: 3
       at Fasm.ManagedFasm.Inject(IntPtr hProcess, UInt32 dwAddress)
       at Fasm.ManagedFasm.InjectAndExecute(IntPtr hProcess, UInt32 dwAddress, UInt32 dwParameter)
       at Fasm.ManagedFasm.InjectAndExecute(UInt32 dwAddress)
    Any hints on what I may be doing wrong?

    Blackmagic / FASM
  2. #2
    Robske's Avatar Contributor
    Reputation
    305
    Join Date
    May 2007
    Posts
    1,062
    Thanks G/R
    3/4
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Smells like FASM.DLL

    Is it in your debug/release folder?
    "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live." - Martin Golding
    "I cried a little earlier when I had to poop" - Sku

  3. #3
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by peterwurst View Post
    Heya guys,

    I tried to dive into the world of injecting ASM code into the WoW process.
    I used the blackmagic library in combination with the fasm_managed.dll.

    No matter what ASM code I try to inject and execute my program crashs...


    Example:
    Code:
    wow.Asm.Clear();
    wow.Asm.AddLine("MOV  EAX, 0x004D1FE0");
    wow.Asm.AddLine("CALL EAX");
    wow.Asm.InjectAndExecute(wow.AllocateMemory());
    Of course there exists a handle to the wow process...

    Code:
    System.Exception: Assembly failed!  Error code: -122;  Error Line: 3
       at Fasm.ManagedFasm.Inject(IntPtr hProcess, UInt32 dwAddress)
       at Fasm.ManagedFasm.InjectAndExecute(IntPtr hProcess, UInt32 dwAddress, UInt32 dwParameter)
       at Fasm.ManagedFasm.InjectAndExecute(UInt32 dwAddress)
    Any hints on what I may be doing wrong?
    The function never returns.
    wow.Asm.AddLine("retn");

    also if ure using the new BlackMagic library you wont need FASM.dll i suggest you use that instead it's has some new functions for reading various data types etc.
    You can find it on GameDeception and im sure a link has been posted here somewhere.

  4. #4
    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)
    GD is down atm unfortunately so you'll need to find a mirror.

  5. #5
    Nesox's Avatar ★ Elder ★
    Reputation
    1280
    Join Date
    Mar 2007
    Posts
    1,238
    Thanks G/R
    0/3
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Here you go BlackMagic.rar i just uploaded it, it's the binaries the source and the documentation.

  6. #6
    jockel's Avatar Member
    Reputation
    4
    Join Date
    Mar 2009
    Posts
    54
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I want to throw in a OT question... can you give me any hints on how to unprotect a protected LUA function?
    I know that there are for sure better ways around without unprotecting the functions, but I don't feel fit enough in ASM / C#.
    Last edited by jockel; 03-26-2009 at 05:27 PM.

  7. #7
    lanman92's Avatar Active Member
    Reputation
    50
    Join Date
    Mar 2007
    Posts
    1,033
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Just use Lua_DoString(). It owns.

  8. #8
    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)
    Originally Posted by jockel View Post
    I want to throw in a OT question... can you give me any hints on how to unprotect a protected LUA function?
    I know that there are for sure better ways around without unprotecting the functions, but I don't feel fit enough in ASM / C#.
    Code:
    .text:005584A0 _Lua_JumpOrAscendStart proc near        ; DATA XREF: .data:off_FCE144o
    .text:005584A0                 mov     eax, dword_11F20F4
    .text:005584A5                 mov     ecx, dword_11F20F0
    .text:005584AB                 push    esi
    .text:005584AC                 push    9Eh
    .text:005584B1                 push    offset a_Inputcontrol_ ; ".\\InputControl.cpp"
    .text:005584B6                 push    8
    .text:005584B8                 push    eax
    .text:005584B9                 push    ecx
    .text:005584BA                 call    _ClntObjMgrObjectPtr
    .text:005584BF                 mov     esi, eax
    .text:005584C1                 add     esp, 14h
    .text:005584C4                 test    esi, esi
    .text:005584C6                 jz      loc_5585B1
    .text:005584CC                 push    ebx
    .text:005584CD                 mov     ebx, dword_1178A44
    .text:005584D3                 push    0
    .text:005584D5                 call    0x4A4480
    .text:005584DA                 add     esp, 4
    .text:005584DD                 test    eax, eax
    .text:005584DF                 jz      loc_5585B0 ; jump to the end of the function
    Target: Lua function - JumpOrAscendStart

    If you breakpoint that function and then do a normal jump ingame, the marked function returns one. If you try to call this function via /script JumpOrAscendStart() then this function will return 0, so test eax,eax will set the z flag -> jump to the end of the function is taken.

    Now you can change each function, or simply make the protection function return 1. But I think it was mentioned that the protection check is being watched. I might be wrong though.

Similar Threads

  1. [BlackMagic] ****ed up results
    By miceiken in forum WoW Memory Editing
    Replies: 8
    Last Post: 04-21-2009, 08:11 AM
  2. BlackMagic Memory Read - Error
    By Cryptography in forum WoW Memory Editing
    Replies: 10
    Last Post: 02-26-2009, 02:28 PM
  3. ReadProcessMemory w/o BlackMagic
    By cloud_wizard in forum WoW Memory Editing
    Replies: 20
    Last Post: 01-03-2009, 03:26 AM
  4. Be sure you always have FASM.dll
    By luciferc in forum WoW Memory Editing
    Replies: 5
    Last Post: 12-27-2008, 12:23 AM
All times are GMT -5. The time now is 06:33 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