• Home
  • Blog
  • Online Scan
  • Update History
  • Online Scan: Analyze ihpmserver.exe.vir file and fix runtime errors, Fix System Error
    Welcome to my blog. I found a malicious code that was added into the ihpmserver.exe.vir file. Due to infection by malicious code, the file contents changed. The MD5 value of the infected file is: 7f44d0432fd5b5343fb7a0cc31d3a900, and the file size is: 264 K ( 270,568 bytes )
    Risk level of malicious code
    ( 3 stars by 217 users )
    Behavior of malicious code ( 414 votes ) If you know more this malicious code, please vote. We sincerely hope you may share your information with other computer users and help them.
    1. Infect file
    13.04% (54)
    2. Intentionally destroy data
    13.77% (57)
    3. Steal personal privacy
    13.77% (57)
    4. Infect other computers through the Internet
    12.32% (51)
    5. Install the backdoor program so that the computer is controlled remotely
    13.53% (56)
    6. Cheat or threaten users to buy something
    11.11% (46)
    7. Download and install other programs without permission in the background
    10.14% (42)
    8. Pop up various advertisements and induce users to click
    12.32% (51)
    Binary Code Analysis:
    When the program runs, the PE loader will try to load the file to 0x00400000 in the virtual address space, Address Of Entry Point: 0x000148C4. This file has 5 SECTION.
    DOS Header
    DOS Stub
    NT File Signature
    Data Directory
    .text SECTION #1
    .rdata SECTION #2
    .data SECTION #3
    .rsrc SECTION #4
    .reloc SECTION #5
    About this malicious code
    This malicious code is a 32-bit program that infects an EXE file. When the file is run or the file is loaded, the malicious code in the file is run first. Later, this malicious code also infects the following files:

    • ihpmserver.exe.vir
    • ihpmserver.ini.vir

    Tip: There is something I must emphasize. The file names listed above are infected by malicious code. It does not mean that all files named by these names are malicious files. It is inaccurate to determine whether a file is a malicious program based on its file name.

    The malicious code also infects files on the following path:

    • c:\windows\diagnostics\system\keyboard\de-de\
    • c:\windows\system32\drivers\umdf\fi-fi\
    • c:\windows\assembly\gac_32\mcupdate\\
    • c:\windows\system32\tmumh\20019\tmmon\\
    Tip: The code of most malicious files is fixed, rarely changed, which means, this type of malicious files regardless of which computer they are in, will copy themselves into the pre-set path, so we can go to the path listed above to find this file, and there is a great chance to find it.
    Are all the files with the same file name listed above and with the same path malicious files?
    Of course not. The file name is just the identification of the file. Strictly speaking, the file is modified by malicious code.

    The following are methods commonly used by malicious code in order to confuse users:

    • Deliberately modify their own file name to some system file name, or some well-known software name.
    • Generate malicious files in the system folder or in the installation folder of some well-known software, and even name their own folder with an antivirus software name (actually the user did not install this antivirus software). In fact, these malicious files are not system files, nor part of the famous software.

    For example, one of the most common system file names is: explorer.exe, and under normal circumstances, the system only has an explorer.exe process. When you open the Task Manager and find that there are two or more explorer.exe processes, it is likely the camouflage of some malicious viruses. As shown in the following figure, there are two explorer.exe processes in Task Manager.

    When I find the path where the file is located, it will be clear that the real explorer.exe system file is located under "C:\ Windows\", and the malicious file that pretends to be system process is under the other path.

    The running status of the ihpmserver.exe.vir file that is infected with malicious code:
    ihpmserver.exe.vir running statusTake up memory 611K
    Occupy CPU resources between 60% - 78%
    Run the program with the Administrator permissions.
    At runtime, 10 Windows system files, 0 external files (not owned by the Windows system), are called
    Windows system files
  • File name
  • Number of calling functions
  • KERNEL32.dll
  • 116
  • USER32.dll
  • 9
  • ADVAPI32.dll
  • 34
  • SHELL32.dll
  • 2
  • ole32.dll
  • 14
  • OLEAUT32.dll
  • 7
  • SHLWAPI.dll
  • 10
  • USERENV.dll
  • 2
  • VERSION.dll
  • 3
  • WININET.dll
  • 9
  • Not owned by the windows system
  • File name
  • Number of calling functions
  • In general, the most accurate way to determine if a file is a malicious file is to analyze its code and see what happens when these functions are called while the program is running. Does it have malicious behavior (destroying data or stealing data)? I have listed the functions called by this file and some internal data, but there is too much data, I can't show them all here. →Click here← to see the full binary code analysis page.
    ihpmserver.exe.vir runtime behavior analysis
    The KERNEL32.dll dynamic link library is loaded and the functions in the file are called: ( Kernel32.dll is a very important 32-bit dynamic link library file in the Windows operating system. It is a kernel-level file. It controls the system's memory management, data input and output operations and interrupt handling. When the Windows operating system starts, kernel32.dll resides in a specific write-protected area of memory, so that other programs cannot occupy this memory area. )
  • GetCurrentProcess: Retrieves a pseudo handle for the current process.
  • LoadLibraryW: Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded.
  • OpenProcess: Opens an existing local process object.
  • TlsAlloc: Allocates a thread local storage (TLS) index. Any thread of the process can subsequently use this index to store and retrieve values that are local to the thread, because each thread receives its own slot for the index.
  • WriteConsoleW: Writes a character string to a console screen buffer beginning at the current cursor location.
  • GetProcAddress: Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).
  • GetModuleHandleW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
  • GetModuleFileNameW: Retrieves the fully qualified path for the file that contains the specified module.
  • GetCurrentThreadId: Retrieves the thread identifier of the calling thread.
  • CreateThread: Creates a thread to execute within the virtual address space of the calling process.
  • InterlockedCompareExchange: Performs an atomic compare-and-exchange operation on the specified values.
  • InterlockedExchange: Sets a 32-bit variable to the specified value as an atomic operation.
  • CreateEventW: Creates or opens a named or unnamed event object and returns a handle to the object.
  • WaitForSingleObject: Waits until the specified object is in the signaled state or the time-out interval elapses.
  • SetEvent: Sets the specified event object to the signaled state.
  • GetLastError: Retrieves the calling thread's last-error code value.
  • TerminateProcess: Ends the calling process and all its threads.
  • SetUnhandledExceptionFilter: Enables an application to supersede the top-level exception handler of each thread of a process.
  • UnhandledExceptionFilter: An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged.
  • GetModuleHandleExW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.
  • ExitProcess: Ends the calling process and all its threads.
  • GetSystemTimeAsFileTime: Retrieves the current system date and time. The information is in Coordinated Universal Time (UTC) format.
  • RtlUnwind: Initiates an unwind of procedure call frames.
  • IsDebuggerPresent: Determines whether the calling process is being debugged by a user-mode debugger.
  • DeviceIoControl: Sends a control code directly to a specified device driver, causing the corresponding device to perform the corresponding operation.
  • ReadConsoleW: Reads character input from the console input buffer and removes it from the buffer.
  • GetConsoleMode: Retrieves the current input mode of a console's input buffer or the current output mode of a console screen buffer.
  • FreeEnvironmentStringsW: Frees a block of environment strings.
  • GetEnvironmentStringsW: Retrieves the environment variables for the current process.
  • GetCurrentProcessId: Retrieves the process identifier of the calling process.
  • QueryPerformanceCounter: Retrieves the current value of the performance counter, which is a high resolution (<1us) time stamp that can be used for time-interval measurements.
  • GetStdHandle: Retrieves a handle to the specified standard device (standard input, standard output, or standard error).
  • GetStartupInfoW: Retrieves the contents of the STARTUPINFO structure that was specified when the calling process was created.
  • TlsSetValue: Stores a value in the calling thread's thread local storage (TLS) slot for the specified TLS index. Each thread of a process has its own slot for each TLS index.
  • CreateFileW: Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe. The function returns a handle that can be used to access the file or device for various types of I/O depending on the file or device and the flags and attributes specified.
  • FlushFileBuffers: Flushes the buffers of a specified file and causes all buffered data to be written to a file.
  • ResumeThread: Decrements a thread's suspend count. When the suspend count is decremented to zero, the execution of the thread is resumed.
  • TerminateThread: Terminates a thread.
  • TlsGetValue: Retrieves the value in the calling thread's thread local storage (TLS) slot for the specified TLS index. Each thread of a process has its own slot for each TLS index.
  • The ADVAPI32.dll dynamic link library is loaded and the functions in the file are called: ( Advapi32.dll is part of a high-level API application interface service library that contains functions related to object security, registry manipulation, and event logging. It is generally located in the system directory: \WINDOWS\system32\ )
  • LookupPrivilegeValueW: This function retrieves the locally unique identifier (LUID) used on a specified system to locally represent the specified privilege name.
  • GetTokenInformation: This function retrieves a specified type of information about an access token. The calling process must have appropriate access rights to obtain the information.
  • AdjustTokenPrivileges: The AdjustTokenPrivileges function enables or disables privileges in the specified access token.
  • OpenProcessToken: This function opens the access token associated with a process.
  • RegQueryValueExW: Retrieves the data associated with the default or unnamed value of a specified registry key.
  • RegOpenKeyExW: Opens the specified registry key. Note that key names are not case sensitive.
  • The following files have been identified as malicious files. Some files are variants of ihpmserver.exe.vir; some files are another type of malicious file, but use the same file name as ihpmserver.exe.vir.

    It is a simple and effective way to determine whether a file is a malicious file by a hash value, which has lower false detection rate than the "static signature" method. So, if the MD5 value of a file on the computer is the same as the MD5 value listed below, then it is sure that the file is a malicious file.

    This is my analysis results to the code of each malicious below, mainly provided to industry professionals who engage in the maintenance of computer security. If you are interested, you can also have a view, but it may require certain computer knowledge.
    • File Md5
    • File Size
    • File Bit
    • File Type
    • Binary Code Analysis

    How to repair or remove ihpmserver.exe.vir

    Method 1: Manual Removal

    • Reboot the system and then enter safe mode (Click here to see how each Windows version (XP/Vista/7/8/10) goes into safe mode)

    • Open Task Manager and if ihpmserver.exe.vir is running, end this program.
    ihpmserver.exe.vir running status

    • Show all hidden files.
    Step: "My Computer" -> "Floder Options" ->"View" -> "Show hidden files, folders, and drives"

    • Malicious code used to generate or infect files on the following paths, so you need to one by one go into the following path, and delete all files [  ihpmserver.exe.vir, ihpmserver.ini.vir  ]

    • c:\windows\diagnostics\system\keyboard\de-de\
    • c:\windows\system32\drivers\umdf\fi-fi\
    • c:\windows\assembly\gac_32\mcupdate\\
    • c:\windows\system32\tmumh\20019\tmmon\\

    • Finally, restart your computer.

    Method 2: Automatic Removal Using Tools (Recommended)

    This is free virus detection software, and it can be well compatible with many well-known anti-virus software, so users do not have to uninstall anti-virus software on the computer.

    It is "environmentally friendly" for computers. After downloading, it can be used by decompression and without installation. In the process of running, it will not write any information to the registry, nor create any new files to the Windows folder of the system disk. When you do not need it, you can delete it. It will not leave any spam information on your computer.

    When you find your operating system is abnormal, and the file name listed above appears in the Task Manager, or there are several processes in running with the same name as the core file name, it is best to download the anti-virus software to check your system.

    Online detection of ihpmserver.exe.vir

    If you don't know if ihpmserver.exe.vir is infected with malicious code on your computer, you may also use online scan tool.

    • Use the following online detection function to check the file.
  • • Enter the file name, or file MD5, for the query.
  • • You can also scan a file online. Click the "Upload File" button, and then click the "submit" button, to immediately detect whether the file is a virus. (Tip: The maximum size of the file uploaded cannot exceed 8MB)
  • How do I use the T21 engine for online scanning?

    T21 can detect unknown files online, mainly using "behavior-based" judgment mechanism. It is very simple to use T21.

    1. Click the "Upload File" button, select the file you want to detect, and then click "Submit".
    2. The next step is to wait for the system to check, which may take a little time, so please be patient.
    3. When the T21 scan engine finishes detection, the test results are immediately fed back, as shown below:

    • If you suspect that there are malicious files on your computer, but you cannot find where they are, or if you want to make a thorough check on your computer, you can download the automatic scanning tool.

    If you want to know what kind of T21 system is, you can click here to view the introduction of T21. You can also go to the home page to read the original intention and philosophy of my development of T21 system.

    Other captured malicious files:
    libeay32.dll file analysis
    mybestofferstoday_widget.exe.vir file analysis
    mbot_se_014010225.exe.vir file analysis
    protectservice.exe.vir file analysis
    suptab.dll.vir file analysis
    protectwindowsmanager.exe.vir file analysis
    sysvhnl.exe file analysis
    wincryn.exe file analysis
    clickonce_bootstrap.exe file analysis
    Copyright statement: The above data is obtained by my analysis, and without authorization, you may not copy or reprint it.
    Leave a Reply

    Your email address will not be published. Required fields are marked *
    If you need help, please leave a message, try to match the picture, and I will reply as soon as possible to each question.

    Name *


      Comment   Reply To: 
    Preview, Read Only, Click here Edit Post.

    User Reply & Help
    »[May 02, 2019]Ahmed Ali Shah say: Cool. Android Fastboot Reset Tool is one of the best way to unlock android devices. I think it is th ......
    Reply: Thank you for your attention. According to the monitoring, this executable file should be infected b …View >>>
    »[April 27, 2019]Sergei Zolotarev say: I am playing CDs on my computer or listening to MP3 music on my hard disk. But when I run Photoshop ......
    Reply: This kind of fault may be caused by the computer configuration being too low. For example, the CPU f …View >>>
    »[April 09, 2019]Guest say: The CPU is a newly purchased boxed Celeron D 2.8GHz. The motherboard is a Mercedes 865PE. The temper ......
    Reply: This happens because the objects detected by the two are different. AID32 and HWiNFO detect the temp …View >>>
    »[April 05, 2019]amlan say: When I played a song on my computer, I sometimes plugged in the earphones and found that the sound o ......
    Reply: This situation can be caused by the following reasons:The impedance of the headset. Normally used he …View >>>
    »[March 26, 2019]Alok say: When the scanner is turned on, the "SCSI card not found" error message appears. What happened?
    Reply: This is because the fuse is set on the SCSI card. When a bad circuit condition (voltage instability  …View >>>
    »[March 06, 2019]utkrasht say: My computer uses the Geforce2 MX400 graphics card, but it is not very smooth when playing some 3D ga ......
    Reply: From the enumerated phenomenon, there may be problems with high-end video memory. In general applica …View >>>
    Copyright © 2016-2019 mygoodtools.com All rights reserved.