Post Reply

This topic contains 19 replies, has 6 voices, and was last updated by Avatar of Snoopy1968 Snoopy1968 6 years, 9 months ago.

1 Star2 Stars3 Stars4 Stars5 Stars Rate it first!
Loading ... Loading ...
Viewing 15 posts - 1 through 15 (of 20 total)
  • Author
    Posts
  • #13253
    Avatar of Locohacker
    Locohacker
    Keymaster

    Hey, does anyone know what is the api for paltalk buddy list :) cause I being trying to get it and no luck so far, I don’t know if its a treeview or a listview :)

    this is the code off the thing :lol:

    [vb]Dim seinfeldsuperman As Long, wtlsplitterwindow As Long, atla As Long
    Dim gradienttreeviewclass As Long
    seinfeldsuperman = FindWindow(“seinfeld_superman”, vbNullString)
    wtlsplitterwindow = FindWindowEx(seinfeldsuperman, 0&, “wtl_splitterwindow”, vbNullString)
    atla = FindWindowEx(wtlsplitterwindow, 0&, “atl:006a1118″, vbNullString)
    gradienttreeviewclass = FindWindowEx(atla, 0&, “gradienttreeviewclass”, vbNullString)[/vb]

    #28340
    Avatar of Newbie
    Newbie
    Participant

    gradienttreeviewclass

    #28341

    loco in action again :lol: , I got sick with pt programming for now, I concentrate my learning in masm32 and dont know how to do a split function in asm :lol:

    #28342
    Avatar of Anonymous
    Anonymous
    Participant

    loco is this for add as many people you want on ur black nick

    #28343
    Avatar of Locohacker
    Locohacker
    Keymaster

    DJ , lol thats just apis to try to get then nicks in the buddy list :)

    Aigh so its gradienttreeviewclass, but I cant find info on that so its thas just a paltalk naming it as so, and its a listview :)

    nanomachine007 yes is that I be promising peeps for this program ehehhe, well I am hoping soon someone takes over cause this is my last year to get my college degree so its going to be crazy :) hey whats masm32

    #28344
    Avatar of Anonymous
    Anonymous
    Participant

    awwwwwwww ok

    #28345

    masm32 in short definition is assembly 32 bits programming, like you code in high level programming language(vb6); when you code in masm32, you code in assembly language, I progress slowly :(

    #28346
    Avatar of Newbie
    Newbie
    Participant

    Chan wa mr nano oi, kà kà . forum nay cha? co gi de choi :D :D

    #28347
    Avatar of Anonymous
    Anonymous
    Participant

    @Newbie wrote:

    Chan wa mr nano oi, kà kà . forum nay cha? co gi de choi :D :D

    ??????????????

    #28348

    @Newbie wrote:

    Chan wa mr nano oi, kà kà . forum nay cha? co gi de choi :D :D

    cha’n thi keu nho queen show zu’ ong coi di hahaha

    #28349
    Avatar of Anonymous
    Anonymous
    Participant

    @nanomachine007 wrote:

    @Newbie wrote:
    Chan wa mr nano oi, kà kà . forum nay cha? co gi de choi :D :D

    cha’n thi keu nho queen show zu’ ong coi di hahaha

    TeeeT TeeT

    #28350
    Avatar of Locohacker
    Locohacker
    Keymaster

    What lol,
    hey someone needs to hook me up cause i open my big mouse and say I gonna try to make like a buddy nicks deleter lol

    #28351
    Avatar of Anonymous
    Anonymous
    Participant

    @locohacker wrote:

    What lol,
    hey someone needs to hook me up cause i open my big mouse and say I gonna try to make like a buddy nicks deleter lol

    there is no probleme i think there is already a place in the data that all ur nicks are save even if you unistall ur paltalk
    and in the files there is even the chats :shock:

    #28352
    Avatar of Snoopy1968
    Snoopy1968
    Participant

    hey not sure if this is the right thing but is the buddylist a listview item?

    #28353
    Avatar of Chike
    Chike
    Keymaster

    Sine BattleStar-Galactica did not post the code yet I had to figure it all by myself
    So here a short c++ console APP that print your buddy-list.
    With some code I stole from autopilot :lol:


    #include
    #include
    #include
    #include

    // I hate "using"! :-)
    // using namespace std;

    void GetTVItem(HWND hwnd, HTREEITEM htvitem, char *buff, int buff_len);

    int main(int argc, char *argv[])
    {
    HWND seinfeldsuperman, wtlsplitterwindow, atla, gradienttreeviewclass;

    seinfeldsuperman = FindWindow("seinfeld_superman", NULL);
    wtlsplitterwindow = FindWindowEx(seinfeldsuperman, 0, "wtl_splitterwindow", NULL);
    // Paltalk 9.1
    atla = FindWindowEx(wtlsplitterwindow, 0, "atl:006d06d0", NULL);
    if (atla == NULL) /// Paltalk Scene
    atla = FindWindowEx(wtlsplitterwindow, 0, "ATL:006FBF78", NULL);
    if (atla == NULL) // Paltalk 8.5
    atla = FindWindowEx(wtlsplitterwindow, 0, "ATL:00547638", NULL);
    gradienttreeviewclass = FindWindowEx(atla, 0, "gradienttreeviewclass", NULL);

    HTREEITEM htvitem = TreeView_GetRoot(gradienttreeviewclass);
    char text[256];

    while (htvitem) {
    /// get root item (Pals, Offline, and custome groups)
    GetTVItem(gradienttreeviewclass, htvitem, text, 256);
    // comment the followong 2 lines to see onffine too
    if (!std::string("Offline").compare(0, 7, text, 0, 7))
    break;
    std::cout << text << std::endl;
    // get 1st buddy in this group
    HTREEITEM htvitem1 = TreeView_GetChild(gradienttreeviewclass, htvitem);
    while (htvitem1) {
    GetTVItem(gradienttreeviewclass, htvitem1, text, 256);
    std::cout << " " << text << std::endl;
    /// get next buddy
    htvitem1 = TreeView_GetNextSibling(gradienttreeviewclass, htvitem1);
    }
    htvitem = TreeView_GetNextSibling (gradienttreeviewclass, htvitem);
    }
    system("PAUSE");
    return EXIT_SUCCESS;
    }
    void GetTVItem(HWND hwnd, HTREEITEM htvitem, char *buff, int buff_len)
    {
    DWORD lProcID;
    // Get the process ID in which the TreeView is running
    GetWindowThreadProcessId(hwnd, &lProcID);
    if (lProcID != 0) {
    // make sure we have read write permissions in the process space
    HANDLE hProc = OpenProcess(PROCESS_VM_OPERATION|PROCESS_VM_READ|PROCESS_VM_WRITE, FALSE, lProcID);
    if (hProc != 0) {
    // Grab enough memory in the other procedure's space to hold our TVITEM and the return text buffer
    void *lxproc_tvitem = VirtualAllocEx(hProc, 0, sizeof(TVITEM)+buff_len, MEM_COMMIT|MEM_RESERVE, PAGE_READWRITE);

    // Set up our local TVITEM
    TVITEM tv_item;

    tv_item.mask = TVIF_TEXT;
    tv_item.hItem = htvitem;
    tv_item.pszText = static_cast(lxproc_tvitem)+sizeof(TVITEM);
    tv_item.cchTextMax = buff_len;

    // Copy the local TVITEM into the space we reserved in the foreign process
    WriteProcessMemory(hProc, lxproc_tvitem, &tv_item, sizeof(TVITEM), NULL);

    // Now send the message, but pass the address of the copy of our TVITEM that now exists in the foreign process instead of our local versiony
    BOOL res = TreeView_GetItem(hwnd, lxproc_tvitem);
    if (res) {
    // the return text buffer (address) may have changed so we need to copy it back
    ReadProcessMemory(hProc, lxproc_tvitem, &tv_item, sizeof(TVITEM), NULL);
    // Since we have no clue about it's length we have to copy it all
    ReadProcessMemory(hProc, tv_item.pszText, buff, buff_len, NULL);
    // Note: last line is a bit risky if buffer was actually changed
    // Because we could cross page boundary and hit a non-alloocated
    // page.
    } else {
    *buff = '';
    }
    // Clean up
    VirtualFreeEx(hProc, lxproc_tvitem, 0, MEM_RELEASE);
    CloseHandle(hProc);
    }
    }
    }
Viewing 15 posts - 1 through 15 (of 20 total)

You must be logged in to reply to this topic.