当前位置:网站首页>Common troubleshooting tools and analysis artifacts are worth collecting
Common troubleshooting tools and analysis artifacts are worth collecting
2022-06-12 18:40:00 【Yangyongzhen】
As a software developer , How can we improve our development efficiency ? How to quickly solve the problems encountered in the development process ? According to my years of development experience and experience , We need to master some common software analysis tools , With these tools , It can analyze and solve problems quickly and efficiently .
1 Process analysis tools
1.1 ProcessHacker
function :ProcessHacker Is a good process analysis tool , You can view all process information , Including process loaded dll、 The file opened by the process 、 Process read / write registry ……, You can also set the memory space of a specific process Dump To local , You can also view the network connection .
The screenshot of the tool is as follows :
notes : View the details of a specific process , double-click Processes The name of the process in the list .
1.2 ProcessExplorer
function :ProcessExplorer Is a good process analysis tool , Microsoft official recommended tool , The stability and compatibility are relatively good . You can view the information of all processes , Including its loaded dll、 Threads created 、 network connections ……, Can also be Dump Out of the memory space of the process to the local .
1.3 ProcessMonitor
function :ProcessMonitor Is a real-time refresh process information monitoring tool , Microsoft official recommended tool , Stability and compatibility are also relatively excellent . The information presented is comprehensive , And every open handle 、 The registry 、 network connections …… Are associated with specific processes .
1.4 XueTr
function :XueTr( Official website www.xuetr.com) It's a Windows System information viewing software , Can assist in troubleshooting Trojans 、 Back door and other viruses , It can be used as an auxiliary tool for manual anti-virus ,XueTr( abbreviation XT) Is a powerful system information viewing software , It is also a powerful manual anti-virus software , It can easily find out the virus and Trojan horse in the computer , It is well known in the field of reverse and security . Its main functions include :
process 、 Threads 、 Process module 、 Process window 、 Process memory 、 Timer 、 Hotkey information view , Killing process 、 Kill thread 、 Unload module and other functions . Registry Editor , Port information view , Message hook view , Kernel driver module view , Support memory copy of kernel driver module .
3.SSDT、Shadow SSDT、FSD、Keyboard、TCPIP、Classpnp、Atapi、Acpi、SCSI、Mouse、IDT、GDT Information view , And can detect and recover ssdt hook and inline hook.
4.CreateProcess、CreateThread、LoadImage、CmpCallback、BugCheckCallback、Shutdown、Lego etc. Notify Routine Information view , And support for these Notify Routine The deletion of .
disk 、 volume 、 keyboard 、 Network layer and other filter driven detection , And support to delete .
process iat、eat、inline hook、patches Detection and recovery .
File system view , Support basic file operation .
see ( edit )IE plug-in unit 、SPI、 Start item 、 service 、Host file 、 Image hijacking 、 File associations 、 System firewall rules 、IME.
13.ObjectType Hook Detection and recovery .
14.DPC Timer detection and deletion .
15.MBR Rootkit Detect and repair .
Kernel object hijacking detection .
Other functions required for manual anti-virus , Such as repair LSP、 Fix safe mode, etc .
1.5 PCHunter
function :XueTr Enhanced Edition , Function and XueTr almost , Please refer to the picture above . Recommend more use of PCHunter, Reduce the probability of failure .
1.6 ProcessDump
function : The specified process can be , Separate all modules in its process space Dump come out , Even Dump Show hidden modules ( That is, the process loaded dll, This is usually injected ).
notes : This is a command line tool .
1.7 PsTools
function :PsTools Is the command line tool set , Microsoft officially recommends , It has many functions , The subfunctions it covers ( command ) as follows :
2 Traffic analysis tools
2.1 Wireshark
function :Wireshark Is a commonly used network packet capture tool , It can also be used for flow analysis .
2.2 Kolai network analysis
function : A flow analysis tool of Kelai company , contrast Wireshark Be relatively easy to use ( Especially for the beginner of traffic analysis ), Besides , The tool will automatically classify and count the traffic . In a sense , It's more convenient .
2.3 TCPView
function : View the network connection details of the system , The process corresponding to each connection 、 agreement 、 process 、 Source address 、 Source port 、 Connection status …… All in all , It can display all the details of the current active connection .
3 Launch item analysis tool
3.1 AutoRuns
function : A good startup analysis tool , Microsoft officially recommends . As long as the information related to the startup item is involved , All kinds of work, no matter how big or trivial , All of them can be queried , It is very convenient to find the startup item of the virus .
4 Information collection tools
4.1 FastIR
function : Collect critical logs for the operating system 、 The key information , Facilitate subsequent evidence collection, troubleshooting and analysis .
4.2 BrowsingHistoryView
function : Collect browser history , Easy to trace the domain name 、URL Whether the access source of is derived from user behavior .
5 Auxiliary tool
5.1 Hash
function : file hash Calculation tools , Computable file MD5、SHA1、CRC value , It can be used to help judge whether the file has been tampered with , Or use the hash value to check whether the Threat Intelligence website is a malicious file .
5.2 ntfsdir
function : The virus may also keep running for a long time by creating a service startup entry , Click on Autoruns Of Services function , Here's the picture , Check if there is any abnormal service startup entry .
5.3 Unlocker
function : You can forcibly delete files that are difficult to delete ( Include locked files ), To be installed , Right click menu after installation ”Unlocker“ The following interface will pop up :
6 Webshell Killing tools
6.1 wscan
function : A product deeply convinced of self-development Webshell Killing tools .
6.2 D shield
function :D Dun is a product of Di element technology Webshell Killing tools .
7 Special killing tools
7.1 The flying guest worm kills
function : A tool for checking and killing the flying guest worm virus .
Flying guest worm killing tools include kidokiller( Kaspersky )、TMCleanTool( Trend technology products ).
Kidokiller The running screenshot is as follows , All of the red boxes 0 Value indicates that there is no fly worm , If not 0 value , That is to say, the flying guest worm .
TMCleanTool The operation screenshot of is as follows , If there is a threat item, it indicates that you have been hit by the flying guest worm .
7.2 Ramnit Specialized killing
function : Specifically for Ramnit A tool for checking and killing family like viruses .
FxRamnit It is made by Symantec Ramnit Special killing tools , Its operation interface is as follows , Click on ”Start“ button :
notes : because Ramnit It's a total infectious virus , Therefore, the special killing tool runs for a long time , Wait patiently (FxRamnit It often gives people a kind of ” Feign death “ The feeling of ).
8. Performance testing tools ——gperftools
gperftools google Launched a performance analysis tool , It mainly consists of four components :
1、Tcmalloc Memory Analyzer
2、Heap-profiler
Heap-profiler Is a memory monitor , You can know the memory usage at any time [2].
3、Heap-checker
Heap-checker Is a special tool for detecting memory leaks
4、Cpu-profiler
Cpu-profiler Mainly through sampling , Give the actual occupation of the program in a period of time cpu Statistics and analysis of time deviation .
Relevant introductions can be seen : Home · gperftools/gperftools Wiki · GitHub
9. Memory detection tools Sanitizers
GitHub :https://github.com/google/Sanitizers
Using document : https://github.com/google/sanitizers/wiki
C++ It is easy for the program to cross the line 、 Memory leak 、 Repeated memory release 、 Hanging pointer, etc , These problems are a novice's nightmare , But in general C++ Tutorials never teach you how to solve these problems , As a result, many self scholars are human beings , Since then, it has cast a shadow on the psychology . In fact, it is aimed at C++ There are many tools that can be used to locate these problems , One of the most readily available is sanitizers, Because it has been integrated into the compiler (gcc/clang/msvc) in , Directly add the relevant compilation options to use , For the legendary terrible memory problem, most of them are skilled at catching it .
Sanitizers It is an open source tool set initiated by Google , It includes AddressSanitizer, MemorySanitizer, ThreadSanitizer, LeakSanitizer,Sanitizers The project is LLVM Part of the project , but GNU This series of tools has also been added to our own GCC In the compiler .GCC from 4.8 Version starting support Address and Thread Sanitizer,4.9 Version starting support Leak Sanitizer and UB Sanitizer, These are all find hidden Bug The sharp weapon of .
gcc/g++ Use sanitizer:
gcc/g++ To compile, you just need to sanitizer As a symbol of flag Can be set , as follows :
gcc/g++ -fsanitize=address -g -fno-omit-frame-pointer test.cpp
CMakeLists Use sanitizer :
Use CMAKE_CXX_FLAGS or add_compile_options It's ready to use , as follows :
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
Or use the following :
add_compile_options(-fsanitize=address -fno-omit-frame-pointer)
link_libraries(-fsanitize=address)
10. Performance profiling tools perf
Wiki:https://perf.wiki.kernel.org/index.php/Main_Page
Perf It's built into Linux Performance analysis in kernel source tree (profiling) Tools . It is based on the principle of event sampling , Based on Performance Events , It is often used to find performance bottlenecks and locate hot code .
Performance tuning tools such as perf,Oprofile The basic principle is to sample the monitored object , The simplest case is based on tick Interrupt sampling , That is to say tick Trigger sampling point in interrupt , Determine the current context of the program in the sampling point . Suppose a program 90% All the time spent on the function foo() On , that 90% All of the sampling points should fall in the function foo In the context of . As long as the sampling frequency is high enough , The sampling time is long enough , Then the above inference is more reliable . therefore , adopt tick Trigger sampling , We can find out which parts of the program are the most time consuming , So we can focus on .
11. Debugger tools Windbg
Windbg yes windows A powerful debugger for the system , It is very useful in resolving abnormal software crashes , It is one of the tools we use most .
We can statically analyze what is caught when an exception occurs dump file , Can also be Windbg Dynamically mount to the target process for debugging . For example, when encountering a dead cycle , The method of dynamic debugging can be adopted , stay Windbg Set code breakpoints in , You can determine in which function the dead loop occurs .
Windbg When troubleshooting abnormal problems , Its efficiency is much higher than that of checking the code directly .Windbg The introduction to is also relatively simple , You just need to master the common commands , Understand the stack distribution of function calls , Know the stack backtracking principle of function calls , But if you want to analyze it in depth , You need to have deep software development experience and assembly language foundation .
12.API Monitor
This tool can be used to explore which systems are called by other software when implementing some functions API:
13. The library depends on the viewing tool Dependency Walker
Depenency Walker It is a library dependency viewing tool , You can see dll Export interface information of the library , You can also view exe and dll Dependent library information for . The tool is early Visual Studio Built-in tools , current Visual Studio The tool is no longer packaged , Need to Depenency Walker Download it on the official website .
This tool is mainly used to troubleshoot the lack of Library errors when the program is started 、 No interface error is found .
quote
Netmail cup writeup-web part - _nul1 - Blog Garden
Performance testing tools gperftools Use - Let's have a look
gperftools Introduction to performance testing tools - Simple books
C++ Performance analysis tool gperftools - Simple books
The debugging artifact of the compiler sanitizers - You know
边栏推荐
- Quickly copy the request in browser F12 to postman/ or generate the corresponding code of the relevant language
- VirtualLab基础实验教程-6.闪耀光栅
- VirtualLab basic experiment tutorial -4 Single slit diffraction
- 快速复制浏览器F12中的请求到Postman/或者生成相关语言的对应代码
- torch.where的新用法(很老但是大家忽略的用法)
- Gd32f4xx controls dgus touch keys
- Implementing reflexive ACL in Cisco packet tracker
- 观察网站的页面
- Virtual Lab Basic Experiment tutoriel - 4. Diffraction à fente unique
- 从源码解析 MobX 响应式刷新机制
猜你喜欢
Adjust CEPH cluster image source
【矩阵论 & 图论】期末考试复习思维导图
Pytest automated testing framework (II)
论大型政策性银行贷后,如何数字化转型 ?-亿信华辰
Title 37: sorting 10 numbers
Gospel of audio and video developers, rapid integration of AI dubbing capability
General differences between SQL server versions released by Microsoft in different periods so far, for reference
VirtualLab basic experiment tutorial -6 Blazed grating
Review of MySQL (4): sorting operation
GD32F4xx控制DGUS 变量显示
随机推荐
Stack in JS (including leetcode examples) < continuous update ~>
279. perfect square
Experiment 10 Bezier curve generation - experiment improvement - interactive generation of B-spline curve
常用问题排查工具和分析神器,值得收藏
观察网站的页面
torch. New usage of where (old but ignored usage)
Gospel of audio and video developers, rapid integration of AI dubbing capability
yoloe 目标检测使用笔记
看不懂Kotlin源码?从Contracts 函数说起~
从源码解析 MobX 响应式刷新机制
VirtualLab基礎實驗教程-4.單縫衍射
Introduction to service grid and istio - continued
C语言练习(4)——大数乘除
Enhanced version of unit test code displayed by SAP e-commerce cloud Spartacus UI checkout spinner
Extracting strings with grep awk
配送交付时间轻量级预估实践-笔记
C语言学习——数据在内存中的存储
JS judge palindromes
标准库template学习入门原创
Pytest automated testing framework (II)