Page 1 of 1

Why Internet Explorer??

Posted: Sun Dec 29, 2024 7:42 pm
by Randy Walker
NEW SUBJECT :)
Not a question about the code per say. Wondering why I am seeing these two items in the list. Don't see them in the MS Task Manager list or startup items.
Internet Explorer_Hidden
Internet Explorer_Server

Looks pretty nefarious to me. :evil:
I ran this on Win 11 but forget where I got the code. I didn't create it.
Scroll down about 7 pages in PB 5.40 or 9 pages on PB ver 6.20 to see those two items:

Code: Select all

;Process Monitor
;By GPI
;Modified by Lance Jepsen

LoadFont (3, "Arial", 14)
SetGadgetFont(#PB_Default, 3)

Structure info
  Handle.l
  process.l
  class$
  Name$
EndStructure
;#PROCESS_ALL_ACCESS=$FFF

Global NewList info.info()
Global NewList AllHandle()

Procedure.s GetClassName(Handle)
  class$=Space(1024)
  GetClassName_(Handle,@class$,Len(class$))
  ProcedureReturn Left(class$,Len(class$))
EndProcedure
Procedure.s GetTitle(Handle)
  Name$=Space(1024)
  GetWindowText_(Handle,@Name$,Len(Name$))
  ProcedureReturn Left(Name$,Len(Name$))
EndProcedure
Procedure AddInfo(Handle)
  process=0
  GetWindowThreadProcessId_(Handle,@process)
  class$=GetClassName(Handle)
  Name$=GetTitle(Handle)
  
  ResetList(info())
  quit=0
  i=0
  Repeat
    If NextElement(info())
      If process < info()\process
        quit=1
      ElseIf process=info()\process
        If class$ < info()\class$
          quit=1
        ElseIf UCase(class$)=UCase(info()\class$)
          If Name$ < info()\Name$
            quit=1
          ElseIf UCase(Name$)=UCase(info()\Name$)
            If Handle < info()\Handle
              quit=1
            ElseIf Handle=info()\Handle
              quit=3
            EndIf
          EndIf
        EndIf
      EndIf
    Else
      quit=2
    EndIf
  Until quit
  If quit<3
    If quit=1
      If PreviousElement(info())=0: ResetList(info()) :EndIf
    EndIf
    AddElement(info())
    info()\Handle=Handle
    info()\process=process
    info()\class$=class$
    info()\Name$=Name$
  EndIf
EndProcedure
Procedure TerminateProcess(processid)
  process=OpenProcess_(#PROCESS_ALL_ACCESS,1,processid)
  If process
    TerminateProcess_(process,0)
    CloseHandle_(process)
  EndIf
EndProcedure
Procedure RefreshList()  
  ClearList(AllHandle())
  ClearList(info())
  Handle=GetWindow_(WindowID(0),#GW_HWNDFIRST)
  ClearList(AllHandle())
  quit=0
  Repeat
    AddInfo(Handle)
    x=GetWindow_(Handle,#GW_CHILD)
    If x
      AddElement(AllHandle())
      AllHandle()=x
    EndIf
    x=GetWindow_(Handle,#GW_HWNDNEXT)
    If x
      Handle=x
    Else
      If LastElement(AllHandle())
        Handle=AllHandle()
        DeleteElement(AllHandle())
      Else
        quit=1
      EndIf
    EndIf
  Until quit
  
  ResetList(info())
  
  
  While NextElement(info())
    If oldprocess<>info()\process
      oldprocess=info()\process
      a$=Hex(oldprocess)
    Else
      a$="              ''"
    EndIf
    AddGadgetItem(0,  -1,  a$+Chr(10)+info()\class$+Chr(10)+info()\Name$+Chr(10)+Hex(info()\Handle))
    
  Wend
  
  SetGadgetState(0,0)
EndProcedure

If OpenWindow(0,100,50,712,450,"Process Monitor",#PB_Window_SystemMenu)
  
    ListIconGadget(0, 30,125,650,300, "Process",70)
    AddGadgetColumn(0,1,"Class",220)
    AddGadgetColumn(0,2,"Name",260)
    AddGadgetColumn(0,3,"Handle",80)
    ButtonGadget(3, 256,30, 128,22,"Post Message")
    FrameGadget(2,252, 26,136,30,"")
    FrameGadget(6,20, 70,670,370,"Windows")
    ButtonGadget(4, 395,90, 128,20,"Refresh List")
    TextGadget(5,90,12,60, 20, "Message")
    
    ComboBoxGadget(309, 30, 30, 200, 22)
    AddGadgetItem(309,0,"*Select*")
    AddGadgetItem(309,-1,"WM_DESTROY")
    AddGadgetItem(309,-1,"WM_CLOSE")
    AddGadgetItem(309,-1,"WM_QUIT")
    SetGadgetState(309,0)
    
    RefreshList()
    
    Repeat
      event=WaitWindowEvent()
      Select event
        Case #PB_Event_Gadget
          stat=GetGadgetState(0)
          If stat>-1
            SelectElement(info(),stat)
            stat=1
          Else
            stat=0
          EndIf
          
          Select EventGadget()
              
            Case 3;Post Message
              
              If  GetGadgetText(309)="WM_CLOSE"
                PostMessage_(info()\Handle,#WM_CLOSE,0,0)
              EndIf
              
              If  GetGadgetText(309)="WM_DESTROY"
                PostMessage_(info()\Handle,#WM_DESTROY,0,0)
              EndIf
              
              If  GetGadgetText(309)="WM_QUIT"
                PostMessage_(info()\Handle,#WM_QUIT,0,0)
              EndIf
              
              
            Case 4
              RefreshList()
          EndSelect
      EndSelect
      
    Until event=#PB_Event_CloseWindow
EndIf

// Moved from "Coding Questions" to "General Discussion" (Kiffi)

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 8:05 pm
by infratec
It is shown, because it is running.

I can not see it here on my windows.
You run a program which uses this stuff as a sub process.

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 8:07 pm
by plouf
internet explorer is part of the OS, still is, numerous application use internal and will continue to use it for decades to come
so OS still has it, and will continue to has IE components inside it.

only the "shortcut" and "front window" is lost, but you cn still use it using edge-> IE mode
PureBasic WebGadget and so many other use it..

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 8:19 pm
by spikey
I have a few of these on my W11 machine. As infratec says it's being used as a component by another process. In my case they seem to belong to SearchHost and TextInputHost and I guess are rendering part of/all of the user interface if one is displayed.

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 8:46 pm
by Randy Walker
infratec wrote: Sun Dec 29, 2024 8:05 pm It is shown, because it is running.
Yes, that part was obvious.
I was shocked to see this because I thought it was rendered illegal by United States of America v. Microsoft Corporation judicial whatever. Interestingly I can't find those items in the Sysinternals "Process Monitor" either. I checked again immediately after fresh boot and they were still there. I say :evil: nefarious MS backdoor purposes.
But hey if evryone here is cool with it, I wont fret over it.

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 8:55 pm
by infratec
Use ProcessExplorer from SysInternals not the Monitor.

https://learn.microsoft.com/en-us/sysin ... s-explorer

Then you can also search for the handle

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 9:00 pm
by plouf
Randy Walker wrote: Sun Dec 29, 2024 8:46 pm
I was shocked to see this because I thought it was rendered illegal by United States of America v. Microsoft Corporation judicial whatever.
thats because they found "illegal" the INTEGRATION inside OS, so it uses OS in order to overcome "competition" leaving no room for competition.

but at the time of the decision it was allready part of the OS. so trully removing it will break OS and numerous other progs
so they hide it such a way that the user can "choose alternatives",
and from that time and beyond, they dont devolpe it in such a way to be unremoved from the OS (maybe ?)

anyway too big conversation already doe million of times in web the years past :)

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 9:27 pm
by Randy Walker
AH well. That explains it. Still looks nefarious too me.

Re: Why Internet Explorer??

Posted: Sun Dec 29, 2024 9:34 pm
by Randy Walker
infratec wrote: Sun Dec 29, 2024 8:55 pm Use ProcessExplorer from SysInternals not the Monitor.

https://learn.microsoft.com/en-us/sysin ... s-explorer

Then you can also search for the handle
AH Yes! Thanks for that correction. I forgot they superceded Monitor with Explorer