-
Help with GlueDialog Frame Text
Does anyone know how to get the text in the GlueDialog Frame out of process?
Example
"You have been disconnected from the server"
I tried the GetText offsets address -> 0x1f8 -> 0xf8 but can not find that text. These offsets for text such as button text, Tradeskill lists ....
I also tried all of the frames that have the GlueDialog address as parent address and can not find it.
I seem to remember that in process you could use lua with GlueDialogText::GetText()
But the Frame list does not contain GlueDialogText??
Any help?
-counted
-
I guess this was a harder question than I thought,
-counted
-
Finally got around to figure this out. Method also works for StaticPopUp1
-counted
Code:
public static string Text
{
get
{
List<FrameUI> fl = Background.GetRegionChildren;
foreach (FrameUI f in fl)
{
if (f.Name != "GlueDialogText")
continue;
uint a1 = f.Address + 0xf8;
uint a2 = TC.Pmr.Read<uint>(a1);
string s = TC.Pmr.Read<string>(a2);
return s;
}
return "unknown";
}
}
public static FrameUI Background
{
get
{
if (_Background == null || _Background.IsNotValid)
_Background = FrameUI.GetFrameByName("GlueDialogBackground");
return _Background;
}
}
-
Member
How to GetRegionChildren ? thx.
-
Reverse the Script_GetNumRegions function.
If you do not know how to find this function look at my post that explains how....
http://www.ownedcore.com/forums/worl...ml#post3787382 (How to Dump Wow from Memory....)
-
Member
Originally Posted by
counted
Reverse the Script_GetNumRegions function.
If you do not know how to find this function look at my post that explains how....
How to Dump Wow from Memory....
Soryy, I tried hard but failed .Could you give me some tips about geting frameregionchildren? It has been bothered me for one year. Thanks.
-
Were you able to find the Script_GetNumRegions function?
-
Member
No ,sorry. It's complicated for me to find it.
I'm playing with 335, and I could figure out frame name and frame pos(buttons,inputs), but can't read texts from frame ui.
I think a small sample code could help me , but
-
Frame Text is not really associated with GetNumRegions it is associated with GetText();
I am not sure what your comment "I'm playing with 335" means.
The current build is 7.3.5 26124.
Which build are you playing with.
Do you have IDA and Hexrays?
I will try to help you, but i am not going to just give you copy / pasta code.
-
Contributor
i'd guess he means 3.3.5a (wotlk), tom_rus just posted an idb in the other thread that should give you a good starting point.
-
Ok.
Open up that IDA. Select the View->Open subviews->Strings menu
Select the Search->Search menu
Enter GetText
type ctrl-T until you find "GetText"
Left - Double Click on "Get Text"
This navigates to the resource string
select aGetText and type "x"
This brings up the cross reference window for all references to the string GetText
Each of the references is in the data section. Each entry in the data section is followed by a subroutine address in the code section.
the first one is
GetText
0x48d730 which tomrus rename Lua_GetText_class1
reverse this subroutine to figure out how to get frame text
I think the fourth x-ref entry is the region child frame get text routine.
They might be reversed, i do not have my old 3.3.5 offsets anymore.
I looked at the first and fourth x-ref, i think the fourth one is Get Frame Text and the first one is Get Region Child Text
Last edited by counted; 05-02-2018 at 10:13 PM.
-
Post Thanks / Like - 1 Thanks
Corthezz (1 members gave Thanks to counted for this useful post)
-
Member
Thank you so much. I'll try to figure it out Under your guidance.
-
Member
Originally Posted by
counted
Open up that IDA. Select the View->Open subviews->Strings menu
Select the Search->Search menu
Enter GetText
type ctrl-T until you find "GetText"
Left - Double Click on "Get Text"
This navigates to the resource string
select aGetText and type "x"
This brings up the cross reference window for all references to the string GetText
Each of the references is in the data section. Each entry in the data section is followed by a subroutine address in the code section.
the first one is GetText 0x48d730 which tomrus rename Lua_GetText_class1
reverse this subroutine to figure out how to get frame text
I think the fourth x-ref entry is the region child frame get text routine.
They might be reversed, i do not have my old 3.3.5 offsets anymore.
I looked at the first and fourth x-ref, i think the fourth one is Get Frame Text and the first one is Get Region Child Text
I'm following counted's guidance.
I've got the cross reference window for all references to the string GetText. But about next step I don't know how to reverse this subroutine to figure out how to get frame text.
4.jpg
Last edited by Candyboy; 06-05-2018 at 08:27 AM.
-
What version of IDA are you using? Make sure IDA finished the analysis before you try working with the binary (it will say 'Idle' in the bottom left status bar when its done).
"Threads should always commit suicide - they should never be murdered" - DirectX SDK
-
Member
Originally Posted by
xalcon
What version of IDA are you using? Make sure IDA finished the analysis before you try working with the binary (it will say 'Idle' in the bottom left status bar when its done).
The IDA version Im using is 6.8 and 7.0, and both get the same cross reference window . Now the problem is that I don't know how to reverse this subroutine to figure out how to get frame text in the next step.
The cross reference window like this: 4.jpg