Online Scan: Analyze intel_opencl_icd32.dll file and fix runtime errors, Fix System Error
Welcome to my blog. I found a malicious code that was added into the
intel_opencl_icd32.dll file. Due to infection by malicious code, the file contents changed. The MD5 value of the infected file is:
058180789788744b214403b42b027e08, and the file size is:
300 K ( 307,206 bytes )
Risk level of malicious code
( 3 stars by 100 users )
Behavior of malicious code ( 187 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.
Binary Code Analysis:
When the program runs, the PE loader will try to load the file to 0x10000000 in the virtual address space, Address Of Entry Point: 0x00003EF0. This file has 6 SECTION.
DOS Header
DOS Stub
...
.text SECTION #1
.rdata SECTION #2
.data SECTION #3
.rsrc SECTION #4
.reloc SECTION #5
.text SECTION #6
-
- Name
- Virtual Size
- Virtual Address
- Size Of Raw Data
- Pointer To Raw Data
- Pointer To Relocations
- Pointer To Linenumbers
- Number Of Relocations
- Number Of Linenumbers
- Characteristics
- SECTION #1
- .text
- 0x0000CDC6
- 0x00001000
- 0x0000CE00
- 0x00000400
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0x60000020
- SECTION #2
- .rdata
- 0x00005868
- 0x0000E000
- 0x00005A00
- 0x0000D200
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0x40000040
- SECTION #3
- .data
- 0x00002F40
- 0x00014000
- 0x00001200
- 0x00012C00
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0xC0000040
- SECTION #4
- .rsrc
- 0x00000320
- 0x00017000
- 0x00000400
- 0x00013E00
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0x40000040
- SECTION #5
- .reloc
- 0x00000E20
- 0x00018000
- 0x00001000
- 0x00014200
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0x42000040
-
- Name
- Virtual Size
- Virtual Address
- Size Of Raw Data
- Pointer To Raw Data
- Pointer To Relocations
- Pointer To Linenumbers
- Number Of Relocations
- Number Of Linenumbers
- Characteristics
- SECTION #6
- .text
- 0x0001B000
- 0x00019000
- 0x0001AE00
- 0x00015200
- 0x00000000
- 0x00000000
- 0x00000000
- 0x00000000
- 0xE0000020
About this malicious code
This malicious code is a 32-bit program that infects an DLL 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:
• intel_opencl_icd32.dll
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\boot\resources\de-de\
• c:\windows\system32\drivers\zh-cn\
• c:\windows\system32\e177e04d548c4006a465eeb92d3de021\runtime\objects\
• c:\windows\softwaredistribution.bck\download\dd9ae82a22379d79f28dbbbd0b0f5df4\x86_microsoft-windows-t..ournalnotewriterqfe_31bf3856ad364e35_6.3.9600.18295_none_e22dff809a45cf47\
• c:\windows\configsetroot\software\ai_suiteiii\usb 3 boost - v1.10.00\appsetup\uasdriver\i386\
• c:\windows\updatepack7live\kb3042058\x86_microsoft-windows-m..ditevtlog.resources_31bf3856ad364e35_6.1.7601.18812_hu-hu_45fe4f5f8f793563\
• c:\windows\eole\
• c:\windows\resources\themes\blade\shell\normalcolor\
• c:\windows\temp\7zs0dc39572\system64\drivers\2003\
• c:\windows\panther\rollback\efi\microsoft\boot\resources\nb-no\
• c:\windows\system32\nladm\bin\imageformats\
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.
At runtime, 2 Windows system files, 0 external files (not owned by the Windows system), are called
Windows system files
File nameNumber of calling functions
KERNEL32.dll62ADVAPI32.dll3
Not owned by the windows system
File nameNumber 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.
Export function:
The following function is a function provided by this file. The export function is useful for analyzing the specific behavior of a runtime file, starting from the function entry address, and debugging the code line by line. You can get a lot of data generated by this file.
intel_opencl_icd32.dll 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. )
LoadLibraryA: Loads the specified module into the address space of the calling process. The specified module may cause other modules to be loaded.GetProcAddress: Retrieves the address of an exported function or variable from the specified dynamic-link library (DLL).GetLastError: Retrieves the calling thread's last-error code value.GetCurrentThreadId: Retrieves the thread identifier of the calling thread.IsDebuggerPresent: Determines whether the calling process is being debugged by a user-mode debugger.ExitProcess: Ends the calling process and all its threads.GetModuleHandleExW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.GetStdHandle: Retrieves a handle to the specified standard device (standard input, standard output, or standard error).GetModuleFileNameW: Retrieves the fully qualified path for the file that contains the specified module.GetStartupInfoW: Retrieves the contents of the STARTUPINFO structure that was specified when the calling process was created.GetModuleFileNameA: Retrieves the fully qualified path for the file that contains the specified module.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.GetCurrentProcessId: Retrieves the process identifier of the calling process.GetSystemTimeAsFileTime: Retrieves the current system date and time. The information is in Coordinated Universal Time (UTC) format.GetEnvironmentStringsW: Retrieves the environment variables for the current process.FreeEnvironmentStringsW: Frees a block of environment strings.UnhandledExceptionFilter: An application-defined function that passes unhandled exceptions to the debugger, if the process is being debugged.SetUnhandledExceptionFilter: Enables an application to supersede the top-level exception handler of each thread of a process.GetCurrentProcess: Retrieves a pseudo handle for the current process.TerminateProcess: Ends the calling process and all its threads.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.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.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.GetModuleHandleW: Retrieves a module handle for the specified module. The module must have been loaded by the calling process.RtlUnwind: Initiates an unwind of procedure call frames.FlushFileBuffers: Flushes the buffers of a specified file and causes all buffered data to be written to a file.GetConsoleMode: Retrieves the current input mode of a console's input buffer or the current output mode of a console screen buffer.WriteConsoleW: Writes a character string to a console screen buffer beginning at the current cursor location.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.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\ )
RegOpenKeyExA: 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 intel_opencl_icd32.dll; some files are another type of malicious file, but use the same file name as intel_opencl_icd32.dll.
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
- 058180789788744b214403b42b027e08
- 300 K
- 32 bit
- DLL
- → View Binary Code
- 7908df88df86fcd9ad686efff2c6b11e
- 242 K
- 32 bit
- DLL
- → View Binary Code
How to repair or remove intel_opencl_icd32.dll
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)
• 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 [
intel_opencl_icd32.dll ]
• c:\windows\boot\resources\de-de\
• c:\windows\system32\drivers\zh-cn\
• c:\windows\system32\e177e04d548c4006a465eeb92d3de021\runtime\objects\
• c:\windows\softwaredistribution.bck\download\dd9ae82a22379d79f28dbbbd0b0f5df4\x86_microsoft-windows-t..ournalnotewriterqfe_31bf3856ad364e35_6.3.9600.18295_none_e22dff809a45cf47\
• c:\windows\configsetroot\software\ai_suiteiii\usb 3 boost - v1.10.00\appsetup\uasdriver\i386\
• c:\windows\updatepack7live\kb3042058\x86_microsoft-windows-m..ditevtlog.resources_31bf3856ad364e35_6.1.7601.18812_hu-hu_45fe4f5f8f793563\
• 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 intel_opencl_icd32.dll
If you don't know if intel_opencl_icd32.dll 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.
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:
mcu.exe file analysisdopdfin7.exe file analysisdopdf.exe file analysisocl_cpu_intelopencl32.dll file analysiswinmon.sys#a4ceebe921574ac8 file analysiswinmonprocessmonitor.sys#50b8293a3f329df3 file analysisuma.exe file analysisuma-client.exe file analysishawae 16.02.3.exe file analysis