The strings utility extracts human-readable strings from binary files.

ಸ್ಟ್ರಿಂಗ್ಸ್ ಉಪಯುಕ್ತತೆಯು ಬೈನರಿ ಫೈಲ್‌ಗಳಿಂದ ಮಾನವ-ಓದಬಲ್ಲ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯುತ್ತದೆ.


Malware authors often use obfuscation to hide strings.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಸಾಮಾನ್ಯವಾಗಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಮರೆಮಾಡಲು ಅಸ್ಪಷ್ಟತೆಯನ್ನು ಬಳಸುತ್ತಾರೆ.


FLOSS is a tool to automatically extract obfuscated strings from malware.

FLOSS ಮಾಲ್ವೇರ್‌ನಿಂದ ಅಸ್ಪಷ್ಟ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊರತೆಗೆಯಲು ಒಂದು ಸಾಧನವಾಗಿದೆ.


ನೀವು GitHub ನಿಂದ FLOSS ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು.


FLOSS can extract both ASCII and Unicode strings.

FLOSS ASCII ಮತ್ತು ಯುನಿಕೋಡ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯಬಹುದು.


Malware authors use packers and cryptors to obfuscate files.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಫೈಲ್‌ಗಳನ್ನು ಅಸ್ಪಷ್ಟಗೊಳಿಸಲು ಪ್ಯಾಕರ್‌ಗಳು ಮತ್ತು ಕ್ರಿಪ್ಟರ್‌ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


Packers compress the executable's content.

ಪ್ಯಾಕರ್‌ಗಳು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ವಿಷಯವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುತ್ತವೆ.


Cryptors encrypt the executable's content.

ಕ್ರಿಪ್ಟರ್‌ಗಳು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ವಿಷಯವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತಾರೆ.


Exeinfo PE ಪ್ಯಾಕರ್‌ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಒಂದು ಸಾಧನವಾಗಿದೆ.


Windows executables conform to the PE/COFF format.

ವಿಂಡೋಸ್ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳು PE/COFF ಸ್ವರೂಪಕ್ಕೆ ಅನುಗುಣವಾಗಿರುತ್ತವೆ.


The PE header describes the structure of the executable.

PE ಹೆಡರ್ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ರಚನೆಯನ್ನು ವಿವರಿಸುತ್ತದೆ.


Inspecting file dependencies can reveal malware functionality.

ಫೈಲ್ ಅವಲಂಬನೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದರಿಂದ ಮಾಲ್ವೇರ್‌ನ ಕಾರ್ಯವನ್ನು ಬಹಿರಂಗಪಡಿಸಬಹುದು.


Imports are functions an executable calls from DLLs.

ಆಮದುಗಳು ಎಂದರೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ DLL ಗಳಿಂದ ಕರೆಯುವ ಕಾರ್ಯಗಳಾಗಿವೆ.


Pestudio displays DLL files and imported functions.

Pestudio DLL ಫೈಲ್‌ಗಳು ಮತ್ತು ಆಮದು ಮಾಡಿದ ಕಾರ್ಯಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.


Malware often imports network-related API functions.

ಮಾಲ್ವೇರ್ ಸಾಮಾನ್ಯವಾಗಿ ನೆಟ್‌ವರ್ಕ್-ಸಂಬಂಧಿತ API ಕಾರ್ಯಗಳನ್ನು ಆಮದು ಮಾಡುತ್ತದೆ.


Exports are functions a DLL makes available to other programs.

ರಫ್ತುಗಳು ಎಂದರೆ DLL ಇತರ ಪ್ರೋಗ್ರಾಂಗಳಿಗೆ ಲಭ್ಯವಾಗುವಂತೆ ಮಾಡುವ ಕಾರ್ಯಗಳಾಗಿವೆ.


Examining the PE section table can help identify anomalies.

PE ವಿಭಾಗದ ಕೋಷ್ಟಕವನ್ನು ಪರೀಕ್ಷಿಸುವುದರಿಂದ ವೈಪರೀತ್ಯಗಳನ್ನು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡಬಹುದು.


The compilation timestamp can provide clues about malware creation.

ಸಂಕಲನ ಸಮಯದ ಮುದ್ರೆಯು ಮಾಲ್ವೇರ್ ರಚನೆಯ ಬಗ್ಗೆ ಸುಳಿವುಗಳನ್ನು ಒದಗಿಸಬಹುದು.


Resources like icons and strings are stored in the resource section.

ಚಿಹ್ನೆಗಳು ಮತ್ತು ಸ್ಟ್ರಿಂಗ್‌ಗಳಂತಹ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಸಂಪನ್ಮೂಲ ವಿಭಾಗದಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.


Fuzzy hashing is used to compare files for similarity.

ಫೈಲ್‌ಗಳನ್ನು ಹೋಲಿಕೆ ಮಾಡಲು ಫಝಿ ಹ್ಯಾಶಿಂಗ್ ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.


The fuzzy hashing technique identified the similarity between the samples.

ಫಜಿ ಹ್ಯಾಶಿಂಗ್ ತಂತ್ರವು ಮಾದರಿಗಳ ನಡುವಿನ ಸಾಮ್ಯತೆಯನ್ನು ಗುರುತಿಸಿತು.


You might have a directory containing many malware samples.

ನೀವು ಅನೇಕ ಮಾಲ್ವೇರ್ ಮಾದರಿಗಳನ್ನು ಹೊಂದಿರುವ ಡೈರೆಕ್ಟರಿಯನ್ನು ಹೊಂದಿರಬಹುದು.


You can also match a suspect binary with a list of file hashes.

ನೀವು ಅನುಮಾನಾಸ್ಪದ ಬೈನರಿಯನ್ನು ಫೈಲ್ ಹ್ಯಾಶ್‌ಗಳ ಪಟ್ಟಿಯೊಂದಿಗೆ ಹೊಂದಿಸಬಹುದು.


In Python, the fuzzy hash can be computed using python-ssdeep.

ಪೈಥಾನ್‌ನಲ್ಲಿ, ಫಜಿ ಹ್ಯಾಶ್ ಅನ್ನು ಪೈಥಾನ್-ಎಸ್ಸ್‌ಡೀಪ್ ಬಳಸಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡಬಹುದು.


Import Hashing is another technique that can be used to identify related samples.

ಸಂಬಂಧಿತ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಲು ಆಮದು ಹ್ಯಾಶಿಂಗ್ ಮತ್ತೊಂದು ತಂತ್ರವಾಗಿದೆ.


If the files were compiled from the same source and in the same manner, those files would tend to have the same imphash value.

ಫೈಲ್‌ಗಳನ್ನು ಒಂದೇ ಮೂಲದಿಂದ ಮತ್ತು ಅದೇ ರೀತಿಯಲ್ಲಿ ಕಂಪೈಲ್ ಮಾಡಿದ್ದರೆ, ಆ ಫೈಲ್‌ಗಳು ಒಂದೇ ಇಂಪ್‌ಹ್ಯಾಶ್ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿರುತ್ತವೆ.


Files having the same imphash does not necessarily mean they are from the same threat group.

ಒಂದೇ ಇಂಪ್‌ಹ್ಯಾಶ್ ಹೊಂದಿರುವ ಫೈಲ್‌ಗಳು ಒಂದೇ ಬೆದರಿಕೆ ಗುಂಪಿಗೆ ಸೇರಿವೆ ಎಂದು ಅರ್ಥವಲ್ಲ.


Similar to import hashing, section hashing can also help in identifying related samples.

ಆಮದು ಹ್ಯಾಶಿಂಗ್‌ನಂತೆಯೇ, ವಿಭಾಗ ಹ್ಯಾಶಿಂಗ್ ಸಂಬಂಧಿತ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.


When you are analyzing a malware sample, you should consider generating the fuzzy hash, imphash, and section hashes.

ನೀವು ಮಾಲ್ವೇರ್ ಮಾದರಿಯನ್ನು ವಿಶ್ಲೇಷಿಸುತ್ತಿರುವಾಗ, ನೀವು ಫಜಿ ಹ್ಯಾಶ್, ಇಂಪ್‌ಹ್ಯಾಶ್ ಮತ್ತು ವಿಭಾಗ ಹ್ಯಾಶ್‌ಗಳನ್ನು ರಚಿಸುವುದನ್ನು ಪರಿಗಣಿಸಬೇಕು.


A malware sample can contain many strings or binary indicators.

ಮಾಲ್ವೇರ್ ಮಾದರಿಯು ಅನೇಕ ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಅಥವಾ ಬೈನರಿ ಸೂಚಕಗಳನ್ನು ಹೊಂದಿರಬಹುದು.


YARA is a powerful malware identification and classification tool.

YARA ಒಂದು ಶಕ್ತಿಯುತ ಮಾಲ್ವೇರ್ ಗುರುತಿಸುವಿಕೆ ಮತ್ತು ವರ್ಗೀಕರಣ ಸಾಧನವಾಗಿದೆ.


Malware researchers can create YARA rules based on textual or binary information.

ಮಾಲ್ವೇರ್ ಸಂಶೋಧಕರು ಪಠ್ಯ ಅಥವಾ ಬೈನರಿ ಮಾಹಿತಿಯನ್ನು ಆಧರಿಸಿ YARA ನಿಯಮಗಳನ್ನು ರಚಿಸಬಹುದು.


The YARA rule consists of the following components.

YARA ನಿಯಮವು ಕೆಳಗಿನ ಘಟಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


ಇದು ನಿಯಮವನ್ನು ವಿವರಿಸುವ ಹೆಸರಾಗಿದೆ.


This section can be omitted if the rule does not rely on any strings.

ನಿಯಮವು ಯಾವುದೇ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಅವಲಂಬಿಸದಿದ್ದರೆ ಈ ವಿಭಾಗವನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು.


This is where the logic of the rule resides.

ಇದು ನಿಯಮದ ತರ್ಕವು ನೆಲೆಗೊಂಡಿರುವ ಸ್ಥಳವಾಗಿದೆ.


Once you have the rule ready, the next step is to use the yara utility.

ನೀವು ನಿಯಮವನ್ನು ಸಿದ್ಧಪಡಿಸಿದ ನಂತರ, ಮುಂದಿನ ಹಂತವೆಂದರೆ ಯರಾ ಉಪಯುಕ್ತತೆಯನ್ನು ಬಳಸುವುದು.


The preceding rule, by default will match on ASCII strings.

ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಹಿಂದಿನ ನಿಯಮವು ASCII ಸ್ಟ್ರಿಂಗ್‌ಗಳ ಮೇಲೆ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ.


If your intention is to look for strings in an executable file, you can create a rule as shown below.

ನಿಮ್ಮ ಉದ್ದೇಶವು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ನಲ್ಲಿ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಹುಡುಕುವುದಾದರೆ, ನೀವು ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ ನಿಯಮವನ್ನು ರಚಿಸಬಹುದು.


YARA is a powerful tool; creating YARA rules to scan a repository of known samples can identify and classify samples having the same characteristics.

YARA ಒಂದು ಶಕ್ತಿಯುತ ಸಾಧನವಾಗಿದೆ; ತಿಳಿದಿರುವ ಮಾದರಿಗಳ ರೆಪೊಸಿಟರಿಯನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಲು YARA ನಿಯಮಗಳನ್ನು ರಚಿಸುವುದರಿಂದ ಒಂದೇ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಹೊಂದಿರುವ ಮಾದರಿಗಳನ್ನು ಗುರುತಿಸಬಹುದು ಮತ್ತು ವರ್ಗೀಕರಿಸಬಹುದು.


Learning Malware Analysis explores the concepts, tools, and techniques to analyze and investigate Windows malware.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಕಲಿಯುವುದು ವಿಂಡೋಸ್ ಮಾಲ್ವೇರ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಮತ್ತು ತನಿಖೆ ಮಾಡಲು ಪರಿಕಲ್ಪನೆಗಳು, ಪರಿಕರಗಳು ಮತ್ತು ತಂತ್ರಗಳನ್ನು ಅನ್ವೇಷಿಸುತ್ತದೆ.


This book teaches the concepts, tools, and techniques to understand the behavior and characteristics of Windows malware.

ಈ ಪುಸ್ತಕವು ವಿಂಡೋಸ್ ಮಾಲ್ವೇರ್‌ನ ನಡವಳಿಕೆ ಮತ್ತು ಗುಣಲಕ್ಷಣಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪರಿಕಲ್ಪನೆಗಳು, ಪರಿಕರಗಳು ಮತ್ತು ತಂತ್ರಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


Malware analysis has become a must-have skill for fighting advanced malware and targeted attacks.

ಸುಧಾರಿತ ಮಾಲ್ವೇರ್ ಮತ್ತು ಗುರಿ ದಾಳಿಗಳನ್ನು ಎದುರಿಸಲು ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯು ಅತ್ಯಗತ್ಯ ಕೌಶಲ್ಯವಾಗಿದೆ.


If you're an incident responder, cybersecurity investigator, or a curious security professional, this book is for you.

ನೀವು ಘಟನೆ ಪ್ರತಿಕ್ರಿಯಿಸುವವರಾಗಿದ್ದರೆ, ಸೈಬರ್ ಸುರಕ್ಷತಾ ತನಿಖಾಧಿಕಾರಿಯಾಗಿದ್ದರೆ ಅಥವಾ ಕುತೂಹಲಕಾರಿ ಭದ್ರತಾ ವೃತ್ತಿಪರರಾಗಿದ್ದರೆ, ಈ ಪುಸ್ತಕವು ನಿಮಗಾಗಿ ಆಗಿದೆ.


Chapter 1 introduces readers to the concept of malware analysis and setting up an isolated malware analysis lab environment.

ಅಧ್ಯಾಯ 1 ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯ ಪರಿಕಲ್ಪನೆ ಮತ್ತು ಪ್ರತ್ಯೇಕ ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣಾ ಪ್ರಯೋಗಾಲಯದ ವಾತಾವರಣವನ್ನು ಸ್ಥಾಪಿಸುವುದನ್ನು ಓದುಗರಿಗೆ ಪರಿಚಯಿಸುತ್ತದೆ.


Chapter 2 teaches the tools and techniques to extract metadata information from the malicious binary.

ಅಧ್ಯಾಯ 2 ದುರುದ್ದೇಶಪೂರಿತ ಬೈನರಿಯಿಂದ ಮೆಟಾಡೇಟಾ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯಲು ಪರಿಕರಗಳು ಮತ್ತು ತಂತ್ರಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


You'll learn how to determine various aspects of the binary without executing it.

ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸದೆ ಬೈನರಿಯ ವಿವಿಧ ಅಂಶಗಳನ್ನು ಹೇಗೆ ನಿರ್ಧರಿಸಬೇಕೆಂದು ನೀವು ಕಲಿಯುವಿರಿ.


Chapter 3 teaches the tools and techniques to determine the behavior of the malware and its interaction with the system.

ಅಧ್ಯಾಯ 3 ಮಾಲ್ವೇರ್‌ನ ನಡವಳಿಕೆ ಮತ್ತು ಸಿಸ್ಟಮ್‌ನೊಂದಿಗಿನ ಅದರ ಪರಸ್ಪರ ಕ್ರಿಯೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಪರಿಕರಗಳು ಮತ್ತು ತಂತ್ರಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


You'll learn how to obtain the network and host-based indicators associated with the malware.

ಮಾಲ್ವೇರ್‌ನೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ನೆಟ್‌ವರ್ಕ್ ಮತ್ತು ಹೋಸ್ಟ್-ಆಧಾರಿತ ಸೂಚಕಗಳನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು ಎಂಬುದನ್ನು ನೀವು ಕಲಿಯುವಿರಿ.


Chapter 4 gives a basic understanding of assembly language and teaches the necessary skills required to perform code analysis.

ಅಧ್ಯಾಯ 4 ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯ ಮೂಲಭೂತ ತಿಳುವಳಿಕೆಯನ್ನು ನೀಡುತ್ತದೆ ಮತ್ತು ಕೋಡ್ ವಿಶ್ಲೇಷಣೆ ಮಾಡಲು ಅಗತ್ಯವಿರುವ ಕೌಶಲ್ಯಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


Chapter 5 covers the features of IDA Pro Disassembler, and you will learn how to use IDA Pro to perform static code analysis.

ಅಧ್ಯಾಯ 5 IDA Pro ಡಿಸೆಂಬ್ಲರ್‌ನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿದೆ ಮತ್ತು ಸ್ಥಿರ ಕೋಡ್ ವಿಶ್ಲೇಷಣೆ ಮಾಡಲು IDA Pro ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ನೀವು ಕಲಿಯುವಿರಿ.


Chapter 6 teaches the technique of debugging a binary using x64dbg and IDA Pro debugger.

ಅಧ್ಯಾಯ 6 x64dbg ಮತ್ತು IDA Pro ಡೀಬಗರ್ ಬಳಸಿ ಬೈನರಿಯನ್ನು ಡೀಬಗ್ ಮಾಡುವ ತಂತ್ರವನ್ನು ಕಲಿಸುತ್ತದೆ.


You will learn how to use a debugger to control the execution of a program and to manipulate a program's behavior.

ಪ್ರೋಗ್ರಾಂನ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸಲು ಮತ್ತು ಪ್ರೋಗ್ರಾಂನ ನಡವಳಿಕೆಯನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸಲು ಡೀಬಗರ್ ಅನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ನೀವು ಕಲಿಯುವಿರಿ.


Chapter 7 describes various functionalities of malware using reverse engineering.

ಅಧ್ಯಾಯ 7 ರಿವರ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಬಳಸಿ ಮಾಲ್ವೇರ್‌ನ ವಿವಿಧ ಕಾರ್ಯಚಟುವಟಿಕೆಗಳನ್ನು ವಿವರಿಸುತ್ತದೆ.


It also covers various persistence methods used by the malicious programs.

ಇದು ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂಗಳಿಂದ ಬಳಸಲಾಗುವ ವಿವಿಧ ನಿರಂತರ ವಿಧಾನಗಳನ್ನು ಸಹ ಒಳಗೊಂಡಿದೆ.


Chapter 8 teaches common code injection techniques used by the malicious programs.

ಅಧ್ಯಾಯ 8 ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂಗಳಿಂದ ಬಳಸಲಾಗುವ ಸಾಮಾನ್ಯ ಕೋಡ್ ಇಂಜೆಕ್ಷನ್ ತಂತ್ರಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


It also describes the hooking techniques used by the malware to redirect control to the malicious code.

ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್‌ಗೆ ನಿಯಂತ್ರಣವನ್ನು ಮರುನಿರ್ದೇಶಿಸಲು ಮಾಲ್ವೇರ್ ಬಳಸುವ ಹುಕಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಸಹ ಇದು ವಿವರಿಸುತ್ತದೆ.


Chapter 9 covers encoding, encryption, and packing techniques used by the malicious programs.

ಅಧ್ಯಾಯ 9 ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂಗಳಿಂದ ಬಳಸಲಾಗುವ ಎನ್‌ಕೋಡಿಂಗ್, ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಮತ್ತು ಪ್ಯಾಕಿಂಗ್ ತಂತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


Chapter 10 teaches techniques to detect malicious components using memory forensics.

ಅಧ್ಯಾಯ 10 ಮೆಮೊರಿ ವಿಧಿವಿಜ್ಞಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದುರುದ್ದೇಶಪೂರಿತ ಘಟಕಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ತಂತ್ರಗಳನ್ನು ಕಲಿಸುತ್ತದೆ.


You will learn various Volatility plugins to detect and identify forensic artifacts in memory.

ಮೆಮೊರಿಯಲ್ಲಿ ವಿಧಿವಿಜ್ಞಾನದ ಕಲಾಕೃತಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ಗುರುತಿಸಲು ನೀವು ವಿವಿಧ ವೋಲಟಿಲಿಟಿ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಕಲಿಯುವಿರಿ.


If you have found a mistake in this book, we would be grateful if you would report this to us.

ನೀವು ಈ ಪುಸ್ತಕದಲ್ಲಿ ಯಾವುದೇ ತಪ್ಪು ಕಂಡುಕೊಂಡಿದ್ದರೆ, ದಯವಿಟ್ಟು ನಮಗೆ ವರದಿ ಮಾಡಿದರೆ ನಾವು ಕೃತಜ್ಞರಾಗಿರುತ್ತೇವೆ.


Please visit www.packtpub.com/submit-errata, selecting your book, clicking on the Errata Submission Form link, and entering the details.

ದಯವಿಟ್ಟು www.packtpub.com/submit-errata ಗೆ ಭೇಟಿ ನೀಡಿ, ನಿಮ್ಮ ಪುಸ್ತಕವನ್ನು ಆಯ್ಕೆಮಾಡಿ, ಎರ್ರಾಟಾ ಸಲ್ಲಿಕೆ ಫಾರ್ಮ್ ಲಿಂಕ್ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ವಿವರಗಳನ್ನು ನಮೂದಿಸಿ.


If you come across any illegal copies of our works in any form on the Internet, we would be grateful if you would provide us with the location address or website name.

ನೀವು ಅಂತರ್ಜಾಲದಲ್ಲಿ ನಮ್ಮ ಕೃತಿಗಳ ಯಾವುದೇ ಕಾನೂನುಬಾಹಿರ ಪ್ರತಿಗಳನ್ನು ಕಂಡರೆ, ದಯವಿಟ್ಟು ನಮಗೆ ಸ್ಥಳದ ವಿಳಾಸ ಅಥವಾ ವೆಬ್‌ಸೈಟ್ ಹೆಸರನ್ನು ಒದಗಿಸಿದರೆ ನಾವು ಕೃತಜ್ಞರಾಗಿರುತ್ತೇವೆ.


Please contact us at copyright@packtpub.com with a link to the material.

ವಸ್ತುವಿಗೆ ಲಿಂಕ್‌ನೊಂದಿಗೆ ದಯವಿಟ್ಟು copyright@packtpub.com ನಲ್ಲಿ ನಮ್ಮನ್ನು ಸಂಪರ್ಕಿಸಿ.


If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, please visit authors.packtpub.com.

ನೀವು ಪರಿಣತಿ ಹೊಂದಿರುವ ವಿಷಯವಿದ್ದರೆ ಮತ್ತು ಪುಸ್ತಕವನ್ನು ಬರೆಯಲು ಅಥವಾ ಕೊಡುಗೆ ನೀಡಲು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ, ದಯವಿಟ್ಟು authors.packtpub.com ಗೆ ಭೇಟಿ ನೀಡಿ.


Once you have read and used this book, why not leave a review on the site that you purchased it from?

ನೀವು ಈ ಪುಸ್ತಕವನ್ನು ಓದಿ ಬಳಸಿದ ನಂತರ, ನೀವು ಅದನ್ನು ಖರೀದಿಸಿದ ಸೈಟ್‌ನಲ್ಲಿ ವಿಮರ್ಶೆಯನ್ನು ಏಕೆ ಬಿಡಬಾರದು?


Potential readers can then see and use your unbiased opinion to make purchase decisions.

ಸಂಭಾವ್ಯ ಓದುಗರು ನಂತರ ನಿಮ್ಮ ಪಕ್ಷಪಾತವಿಲ್ಲದ ಅಭಿಪ್ರಾಯವನ್ನು ನೋಡಿ ಮತ್ತು ಖರೀದಿ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳಲು ಬಳಸಬಹುದು.


We at Packt can understand what you think about our products, and our authors can see your feedback on their book.

ಪ್ಯಾಕ್ಟ್‌ನಲ್ಲಿ ನಾವು ನಮ್ಮ ಉತ್ಪನ್ನಗಳ ಬಗ್ಗೆ ನೀವು ಏನು ಯೋಚಿಸುತ್ತೀರಿ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು ಮತ್ತು ನಮ್ಮ ಲೇಖಕರು ನಿಮ್ಮ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಅವರ ಪುಸ್ತಕದ ಮೇಲೆ ನೋಡಬಹುದು.


For more information about Packt, please visit packtpub.com.

ಪ್ಯಾಕ್ಟ್ ಬಗ್ಗೆ ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ, ದಯವಿಟ್ಟು packtpub.com ಗೆ ಭೇಟಿ ನೀಡಿ.


The number of cyber attacks is undoubtedly on the rise, targeting government, military, public and private sectors.

ಸೈಬರ್ ದಾಳಿಗಳ ಸಂಖ್ಯೆ ನಿಸ್ಸಂದೇಹವಾಗಿ ಹೆಚ್ಚುತ್ತಿದೆ, ಸರ್ಕಾರ, ಮಿಲಿಟರಿ, ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ವಲಯಗಳನ್ನು ಗುರಿಯಾಗಿಸಿಕೊಂಡಿದೆ.


These cyber attacks focus on targeting individuals or organizations with an effort to extract valuable information.

ಈ ಸೈಬರ್ ದಾಳಿಗಳು ಅಮೂಲ್ಯವಾದ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯುವ ಪ್ರಯತ್ನದೊಂದಿಗೆ ವ್ಯಕ್ತಿಗಳು ಅಥವಾ ಸಂಸ್ಥೆಗಳನ್ನು ಗುರಿಯಾಗಿಸುವ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸುತ್ತವೆ.


Sometimes, these cyber attacks are allegedly linked to cybercrime or state-sponsored groups, but may also be carried out by individual groups to achieve their goals.

ಕೆಲವೊಮ್ಮೆ, ಈ ಸೈಬರ್ ದಾಳಿಗಳು ಸೈಬರ್ ಅಪರಾಧ ಅಥವಾ ರಾಜ್ಯ-ಪ್ರಾಯೋಜಿತ ಗುಂಪುಗಳಿಗೆ ಸಂಬಂಧಿಸಿವೆ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, ಆದರೆ ವೈಯಕ್ತಿಕ ಗುಂಪುಗಳು ತಮ್ಮ ಗುರಿಗಳನ್ನು ಸಾಧಿಸಲು ಸಹ ನಡೆಸಬಹುದು.


Most of these cyber attacks use malicious software (also called malware) to infect their targets.

ಈ ಹೆಚ್ಚಿನ ಸೈಬರ್ ದಾಳಿಗಳು ತಮ್ಮ ಗುರಿಗಳನ್ನು ಸೋಂಕು ತಗುಲಿಸಲು ದುರುದ್ದೇಶಪೂರಿತ ಸಾಫ್ಟ್‌ವೇರ್ (ಮಾಲ್‌ವೇರ್ ಎಂದೂ ಕರೆಯುತ್ತಾರೆ) ಬಳಸುತ್ತವೆ.


Knowledge, skills, and tools required to analyze malicious software are essential to detect, investigate and defend against such attacks.

ದುರುದ್ದೇಶಪೂರಿತ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಲು ಅಗತ್ಯವಿರುವ ಜ್ಞಾನ, ಕೌಶಲ್ಯ ಮತ್ತು ಪರಿಕರಗಳು ಅಂತಹ ದಾಳಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ತನಿಖೆ ಮಾಡಲು ಮತ್ತು ರಕ್ಷಿಸಲು ಅತ್ಯಗತ್ಯ.


Malware is a code that performs malicious actions; it can take the form of an executable, script, code, or any other software.

ಮಾಲ್ವೇರ್ ಎಂದರೆ ದುರುದ್ದೇಶಪೂರಿತ ಕ್ರಿಯೆಗಳನ್ನು ನಿರ್ವಹಿಸುವ ಕೋಡ್; ಇದು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ, ಸ್ಕ್ರಿಪ್ಟ್, ಕೋಡ್ ಅಥವಾ ಯಾವುದೇ ಇತರ ಸಾಫ್ಟ್‌ವೇರ್ ರೂಪವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.


Attackers use malware to steal sensitive information, spy on the infected system, or take control of the system.

ದಾಳಿಕೋರರು ಸೂಕ್ಷ್ಮ ಮಾಹಿತಿಯನ್ನು ಕದಿಯಲು, ಸೋಂಕಿತ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬೇಹುಗಾರಿಕೆ ಮಾಡಲು ಅಥವಾ ಸಿಸ್ಟಮ್ ಅನ್ನು ನಿಯಂತ್ರಿಸಲು ಮಾಲ್ವೇರ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ.


It typically gets into your system without your consent and can be delivered via various communication channels such as email, web, or USB drives.

ಇದು ಸಾಮಾನ್ಯವಾಗಿ ನಿಮ್ಮ ಸಮ್ಮತಿಯಿಲ್ಲದೆ ನಿಮ್ಮ ಸಿಸ್ಟಮ್‌ಗೆ ಬರುತ್ತದೆ ಮತ್ತು ಇಮೇಲ್, ವೆಬ್ ಅಥವಾ ಯುಎಸ್‌ಬಿ ಡ್ರೈವ್‌ಗಳಂತಹ ವಿವಿಧ ಸಂವಹನ ಚಾನಲ್‌ಗಳ ಮೂಲಕ ತಲುಪಿಸಬಹುದು.


Malware is a broad term that refers to different types of malicious programs such as trojans, viruses, worms, and rootkits.

ಮಾಲ್ವೇರ್ ಎನ್ನುವುದು ಟ್ರೋಜನ್‌ಗಳು, ವೈರಸ್‌ಗಳು, ವರ್ಮ್‌ಗಳು ಮತ್ತು ರೂಟ್‌ಕಿಟ್‌ಗಳಂತಹ ವಿವಿಧ ರೀತಿಯ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂಗಳನ್ನು ಸೂಚಿಸುವ ವಿಶಾಲ ಪದವಾಗಿದೆ.


Malware analysis is the study of malware's behavior.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆ ಎಂದರೆ ಮಾಲ್ವೇರ್‌ನ ನಡವಳಿಕೆಯ ಅಧ್ಯಯನ.


The objective of malware analysis is to understand the working of malware and how to detect and eliminate it.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯ ಉದ್ದೇಶವು ಮಾಲ್ವೇರ್‌ನ ಕೆಲಸವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮತ್ತು ಅದನ್ನು ಹೇಗೆ ಪತ್ತೆಹಚ್ಚುವುದು ಮತ್ತು ತೆಗೆದುಹಾಕುವುದು.


Drop are set to Bidirectional. Click on OK.

ಡ್ರಾಪ್ ಅನ್ನು ದ್ವಿಮುಖವಾಗಿ ಹೊಂದಿಸಲಾಗಿದೆ. ಸರಿ ಕ್ಲಿಕ್ ಮಾಡಿ.


At this point, the Linux VM is configured to use Host-only mode, and INetSim is set up to simulate all the services.

ಈ ಸಮಯದಲ್ಲಿ, Linux VM ಅನ್ನು ಹೋಸ್ಟ್-ಮಾತ್ರ ಮೋಡ್ ಅನ್ನು ಬಳಸಲು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಎಲ್ಲಾ ಸೇವೆಗಳನ್ನು ಅನುಕರಿಸಲು INetSim ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ.


The last step is to take a snapshot (clean snapshot) and give it a name of your choice so that you can revert it back to the clean state when required.

ಕೊನೆಯ ಹಂತವೆಂದರೆ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ (ಸ್ವಚ್ಛ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್) ತೆಗೆದುಕೊಳ್ಳುವುದು ಮತ್ತು ನಿಮ್ಮ ಆಯ್ಕೆಯ ಹೆಸರನ್ನು ನೀಡುವುದು, ಇದರಿಂದ ಅಗತ್ಯವಿದ್ದಾಗ ನೀವು ಅದನ್ನು ಸ್ವಚ್ಛ ಸ್ಥಿತಿಗೆ ಹಿಂತಿರುಗಿಸಬಹುದು.


To take a snapshot on VMware workstation, click on VM | Snapshot | Take Snapshot.

VMware ವರ್ಕ್‌ಸ್ಟೇಷನ್‌ನಲ್ಲಿ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ತೆಗೆದುಕೊಳ್ಳಲು, VM | ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ | ಟೇಕ್ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡಿ.


On Virtualbox, the same can be done by clicking on Machine | Take Snapshot.

ವರ್ಚುವಲ್‌ಬಾಕ್ಸ್‌ನಲ್ಲಿ, ಮೆಷಿನ್ | ಟೇಕ್ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ಮೇಲೆ ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಇದನ್ನು ಮಾಡಬಹುದು.


Apart from the drag and drop feature, it is also possible to transfer files from the host machine to the virtual machine using shared folders.

ಡ್ರ್ಯಾಗ್ ಮತ್ತು ಡ್ರಾಪ್ ವೈಶಿಷ್ಟ್ಯದ ಹೊರತಾಗಿ, ಹಂಚಿದ ಫೋಲ್ಡರ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಹೋಸ್ಟ್ ಕಂಪ್ಯೂಟರ್‌ನಿಂದ ವರ್ಚುವಲ್ ಕಂಪ್ಯೂಟರ್‌ಗೆ ಫೈಲ್‌ಗಳನ್ನು ವರ್ಗಾಯಿಸಲು ಸಹ ಸಾಧ್ಯವಿದೆ.


Before setting up the Windows VM, you first need to install a Windows operating system (Windows 7, Window 8, and so on) of your choice in the virtualization software.

ವಿಂಡೋಸ್ ವಿಎಂ ಅನ್ನು ಸ್ಥಾಪಿಸುವ ಮೊದಲು, ನೀವು ಮೊದಲು ನಿಮ್ಮ ಆಯ್ಕೆಯ ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು (ವಿಂಡೋಸ್ 7, ವಿಂಡೋಸ್ 8, ಇತ್ಯಾದಿ) ವರ್ಚುವಲೈಸೇಶನ್ ಸಾಫ್ಟ್‌ವೇರ್‌ನಲ್ಲಿ ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ.


Download Python from https://www.python.org/downloads/.

https://www.python.org/downloads/ ನಿಂದ ಪೈಥಾನ್ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ.


Be sure to download Python 2.7.x (such as 2.7.13); most of the scripts used in this book are written to run on the Python 2.7 version and may not run correctly on Python 3.

ಪೈಥಾನ್ 2.7.x ಅನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ (ಉದಾಹರಣೆಗೆ 2.7.13); ಈ ಪುಸ್ತಕದಲ್ಲಿ ಬಳಸಲಾದ ಹೆಚ್ಚಿನ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಪೈಥಾನ್ 2.7 ಆವೃತ್ತಿಯಲ್ಲಿ ರನ್ ಮಾಡಲು ಬರೆಯಲಾಗಿದೆ ಮತ್ತು ಪೈಥಾನ್ 3 ನಲ್ಲಿ ಸರಿಯಾಗಿ ರನ್ ಆಗದಿರಬಹುದು.


Make sure you check the option to install pip and Add python.exe to Path, as shown in the following screenshot.

ಪಿಪ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ಮತ್ತು ಪೈಥಾನ್ ಅನ್ನು ಪಾತ್‌ಗೆ ಸೇರಿಸಲು ನೀವು ಆಯ್ಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿದ್ದೀರಿ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ, ಕೆಳಗಿನ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ನಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ.


Configure your Windows VM to run in Host-only network configuration mode.

ಹೋಸ್ಟ್-ಮಾತ್ರ ನೆಟ್‌ವರ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ ಮೋಡ್‌ನಲ್ಲಿ ರನ್ ಮಾಡಲು ನಿಮ್ಮ ವಿಂಡೋಸ್ ವಿಎಂ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ.


To do that in VMware or VirtualBox, bring up the Network Settings and choose the Host-only mode; save the settings and reboot.

VMware ಅಥವಾ VirtualBox ನಲ್ಲಿ ಅದನ್ನು ಮಾಡಲು, ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ತೆರೆಯಿರಿ ಮತ್ತು ಹೋಸ್ಟ್-ಮಾತ್ರ ಮೋಡ್ ಅನ್ನು ಆರಿಸಿ; ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಉಳಿಸಿ ಮತ್ತು ಮರುಪ್ರಾರಂಭಿಸಿ.


Configure the IP address of the Windows VM to 192.168.1.x (choose any IP address except 192.168.1.100 because the Linux VM is set to use that IP) and set up your Default gateway and the DNS server to the IP address of Linux VM (that is, 192.168.1.100).

ವಿಂಡೋಸ್ ವಿಎಂನ ಐಪಿ ವಿಳಾಸವನ್ನು 192.168.1.x ಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (192.168.1.100 ಹೊರತುಪಡಿಸಿ ಯಾವುದೇ ಐಪಿ ವಿಳಾಸವನ್ನು ಆರಿಸಿ ಏಕೆಂದರೆ ಲಿನಕ್ಸ್ ವಿಎಂ ಆ ಐಪಿ ಬಳಸಲು ಹೊಂದಿಸಲಾಗಿದೆ) ಮತ್ತು ನಿಮ್ಮ ಡೀಫಾಲ್ಟ್ ಗೇಟ್‌ವೇ ಮತ್ತು ಡಿಎನ್‌ಎಸ್ ಸರ್ವರ್ ಅನ್ನು ಲಿನಕ್ಸ್ ವಿಎಂನ ಐಪಿ ವಿಳಾಸಕ್ಕೆ ಹೊಂದಿಸಿ (ಅಂದರೆ, 192.168.1.100).


Power on both the Linux VM and the Window VM, and make sure they can communicate with each other.

ಲಿನಕ್ಸ್ ವಿಎಂ ಮತ್ತು ವಿಂಡೋ ವಿಎಂ ಎರಡನ್ನೂ ಆನ್ ಮಾಡಿ ಮತ್ತು ಅವುಗಳು ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಬಹುದೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.


You can check for the connectivity by running the ping command, as shown in this screenshot:

ಈ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ನಲ್ಲಿ ತೋರಿಸಿರುವಂತೆ ಪಿಂಗ್ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸುವ ಮೂಲಕ ನೀವು ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು:


Windows Defender Service needs to be disabled on your Windows VM as it may interfere when you are executing the malware sample.

ನೀವು ಮಾಲ್ವೇರ್ ಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಿರುವಾಗ ವಿಂಡೋಸ್ ಡಿಫೆಂಡರ್ ಸೇವೆಯು ಅಡ್ಡಿಪಡಿಸಬಹುದಾದ್ದರಿಂದ ನಿಮ್ಮ ವಿಂಡೋಸ್ ವಿಎಂನಲ್ಲಿ ಅದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗಿದೆ.


To do that, press the Windows key + R to open the Run menu, enter gpedit.msc, and hit Enter to launch the Local Group Policy Editor.

ಅದನ್ನು ಮಾಡಲು, ರನ್ ಮೆನುವನ್ನು ತೆರೆಯಲು ವಿಂಡೋಸ್ ಕೀ + ಆರ್ ಒತ್ತಿರಿ, gpedit.msc ಅನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ಸ್ಥಳೀಯ ಗುಂಪು ನೀತಿ ಸಂಪಾದಕವನ್ನು ಪ್ರಾರಂಭಿಸಲು ಎಂಟರ್ ಒತ್ತಿರಿ.


Take a clean snapshot so that you can revert to the pristine/clean state after every analysis.

ಪ್ರತಿ ವಿಶ್ಲೇಷಣೆಯ ನಂತರ ನೀವು ಶುದ್ಧ/ಸ್ವಚ್ಛ ಸ್ಥಿತಿಗೆ ಹಿಂತಿರುಗಲು ಸಾಧ್ಯವಾಗುವಂತೆ ಸ್ವಚ್ಛ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್ ತೆಗೆದುಕೊಳ್ಳಿ.


At this point, your lab environment should be ready.

ಈ ಸಮಯದಲ್ಲಿ, ನಿಮ್ಮ ಲ್ಯಾಬ್ ಪರಿಸರ ಸಿದ್ಧವಾಗಿರಬೇಕು.


The Linux and Windows VMs in your clean snapshot should be in Host-only network mode and should be able to communicate with each other.

ನಿಮ್ಮ ಸ್ವಚ್ಛ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ನಲ್ಲಿರುವ ಲಿನಕ್ಸ್ ಮತ್ತು ವಿಂಡೋಸ್ ವಿಎಂಗಳು ಹೋಸ್ಟ್-ಮಾತ್ರ ನೆಟ್‌ವರ್ಕ್ ಮೋಡ್‌ನಲ್ಲಿರಬೇಕು ಮತ್ತು ಪರಸ್ಪರ ಸಂವಹನ ನಡೆಸಲು ಸಾಧ್ಯವಾಗಬೇಕು.


To reduce noise, you can use the filtering features.

ಶಬ್ದವನ್ನು ಕಡಿಮೆ ಮಾಡಲು, ನೀವು ಫಿಲ್ಟರಿಂಗ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಬಹುದು.


Noriben helps in collecting, analyzing, and reporting runtime indicators of the malware.

ನೋರಿಬೆನ್ ಮಾಲ್ವೇರ್‌ನ ರನ್‌ಟೈಮ್ ಸೂಚಕಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು, ವಿಶ್ಲೇಷಿಸಲು ಮತ್ತು ವರದಿ ಮಾಡಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.


Once you are done with the monitoring, you can stop Noriben by pressing Ctrl + C.

ನೀವು ಮಾನಿಟರಿಂಗ್ ಮುಗಿಸಿದ ನಂತರ, Ctrl + C ಒತ್ತುವ ಮೂಲಕ ನೀವು ನೋರಿಬೆನ್ ಅನ್ನು ನಿಲ್ಲಿಸಬಹುದು.


The text file contains events segregated based on the categories.

ಪಠ್ಯ ಫೈಲ್ ವರ್ಗಗಳ ಆಧಾರದ ಮೇಲೆ ಪ್ರತ್ಯೇಕಿಸಲಾದ ಈವೆಂಟ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


The CSV file contains all the events sorted by the timeline.

CSV ಫೈಲ್ ಟೈಮ್‌ಲೈನ್‌ನಿಂದ ವಿಂಗಡಿಸಲಾದ ಎಲ್ಲಾ ಈವೆಂಟ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


Wireshark is a packet sniffer that allows you to capture the network traffic.

ವೈರ್‌ಶಾರ್ಕ್ ಒಂದು ಪ್ಯಾಕೆಟ್ ಸ್ನಿಫರ್ ಆಗಿದ್ದು ಅದು ನೆಟ್‌ವರ್ಕ್ ಟ್ರಾಫಿಕ್ ಅನ್ನು ಸೆರೆಹಿಡಿಯಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.


Most malware, when executed, reach out to the internet.

ಹೆಚ್ಚಿನ ಮಾಲ್ವೇರ್, ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಇಂಟರ್ನೆಟ್ ಅನ್ನು ತಲುಪುತ್ತದೆ.


INetSim is a free Linux-based software suite for simulating standard internet services.

INetSim ಪ್ರಮಾಣಿತ ಇಂಟರ್ನೆಟ್ ಸೇವೆಗಳನ್ನು ಅನುಕರಿಸಲು ಉಚಿತ ಲಿನಕ್ಸ್-ಆಧಾರಿತ ಸಾಫ್ಟ್‌ವೇರ್ ಸೂಟ್ ಆಗಿದೆ.


Apart from simulating services, INetSim can log communications.

ಸೇವೆಗಳನ್ನು ಅನುಕರಿಸುವುದರ ಜೊತೆಗೆ, INetSim ಸಂವಹನಗಳನ್ನು ಲಾಗ್ ಮಾಡಬಹುದು.


During malware analysis, you need to determine the behavior of the malware.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, ನೀವು ಮಾಲ್ವೇರ್‌ನ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ಧರಿಸಬೇಕು.


Reverting to the clean snapshot is the first step.

ಸ್ವಚ್ಛ ಸ್ನ್ಯಾಪ್‌ಶಾಟ್‌ಗೆ ಹಿಂತಿರುಗುವುದು ಮೊದಲ ಹೆಜ್ಜೆಯಾಗಿದೆ.


In this step, you will run the monitoring tools before executing the malware specimen.

ಈ ಹಂತದಲ್ಲಿ, ಮಾಲ್ವೇರ್ ಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಮೊದಲು ನೀವು ಮಾನಿಟರಿಂಗ್ ಪರಿಕರಗಳನ್ನು ಚಲಾಯಿಸುತ್ತೀರಿ.


Once you have an understanding of the dynamic analysis tools, these tools can be used together.

ನೀವು ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಣಾ ಪರಿಕರಗಳ ಬಗ್ಗೆ ತಿಳಿದುಕೊಂಡ ನಂತರ, ಈ ಪರಿಕರಗಳನ್ನು ಒಟ್ಟಿಗೆ ಬಳಸಬಹುದು.


We will start by determining the file type and the cryptographic hash.

ನಾವು ಫೈಲ್ ಪ್ರಕಾರ ಮತ್ತು ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಅನ್ನು ನಿರ್ಧರಿಸುವ ಮೂಲಕ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.


Examining the imports shows references to file system-and registry-related API calls.

ಆಮದುಗಳನ್ನು ಪರೀಕ್ಷಿಸುವುದರಿಂದ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಮತ್ತು ರಿಜಿಸ್ಟ್ರಿ-ಸಂಬಂಧಿತ API ಕರೆಗಳಿಗೆ ಉಲ್ಲೇಖಗಳನ್ನು ತೋರಿಸುತ್ತದೆ.


After performing dynamic analysis, the following information about the malware was determined.

ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಿರ್ವಹಿಸಿದ ನಂತರ, ಮಾಲ್ವೇರ್ ಬಗ್ಗೆ ಕೆಳಗಿನ ಮಾಹಿತಿಯನ್ನು ನಿರ್ಧರಿಸಲಾಯಿತು.


Upon executing the malware sample, a new process was created.

ಮಾಲ್ವೇರ್ ಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ರಚಿಸಲಾಯಿತು.


The malware then drops another file called MDMF5A5.tmp_melt.bat.

ನಂತರ ಮಾಲ್ವೇರ್ MDMF5A5.tmp_melt.bat ಎಂಬ ಫೈಲ್ ಅನ್ನು ಬಿಡುತ್ತದೆ.


The malicious binary then adds the path of the dropped file, as an entry in the RUN registry key.

ನಂತರ ದುರುದ್ದೇಶಪೂರಿತ ಬೈನರಿ ಡ್ರಾಪ್ ಮಾಡಿದ ಫೈಲ್‌ನ ಮಾರ್ಗವನ್ನು ರನ್ ರಿಜಿಸ್ಟ್ರಿ ಕೀಯಲ್ಲಿ ನಮೂದಾಗಿ ಸೇರಿಸುತ್ತದೆ.


A Dynamic-Link Library (DLL) is a module that contains functions.

ಡೈನಾಮಿಕ್-ಲಿಂಕ್ ಲೈಬ್ರರಿ (DLL) ಎನ್ನುವುದು ಕಾರ್ಯಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಒಂದು ಮಾಡ್ಯೂಲ್ ಆಗಿದೆ.


The code will execute after the 'else' block.

'else' ಬ್ಲಾಕ್ ನಂತರ ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ.


Assembly language is used to translate the C program.

ಸಿ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಭಾಷಾಂತರಿಸಲು ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.


The condition was reversed in the assembly code.

ಅಸೆಂಬ್ಲಿ ಕೋಡ್‌ನಲ್ಲಿ ಸ್ಥಿತಿಯನ್ನು ಹಿಂತಿರುಗಿಸಲಾಯಿತು.


If x is not equal to 0, the jump will be taken.

x 0 ಗೆ ಸಮನಾಗಿಲ್ಲದಿದ್ದರೆ, ಜಂಪ್ ತೆಗೆದುಕೊಳ್ಳಲಾಗುತ್ತದೆ.


The 'else' block is skipped if x is equal to 0.

x 0 ಗೆ ಸಮನಾಗಿದ್ದರೆ 'else' ಬ್ಲಾಕ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಲಾಗುತ್ತದೆ.


The control reaches the end after the 'else' block.

'else' ಬ್ಲಾಕ್ ನಂತರ ನಿಯಂತ್ರಣವು ಕೊನೆಗೊಳ್ಳುತ್ತದೆ.


Let's determine when jumps will be taken.

ಜಂಪ್‌ಗಳನ್ನು ಯಾವಾಗ ತೆಗೆದುಕೊಳ್ಳಲಾಗುವುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸೋಣ.


ಎರಡು ಷರತ್ತುಬದ್ಧ ಜಂಪ್ ಪಾಯಿಂಟ್‌ಗಳಿವೆ.


Unconditional jumps skip the 'else' statement.

ಷರತ್ತುರಹಿತ ಜಂಪ್‌ಗಳು 'else' ಹೇಳಿಕೆಯನ್ನು ಬಿಟ್ಟುಬಿಡುತ್ತವೆ.


The assembly language shows conditional and unconditional jumps.

ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯು ಷರತ್ತುಬದ್ಧ ಮತ್ತು ಷರತ್ತುರಹಿತ ಜಂಪ್‌ಗಳನ್ನು ತೋರಿಸುತ್ತದೆ.


Let's translate the code to its high-level equivalent.

ಕೋಡ್ ಅನ್ನು ಅದರ ಉನ್ನತ ಮಟ್ಟದ ಸಮಾನತೆಗೆ ಭಾಷಾಂತರಿಸೋಣ.


Use the techniques you learned to solve this challenge.

ಈ ಸವಾಲನ್ನು ಪರಿಹರಿಸಲು ನೀವು ಕಲಿತ ತಂತ್ರಗಳನ್ನು ಬಳಸಿ.


Assign symbolic names to the memory address.

ಮೆಮೊರಿ ವಿಳಾಸಕ್ಕೆ ಸಾಂಕೇತಿಕ ಹೆಸರುಗಳನ್ನು ನಿಯೋಜಿಸಿ.


ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಯನ್ನು ಗುರುತಿಸಿ.


Determine the type of conditional statement.

ಷರತ್ತುಬದ್ಧ ಹೇಳಿಕೆಯ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸಿ.


The code from ➍ to ➌ is part of the if block.

➍ ರಿಂದ ➌ ವರೆಗಿನ ಕೋಡ್ 'if' ಬ್ಲಾಕ್‌ನ ಭಾಗವಾಗಿದೆ.


The code from ➎ to ➏ is part of the else block.

➎ ರಿಂದ ➏ ವರೆಗಿನ ಕೋಡ್ 'else' ಬ್ಲಾಕ್‌ನ ಭಾಗವಾಗಿದೆ.


The condition in the if statement was reversed.

'if' ಹೇಳಿಕೆಯಲ್ಲಿನ ಸ್ಥಿತಿಯನ್ನು ಹಿಂತಿರುಗಿಸಲಾಯಿತು.


The jump will not be taken when x is equal to 0.

x 0 ಗೆ ಸಮನಾಗಿದ್ದಾಗ ಜಂಪ್ ತೆಗೆದುಕೊಳ್ಳಲಾಗುವುದಿಲ್ಲ.


We were able to reduce multiple lines of assembly code.

ನಾವು ಅನೇಕ ಸಾಲುಗಳ ಅಸೆಂಬ್ಲಿ ಕೋಡ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಸಾಧ್ಯವಾಯಿತು.


The DLL sample was run with the following command.

DLL ಮಾದರಿಯನ್ನು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಚಲಾಯಿಸಲಾಯಿತು.


Even though obe.dll was loaded into the memory of rundll32.exe, it did not trigger any behavior.

obe.dll ಅನ್ನು rundll32.exe ನ ಮೆಮೊರಿಗೆ ಲೋಡ್ ಮಾಡಲಾಗಿದ್ದರೂ, ಅದು ಯಾವುದೇ ನಡವಳಿಕೆಯನ್ನು ಪ್ರಚೋದಿಸಲಿಲ್ಲ.


This is because DLL's entry point function does not implement any functionality.

ಇದಕ್ಕೆ ಕಾರಣವೆಂದರೆ DLL ನ ಪ್ರವೇಶ ಬಿಂದು ಕಾರ್ಯವು ಯಾವುದೇ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದಿಲ್ಲ.


On the other hand, running the sample with the DllRegisterServer function as shown below, triggered an HTTPS communication to the C2 server.

ಮತ್ತೊಂದೆಡೆ, ಕೆಳಗೆ ತೋರಿಸಿರುವಂತೆ DllRegisterServer ಕಾರ್ಯದೊಂದಿಗೆ ಮಾದರಿಯನ್ನು ಚಲಾಯಿಸುವುದರಿಂದ C2 ಸರ್ವರ್‌ಗೆ HTTPS ಸಂವಹನವನ್ನು ಪ್ರಚೋದಿಸಿತು.


From this, it can be deduced that DLLRegisterServer implements the network functionality.

ಇದರಿಂದ, DLLRegisterServer ನೆಟ್‌ವರ್ಕ್ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ ಎಂದು ತೀರ್ಮಾನಿಸಬಹುದು.


You can write a script to determine all the exported functions in a DLL and call them in sequence while running the monitoring tools.

ನೀವು DLL ನಲ್ಲಿ ಎಲ್ಲಾ ರಫ್ತು ಮಾಡಿದ ಕಾರ್ಯಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಮತ್ತು ಮಾನಿಟರಿಂಗ್ ಪರಿಕರಗಳನ್ನು ಚಲಾಯಿಸುವಾಗ ಅವುಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ಕರೆಯಲು ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯಬಹುದು.


This technique can help in understanding the functionality of each exported function.

ಈ ತಂತ್ರವು ಪ್ರತಿ ರಫ್ತು ಮಾಡಿದ ಕಾರ್ಯದ ಕಾರ್ಯವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.


The DLL used in this example was delivered via powerpoint.

ಈ ಉದಾಹರಣೆಯಲ್ಲಿ ಬಳಸಲಾದ DLL ಅನ್ನು ಪವರ್‌ಪಾಯಿಂಟ್ ಮೂಲಕ ವಿತರಿಸಲಾಯಿತು.


The DLL (SearchCache.dll) consists of an export function, _flushfile@16, whose functionality is to delete a file.

DLL (SearchCache.dll) ರಫ್ತು ಕಾರ್ಯವನ್ನು ಒಳಗೊಂಡಿದೆ, _flushfile@16, ಇದರ ಕಾರ್ಯವು ಫೈಲ್ ಅನ್ನು ಅಳಿಸುವುದು.


To demonstrate the delete functionality, a test file (file_to_delete.txt) was created, and the monitoring tools were launched.

ಅಳಿಸುವ ಕಾರ್ಯವನ್ನು ಪ್ರದರ್ಶಿಸಲು, ಪರೀಕ್ಷಾ ಫೈಲ್ (file_to_delete.txt) ಅನ್ನು ರಚಿಸಲಾಯಿತು ಮತ್ತು ಮಾನಿಟರಿಂಗ್ ಪರಿಕರಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲಾಯಿತು.


After running the following command, the test file was deleted from the disk:

ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿದ ನಂತರ, ಪರೀಕ್ಷಾ ಫೈಲ್ ಅನ್ನು ಡಿಸ್ಕ್‌ನಿಂದ ಅಳಿಸಲಾಯಿತು:


To determine the parameters and the type of parameters accepted by an export function, you will need to perform code analysis.

ರಫ್ತು ಕಾರ್ಯದಿಂದ ಸ್ವೀಕರಿಸಲ್ಪಟ್ಟ ನಿಯತಾಂಕಗಳು ಮತ್ತು ನಿಯತಾಂಕಗಳ ಪ್ರಕಾರವನ್ನು ನಿರ್ಧರಿಸಲು, ನೀವು ಕೋಡ್ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ.


Most of the time, launching a DLL with rundll32.exe will work fine, but some DLLs check if they are running under a particular process.

ಹೆಚ್ಚಿನ ಸಮಯ, rundll32.exe ನೊಂದಿಗೆ DLL ಅನ್ನು ಪ್ರಾರಂಭಿಸುವುದು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಕೆಲವು DLL ಗಳು ಅವು ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಯ ಅಡಿಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತವೆ.


In such cases, you will have to inject the DLL into the specific process to trigger the behavior.

ಅಂತಹ ಸಂದರ್ಭಗಳಲ್ಲಿ, ನಡವಳಿಕೆಯನ್ನು ಪ್ರಚೋದಿಸಲು ನೀವು DLL ಅನ್ನು ನಿರ್ದಿಷ್ಟ ಪ್ರಕ್ರಿಯೆಗೆ ಸೇರಿಸಬೇಕಾಗುತ್ತದೆ.


This DLL does not contain any exports; all of the malicious behavior is implemented in the DLL's entry point function.

ಈ DLL ಯಾವುದೇ ರಫ್ತುಗಳನ್ನು ಹೊಂದಿಲ್ಲ; ಎಲ್ಲಾ ದುರುದ್ದೇಶಪೂರಿತ ನಡವಳಿಕೆಯನ್ನು DLL ನ ಪ್ರವೇಶ ಬಿಂದು ಕಾರ್ಯದಲ್ಲಿ ಅಳವಡಿಸಲಾಗಿದೆ.


Running the DLL using the following command generated an error stating that the DLL initialization routine failed.

ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು DLL ಅನ್ನು ಚಲಾಯಿಸುವುದರಿಂದ DLL ಪ್ರಾರಂಭದ ದಿನಚರಿ ವಿಫಲವಾಗಿದೆ ಎಂದು ಹೇಳುವ ದೋಷವನ್ನು ಉಂಟುಮಾಡಿತು.


After analyzing the code, it was found that the DLL, in its entry point function, performed a check to determine if it is running under spoolsv.exe.

ಕೋಡ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಿದ ನಂತರ, DLL, ಅದರ ಪ್ರವೇಶ ಬಿಂದು ಕಾರ್ಯದಲ್ಲಿ, ಅದು spoolsv.exe ಅಡಿಯಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿದೆಯೇ ಎಂದು ನಿರ್ಧರಿಸಲು ಪರಿಶೀಲನೆಯನ್ನು ಮಾಡಿದೆ ಎಂದು ಕಂಡುಬಂದಿದೆ.


To trigger the behavior, malicious DLL had to be injected into the spoolsv.exe process using the RemoteDLL tool.

ನಡವಳಿಕೆಯನ್ನು ಪ್ರಚೋದಿಸಲು, ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು RemoteDLL ಪರಿಕರವನ್ನು ಬಳಸಿಕೊಂಡು spoolsv.exe ಪ್ರಕ್ರಿಯೆಗೆ ಸೇರಿಸಬೇಕಾಗಿತ್ತು.


The malware created a folder (resycled) and a file autorun.inf on the C:\ drive.

ಮಾಲ್ವೇರ್ C:\ ಡ್ರೈವ್‌ನಲ್ಲಿ ಫೋಲ್ಡರ್ (resycled) ಮತ್ತು ಫೈಲ್ autorun.inf ಅನ್ನು ರಚಿಸಿತು.


During malware investigation, you may come across DLL, that will run only when it is loaded as a service.

ಮಾಲ್ವೇರ್ ತನಿಖೆಯ ಸಮಯದಲ್ಲಿ, ನೀವು DLL ಅನ್ನು ಎದುರಿಸಬಹುದು, ಅದು ಸೇವೆಯಾಗಿ ಲೋಡ್ ಆದಾಗ ಮಾತ್ರ ಚಲಿಸುತ್ತದೆ.


The memory address 0x403000 is where the value 100 is stored.

0x403000 ನೆನಪಿನ ವಿಳಾಸದಲ್ಲಿ 100 ಮೌಲ್ಯವನ್ನು ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.


Assembly language uses addresses to move data between memory and registers.

ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯು ಮೆಮೊರಿ ಮತ್ತು ರೆಜಿಸ್ಟರ್‌ಗಳ ನಡುವೆ ಡೇಟಾವನ್ನು ಸರಿಸಲು ವಿಳಾಸಗಳನ್ನು ಬಳಸುತ್ತದೆ.


The instruction 'mov eax, [0x403000]' moves the value at memory address 0x403000 into the eax register.

'mov eax, [0x403000]' ಎಂಬ ಸೂಚನೆಯು 0x403000 ಮೆಮೊರಿ ವಿಳಾಸದಲ್ಲಿರುವ ಮೌಲ್ಯವನ್ನು eax ರೆಜಿಸ್ಟರ್‌ಗೆ ಸರಿಸುತ್ತದೆ.


Square brackets in assembly indicate that the value at the memory location is being accessed.

ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಚೌಕಾಕಾರದ ಆವರಣಗಳು ಮೆಮೊರಿ ಸ್ಥಳದಲ್ಲಿರುವ ಮೌಲ್ಯವನ್ನು ಪ್ರವೇಶಿಸಲಾಗುತ್ತಿದೆ ಎಂದು ಸೂಚಿಸುತ್ತವೆ.


The 'lea' instruction loads the effective address, not the value at that address.

'lea' ಸೂಚನೆಯು ಆ ಪರಿಣಾಮಕಾರಿ ವಿಳಾಸವನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ, ಆ ವಿಳಾಸದಲ್ಲಿರುವ ಮೌಲ್ಯವಲ್ಲ.


Reverse engineering often involves analyzing assembly code to understand program behavior.

ರಿವರ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಸಾಮಾನ್ಯವಾಗಿ ಪ್ರೋಗ್ರಾಂನ ನಡವಳಿಕೆಯನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಅಸೆಂಬ್ಲಿ ಕೋಡ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.


The instruction 'mov [0x403000], eax' moves the value in the eax register to the memory address 0x403000.

'mov [0x403000], eax' ಎಂಬ ಸೂಚನೆಯು eax ರೆಜಿಸ್ಟರ್‌ನಲ್ಲಿರುವ ಮೌಲ್ಯವನ್ನು 0x403000 ಮೆಮೊರಿ ವಿಳಾಸಕ್ಕೆ ಸರಿಸುತ್ತದೆ.


Understanding disassembly is crucial for malware analysis.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಗಾಗಿ ಡಿಸೆಂಬಲ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಮುಖ್ಯವಾಗಿದೆ.


dword ptr 4-ಬೈಟ್ ಮೌಲ್ಯವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.


In assembly, variables are often represented by memory addresses.

ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ, ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಹೆಚ್ಚಾಗಿ ಮೆಮೊರಿ ವಿಳಾಸಗಳಿಂದ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ.


The program copies a value from one memory location to another.

ಪ್ರೋಗ್ರಾಂ ಒಂದು ಮೆಮೊರಿ ಸ್ಥಳದಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ಮೌಲ್ಯವನ್ನು ನಕಲಿಸುತ್ತದೆ.


Registers are used by the CPU for temporary storage.

CPU ತಾತ್ಕಾಲಿಕ ಸಂಗ್ರಹಣೆಗಾಗಿ ರೆಜಿಸ್ಟರ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ.


Data types can sometimes be determined by how variables are accessed.

ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಹೇಗೆ ಪ್ರವೇಶಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಮೂಲಕ ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ಕೆಲವೊಮ್ಮೆ ನಿರ್ಧರಿಸಬಹುದು.


Arithmetic operations like addition and subtraction are fundamental in assembly.

ಸಂಕಲನ ಮತ್ತು ವ್ಯವಕಲನದಂತಹ ಅಂಕಗಣಿತದ ಕಾರ್ಯಾಚರಣೆಗಳು ಅಸೆಂಬ್ಲಿಯಲ್ಲಿ ಮೂಲಭೂತವಾಗಿವೆ.


The 'add' instruction adds the source and destination and stores the result in the destination.

'add' ಸೂಚನೆಯು ಮೂಲ ಮತ್ತು ಗಮ್ಯಸ್ಥಾನವನ್ನು ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಫಲಿತಾಂಶವನ್ನು ಗಮ್ಯಸ್ಥಾನದಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ.


The 'sub' instruction subtracts the source from the destination operand.

'sub' ಸೂಚನೆಯು ಗಮ್ಯಸ್ಥಾನದ ಆಪರೇಂಡ್‌ನಿಂದ ಮೂಲವನ್ನು ಕಳೆಯುತ್ತದೆ.


Multiplication is performed using the 'mul' instruction.

'mul' ಸೂಚನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಗುಣಾಕಾರವನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.


Division is performed using the 'div' instruction.

'div' ಸೂಚನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಭಾಗಾಕಾರವನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.


Bitwise operations manipulate individual bits within a byte or word.

ಬಿಟ್‌ವೈಸ್ ಕಾರ್ಯಾಚರಣೆಗಳು ಒಂದು ಬೈಟ್ ಅಥವಾ ಪದದೊಳಗಿನ ಪ್ರತ್ಯೇಕ ಬಿಟ್‌ಗಳನ್ನು ಕುಶಲತೆಯಿಂದ ನಿರ್ವಹಿಸುತ್ತವೆ.


Conditional jumps transfer control based on certain conditions.

ಷರತ್ತುಬದ್ಧ ಜಂಪ್‌ಗಳು ಕೆಲವು ಷರತ್ತುಗಳ ಆಧಾರದ ಮೇಲೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುತ್ತವೆ.


The main function called the test function and passed the parameters to the test function by pushing them onto the stack.

ಮುಖ್ಯ ಕಾರ್ಯವು ಪರೀಕ್ಷಾ ಕಾರ್ಯವನ್ನು ಕರೆದು, ನಿಯತಾಂಕಗಳನ್ನು ಸ್ಟಾಕ್ ಮೇಲೆ ತಳ್ಳುವ ಮೂಲಕ ಪರೀಕ್ಷಾ ಕಾರ್ಯಕ್ಕೆ ರವಾನಿಸಿತು.


The main function is known as the caller (or the calling function) and test is the callee (or the called function).

ಮುಖ್ಯ ಕಾರ್ಯವನ್ನು ಕರೆಯುವವರು (ಅಥವಾ ಕರೆ ಮಾಡುವ ಕಾರ್ಯ) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಪರೀಕ್ಷೆಯನ್ನು ಕರೆಯಲ್ಪಡುವವರು (ಅಥವಾ ಕರೆಯಲಾದ ಕಾರ್ಯ) ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.


The calling convention dictates how the parameters should be passed and who (caller or the callee) is responsible for removing them from the stack.

ಕರೆ ಮಾಡುವ ಸಂಪ್ರದಾಯವು ನಿಯತಾಂಕಗಳನ್ನು ಹೇಗೆ ರವಾನಿಸಬೇಕು ಮತ್ತು ಯಾರು (ಕರೆ ಮಾಡುವವರು ಅಥವಾ ಕರೆಯಲ್ಪಡುವವರು) ಅವುಗಳನ್ನು ಸ್ಟಾಕ್‌ನಿಂದ ತೆಗೆದುಹಾಕಲು ಜವಾಬ್ದಾರರಾಗಿರುತ್ತಾರೆ ಎಂಬುದನ್ನು ನಿರ್ದೇಶಿಸುತ್ತದೆ.


Most of the compiled C programs typically follow the cdecl calling convention.

ಹೆಚ್ಚಿನ ಕಂಪೈಲ್ ಮಾಡಿದ ಸಿ ಪ್ರೋಗ್ರಾಂಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಸಿಡೆಕ್ಲ್ ಕರೆ ಮಾಡುವ ಸಂಪ್ರದಾಯವನ್ನು ಅನುಸರಿಸುತ್ತವೆ.


In the cdecl convention, the caller pushes the parameters in the right-to-left order on the stack and the caller itself cleans up the stack after the function call.

ಸಿಡೆಕ್ಲ್ ಸಂಪ್ರದಾಯದಲ್ಲಿ, ಕರೆ ಮಾಡುವವರು ನಿಯತಾಂಕಗಳನ್ನು ಬಲದಿಂದ ಎಡಕ್ಕೆ ಕ್ರಮದಲ್ಲಿ ಸ್ಟಾಕ್ ಮೇಲೆ ತಳ್ಳುತ್ತಾರೆ ಮತ್ತು ಕಾರ್ಯ ಕರೆ ಮಾಡಿದ ನಂತರ ಕರೆ ಮಾಡುವವರು ಸ್ಟಾಕ್ ಅನ್ನು ಸ್ವಚ್ಛಗೊಳಿಸುತ್ತಾರೆ.


There are other calling conventions such as stdcall and fastcall.

stdcall ಮತ್ತು fastcall ನಂತಹ ಇತರ ಕರೆ ಮಾಡುವ ಸಂಪ್ರದಾಯಗಳಿವೆ.


Microsoft Windows utilizes the stdcall convention for the functions (API) exported by the DLL files.

ಮೈಕ್ರೋಸಾಫ್ಟ್ ವಿಂಡೋಸ್ ಡಿಎಲ್ಎಲ್ ಫೈಲ್‌ಗಳಿಂದ ರಫ್ತು ಮಾಡಲಾದ ಕಾರ್ಯಗಳಿಗಾಗಿ (API) stdcall ಸಂಪ್ರದಾಯವನ್ನು ಬಳಸುತ್ತದೆ.


In the fastcall calling convention, first few parameters are passed to a function by placing them in the registers.

ಫಾಸ್ಟ್‌ಕಾಲ್ ಕರೆ ಮಾಡುವ ಸಂಪ್ರದಾಯದಲ್ಲಿ, ಮೊದಲ ಕೆಲವು ನಿಯತಾಂಕಗಳನ್ನು ರೆಜಿಸ್ಟರ್‌ಗಳಲ್ಲಿ ಇರಿಸುವ ಮೂಲಕ ಕಾರ್ಯಕ್ಕೆ ರವಾನಿಸಲಾಗುತ್ತದೆ.


An array is a list consisting of the same data types.

ಒಂದು ಶ್ರೇಣಿಯು ಒಂದೇ ರೀತಿಯ ಡೇಟಾ ಪ್ರಕಾರಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪಟ್ಟಿಯಾಗಿದೆ.


The array elements are stored in contiguous locations in the memory, which makes it easy to access array elements.

ಶ್ರೇಣಿಯ ಅಂಶಗಳನ್ನು ಮೆಮೊರಿಯಲ್ಲಿ ಅನುಕ್ರಮ ಸ್ಥಳಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ, ಇದು ಶ್ರೇಣಿಯ ಅಂಶಗಳನ್ನು ಪ್ರವೇಶಿಸಲು ಸುಲಭವಾಗಿಸುತ್ತದೆ.


The array name nums is a pointer constant that points to the first element of the array.

ಶ್ರೇಣಿಯ ಹೆಸರು ನಮ್ಸ್ ಎನ್ನುವುದು ಪಾಯಿಂಟರ್ ಸ್ಥಿರಾಂಕವಾಗಿದ್ದು, ಅದು ಶ್ರೇಣಿಯ ಮೊದಲ ಅಂಶಕ್ಕೆ ಸೂಚಿಸುತ್ತದೆ.


In a high-level language, to access the elements of the array, you use the array name along with the index.

ಹೆಚ್ಚಿನ ಮಟ್ಟದ ಭಾಷೆಯಲ್ಲಿ, ಶ್ರೇಣಿಯ ಅಂಶಗಳನ್ನು ಪ್ರವೇಶಿಸಲು, ನೀವು ಸೂಚ್ಯಂಕದೊಂದಿಗೆ ಶ್ರೇಣಿಯ ಹೆಸರನ್ನು ಬಳಸುತ್ತೀರಿ.


In assembly language, the address of any element in the array is computed using three things: The base address of the array, The index of the element, The size of each element in the array

ಅಸೆಂಬ್ಲಿ ಭಾಷೆಯಲ್ಲಿ, ಶ್ರೇಣಿಯಲ್ಲಿನ ಯಾವುದೇ ಅಂಶದ ವಿಳಾಸವನ್ನು ಮೂರು ವಿಷಯಗಳನ್ನು ಬಳಸಿ ಲೆಕ್ಕಹಾಕಲಾಗುತ್ತದೆ: ಶ್ರೇಣಿಯ ಮೂಲ ವಿಳಾಸ, ಅಂಶದ ಸೂಚ್ಯಂಕ, ಶ್ರೇಣಿಯಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಅಂಶದ ಗಾತ್ರ.


When you use nums[0] in a high-level language, it is translated to [nums+0*<size_of_each_element_in_bytes>], where 0 is the index and nums represents the base address of the array.

ನೀವು ಉನ್ನತ ಮಟ್ಟದ ಭಾಷೆಯಲ್ಲಿ nums[0] ಅನ್ನು ಬಳಸಿದಾಗ, ಅದನ್ನು [nums+0*<size_of_each_element_in_bytes>] ಗೆ ಅನುವಾದಿಸಲಾಗುತ್ತದೆ, ಇಲ್ಲಿ 0 ಸೂಚ್ಯಂಕವಾಗಿದೆ ಮತ್ತು nums ಶ್ರೇಣಿಯ ಮೂಲ ವಿಳಾಸವನ್ನು ಪ್ರತಿನಿಧಿಸುತ್ತದೆ.


ಸ್ಟ್ರಿಂಗ್ ಅಕ್ಷರಗಳ ಒಂದು ಶ್ರೇಣಿಯಾಗಿದೆ.


When you define a string, a null terminator (string terminator) is added at the end of every string.

ನೀವು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದಾಗ, ಶೂನ್ಯ ಟರ್ಮಿನೇಟರ್ (ಸ್ಟ್ರಿಂಗ್ ಟರ್ಮಿನೇಟರ್) ಅನ್ನು ಪ್ರತಿ ಸ್ಟ್ರಿಂಗ್‌ನ ಕೊನೆಯಲ್ಲಿ ಸೇರಿಸಲಾಗುತ್ತದೆ.


The string name str is a pointer variable that points to the first character in the string.

ಸ್ಟ್ರಿಂಗ್ ಹೆಸರು str ಎನ್ನುವುದು ಪಾಯಿಂಟರ್ ವೇರಿಯೇಬಲ್ ಆಗಿದ್ದು ಅದು ಸ್ಟ್ರಿಂಗ್‌ನಲ್ಲಿನ ಮೊದಲ ಅಕ್ಷರಕ್ಕೆ ಸೂಚಿಸುತ್ತದೆ.


The x86 family of processors provides string instructions, which operate on strings.

ಪ್ರೊಸೆಸರ್ಗಳ x86 ಕುಟುಂಬವು ಸ್ಟ್ರಿಂಗ್ ಸೂಚನೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ, ಅದು ಸ್ಟ್ರಿಂಗ್‌ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.


The register eax, or its sub-registers ax and al, are used to hold values.

ರಿಜಿಸ್ಟರ್ eax, ಅಥವಾ ಅದರ ಉಪ-ರಿಜಿಸ್ಟರ್‌ಗಳಾದ ax ಮತ್ತು al, ಮೌಲ್ಯಗಳನ್ನು ಹಿಡಿದಿಡಲು ಬಳಸಲಾಗುತ್ತದೆ.


The movsb instruction is used to move 1 byte from the address specified by the esi register to the address specified by the edi register.

movsb ಸೂಚನೆಯನ್ನು esi ರಿಜಿಸ್ಟರ್‌ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವಿಳಾಸದಿಂದ edi ರಿಜಿಸ್ಟರ್‌ನಿಂದ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ವಿಳಾಸಕ್ಕೆ 1 ಬೈಟ್ ಅನ್ನು ಸರಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.


The disassembly shows the C code compiled for a 64-bit processor.

ವಿಘಟನೆ 64-ಬಿಟ್ ಪ್ರೊಸೆಸರ್ಗಾಗಿ ಕಂಪೈಲ್ ಮಾಡಲಾದ ಸಿ ಕೋಡ್ ಅನ್ನು ತೋರಿಸುತ್ತದೆ.


The first instruction allocates 56 bytes of space on the stack.

ಮೊದಲ ಸೂಚನೆಯು ಸ್ಟ್ಯಾಕ್‌ನಲ್ಲಿ 56 ಬೈಟ್‌ಗಳ ಜಾಗವನ್ನು ನಿಯೋಜಿಸುತ್ತದೆ.


Parameters are stored in registers before the printf call.

ಪ್ರಿಂಟ್‌ಫ್ ಕರೆ ಮಾಡುವ ಮೊದಲು ನಿಯತಾಂಕಗಳನ್ನು ರೆಜಿಸ್ಟರ್‌ಗಳಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ.


The fifth and sixth parameters are stored on the stack.

ಐದನೇ ಮತ್ತು ಆರನೇ ನಿಯತಾಂಕಗಳನ್ನು ಸ್ಟ್ಯಾಕ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ.


The format string helps determine the number of printf parameters.

ಫಾರ್ಮ್ಯಾಟ್ ಸ್ಟ್ರಿಂಗ್ ಪ್ರಿಂಟ್‌ಫ್ ನಿಯತಾಂಕಗಳ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.


64-bit Windows can run 32-bit executables using WOW64.

64-ಬಿಟ್ ವಿಂಡೋಸ್ WOW64 ಅನ್ನು ಬಳಸಿಕೊಂಡು 32-ಬಿಟ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳನ್ನು ರನ್ ಮಾಡಬಹುದು.


32-bit executables cannot load 64-bit DLLs.

32-ಬಿಟ್ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗಳು 64-ಬಿಟ್ DLL ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ.


64-bit binaries are in the \Windows\system32 directory.

64-ಬಿಟ್ ಬೈನರಿಗಳು \Windows\system32 ಡೈರೆಕ್ಟರಿಯಲ್ಲಿವೆ.


32-bit binaries are in the \Windows\Syswow64 directory.

32-ಬಿಟ್ ಬೈನರಿಗಳು \Windows\Syswow64 ಡೈರೆಕ್ಟರಿಯಲ್ಲಿವೆ.


Malware accessing system32 on 64-bit Windows actually accesses Syswow64.

64-ಬಿಟ್ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಸಿಸ್ಟಮ್32 ಅನ್ನು ಪ್ರವೇಶಿಸುವ ಮಾಲ್ವೇರ್ ವಾಸ್ತವವಾಗಿ Syswow64 ಅನ್ನು ಪ್ರವೇಶಿಸುತ್ತದೆ.


Analyze 32-bit binaries in a 32-bit Windows environment.

32-ಬಿಟ್ ವಿಂಡೋಸ್ ಪರಿಸರದಲ್ಲಿ 32-ಬಿಟ್ ಬೈನರಿಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ.


Additional resources are available for deeper understanding.

ಆಳವಾದ ತಿಳುವಳಿಕೆಗಾಗಿ ಹೆಚ್ಚುವರಿ ಸಂಪನ್ಮೂಲಗಳು ಲಭ್ಯವಿದೆ.


This chapter covers assembly code interpretation.

ಈ ಅಧ್ಯಾಯವು ಅಸೆಂಬ್ಲಿ ಕೋಡ್ ವ್ಯಾಖ್ಯಾನವನ್ನು ಒಳಗೊಂಡಿದೆ.


Disassembly and decompiling help understand malicious code.

ವಿಘಟನೆ ಮತ್ತು ಡಿಕಂಪೈಲಿಂಗ್ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.


Code analysis tools simplify the process.

ಕೋಡ್ ವಿಶ್ಲೇಷಣೆ ಪರಿಕರಗಳು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಸರಳಗೊಳಿಸುತ್ತವೆ.


A disassembler translates machine code to assembly code.

ಡಿಸೆಂಬ್ಲರ್ ಯಂತ್ರ ಕೋಡ್ ಅನ್ನು ಅಸೆಂಬ್ಲಿ ಕೋಡ್‌ಗೆ ಅನುವಾದಿಸುತ್ತದೆ.


Debuggers allow controlled binary execution.

ಡೀಬಗರ್‌ಗಳು ನಿಯಂತ್ರಿತ ಬೈನರಿ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತಾರೆ.


Decompilers translate machine code into high-level language code.

ಡಿಕಂಪೈಲರ್‌ಗಳು ಯಂತ್ರ ಕೋಡ್ ಅನ್ನು ಉನ್ನತ ಮಟ್ಟದ ಭಾಷಾ ಕೋಡ್‌ಗೆ ಅನುವಾದಿಸುತ್ತಾರೆ.


IDA Pro is a popular disassembler/debugger.

IDA Pro ಒಂದು ಜನಪ್ರಿಯ ಡಿಸೆಂಬ್ಲರ್/ಡೀಬಗರ್ ಆಗಿದೆ.


IDA can run on Windows, Linux, and macOS.

IDA ವಿಂಡೋಸ್, ಲಿನಕ್ಸ್ ಮತ್ತು macOS ನಲ್ಲಿ ರನ್ ಆಗಬಹುದು.


To add a function comment, highlight the function name and press colon (:).

ಕಾರ್ಯದ ಕುರಿತು ಪ್ರತಿಕ್ರಿಯೆ ಸೇರಿಸಲು, ಕಾರ್ಯದ ಹೆಸರನ್ನು ಹೈಲೈಟ್ ಮಾಡಿ ಮತ್ತು ಕೊಲೊನ್ ಒತ್ತಿರಿ (:).


The pseudocode can now remind you of the function's behavior.

ಈ ಸೂಡೋಕೋಡ್ ಈಗ ನಿಮಗೆ ಕಾರ್ಯದ ನಡವಳಿಕೆಯನ್ನು ನೆನಪಿಸುತ್ತದೆ.


In fact, whatever manipulation was done earlier was done to the database, not to the executable.

ವಾಸ್ತವವಾಗಿ, ಹಿಂದೆ ಏನು ಕುಶಲತೆ ಮಾಡಲಾಗಿದೆಯೋ ಅದು ಡೇಟಾಬೇಸ್ಗೆ ಮಾಡಲ್ಪಟ್ಟಿದೆ, ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದದ್ದಕ್ಕಲ್ಲ.


When an executable is loaded into IDA, it creates a database consisting of five files.

ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು IDA ಗೆ ಲೋಡ್ ಮಾಡಿದಾಗ, ಅದು ಐದು ಫೈಲ್ಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಡೇಟಾಬೇಸ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ.


Each of these files stores various information and has a base name that matches the selected executable.

ಈ ಪ್ರತಿಯೊಂದು ಫೈಲ್ಗಳು ವಿವಿಧ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತವೆ ಮತ್ತು ಆಯ್ದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವ ಮೂಲ ಹೆಸರನ್ನು ಹೊಂದಿವೆ.


Any modifications that you make are reflected in the views and saved in the database.

ನೀವು ಮಾಡುವ ಯಾವುದೇ ಬದಲಾವಣೆಗಳು ವೀಕ್ಷಣೆಗಳಲ್ಲಿ ಪ್ರತಿಫಲಿಸುತ್ತದೆ ಮತ್ತು ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಉಳಿಸಲ್ಪಡುತ್ತವೆ.


You can save the database by closing IDA.

ನೀವು IDA ಅನ್ನು ಮುಚ್ಚುವ ಮೂಲಕ ಡೇಟಾಬೇಸ್ ಅನ್ನು ಉಳಿಸಬಹುದು.


When you reopen the .idb or .i64 file, you should be able to see the renamed variables and comments.

.idb ಅಥವಾ .i64 ಫೈಲ್ ಅನ್ನು ನೀವು ಮತ್ತೆ ತೆರೆದಾಗ, ಮರುಹೆಸರಿಸಲಾದ ವೇರಿಯೇಬಲ್ಗಳು ಮತ್ತು ಕಾಮೆಂಟ್ಗಳನ್ನು ನೋಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ.


Let's look at another simple program and explore a few more features of IDA.

ಇನ್ನೊಂದು ಸರಳ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ನೋಡೋಣ ಮತ್ತು IDA ಯ ಕೆಲವು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಅನ್ವೇಷಿಸೋಣ.


The program translates to the following disassembly listing.

ಪ್ರೋಗ್ರಾಂ ಕೆಳಗಿನ ಡಿಸೆಂಬ್ಲಿ ಪಟ್ಟಿಗೆ ಅನುವಾದಿಸುತ್ತದೆ.


IDA ಮೂರು ಸ್ಥಳೀಯ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಗುರುತಿಸಿದೆ.


IDA also identified the global variables and assigned names.

IDA ಜಾಗತಿಕ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಸಹ ಗುರುತಿಸಿತು ಮತ್ತು ಹೆಸರುಗಳನ್ನು ನಿಯೋಜಿಸಿತು.


The reason for that, is when a variable is defined in the global data area, the address and size of the variables are known to the compiler at compile time.

ಅದಕ್ಕೆ ಕಾರಣವೆಂದರೆ, ಜಾಗತಿಕ ಡೇಟಾ ಪ್ರದೇಶದಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸಿದಾಗ, ವೇರಿಯೇಬಲ್ಗಳ ವಿಳಾಸ ಮತ್ತು ಗಾತ್ರವು ಕಂಪೈಲ್ ಸಮಯದಲ್ಲಿ ಕಂಪೈಲರ್ಗೆ ತಿಳಿದಿರುತ್ತದೆ.


IDA used the offset keyword to indicate that addresses of variables are used.

ವೇರಿಯೇಬಲ್ಗಳ ವಿಳಾಸಗಳನ್ನು ಬಳಸಲಾಗುತ್ತದೆ ಎಂದು ಸೂಚಿಸಲು IDA ಆಫ್ಸೆಟ್ ಕೀವರ್ಡ್ ಅನ್ನು ಬಳಸಿದೆ.


IDA assigned the dummy name aTest to the address containing the string.

IDA ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಹೊಂದಿರುವ ವಿಳಾಸಕ್ಕೆ aTest ಎಂಬ ಡಮ್ಮಿ ಹೆಸರನ್ನು ನಿಯೋಜಿಸಿತು.


IDA gives you the ability to reformat constant values.

ಸ್ಥಿರ ಮೌಲ್ಯಗಳನ್ನು ಮರುಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವ ಸಾಮರ್ಥ್ಯವನ್ನು IDA ನಿಮಗೆ ನೀಡುತ್ತದೆ.


Another great feature of IDA is that it makes navigating to anywhere within a program much easier.

IDA ಯ ಮತ್ತೊಂದು ಉತ್ತಮ ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಅದು ಪ್ರೋಗ್ರಾಂನ ಎಲ್ಲಿಯಾದರೂ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವುದನ್ನು ಹೆಚ್ಚು ಸುಲಭಗೊಳಿಸುತ್ತದೆ.


When a program is disassembled, IDA labels every location in the program.

ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಡಿಸೆಂಬಲ್ ಮಾಡಿದಾಗ, IDA ಪ್ರೋಗ್ರಾಂನಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಸ್ಥಳವನ್ನು ಲೇಬಲ್ ಮಾಡುತ್ತದೆ.


Cross-references link relates addresses together.

ಕ್ರಾಸ್-ರೆಫರೆನ್ಸ್ ಲಿಂಕ್ ವಿಳಾಸಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸಂಬಂಧಿಸುತ್ತದೆ.


A code cross-reference indicates the control flow from one instruction to an another.

ಕೋಡ್ ಕ್ರಾಸ್-ರೆಫರೆನ್ಸ್ ಒಂದು ಸೂಚನೆಯಿಂದ ಇನ್ನೊಂದಕ್ಕೆ ನಿಯಂತ್ರಣ ಹರಿವನ್ನು ಸೂಚಿಸುತ್ತದೆ.


Using the cross-references to CreateFile, we can determine that the CreateFile API is referenced in two functions.

CreateFile ಗೆ ಅಡ್ಡ-ಉಲ್ಲೇಖಗಳನ್ನು ಬಳಸುವುದರ ಮೂಲಕ, CreateFile API ಅನ್ನು ಎರಡು ಕಾರ್ಯಗಳಲ್ಲಿ ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನಿರ್ಧರಿಸಬಹುದು.


IDA employs a technology called Fast Library Identification and Recognition Technology (FLIRT).

IDA ಫಾಸ್ಟ್ ಲೈಬ್ರರಿ ಐಡೆಂಟಿಫಿಕೇಶನ್ ಮತ್ತು ರೆಕಗ್ನಿಷನ್ ಟೆಕ್ನಾಲಜಿ (FLIRT) ಎಂಬ ತಂತ್ರಜ್ಞಾನವನ್ನು ಬಳಸುತ್ತದೆ.


IDA was able to recognize the disassembled function at ➊ as an imported function, and named it CreateFileA.

IDA ➊ ನಲ್ಲಿರುವ ಡಿಸ್ಅಸೆಂಬಲ್ಡ್ ಕಾರ್ಯವನ್ನು ಆಮದು ಮಾಡಿದ ಕಾರ್ಯವಾಗಿ ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಮತ್ತು ಅದಕ್ಕೆ CreateFileA ಎಂದು ಹೆಸರಿಸಿತು.


IDA's capability to identify libraries and imported functions is extremely useful.

ಲೈಬ್ರರಿಗಳು ಮತ್ತು ಆಮದು ಮಾಡಿದ ಕಾರ್ಯಗಳನ್ನು ಗುರುತಿಸುವ IDA ಸಾಮರ್ಥ್ಯವು ಅತ್ಯಂತ ಉಪಯುಕ್ತವಾಗಿದೆ.


you really don't want to waste time reverse engineering a library or import function.

ನೀವು ನಿಜವಾಗಿಯೂ ಲೈಬ್ರರಿ ಅಥವಾ ಆಮದು ಕಾರ್ಯವನ್ನು ರಿವರ್ಸ್ ಎಂಜಿನಿಯರಿಂಗ್ ಮಾಡುವಲ್ಲಿ ಸಮಯ ವ್ಯರ್ಥ ಮಾಡಲು ಬಯಸುವುದಿಲ್ಲ.


IDA also added names of parameters as comments to indicate which parameter was being pushed.

ಯಾವ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ತಳ್ಳಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಸೂಚಿಸಲು IDA ಕಾಮೆಂಟ್ಗಳಾಗಿ ಪ್ಯಾರಾಮೀಟರ್ಗಳ ಹೆಸರುಗಳನ್ನು ಸೇರಿಸಿದೆ.


From the preceding disassembly listing, you can tell that malware either creates or opens a file.

ಮೇಲಿನ ಡಿಸ್ಅಸೆಂಬಲ್ ಪಟ್ಟಿಯಿಂದ, ಮಾಲ್ವೇರ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ ಅಥವಾ ತೆರೆಯುತ್ತದೆ ಎಂದು ನೀವು ಹೇಳಬಹುದು.


Malware authors often use symbolic constants, such as GENERIC_WRITE, in their source code.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ತಮ್ಮ ಮೂಲ ಕೋಡ್‌ನಲ್ಲಿ GENERIC_WRITE ನಂತಹ ಸಾಂಕೇತಿಕ ಸ್ಥಿರಾಂಕಗಳನ್ನು ಹೆಚ್ಚಾಗಿ ಬಳಸುತ್ತಾರೆ.


In this case, from the Windows API documentation, we know that the value 40000000h at ➌ is a symbolic constant that represents GENERIC_WRITE.

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ವಿಂಡೋಸ್ API ಡಾಕ್ಯುಮೆಂಟೇಶನ್‌ನಿಂದ, ➌ ನಲ್ಲಿರುವ 40000000h ಮೌಲ್ಯವು GENERIC_WRITE ಅನ್ನು ಪ್ರತಿನಿಧಿಸುವ ಸಾಂಕೇತಿಕ ಸ್ಥಿರಾಂಕವಾಗಿದೆ ಎಂದು ನಮಗೆ ತಿಳಿದಿದೆ.


Another feature of IDA is that it maintains a list of standard symbolic constants for the Windows API.

IDA ಯ ಮತ್ತೊಂದು ವೈಶಿಷ್ಟ್ಯವೆಂದರೆ ಅದು ವಿಂಡೋಸ್ API ಗಾಗಿ ಪ್ರಮಾಣಿತ ಸಾಂಕೇತಿಕ ಸ್ಥಿರಾಂಕಗಳ ಪಟ್ಟಿಯನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.


To replace the constant value such as 40000000h at ➌, with the symbolic constant, just right-click on the constant value.

➌ ನಲ್ಲಿರುವ 40000000h ನಂತಹ ಸ್ಥಿರ ಮೌಲ್ಯವನ್ನು ಸಾಂಕೇತಿಕ ಸ್ಥಿರಾಂಕದೊಂದಿಗೆ ಬದಲಾಯಿಸಲು, ಸ್ಥಿರ ಮೌಲ್ಯದ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ.


After replacing the constants with symbolic names, the disassembly listing is translated.

ಸ್ಥಿರಾಂಕಗಳನ್ನು ಸಾಂಕೇತಿಕ ಹೆಸರುಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಿದ ನಂತರ, ಡಿಸ್ಅಸೆಂಬಲ್ ಪಟ್ಟಿಯನ್ನು ಅನುವಾದಿಸಲಾಗುತ್ತದೆ.


The code is now more readable, and from the code, you can tell that malware creates the file psto.exe.

ಈಗ ಕೋಡ್ ಹೆಚ್ಚು ಸುಲಭವಾಗಿ ಓದಲ್ಪಡುತ್ತದೆ ಮತ್ತು ಕೋಡ್‌ನಿಂದ, ಮಾಲ್ವೇರ್ psto.exe ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ ಎಂದು ನೀವು ಹೇಳಬಹುದು.


Windows supports two parallel sets of APIs: one for ANSI strings, and the other for Unicode strings.

ವಿಂಡೋಸ್ ಎರಡು ಸಮಾನಾಂತರ API ಗಳ ಗುಂಪುಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತದೆ: ಒಂದು ANSI ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗಾಗಿ ಮತ್ತು ಇನ್ನೊಂದು ಯುನಿಕೋಡ್ ಸ್ಟ್ರಿಂಗ್‌ಗಳಿಗಾಗಿ.


In the preceding example, the malware calls CreateFileA to create a file.

ಮೇಲಿನ ಉದಾಹರಣೆಯಲ್ಲಿ, ಮಾಲ್ವೇರ್ ಫೈಲ್ ರಚಿಸಲು CreateFileA ಅನ್ನು ಕರೆಯುತ್ತದೆ.


You will also see malware using APIs such as CreateFileW.

ನೀವು CreateFileW ನಂತಹ API ಗಳನ್ನು ಬಳಸುವ ಮಾಲ್ವೇರ್ ಅನ್ನು ಸಹ ನೋಡುತ್ತೀರಿ.


During malware analysis, when you come across a function such as CreateFileA or CreateFileW, just remove the trailing A and W characters.

ಮಾಲ್ವೇರ್ ವಿಶ್ಲೇಷಣೆಯ ಸಮಯದಲ್ಲಿ, ನೀವು CreateFileA ಅಥವಾ CreateFileW ನಂತಹ ಕಾರ್ಯವನ್ನು ಎದುರಿಸಿದಾಗ, ಬಾಲದ A ಮತ್ತು W ಅಕ್ಷರಗಳನ್ನು ತೆಗೆದುಹಾಕಿ.


Let's look at an example of a 32-bit malware to understand how malware uses multiple API functions.

ಮಾಲ್ವೇರ್ ಹೇಗೆ ಅನೇಕ API ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು 32-ಬಿಟ್ ಮಾಲ್ವೇರ್‌ನ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.


After the malware opens the handle to the Run registry key by calling RegOpenKeyEx, the returned handle is moved into the ecx register.

RegOpenKeyEx ಅನ್ನು ಕರೆ ಮಾಡುವ ಮೂಲಕ ಮಾಲ್ವೇರ್ ರನ್ ರಿಜಿಸ್ಟ್ರಿ ಕೀಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ತೆರೆದ ನಂತರ, ಹಿಂತಿರುಗಿದ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ecx ರಿಜಿಸ್ಟರ್‌ಗೆ ಸರಿಸಲಾಗುತ್ತದೆ.


You also saw how malware acquires a handle to an object (such as the registry key) and then shares that handle with other API functions.

ಮಾಲ್ವೇರ್ ಒಂದು ವಸ್ತುವಿಗೆ (ರಿಜಿಸ್ಟ್ರಿ ಕೀಲಿಯಂತಹ) ಹೇಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ನಂತರ ಆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ಇತರ API ಕಾರ್ಯಗಳೊಂದಿಗೆ ಹೇಗೆ ಹಂಚಿಕೊಳ್ಳುತ್ತದೆ ಎಂಬುದನ್ನು ಸಹ ನೀವು ನೋಡಿದ್ದೀರಿ.


A debugger is a program that gives you the ability to inspect malicious code at a more granular level.

ಒಂದು ಡೀಬಗ್ಗರ್ ಎಂದರೆ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಹೆಚ್ಚು ವಿವರವಾದ ಮಟ್ಟದಲ್ಲಿ ಪರಿಶೀಲಿಸುವ ಸಾಮರ್ಥ್ಯವನ್ನು ನೀಡುವ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ.


It provides full control over the malware's runtime behavior and allows you to execute a single instruction.

ಇದು ಮಾಲ್ವೇರ್‌ನ ರನ್‌ಟೈಮ್ ನಡವಳಿಕೆಯ ಮೇಲೆ ಸಂಪೂರ್ಣ ನಿಯಂತ್ರಣವನ್ನು ಒದಗಿಸುತ್ತದೆ ಮತ್ತು ಒಂದೇ ಸೂಚನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.


In this chapter, you will mainly learn the debugging features offered by IDA Pro and x64dbg.

ಈ ಅಧ್ಯಾಯದಲ್ಲಿ, ನೀವು ಮುಖ್ಯವಾಗಿ IDA Pro ಮತ್ತು x64dbg ನೀಡುವ ಡೀಬಗ್ ಮಾಡುವ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಗ್ಗೆ ಕಲಿಯುವಿರಿ.


You will learn about the features offered by these debuggers, and how to use them to inspect the runtime behavior of a program.

ಈ ಡೀಬಗ್ಗರ್‌ಗಳು ನೀಡುವ ವೈಶಿಷ್ಟ್ಯಗಳ ಬಗ್ಗೆ ಮತ್ತು ಪ್ರೋಗ್ರಾಂನ ರನ್‌ಟೈಮ್ ನಡವಳಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಅವುಗಳನ್ನು ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದರ ಕುರಿತು ನೀವು ಕಲಿಯುವಿರಿ.


When you are debugging a malware, proper care needs to be taken, as you will be running the malicious code on a system.

ನೀವು ಮಾಲ್ವೇರ್ ಅನ್ನು ಡೀಬಗ್ ಮಾಡುವಾಗ, ಸರಿಯಾದ ಕಾಳಜಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು, ಏಕೆಂದರೆ ನೀವು ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ರನ್ ಮಾಡುತ್ತೀರಿ.


It is highly recommended that you perform any malware debugging in an isolated environment.

ಪ್ರತ್ಯೇಕಿತ ಪರಿಸರದಲ್ಲಿ ಯಾವುದೇ ಮಾಲ್ವೇರ್ ಡೀಬಗ್ ಮಾಡುವಿಕೆಯನ್ನು ನಿರ್ವಹಿಸಲು ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.


At the end of this chapter, you will also see how to debug a .NET application using a .NET decompiler/debugger, dnSpy.

ಈ ಅಧ್ಯಾಯದ ಕೊನೆಯಲ್ಲಿ, .NET ಡಿಕಂಪೈಲರ್/ಡೀಬಗ್ಗರ್, dnSpy ಅನ್ನು ಬಳಸಿಕೊಂಡು .NET ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೇಗೆ ಡೀಬಗ್ ಮಾಡುವುದು ಎಂಬುದನ್ನು ಸಹ ನೀವು ನೋಡುತ್ತೀರಿ.


Debugging normally begins by selecting the program to debug.

ಡೀಬಗ್ ಮಾಡುವುದು ಸಾಮಾನ್ಯವಾಗಿ ಡೀಬಗ್ ಮಾಡಲು ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಮೂಲಕ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ.


There are two ways to debug a program: (a) attach the debugger to a running process, and (b) launch a new process.

ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಎರಡು ಮಾರ್ಗಗಳಿವೆ: (ಎ) ಡೀಬಗ್ಗರ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗೆ ಲಗತ್ತಿಸಿ, ಮತ್ತು (ಬಿ) ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸಿ.


When you attach the debugger to a running process, you will not be able to control or monitor the process's initial actions.

ನೀವು ಡೀಬಗ್ಗರ್ ಅನ್ನು ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗೆ ಲಗತ್ತಿಸಿದಾಗ, ಪ್ರಕ್ರಿಯೆಯ ಆರಂಭಿಕ ಕ್ರಿಯೆಗಳನ್ನು ನಿಯಂತ್ರಿಸಲು ಅಥವಾ ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ.


On the other hand, launching a new process allows you to monitor or debug every action the process takes.

ಮತ್ತೊಂದೆಡೆ, ಹೊಸ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪ್ರಾರಂಭಿಸುವುದರಿಂದ ಪ್ರಕ್ರಿಯೆಯು ತೆಗೆದುಕೊಳ್ಳುವ ಪ್ರತಿಯೊಂದು ಕ್ರಿಯೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಅಥವಾ ಡೀಬಗ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.


When you start the debugger, the original binary will be executed with the privileges of the user running the debugger.

ನೀವು ಡೀಬಗ್ಗರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿದಾಗ, ಮೂಲ ಬೈನರಿಯನ್ನು ಡೀಬಗ್ಗರ್ ಅನ್ನು ಚಲಾಯಿಸುವ ಬಳಕೆದಾರರ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಲಾಗುತ್ತದೆ.


A program's entry point is the address of the first instruction that will be executed.

ಪ್ರೋಗ್ರಾಂನ ಪ್ರವೇಶ ಬಿಂದುವು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾದ ಮೊದಲ ಸೂಚನೆಯ ವಿಳಾಸವಾಗಿದೆ.


The two important capabilities offered by a debugger are: (a) the ability to control execution, and (b) the ability to interrupt execution.

ಡೀಬಗ್ಗರ್‌ನಿಂದ ನೀಡಲಾಗುವ ಎರಡು ಮುಖ್ಯ ಸಾಮರ್ಥ್ಯಗಳೆಂದರೆ: (ಎ) ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ನಿಯಂತ್ರಿಸುವ ಸಾಮರ್ಥ್ಯ, ಮತ್ತು (ಬಿ) ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸುವ ಸಾಮರ್ಥ್ಯ.


Using a debugger, you can execute one or more instructions before returning control to the debugger.

ಡೀಬಗ್ಗರ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು, ನೀವು ನಿಯಂತ್ರಣವನ್ನು ಡೀಬಗ್ಗರ್‌ಗೆ ಹಿಂದಿರುಗಿಸುವ ಮೊದಲು ಒಂದು ಅಥವಾ ಹೆಚ್ಚಿನ ಸೂಚನೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.


The difference between step into and step over occurs when you are executing an instruction that calls a function.

ನೀವು ಕಾರ್ಯವನ್ನು ಕರೆಯುವ ಸೂಚನೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಿರುವಾಗ ಸ್ಟೆಪ್ ಇನ್ ಮತ್ತು ಸ್ಟೆಪ್ ಓವರ್ ನಡುವಿನ ವ್ಯತ್ಯಾಸವು ಸಂಭವಿಸುತ್ತದೆ.


A breakpoint is a debugger feature that allows you to interrupt program execution at a very specific location within a program.

ಒಂದು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಎನ್ನುವುದು ಡೀಬಗ್ಗರ್ ವೈಶಿಷ್ಟ್ಯವಾಗಿದ್ದು ಅದು ಪ್ರೋಗ್ರಾಂನೊಳಗೆ ನಿರ್ದಿಷ್ಟ ಸ್ಥಳದಲ್ಲಿ ಪ್ರೋಗ್ರಾಂ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.


You can set multiple breakpoints all over a program, and execution will be interrupted upon reaching any of the breakpoints.

ನೀವು ಪ್ರೋಗ್ರಾಂನಾದ್ಯಂತ ಬಹು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಬಹುದು ಮತ್ತು ಯಾವುದೇ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ತಲುಪಿದಾಗ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸಲಾಗುತ್ತದೆ.


Software breakpoints are implemented by replacing the instruction at a breakpoint address with a software breakpoint instruction.

ಸಾಫ್ಟ್‌ವೇರ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ವಿಳಾಸದಲ್ಲಿನ ಸೂಚನೆಯನ್ನು ಸಾಫ್ಟ್‌ವೇರ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಸೂಚನೆಯೊಂದಿಗೆ ಬದಲಿಸುವ ಮೂಲಕ ಅಳವಡಿಸಲಾಗಿದೆ.


Tracing is a debugging feature that allows you to record (log) specific events while the process is executing.

ಟ್ರೇಸಿಂಗ್ ಎನ್ನುವುದು ಡೀಬಗ್ ಮಾಡುವ ವೈಶಿಷ್ಟ್ಯವಾಗಿದ್ದು, ಪ್ರಕ್ರಿಯೆಯು ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತಿರುವಾಗ ನಿರ್ದಿಷ್ಟ ಈವೆಂಟ್‌ಗಳನ್ನು ರೆಕಾರ್ಡ್ ಮಾಡಲು (ಲಾಗ್) ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.


In a 64-bit function, the stack space is allocated at the beginning of the function.

64-ಬಿಟ್ ಕಾರ್ಯದಲ್ಲಿ, ಕಾರ್ಯದ ಆರಂಭದಲ್ಲಿ ಸ್ಟಾಕ್ ಜಾಗವನ್ನು ಹಂಚಲಾಗುತ್ತದೆ.


The allocated stack space is used to store the local variables and the function parameters.

ಹಂಚಿಕೆಯಾದ ಸ್ಟಾಕ್ ಜಾಗವನ್ನು ಸ್ಥಳೀಯ ಅಸ್ಥಿರಗಳು ಮತ್ತು ಕಾರ್ಯ ನಿಯತಾಂಕಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ.


Debugging Malicious BinariesChapter 6 [ 209 ]

ದೋಷಪೂರಿತ ಬೈನರಿಗಳನ್ನು ಡೀಬಗ್ ಮಾಡಲಾಗುತ್ತಿದೆ ಅಧ್ಯಾಯ 6 [ 209 ]


Once you have an idea of where to find the function parameters and the return values, you can set a breakpoint at the API call.

ಕಾರ್ಯ ನಿಯತಾಂಕಗಳು ಮತ್ತು ರಿಟರ್ನ್ ಮೌಲ್ಯಗಳನ್ನು ಎಲ್ಲಿ ಕಂಡುಹಿಡಿಯಬೇಕೆಂದು ನಿಮಗೆ ತಿಳಿದ ನಂತರ, ನೀವು API ಕರೆಯಲ್ಲಿ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು.


Let's look at an example of a 64-bit malware sample that calls RegSetValueEx to set some value in the registry.

ರಿಜಿಸ್ಟರಿಯಲ್ಲಿ ಕೆಲವು ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಲು RegSetValueEx ಅನ್ನು ಕರೆಯುವ 64-ಬಿಟ್ ಮಾಲ್ವೇರ್ ಮಾದರಿಯ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.


In the following screenshot, the breakpoint is triggered before the call to the RegSetValueEx.

ಕೆಳಗಿನ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ನಲ್ಲಿ, RegSetValueEx ಗೆ ಕರೆ ಮಾಡುವ ಮೊದಲು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಪ್ರಚೋದಿಸಲಾಗಿದೆ.


You will need to look at the values in the registers and the stack window to examine the parameters passed to the function.

ಕಾರ್ಯಕ್ಕೆ ರವಾನಿಸಲಾದ ನಿಯತಾಂಕಗಳನ್ನು ಪರೀಕ್ಷಿಸಲು ನೀವು ರಿಜಿಸ್ಟರ್‌ಗಳು ಮತ್ತು ಸ್ಟಾಕ್ ವಿಂಡೋದಲ್ಲಿನ ಮೌಲ್ಯಗಳನ್ನು ನೋಡಬೇಕಾಗುತ್ತದೆ.


In x64dbg, the easiest way to get a quick summary of function parameters is to look at the Default Window.

x64dbg ನಲ್ಲಿ, ಕಾರ್ಯ ನಿಯತಾಂಕಗಳ ತ್ವರಿತ ಸಾರಾಂಶವನ್ನು ಪಡೆಯಲು ಸುಲಭವಾದ ಮಾರ್ಗವೆಂದರೆ ಡೀಫಾಲ್ಟ್ ವಿಂಡೋವನ್ನು ನೋಡುವುದು.


You can set a value in the Default window to display the number of parameters.

ನಿಯತಾಂಕಗಳ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸಲು ನೀವು ಡೀಫಾಲ್ಟ್ ವಿಂಡೋದಲ್ಲಿ ಮೌಲ್ಯವನ್ನು ಹೊಂದಿಸಬಹುದು.


From the API documentation, you can tell that the RegSetValueEx API takes 6 parameters.

API ಡಾಕ್ಯುಮೆಂಟೇಶನ್‌ನಿಂದ, RegSetValueEx API 6 ನಿಯತಾಂಕಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಎಂದು ನೀವು ಹೇಳಬಹುದು.


The first parameter value, 0x2c, is the handle to the open registry key.

ಮೊದಲ ನಿಯತಾಂಕ ಮೌಲ್ಯ, 0x2c, ತೆರೆದ ರಿಜಿಸ್ಟ್ರಿ ಕೀಗೆ ಹ್ಯಾಂಡಲ್ ಆಗಿದೆ.


Malware can open a handle to the registry key by calling either the RegCreateKey or RegOpenKey API.

RegCreateKey ಅಥವಾ RegOpenKey API ಅನ್ನು ಕರೆ ಮಾಡುವ ಮೂಲಕ ಮಾಲ್ವೇರ್ ರಿಜಿಸ್ಟ್ರಿ ಕೀಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ತೆರೆಯಬಹುದು.


From the handles window, you can tell that the handle value 0x2c is associated with the registry key.

ಹ್ಯಾಂಡಲ್‌ಗಳ ವಿಂಡೋದಿಂದ, ಹ್ಯಾಂಡಲ್ ಮೌಲ್ಯ 0x2c ರಿಜಿಸ್ಟ್ರಿ ಕೀಯೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದೆ ಎಂದು ನೀವು ಹೇಳಬಹುದು.


By adding logoninit.exe, along with explorer.exe, the malware makes sure that logoninit.exe is also launched by Userinit.exe.

logoninit.exe ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ, explorer.exe ಜೊತೆಗೆ, ಮಾಲ್ವೇರ್ logoninit.exe ಅನ್ನು Userinit.exe ನಿಂದ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.


In the next section, you will learn how to debug a malicious DLL to determine its behavior.

ಮುಂದಿನ ವಿಭಾಗದಲ್ಲಿ, ಅದರ ನಡವಳಿಕೆಯನ್ನು ನಿರ್ಧರಿಸಲು ನೀವು ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು ಹೇಗೆ ಡೀಬಗ್ ಮಾಡಬೇಕೆಂದು ಕಲಿಯುವಿರಿ.


If you are not already familiar with the dynamic analysis of a DLL, it is highly recommended to read Section 6.

ನೀವು ಈಗಾಗಲೇ DLL ನ ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಣೆಯೊಂದಿಗೆ ಪರಿಚಿತರಾಗದಿದ್ದರೆ, ವಿಭಾಗ 6 ಅನ್ನು ಓದುವುದು ಹೆಚ್ಚು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ.


To debug a DLL, launch x64dbg and load the DLL.

DLL ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು, x64dbg ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು DLL ಅನ್ನು ಲೋಡ್ ಮಾಡಿ.


After you load the DLL, the debugger may pause at the System Breakpoint, TLS callback, or DLL entry point function.

ನೀವು DLL ಅನ್ನು ಲೋಡ್ ಮಾಡಿದ ನಂತರ, ಡೀಬಗರ್ ಸಿಸ್ಟಮ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್, TLS ಕಾಲ್‌ಬ್ಯಾಕ್ ಅಥವಾ DLL ಎಂಟ್ರಿ ಪಾಯಿಂಟ್ ಕಾರ್ಯದಲ್ಲಿ ವಿರಾಮಗೊಳಿಸಬಹುದು.


Another effective method is to use rundll32.exe to debug the DLL.

DLL ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು ಮತ್ತೊಂದು ಪರಿಣಾಮಕಾರಿ ವಿಧಾನವೆಂದರೆ rundll32.exe ಅನ್ನು ಬಳಸುವುದು.


You can keep track of where the execution has paused every time you run (F9), by looking at the comment next to the breakpoint address.

ನೀವು ರನ್ (F9) ಮಾಡಿದಾಗಲೆಲ್ಲಾ, ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ವಿಳಾಸದ ಪಕ್ಕದಲ್ಲಿರುವ ಕಾಮೆಂಟ್ ಅನ್ನು ನೋಡುವ ಮೂಲಕ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆ ಎಲ್ಲಿ ವಿರಾಮಗೊಂಡಿದೆ ಎಂಬುದನ್ನು ನೀವು ಟ್ರ್ಯಾಕ್ ಮಾಡಬಹುದು.


The malware downloads a component and executes it.

ಮಾಲ್ವೇರ್ ಒಂದು ಘಟಕವನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿ ಅದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.


Downloaders are often part of exploit shellcode.

ಡೌನ್‌ಲೋಡರ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಶೋಷಣೆ ಶೆಲ್‌ಕೋಡ್‌ನ ಭಾಗವಾಗಿರುತ್ತವೆ.


The URL for the malware binary is determined by a breakpoint.

ಮಾಲ್ವೇರ್ ಬೈನರಿಗಾಗಿ URL ಅನ್ನು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ನಿಂದ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ.


The downloaded executable is saved in the %TEMP% directory.

%TEMP% ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ಉಳಿಸಲಾಗಿದೆ.


Malware may also use WinExec() or CreateProcess() APIs.

ಮಾಲ್ವೇರ್ WinExec() ಅಥವಾ CreateProcess() API ಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು.


Monitoring tools like Wireshark are helpful during debugging.

ದೋಷನಿವಾರಣೆಯ ಸಮಯದಲ್ಲಿ ವೈರ್‌ಶಾರ್ಕ್‌ನಂತಹ ಮಾನಿಟರಿಂಗ್ ಪರಿಕರಗಳು ಸಹಾಯಕವಾಗಿವೆ.


A dropper embeds a malware component within itself.

ಡ್ರಾಪರ್ ತನ್ನೊಳಗೆ ಮಾಲ್ವೇರ್ ಘಟಕವನ್ನು ಎಂಬೆಡ್ ಮಾಡುತ್ತದೆ.


Droppers often use FindResource(), LoadResource(), and other API calls.

ಡ್ರಾಪರ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ FindResource(), LoadResource(), ಮತ್ತು ಇತರ API ಕರೆಗಳನ್ನು ಬಳಸುತ್ತವೆ.


The resource section of a malware sample can be examined.

ಮಾಲ್ವೇರ್ ಮಾದರಿಯ ಸಂಪನ್ಮೂಲ ವಿಭಾಗವನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು.


Setting breakpoints on API calls helps in analysis.

API ಕರೆಗಳ ಮೇಲೆ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಸುವುದರಿಂದ ವಿಶ್ಲೇಷಣೆಗೆ ಸಹಾಯವಾಗುತ್ತದೆ.


A 64-bit dropper uses similar API functions.

64-ಬಿಟ್ ಡ್ರಾಪರ್ ಇದೇ ರೀತಿಯ API ಕಾರ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ.


Keyloggers intercept and log keystrokes.

ಕೀಲಾಗರ್‌ಗಳು ಕೀಸ್ಟ್ರೋಕ್‌ಗಳನ್ನು ತಡೆಯುತ್ತವೆ ಮತ್ತು ಲಾಗ್ ಮಾಡುತ್ತವೆ.


Attackers use keylogging to steal confidential information.

ಗೌಪ್ಯ ಮಾಹಿತಿಯನ್ನು ಕದಿಯಲು ದಾಳಿಕೋರರು ಕೀಲಾಗ್‌ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


GetAsyncKeyState() is a common API for keylogging.

GetAsyncKeyState() ಕೀಲಾಗ್‌ಗಾಗಿ ಸಾಮಾನ್ಯ API ಆಗಿದೆ.


Keyloggers often use GetAsyncKeyState() in a loop.

ಕೀಲಾಗರ್‌ಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಲೂಪ್‌ನಲ್ಲಿ GetAsyncKeyState() ಅನ್ನು ಬಳಸುತ್ತವೆ.


SetWindowsHookEx() is another keylogging technique.

SetWindowsHookEx() ಮತ್ತೊಂದು ಕೀಲಾಗ್ ತಂತ್ರವಾಗಿದೆ.


Malware can replicate via removable media.

ತೆಗೆಯಬಹುದಾದ ಮಾಧ್ಯಮದ ಮೂಲಕ ಮಾಲ್ವೇರ್ ಅನ್ನು ಪುನರಾವರ್ತಿಸಬಹುದು.


Attackers exploit Autorun features to infect systems.

ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಸೋಂಕು ತಗುಲಿಸಲು ದಾಳಿಕೋರರು ಆಟೋರನ್ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತಾರೆ.


Malware often copies files to removable media.

ಮಾಲ್ವೇರ್ ಸಾಮಾನ್ಯವಾಗಿ ಫೈಲ್‌ಗಳನ್ನು ತೆಗೆಯಬಹುದಾದ ಮಾಧ್ಯಮಕ್ಕೆ ನಕಲಿಸುತ್ತದೆ.


Andromeda is an example of malware using tricks on USB drives.

ಆಂಡ್ರೊಮಿಡಾ ಯುಎಸ್‌ಬಿ ಡ್ರೈವ್‌ಗಳಲ್ಲಿ ತಂತ್ರಗಳನ್ನು ಬಳಸುವ ಮಾಲ್ವೇರ್‌ಗೆ ಒಂದು ಉದಾಹರಣೆಯಾಗಿದೆ.


To set a hardware breakpoint, right-click on an existing breakpoint and select Edit breakpoint.

ಹಾರ್ಡ್‌ವೇರ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸಲು, ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಿ ಮತ್ತು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಸಂಪಾದಿಸು ಆಯ್ಕೆಮಾಡಿ.


IDA allows you to set more than four hardware breakpoints, but only four of them will work.

IDA ನಿಮಗೆ ನಾಲ್ಕಕ್ಕಿಂತ ಹೆಚ್ಚು ಹಾರ್ಡ್‌ವೇರ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಹೊಂದಿಸಲು ಅನುಮತಿಸುತ್ತದೆ, ಆದರೆ ಅವುಗಳಲ್ಲಿ ಕೇವಲ ನಾಲ್ಕು ಮಾತ್ರ ಕೆಲಸ ಮಾಡುತ್ತವೆ.


You can use hardware breakpoints to specify whether to break on execute (default), break on write, or break on read/write.

ನೀವು ಕಾರ್ಯಗತಗೊಳಿಸುವಾಗ (ಡೀಫಾಲ್ಟ್), ಬರೆಯುವಾಗ ಅಥವಾ ಓದುವ/ಬರೆಯುವಾಗ ವಿರಾಮಗೊಳಿಸಲು ಹಾರ್ಡ್‌ವೇರ್ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಬಳಸಬಹುದು.


This breakpoint is useful if you want to know when your program accesses a piece of data (read/write) from a memory location.

ನಿಮ್ಮ ಪ್ರೋಗ್ರಾಂ ಮೆಮೊರಿ ಸ್ಥಳದಿಂದ ಡೇಟಾದ ತುಣುಕನ್ನು (ಓದು/ಬರಹ) ಪ್ರವೇಶಿಸಿದಾಗ ತಿಳಿಯಲು ನೀವು ಬಯಸಿದರೆ ಈ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಉಪಯುಕ್ತವಾಗಿದೆ.


You can set a conditional breakpoint by specifying the condition in the condition field.

ಷರತ್ತು ಕ್ಷೇತ್ರಕ್ಕೆ ಷರತ್ತುಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ ನೀವು ಷರತ್ತುಬದ್ಧ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು.


The condition can be an actual condition, or IDC or IDAPython expressions.

ಷರತ್ತು ನಿಜವಾದ ಸ್ಥಿತಿಯಾಗಿರಬಹುದು, ಅಥವಾ IDC ಅಥವಾ IDAPython ಅಭಿವ್ಯಕ್ತಿಗಳಾಗಿರಬಹುದು.


You can view all of the active breakpoints by navigating to Debugger | Breakpoints | Breakpoint List.

ಡೀಬಗ್ಗರ್ | ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳು | ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಪಟ್ಟಿಗೆ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ಎಲ್ಲಾ ಸಕ್ರಿಯ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು.


You can right-click on the breakpoint entry and disable or delete the breakpoint.

ನೀವು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಪ್ರವೇಶದ ಮೇಲೆ ಬಲ ಕ್ಲಿಕ್ ಮಾಡಬಹುದು ಮತ್ತು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು ಅಥವಾ ಅಳಿಸಬಹುದು.


Consider the disassembly listing from a 32-bit malware sample.

32-ಬಿಟ್ ಮಾಲ್ವೇರ್ ಮಾದರಿಯಿಂದ ಡಿಸ್ಅಸೆಂಬ್ಲಿ ಪಟ್ಟಿಯನ್ನು ಪರಿಗಣಿಸಿ.


The malware calls the CreateFileW API to create a file.

ಮಾಲ್ವೇರ್ ಫೈಲ್ ಅನ್ನು ರಚಿಸಲು CreateFileW API ಅನ್ನು ಕರೆಯುತ್ತದೆ.


To determine the name of the file, we can set a breakpoint at the address where the call to the CreateFileW is made.

ಫೈಲ್‌ನ ಹೆಸರನ್ನು ನಿರ್ಧರಿಸಲು, CreateFileW ಗೆ ಕರೆ ಮಾಡಿದ ವಿಳಾಸದಲ್ಲಿ ನಾವು ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ ಅನ್ನು ಹೊಂದಿಸಬಹುದು.


After the call to CreateFileW, the handle to the file will be returned in the eax register.

CreateFileW ಗೆ ಕರೆ ಮಾಡಿದ ನಂತರ, ಫೈಲ್‌ಗೆ ಹ್ಯಾಂಡಲ್ ಅನ್ನು eax ರಿಜಿಸ್ಟರ್‌ನಲ್ಲಿ ಹಿಂತಿರುಗಿಸಲಾಗುತ್ತದೆ.


You can use the Hex-View window in IDA to inspect the contents of any valid memory location.

ಯಾವುದೇ ಮಾನ್ಯ ಮೆಮೊರಿ ಸ್ಥಳದ ವಿಷಯಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ನೀವು IDA ನಲ್ಲಿ ಹೆಕ್ಸ್-ವೀಕ್ಷಣೆ ವಿಂಡೋವನ್ನು ಬಳಸಬಹುದು.


In this case, the malware is creating a file, SHAMple.dat, in the C:\Users\test\AppData\Local\Temp directory.

ಈ ಸಂದರ್ಭದಲ್ಲಿ, ಮಾಲ್ವೇರ್ C:\Users\test\AppData\Local\Temp ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ SHAMple.dat ಎಂಬ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತಿದೆ.


The malware, after creating the file, passes the file handle as the first argument to the WriteFile function.

ಫೈಲ್ ಅನ್ನು ರಚಿಸಿದ ನಂತರ, ಮಾಲ್ವೇರ್ ಫೈಲ್ ಹ್ಯಾಂಡಲ್ ಅನ್ನು WriteFile ಕಾರ್ಯಕ್ಕೆ ಮೊದಲ ವಾದವಾಗಿ ರವಾನಿಸುತ್ತದೆ.


To determine what content it writes to the file, you can inspect the second argument to the WriteFile function.

ಫೈಲ್‌ಗೆ ಅದು ಯಾವ ವಿಷಯವನ್ನು ಬರೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು, ನೀವು WriteFile ಕಾರ್ಯಕ್ಕೆ ಎರಡನೇ ವಾದವನ್ನು ಪರಿಶೀಲಿಸಬಹುದು.


In Chapter 3, Dynamic Analysis, you learned the techniques to execute a DLL to perform dynamic analysis.

ಅಧ್ಯಾಯ 3, ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಣೆಯಲ್ಲಿ, ಡೈನಾಮಿಕ್ ವಿಶ್ಲೇಷಣೆಯನ್ನು ನಿರ್ವಹಿಸಲು DLL ಅನ್ನು ಹೇಗೆ ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕೆಂದು ನೀವು ಕಲಿತಿದ್ದೀರಿ.


To debug a DLL using the IDA debugger, you first need to designate the executable (such as rundll32.exe) that will be used to load the DLL.

IDA ಡೀಬಗ್ಗರ್ ಬಳಸಿ DLL ಅನ್ನು ಡೀಬಗ್ ಮಾಡಲು, ನೀವು ಮೊದಲು DLL ಅನ್ನು ಲೋಡ್ ಮಾಡಲು ಬಳಸಲಾಗುವ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು (ಉದಾಹರಣೆಗೆ rundll32.exe) ಗೊತ್ತುಪಡಿಸಬೇಕು.


Set a breakpoint (F2) at the first instruction in the DLLMain function.

DLLMain ಕಾರ್ಯದ ಮೊದಲ ಸೂಚನೆಯಲ್ಲಿ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್ (F2) ಅನ್ನು ಹೊಂದಿಸಿ.


You can also set breakpoints on any function exported by the DLL by navigating to it from IDA's Exports window.

ನೀವು IDA ನ ಎಕ್ಸ್‌ಪೋರ್ಟ್‌ಗಳ ವಿಂಡೋದಿಂದ ನ್ಯಾವಿಗೇಟ್ ಮಾಡುವ ಮೂಲಕ DLL ನಿಂದ ರಫ್ತು ಮಾಡಲಾದ ಯಾವುದೇ ಕಾರ್ಯದ ಮೇಲೆ ಬ್ರೇಕ್‌ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಸಹ ಹೊಂದಿಸಬಹುದು.


The malware performs actions based on commands from the C2 server.

C2 ಸರ್ವರ್‌ನಿಂದ ಬಂದ ಆಜ್ಞೆಗಳ ಆಧಾರದ ಮೇಲೆ ಮಾಲ್‌ವೇರ್ ಕ್ರಮಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.


To understand the malware's functions, see the author's presentation.

ಮಾಲ್‌ವೇರ್‌ನ ಕಾರ್ಯಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಲೇಖಕರ ಪ್ರಸ್ತುತಿಯನ್ನು ನೋಡಿ.


PowerShell is often used by malware authors to hide malicious activities.

ಮಾಲ್‌ವೇರ್ ರಚನೆಕಾರರು ಸಾಮಾನ್ಯವಾಗಿ ದುರುದ್ದೇಶಪೂರಿತ ಚಟುವಟಿಕೆಗಳನ್ನು ಮರೆಮಾಡಲು ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ.


PowerShell is a management engine based on the .NET framework.

ಪವರ್‌ಶೆಲ್ .NET ಚೌಕಟ್ಟನ್ನು ಆಧರಿಸಿದ ನಿರ್ವಹಣಾ ಎಂಜಿನ್ ಆಗಿದೆ.


Attackers use PowerShell to execute their malicious code.

ಆಕ್ರಮಣಕಾರರು ತಮ್ಮ ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ.


PowerShell provides access to major operating system functions.

ಪವರ್‌ಶೆಲ್ ಪ್ರಮುಖ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಕಾರ್ಯಗಳಿಗೆ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸುತ್ತದೆ.


Attackers use PowerShell to download additional components.

ಆಕ್ರಮಣಕಾರರು ಹೆಚ್ಚುವರಿ ಘಟಕಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ.


Malicious code often comes in email attachments.

ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಸಾಮಾನ್ಯವಾಗಿ ಇಮೇಲ್ ಲಗತ್ತುಗಳಲ್ಲಿ ಬರುತ್ತದೆ.


Attackers use PowerShell for lateral movement in a network.

ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಪಾರ್ಶ್ವ ಚಲನೆಗಾಗಿ ಆಕ್ರಮಣಕಾರರು ಪವರ್‌ಶೆಲ್ ಅನ್ನು ಬಳಸುತ್ತಾರೆ.


PowerShell allows code execution directly from memory.

ಮೆಮೊರಿಯಿಂದ ನೇರವಾಗಿ ಕೋಡ್ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಪವರ್‌ಶೆಲ್ ಅನುಮತಿಸುತ್ತದೆ.


Obfuscated code makes detection difficult.

ಅಸ್ಪಷ್ಟ ಕೋಡ್ ಪತ್ತೆಹಚ್ಚಲು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ.


You can execute a PowerShell command in the interactive console.

ನೀವು ಸಂವಾದಾತ್ಮಕ ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಪವರ್‌ಶೆಲ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದು.


A cmdlet is a compiled command written in a .NET Framework language.

Cmdlet ಎನ್ನುವುದು .NET ಫ್ರೇಮ್‌ವರ್ಕ್ ಭಾಷೆಯಲ್ಲಿ ಬರೆಯಲಾದ ಕಂಪೈಲ್ಡ್ ಆಜ್ಞೆಯಾಗಿದೆ.


Cmdlets follow a Verb-Noun naming convention.

Cmdlet ಗಳು ಕ್ರಿಯಾಪದ-ನಾಮಕರಣ ಸಂಪ್ರದಾಯವನ್ನು ಅನುಸರಿಸುತ್ತವೆ.


Variables can store values in PowerShell.

ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ ವೇರಿಯೇಬಲ್‌ಗಳು ಮೌಲ್ಯಗಳನ್ನು ಸಂಗ್ರಹಿಸಬಹುದು.


PowerShell scripts have a .ps1 extension.

ಪವರ್‌ಶೆಲ್ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು .ps1 ವಿಸ್ತರಣೆಯನ್ನು ಹೊಂದಿವೆ.


The default execution policy prevents script execution.

ಡೀಫಾಲ್ಟ್ ಎಕ್ಸಿಕ್ಯೂಷನ್ ನೀತಿಯು ಸ್ಕ್ರಿಪ್ಟ್ ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ತಡೆಯುತ್ತದೆ.


Change the execution policy to run malicious scripts.

ದುರುದ್ದೇಶಪೂರಿತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಚಲಾಯಿಸಲು ಎಕ್ಸಿಕ್ಯೂಷನ್ ನೀತಿಯನ್ನು ಬದಲಾಯಿಸಿ.


Analyze PowerShell commands in an isolated environment.

ಪ್ರತ್ಯೇಕಿತ ಪರಿಸರದಲ್ಲಿ ಪವರ್‌ಶೆಲ್ ಆಜ್ಞೆಗಳನ್ನು ವಿಶ್ಲೇಷಿಸಿ.


Attackers use various methods to bypass execution policies.

ಕಾರ್ಯಗತಗೊಳಿಸುವ ನೀತಿಗಳನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ಆಕ್ರಮಣಕಾರರು ವಿವಿಧ ವಿಧಾನಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


The Windows operating system searches for the DLL to be loaded in a specific order in the predefined locations.

ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ನಿರ್ದಿಷ್ಟ ಕ್ರಮದಲ್ಲಿ ಪೂರ್ವನಿರ್ಧರಿತ ಸ್ಥಳಗಳಲ್ಲಿ ಲೋಡ್ ಮಾಡಬೇಕಾದ DLL ಅನ್ನು ಹುಡುಕುತ್ತದೆ.


Adversaries can take advantage of how the operating system searches for the DLL to escalate privilege and to achieve persistence.

ಪ್ರತಿಸ್ಪರ್ಧಿಗಳು ಸವಲತ್ತುಗಳನ್ನು ಹೆಚ್ಚಿಸಲು ಮತ್ತು ಸ್ಥಿರತೆಯನ್ನು ಸಾಧಿಸಲು ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ DLL ಅನ್ನು ಹೇಗೆ ಹುಡುಕುತ್ತದೆ ಎಂಬುದನ್ನು ಬಳಸಿಕೊಳ್ಳಬಹುದು.


Consider the malware (Prikormka dropper) used in Operation Groundbait.

ಆಪರೇಷನ್ ಗ್ರೌಂಡ್‌ಬೇಟ್‌ನಲ್ಲಿ ಬಳಸಲಾದ ಮಾಲ್‌ವೇರ್ (ಪ್ರಿಕೋರ್ಮ್ಕಾ ಡ್ರಾಪರ್) ಅನ್ನು ಪರಿಗಣಿಸಿ.


This malware, upon execution, drops a malicious DLL called samlib.dll in the Windows directory (C:\Windows).

ಈ ಮಾಲ್‌ವೇರ್, ಕಾರ್ಯಗತಗೊಳಿಸಿದಾಗ, C:\Windows ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ samlib.dll ಎಂಬ ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು ಬಿಡುತ್ತದೆ.


Since the malicious DLL is dropped in the same directory as explorer.exe, when the system reboots, the malicious samlib.dll is loaded by explorer.exe.

ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು explorer.exe ಇರುವ ಅದೇ ಡೈರೆಕ್ಟರಿಯಲ್ಲಿ ಬಿಟ್ಟಿದ್ದರಿಂದ, ಸಿಸ್ಟಮ್ ಮರುಪ್ರಾರಂಭಿಸಿದಾಗ, ದುರುದ್ದೇಶಪೂರಿತ samlib.dll ಅನ್ನು explorer.exe ಲೋಡ್ ಮಾಡುತ್ತದೆ.


The DLL search order hijack technique makes forensic analysis much harder.

DLL ಹುಡುಕಾಟ ಕ್ರಮದ ಹೈಜಾಕ್ ತಂತ್ರವು ವಿಧಿವಿಜ್ಞಾನ ವಿಶ್ಲೇಷಣೆಯನ್ನು ಹೆಚ್ಚು ಕಷ್ಟಕರವಾಗಿಸುತ್ತದೆ.


To detect such attacks, you should consider monitoring the creation, renaming, replacing, or deletion of DLLs.

ಅಂತಹ ದಾಳಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ನೀವು DLL ಗಳ ರಚನೆ, ಮರುಹೆಸರಿಸುವಿಕೆ, ಬದಲಾಯಿಸುವುದು ಅಥವಾ ಅಳಿಸುವುದನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಬೇಕು.


COM is implemented as a client/server framework.

COM ಅನ್ನು ಕ್ಲೈಂಟ್/ಸರ್ವರ್ ಚೌಕಟ್ಟಾಗಿ ಅಳವಡಿಸಲಾಗಿದೆ.


A COM client is a program that uses the service from the COM server.

COM ಕ್ಲೈಂಟ್ ಎಂದರೆ COM ಸರ್ವರ್‌ನಿಂದ ಸೇವೆಯನ್ನು ಬಳಸುವ ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ.


In the case of COM Hijacking, an attacker modifies the registry entry of a legitimate COM object.

COM ಹೈಜಾಕಿಂಗ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ದಾಳಿಕೋರನು ಕಾನೂನುಬದ್ಧ COM ವಸ್ತುವಿನ ರಿಜಿಸ್ಟ್ರಿ ನಮೂದನ್ನು ಮಾರ್ಪಡಿಸುತ್ತಾನೆ.


This allows an adversary to persist on the system and execute malicious code.

ಇದು ಪ್ರತಿಸ್ಪರ್ಧಿಗೆ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಉಳಿಯಲು ಮತ್ತು ದುರುದ್ದೇಶಪೂರಿತ ಕೋಡ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಅನುಮತಿಸುತ್ತದೆ.


A service is a program that runs in the background without any user interface.

ಸೇವೆ ಎಂದರೆ ಯಾವುದೇ ಬಳಕೆದಾರ ಇಂಟರ್ಫೇಸ್ ಇಲ್ಲದೆ ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಚಲಿಸುವ ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ.


An adversary with Administrator privilege can persist on the system by installing the malicious program as a service.

ನಿರ್ವಾಹಕ ಸವಲತ್ತು ಹೊಂದಿರುವ ಪ್ರತಿಸ್ಪರ್ಧಿಯು ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಸೇವೆಯಾಗಿ ಸ್ಥಾಪಿಸುವ ಮೂಲಕ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಉಳಿಯಬಹುದು.


Windows stores the list of installed services and their configuration in the registry.

ವಿಂಡೋಸ್ ಸ್ಥಾಪಿಸಲಾದ ಸೇವೆಗಳ ಪಟ್ಟಿ ಮತ್ತು ಅವುಗಳ ಸಂರಚನೆಯನ್ನು ರಿಜಿಸ್ಟ್ರಿಯಲ್ಲಿ ಸಂಗ್ರಹಿಸುತ್ತದೆ.


An attacker can create services in many ways.

ದಾಳಿಕೋರನು ಅನೇಕ ರೀತಿಯಲ್ಲಿ ಸೇವೆಗಳನ್ನು ರಚಿಸಬಹುದು.


Malware can invoke cmd.exe and may run sc command such as sc create and sc start.

ಮಾಲ್ವೇರ್ cmd.exe ಅನ್ನು ಕರೆಯಬಹುದು ಮತ್ತು sc ರಚನೆ ಮತ್ತು sc ಪ್ರಾರಂಭದಂತಹ sc ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬಹುದು.


A service can also be created using management tools such as PowerShell and Window Management Instrumentation (WMI).

ಪವರ್‌ಶೆಲ್ ಮತ್ತು ವಿಂಡೋ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಇನ್‌ಸ್ಟ್ರುಮೆಂಟೇಶನ್ (WMI) ನಂತಹ ನಿರ್ವಹಣಾ ಪರಿಕರಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸೇವೆಯನ್ನು ಸಹ ರಚಿಸಬಹುದು.


Instead of creating a new service, an adversary can modify (hijack) the existing service.

ಹೊಸ ಸೇವೆಯನ್ನು ರಚಿಸುವ ಬದಲು, ಪ್ರತಿಸ್ಪರ್ಧಿಯು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಸೇವೆಯನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು (ಹೈಜಾಕ್ ಮಾಡಬಹುದು).


To detect such attacks, monitor the changes to service registry entries.

ಅಂತಹ ದಾಳಿಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು, ಸೇವಾ ರಿಜಿಸ್ಟ್ರಿ ನಮೂದುಗಳಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಿ.


Malware uses various API calls to interact with the system.

ಮಾಲ್ವೇರ್ ಸಿಸ್ಟಮ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು ವಿವಿಧ API ಕರೆಗಳನ್ನು ಬಳಸುತ್ತದೆ.


The HAL isolates the operating system from the hardware.

HAL ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಹಾರ್ಡ್‌ವೇರ್‌ನಿಂದ ಪ್ರತ್ಯೇಕಿಸುತ್ತದೆ.


It primarily provides services to the Windows executive, kernel, and kernel mode device drivers.

ಇದು ಮುಖ್ಯವಾಗಿ ವಿಂಡೋಸ್ ಕಾರ್ಯನಿರ್ವಾಹಕ, ಕರ್ನಲ್ ಮತ್ತು ಕರ್ನಲ್ ಮೋಡ್ ಸಾಧನ ಚಾಲಕರಿಗೆ ಸೇವೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.


The kernel mode device drivers invoke functions exposed by hal.dll to interact with the hardware.

ಕರ್ನಲ್ ಮೋಡ್ ಸಾಧನ ಚಾಲಕರು ಹಾರ್ಡ್‌ವೇರ್‌ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಲು hal.dll ನಿಂದ ಬಹಿರಂಗಪಡಿಸಲಾದ ಕಾರ್ಯಗಳನ್ನು ಕರೆಯುತ್ತಾರೆ.


This binary is the core component of the Windows operating system known as kernel image.

ಈ ಬೈನರಿ ಕರ್ನಲ್ ಚಿತ್ರ ಎಂದು ಕರೆಯಲ್ಪಡುವ ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ನ ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ.


The executive implements functions called system service routines.

ಕಾರ್ಯನಿರ್ವಾಹಕ ವ್ಯವಸ್ಥೆ ಸೇವಾ ದಿನಚರಿಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಕಾರ್ಯಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.


The kernel implements low-level operating system services.

ಕರ್ನಲ್ ಕಡಿಮೆ-ಮಟ್ಟದ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಸೇವೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.


This kernel mode driver implements UI and graphics device interface (GDI) services.

ಈ ಕರ್ನಲ್ ಮೋಡ್ ಚಾಲಕ UI ಮತ್ತು ಗ್ರಾಫಿಕ್ಸ್ ಸಾಧನ ಇಂಟರ್ಫೇಸ್ (GDI) ಸೇವೆಗಳನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ.


The user-space contains code that runs with restricted access.

ಬಳಕೆದಾರ-ಸ್ಥಳವು ನಿರ್ಬಂಧಿತ ಪ್ರವೇಶದೊಂದಿಗೆ ಚಲಿಸುವ ಕೋಡ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ.


The kernel space contains the kernel itself and the device drivers.

ಕರ್ನಲ್ ಸ್ಥಳವು ಕರ್ನಲ್ ಮತ್ತು ಸಾಧನ ಚಾಲಕಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


Code running in the kernel space executes with a high privilege.

ಕರ್ನಲ್ ಸ್ಥಳದಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಕೋಡ್ ಹೆಚ್ಚಿನ ಸವಲತ್ತುಗಳೊಂದಿಗೆ ಕಾರ್ಯಗತಗೊಳ್ಳುತ್ತದೆ.


The operating system ensures that a user-mode application cannot cause system instability.

ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಬಳಕೆದಾರ-ಮೋಡ್ ಅಪ್ಲಿಕೇಶನ್ ಸಿಸ್ಟಮ್ ಅಸ್ಥಿರತೆಗೆ ಕಾರಣವಾಗುವುದಿಲ್ಲ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.


Third-party drivers can get their code to run in kernel mode.

ಮೂರನೇ ವ್ಯಕ್ತಿಯ ಚಾಲಕರು ತಮ್ಮ ಕೋಡ್ ಅನ್ನು ಕರ್ನಲ್ ಮೋಡ್‌ನಲ್ಲಿ ಚಲಾಯಿಸಲು ಪಡೆಯಬಹುದು.


Space specifies the location where the contents are stored.

ಸ್ಥಳವು ವಿಷಯಗಳನ್ನು ಸಂಗ್ರಹಿಸುವ ಸ್ಥಳವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತದೆ.


ಮೋಡ್ ಎಕ್ಸಿಕ್ಯೂಷನ್ ಮೋಡ್ ಅನ್ನು ಸೂಚಿಸುತ್ತದೆ.


Most of the APIs called by user-mode applications, end up calling the system service routines.

ಬಳಕೆದಾರ-ಮೋಡ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಕರೆಯಲ್ಪಡುವ ಹೆಚ್ಚಿನ API ಗಳು, ಸಿಸ್ಟಮ್ ಸೇವಾ ದಿನಚರಿಗಳನ್ನು ಕರೆಯುವುದನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತವೆ.


The ntdll.dll acts as the gateway between the user-space and the kernel space.

ntdll.dll ಬಳಕೆದಾರ-ಸ್ಥಳ ಮತ್ತು ಕರ್ನಲ್ ಸ್ಥಳದ ನಡುವೆ ಗೇಟ್‌ವೇಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ.


The Windows operating system provides services by exposing APIs implemented in DLLs.

ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ DLL ಗಳಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ API ಗಳನ್ನು ಬಹಿರಂಗಪಡಿಸುವ ಮೂಲಕ ಸೇವೆಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.


An application uses the service by calling the API implemented in the DLL.

ಅಪ್ಲಿಕೇಶನ್ DLL ನಲ್ಲಿ ಕಾರ್ಯಗತಗೊಳಿಸಲಾದ API ಅನ್ನು ಕರೆ ಮಾಡುವ ಮೂಲಕ ಸೇವೆಯನ್ನು ಬಳಸುತ್ತದೆ.


Most API functions end up calling the system service routine in the ntoskrnl.exe.

ಹೆಚ್ಚಿನ API ಕಾರ್ಯಗಳು ntoskrnl.exe ನಲ್ಲಿ ಸಿಸ್ಟಮ್ ಸೇವಾ ದಿನಚರಿಯನ್ನು ಕರೆಯುವುದನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತವೆ.


When a process is invoked by double-clicking a program, the process executable image and all its associated DLLs are loaded.

ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಡಬಲ್-ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಆಹ್ವಾನಿಸಿದಾಗ, ಪ್ರಕ್ರಿಯೆ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಚಿತ್ರ ಮತ್ತು ಅದರ ಎಲ್ಲಾ ಸಂಬಂಧಿತ DLL ಗಳನ್ನು ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ.


ಶಿಮ್ ಕೋಡ್ API ಕರೆಗಳನ್ನು ಮರುನಿರ್ದೇಶಿಸುತ್ತದೆ.


Applications use the IAT to call Windows APIs.

ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ವಿಂಡೋಸ್ API ಗಳನ್ನು ಕರೆಯಲು IAT ಅನ್ನು ಬಳಸುತ್ತವೆ.


ಶಿಮ್ API ನಿಯತಾಂಕಗಳನ್ನು ಮಾರ್ಪಡಿಸಬಹುದು.


Let's look at an example to understand shims.

ಶಿಮ್‌ಗಳನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಒಂದು ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.


An application might check the OS version.

ಒಂದು ಅಪ್ಲಿಕೇಶನ್ OS ಆವೃತ್ತಿಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು.


The GetVersion() API is used to determine the OS.

OS ಅನ್ನು ನಿರ್ಧರಿಸಲು GetVersion() API ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ.


The application might only work on Windows XP.

ಅಪ್ಲಿಕೇಶನ್ ವಿಂಡೋಸ್ XP ಯಲ್ಲಿ ಮಾತ್ರ ಕಾರ್ಯನಿರ್ವಹಿಸಬಹುದು.


The WinXPVersionLie shim can be applied.

WinXPVersionLie ಶಿಮ್ ಅನ್ನು ಅನ್ವಯಿಸಬಹುದು.


The shim engine intercepts the GetVersion() call.

ಶಿಮ್ ಎಂಜಿನ್ GetVersion() ಕರೆಯನ್ನು ತಡೆಯುತ್ತದೆ.


ಶಿಮ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಮೋಸಗೊಳಿಸುತ್ತದೆ.


ಮೈಕ್ರೋಸಾಫ್ಟ್ ಅನೇಕ ಶಿಮ್‌ಗಳನ್ನು ಒದಗಿಸುತ್ತದೆ.


Attackers abuse shims for malicious purposes.

ದಾಳಿಕೋರರು ದುರುದ್ದೇಶಪೂರಿತ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಶಿಮ್‌ಗಳನ್ನು ದುರುಪಯೋಗಪಡಿಸಿಕೊಳ್ಳುತ್ತಾರೆ.


ನಾವು notepad.exe ಗಾಗಿ ಶಿಮ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.


ಶಿಮ್ ಅನ್ನು ರಚಿಸುವುದು ಹಲವಾರು ಹಂತಗಳನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.


You need administrator rights to install a shim.

ಶಿಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು ನಿಮಗೆ ನಿರ್ವಾಹಕ ಹಕ್ಕುಗಳು ಬೇಕಾಗುತ್ತವೆ.


Use the Compatibility Administrator Tool.

ಹೊಂದಾಣಿಕೆ ನಿರ್ವಾಹಕ ಪರಿಕರವನ್ನು ಬಳಸಿ.


ನಾವು InjectDll ಶಿಮ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.


Enter the application details in the dialog.

ಸಂವಾದದಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್ ವಿವರಗಳನ್ನು ನಮೂದಿಸಿ.


Select the InjectDll shim and enter the DLL path.

InjectDll ಶಿಮ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು DLL ಮಾರ್ಗವನ್ನು ನಮೂದಿಸಿ.


ಶಿಮ್ ಡೇಟಾಬೇಸ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ ಮತ್ತು ಉಳಿಸಲಾಗಿದೆ.


The malware replaces the first few instructions of a function with a jump.

ಮಾಲ್ವೇರ್ ಒಂದು ಫಂಕ್ಷನ್‌ನ ಮೊದಲ ಕೆಲವು ಸೂಚನೆಗಳನ್ನು ಜಂಪ್‌ನೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ.


Attackers use simple encoding algorithms like Base64 or XOR encryption.

ಆಕ್ರಮಣಕಾರರು ಬೇಸ್64 ಅಥವಾ XOR ಎನ್‌ಕ್ರಿಪ್ಶನ್‌ನಂತಹ ಸರಳ ಎನ್‌ಕೋಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


Malware can make detection difficult by inserting the jump deeper in the API function.

ಮಾಲ್ವೇರ್ API ಫಂಕ್ಷನ್‌ನಲ್ಲಿ ಆಳವಾಗಿ ಜಂಪ್ ಅನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಪತ್ತೆಹಚ್ಚುವಿಕೆಯನ್ನು ಕಷ್ಟಕರವಾಗಿಸಬಹುದು.


The replaced instructions, along with the jump statement, are known as the trampoline.

ಬದಲಾಯಿಸಲಾದ ಸೂಚನೆಗಳು, ಜಂಪ್ ಹೇಳಿಕೆಯೊಂದಿಗೆ, ಟ್ರಾಮ್‌ಪೋಲಿನ್ ಎಂದು ಕರೆಯಲ್ಪಡುತ್ತವೆ.


Zeus bot hooks various API functions, like HttpSendRequestA() in Internet Explorer.

ಜೀಯಸ್ ಬಾಟ್ ಇಂಟರ್ನೆಟ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್‌ನಲ್ಲಿ HttpSendRequestA() ನಂತಹ ವಿವಿಧ API ಕಾರ್ಯಗಳನ್ನು ಹುಕ್ ಮಾಡುತ್ತದೆ.


The malware can extract credentials from the POST payload by hooking this function.

ಈ ಫಂಕ್ಷನ್ ಅನ್ನು ಹುಕ್ ಮಾಡುವ ಮೂಲಕ ಮಾಲ್ವೇರ್ ಪೋಸ್ಟ್ ಪೇಲೋಡ್‌ನಿಂದ ರುಜುವಾತುಗಳನ್ನು ಹೊರತೆಗೆಯಬಹುದು.


In-memory patching is an undocumented feature used to fix vulnerabilities.

ಮೆಮೊರಿ ಪ್ಯಾಚಿಂಗ್‌ನಲ್ಲಿ ದುರ್ಬಲತೆಗಳನ್ನು ಸರಿಪಡಿಸಲು ಬಳಸಲಾಗುವ ದಾಖಲೆಯಿಲ್ಲದ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ.


Malware authors have used in-memory patching to inject code and hook API functions.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಲು ಮತ್ತು API ಕಾರ್ಯಗಳನ್ನು ಹುಕ್ ಮಾಡಲು ಇನ್-ಮೆಮೊರಿ ಪ್ಯಾಚಿಂಗ್ ಅನ್ನು ಬಳಸಿದ್ದಾರೆ.


You can examine the .sdb file using the sdb_dump_database.py script.

ನೀವು sdb_dump_database.py ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ .sdb ಫೈಲ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು.


The output of the command shows the malware targeting explorer.exe.

ಆಜ್ಞೆಯ ಔಟ್‌ಪುಟ್ ಮಾಲ್ವೇರ್ ಎಕ್ಸ್‌ಪ್ಲೋರರ್.exe ಅನ್ನು ಗುರಿಯಾಗಿಸುವುದನ್ನು ತೋರಿಸುತ್ತದೆ.


The malware replaced the series of NOP instructions with call.

ಮಾಲ್ವೇರ್ NOP ಸೂಚನೆಗಳ ಸರಣಿಯನ್ನು ಕರೆ ಜೊತೆ ಬದಲಾಯಿಸಿತು.


You can attach the debugger to the patched explorer.exe process.

ನೀವು ಪ್ಯಾಚ್ ಮಾಡಿದ explorer.exe ಪ್ರಕ್ರಿಯೆಗೆ ಡೀಬಗರ್ ಅನ್ನು ಲಗತ್ತಿಸಬಹುದು.


This technique relies on Microsoft's shim feature to inject the shellcode.

ಈ ತಂತ್ರವು ಶೆಲ್‌ಕೋಡ್ ಅನ್ನು ಸೇರಿಸಲು ಮೈಕ್ರೋಸಾಫ್ಟ್‌ನ ಶಿಮ್ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಅವಲಂಬಿಸಿದೆ.


Malware authors often use obfuscation techniques to hide information.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಮಾಹಿತಿಯನ್ನು ಮರೆಮಾಡಲು ಸಾಮಾನ್ಯವಾಗಿ ಅಸ್ಪಷ್ಟ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


Adversaries typically use encoding/encryption techniques to conceal information.

ಪ್ರತಿಸ್ಪರ್ಧಿಗಳು ಸಾಮಾನ್ಯವಾಗಿ ಮಾಹಿತಿಯನ್ನು ಮರೆಮಾಡಲು ಎನ್‌ಕೋಡಿಂಗ್/ಎನ್‌ಕ್ರಿಪ್ಶನ್ ತಂತ್ರಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


A plaintext refers to an unencrypted message.

ಪ್ಲೇನ್‌ಟೆಕ್ಸ್ಟ್ ಎಂದರೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡದ ಸಂದೇಶ.


Malware encrypts the plaintext by passing it with the key to an encryption function.

ಮಾಲ್ವೇರ್ ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಫಂಕ್ಷನ್‌ಗೆ ಕೀಲಿಯೊಂದಿಗೆ ಹಾದುಹೋಗುವ ಮೂಲಕ ಪ್ಲೇನ್‌ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ.


Simple encoding algorithms include Caesar cipher and XOR encryption.

ಸರಳ ಎನ್‌ಕೋಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ಗಳಲ್ಲಿ ಸೀಸರ್ ಸೈಫರ್ ಮತ್ತು XOR ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಸೇರಿವೆ.


The Caesar cipher encodes the message by shifting each letter.

ಸೀಸರ್ ಸೈಫರ್ ಪ್ರತಿ ಅಕ್ಷರವನ್ನು ಬದಲಾಯಿಸುವ ಮೂಲಕ ಸಂದೇಶವನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡುತ್ತದೆ.


Base64 encoding allows an attacker to encode binary data to an ASCII string format.

ಬೇಸ್64 ಎನ್‌ಕೋಡಿಂಗ್ ಒಂದು ದಾಳಿಕೋರರಿಗೆ ಬೈನರಿ ಡೇಟಾವನ್ನು ASCII ಸ್ಟ್ರಿಂಗ್ ಫಾರ್ಮ್ಯಾಟ್‌ಗೆ ಎನ್‌ಕೋಡ್ ಮಾಡಲು ಅನುಮತಿಸುತ್ತದೆ.


We have renamed the decryption function to dec_function.

ನಾವು ಡೀಕ್ರಿಪ್ಶನ್ ಕಾರ್ಯವನ್ನು dec_function ಎಂದು ಮರುಹೆಸರಿಸಿದ್ದೇವೆ.


It is accessible from the names window in IDA.

ಇದು IDA ಯಲ್ಲಿನ ಹೆಸರುಗಳ ವಿಂಡೋದಿಂದ ಪ್ರವೇಶಿಸಬಹುದಾಗಿದೆ.


The previous script iterates through the names window.

ಹಿಂದಿನ ಸ್ಕ್ರಿಪ್ಟ್ ಹೆಸರುಗಳ ವಿಂಡೋ ಮೂಲಕ ಪುನರಾವರ್ತಿಸುತ್ತದೆ.


If the dec_function is present, it determines the address of dec_function.

dec_function ಇದ್ದರೆ, ಅದು dec_function ನ ವಿಳಾಸವನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.


It uses the address of dec_function to determine the cross-references to dec_function.

dec_function ಗೆ ಅಡ್ಡ-ಉಲ್ಲೇಖಗಳನ್ನು ನಿರ್ಧರಿಸಲು ಇದು dec_function ನ ವಿಳಾಸವನ್ನು ಬಳಸುತ್ತದೆ.


It sets the breakpoint on all the addresses where dec_function is called.

dec_function ಅನ್ನು ಕರೆಯಲಾಗುವ ಎಲ್ಲಾ ವಿಳಾಸಗಳಲ್ಲಿ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ ಅನ್ನು ಇದು ಹೊಂದಿಸುತ್ತದೆ.


ಇದು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಡೀಬಗ್ಗರ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತದೆ.


When the breakpoint is hit at dec_function, it reads the encrypted string.

dec_function ನಲ್ಲಿ ಬ್ರೇಕ್ಪಾಯಿಂಟ್ ತಲುಪಿದಾಗ, ಅದು ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಓದುತ್ತದೆ.


A point to remember is, for the IDA debugger to start automatically, be sure to select the debugger.

ನೆನಪಿಡಬೇಕಾದ ಒಂದು ವಿಷಯವೆಂದರೆ, IDA ಡೀಬಗ್ಗರ್ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಲು, ಡೀಬಗ್ಗರ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.


It then steps over the function to execute the decryption function.

ನಂತರ ಅದು ಡೀಕ್ರಿಪ್ಶನ್ ಕಾರ್ಯವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಕಾರ್ಯದ ಮೇಲೆ ಹೆಜ್ಜೆ ಇಡುತ್ತದೆ.


It repeats the previous steps, to decrypt each string passed to dec_function.

dec_function ಗೆ ರವಾನಿಸಲಾದ ಪ್ರತಿಯೊಂದು ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಇದು ಹಿಂದಿನ ಹಂತಗಳನ್ನು ಪುನರಾವರ್ತಿಸುತ್ತದೆ.


After running the previous script, the encrypted strings and their corresponding decrypted strings are displayed.

ಹಿಂದಿನ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಚಲಾಯಿಸಿದ ನಂತರ, ಎನ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್‌ಗಳು ಮತ್ತು ಅವುಗಳ ಅನುಗುಣವಾದ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಸ್ಟ್ರಿಂಗ್‌ಗಳನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತದೆ.


From the output, you can see that the malware decrypts the file names.

ಔಟ್‌ಪುಟ್‌ನಿಂದ, ಮಾಲ್‌ವೇರ್ ಫೈಲ್ ಹೆಸರುಗಳನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು.


Malware authors often use packers and cryptors to obfuscate the executable content.

ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಸಾಮಾನ್ಯವಾಗಿ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ವಿಷಯವನ್ನು ಮರೆಮಾಚಲು ಪ್ಯಾಕರ್‌ಗಳು ಮತ್ತು ಕ್ರಿಪ್ಟರ್‌ಗಳನ್ನು ಬಳಸುತ್ತಾರೆ.


A packer is a program that takes a normal executable, compresses its contents, and generates a new obfuscated executable.

ಪ್ಯಾಕರ್ ಎಂದರೆ ಸಾಮಾನ್ಯ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುವ, ಅದರ ವಿಷಯವನ್ನು ಸಂಕುಚಿತಗೊಳಿಸುವ ಮತ್ತು ಹೊಸ ಮರೆಮಾಚಿದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅನ್ನು ಉತ್ಪಾದಿಸುವ ಒಂದು ಪ್ರೋಗ್ರಾಂ ಆಗಿದೆ.


When a binary is packed, it reveals very less information.

ಒಂದು ಬೈನರಿ ಪ್ಯಾಕ್ ಮಾಡಿದಾಗ, ಅದು ಕಡಿಮೆ ಮಾಹಿತಿಯನ್ನು ಬಹಿರಂಗಪಡಿಸುತ್ತದೆ.


To unpack a packed binary, you can either use automated tools or do it manually.

ಪ್ಯಾಕ್ ಮಾಡಿದ ಬೈನರಿಯನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡಲು, ನೀವು ಸ್ವಯಂಚಾಲಿತ ಪರಿಕರಗಳನ್ನು ಬಳಸಬಹುದು ಅಥವಾ ಅದನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಮಾಡಬಹುದು.


ಮೊದಲ ಹೆಜ್ಜೆ OEP ಅನ್ನು ಗುರುತಿಸುವುದು.


The next step involves executing the program until the OEP is reached.

ಮುಂದಿನ ಹಂತವು OEP ತಲುಪುವವರೆಗೆ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.


The final step involves fixing the Import Address Table (IAT) of the dumped file.

ಅಂತಿಮ ಹಂತವು ಡಂಪ್ ಮಾಡಿದ ಫೈಲ್‌ನ ಆಮದು ವಿಳಾಸ ಕೋಷ್ಟಕವನ್ನು (IAT) ಸರಿಪಡಿಸುವುದನ್ನು ಒಳಗೊಂಡಿರುತ್ತದೆ.


Another method to detect the presence of the Base64 character set in the binary is using a YARA rule.

ಬೈನರಿಯಲ್ಲಿ ಬೇಸ್64 ಅಕ್ಷರ ಸೆಟ್‌ನ ಉಪಸ್ಥಿತಿಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತೊಂದು ವಿಧಾನವೆಂದರೆ YARA ನಿಯಮವನ್ನು ಬಳಸುವುದು.


XOR is a bitwise operation, and it is performed on the corresponding bits of the operands.

XOR ಒಂದು ಬಿಟ್‌ವೈಸ್ ಕಾರ್ಯಾಚರಣೆಯಾಗಿದೆ, ಮತ್ತು ಇದನ್ನು ಆಪರೇಟರ್‌ಗಳ ಅನುಗುಣವಾದ ಬಿಟ್‌ಗಳಲ್ಲಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ.


In the XOR operation, when both the bits are the same, the result is 0; otherwise, the result is 1.

XOR ಕಾರ್ಯಾಚರಣೆಯಲ್ಲಿ, ಎರಡೂ ಬಿಟ್‌ಗಳು ಒಂದೇ ಆಗಿರುವಾಗ, ಫಲಿತಾಂಶವು 0 ಆಗಿರುತ್ತದೆ; ಇಲ್ಲದಿದ್ದರೆ, ಫಲಿತಾಂಶವು 1 ಆಗಿರುತ್ತದೆ.


For example, when you XOR 2 and 4, that is, 2 ^ 4, the result is 6.

ಉದಾಹರಣೆಗೆ, ನೀವು 2 ಮತ್ತು 4 ಅನ್ನು XOR ಮಾಡಿದಾಗ, ಅಂದರೆ, 2 ^ 4, ಫಲಿತಾಂಶವು 6 ಆಗಿರುತ್ತದೆ.


In a single byte XOR, each byte from the plaintext is XORed with the encryption key.

ಒಂದು ಬೈಟ್ XOR ನಲ್ಲಿ, ಪ್ಲೇನ್‌ಟೆಕ್ಸ್ಟ್‌ನಿಂದ ಪ್ರತಿಯೊಂದು ಬೈಟ್ ಅನ್ನು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯೊಂದಿಗೆ XOR ಮಾಡಲಾಗುತ್ತದೆ.


For example, if an attacker wants to encrypt plaintext cat with a key of 0x40, then each character (byte) from the text is XORed with 0x40, which results in the cipher-text #!4.

ಉದಾಹರಣೆಗೆ, ದಾಳಿಕೋರನು 0x40 ಕೀಲಿಯೊಂದಿಗೆ ಪ್ಲೇನ್‌ಟೆಕ್ಸ್ಟ್ ಬೆಕ್ಕನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಯಸಿದರೆ, ಪಠ್ಯದಿಂದ ಪ್ರತಿಯೊಂದು ಅಕ್ಷರ (ಬೈಟ್) ಅನ್ನು 0x40 ನೊಂದಿಗೆ XOR ಮಾಡಲಾಗುತ್ತದೆ, ಇದು ಸೈಫರ್-ಟೆಕ್ಸ್ಟ್ #!4 ಗೆ ಕಾರಣವಾಗುತ್ತದೆ.


Another interesting property of XOR is that when you XOR the ciphertext with the same key used to encrypt, you get back the plain text.

XOR ನ ಮತ್ತೊಂದು ಆಸಕ್ತಿದಾಯಕ ಆಸ್ತಿಯೆಂದರೆ, ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಬಳಸಿದ ಅದೇ ಕೀಲಿಯೊಂದಿಗೆ ಸೈಫರ್‌ಟೆಕ್ಸ್ಟ್ ಅನ್ನು XOR ಮಾಡಿದಾಗ, ನೀವು ಪ್ಲೇನ್ ಟೆಕ್ಸ್ಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತೀರಿ.


This means that if you know the key, then the same function can be used to both encrypt and decrypt the data.

ಅಂದರೆ ನಿಮಗೆ ಕೀ ಗೊತ್ತಿದ್ದರೆ, ಡೇಟಾವನ್ನು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಮತ್ತು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಒಂದೇ ಕಾರ್ಯವನ್ನು ಬಳಸಬಹುದು.


With an understanding of the XOR encoding algorithm, let's look at an example of a keylogger, which encodes all the typed keystrokes to a file.

XOR ಎನ್‌ಕೋಡಿಂಗ್ ಅಲ್ಗಾರಿದಮ್‌ನ ತಿಳುವಳಿಕೆಯೊಂದಿಗೆ, ಟೈಪ್ ಮಾಡಿದ ಎಲ್ಲಾ ಕೀಸ್ಟ್ರೋಕ್‌ಗಳನ್ನು ಫೈಲ್‌ಗೆ ಎನ್‌ಕೋಡ್ ಮಾಡುವ ಕೀಲಾಗರ್‌ನ ಉದಾಹರಣೆಯನ್ನು ನೋಡೋಣ.


It then writes the logged keystrokes to the file using the WriteFile() API.

ನಂತರ WriteFile() API ಬಳಸಿ ಲಾಗ್ ಮಾಡಿದ ಕೀಸ್ಟ್ರೋಕ್‌ಗಳನ್ನು ಫೈಲ್‌ಗೆ ಬರೆಯುತ್ತದೆ.


Note how the malware calls a function (renamed as enc_function) after the call to CreateFileA() and before the call to WriteFile(); this function encodes the content before writing it to the file.

ಮಾಲ್ವೇರ್ CreateFileA() ಗೆ ಕರೆ ಮಾಡಿದ ನಂತರ ಮತ್ತು WriteFile() ಗೆ ಕರೆ ಮಾಡುವ ಮೊದಲು ಒಂದು ಕಾರ್ಯವನ್ನು (enc_function ಎಂದು ಮರುಹೆಸರಿಸಲಾಗಿದೆ) ಹೇಗೆ ಕರೆಯುತ್ತದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ; ಈ ಕಾರ್ಯವು ವಿಷಯವನ್ನು ಫೈಲ್‌ಗೆ ಬರೆಯುವ ಮೊದಲು ಎನ್‌ಕೋಡ್ ಮಾಡುತ್ತದೆ.


Examining the enc_function shows that the malware uses single byte XOR.

enc_function ಅನ್ನು ಪರೀಕ್ಷಿಸುವುದರಿಂದ ಮಾಲ್ವೇರ್ ಒಂದೇ ಬೈಟ್ XOR ಅನ್ನು ಬಳಸುತ್ತದೆ ಎಂದು ತೋರಿಸುತ್ತದೆ.


In a single byte XOR, the length of the key is one byte, so there can be only 255 possible keys (0x0 - 0xff) with the exception of 0 as the key because XORing any value with 0 will give the same value as result (that is, no encryption).

ಒಂದು ಬೈಟ್ XOR ನಲ್ಲಿ, ಕೀಲಿಯ ಉದ್ದವು ಒಂದು ಬೈಟ್ ಆಗಿದೆ, ಆದ್ದರಿಂದ ಕೇವಲ 255 ಸಾಧ್ಯವಿರುವ ಕೀಲಿಗಳಿವೆ (0x0 - 0xff) ಕೀಲಿಯನ್ನು ಹೊರತುಪಡಿಸಿ 0 ಏಕೆಂದರೆ ಯಾವುದೇ ಮೌಲ್ಯವನ್ನು 0 ನೊಂದಿಗೆ XOR ಮಾಡುವುದರಿಂದ ಫಲಿತಾಂಶವಾಗಿ ಅದೇ ಮೌಲ್ಯವನ್ನು ನೀಡುತ್ತದೆ (ಅಂದರೆ, ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಇಲ್ಲ).


Since there are only 255 keys, you can try all possible keys on the encrypted data.

ಕೇವಲ 255 ಕೀಲಿಗಳಿರುವುದರಿಂದ, ನೀವು ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಡೇಟಾದಲ್ಲಿ ಎಲ್ಲಾ ಸಂಭವನೀಯ ಕೀಲಿಗಳನ್ನು ಪ್ರಯತ್ನಿಸಬಹುದು.


For example, upon executing a malware sample, let's say the malware gets the computer hostname mymachine and concatenates with some data and performs single byte xor encryption, which encrypts it to a ciphertext lkwpjeia>i}ieglmja.

ಉದಾಹರಣೆಗೆ, ಮಾಲ್ವೇರ್ ಮಾದರಿಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಿದ ನಂತರ, ಮಾಲ್ವೇರ್ ಕಂಪ್ಯೂಟರ್ ಹೋಸ್ಟ್‌ಹೆಸರು mymachine ಅನ್ನು ಪಡೆಯುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಡೇಟಾದೊಂದಿಗೆ ಸೇರಿಸುತ್ತದೆ ಮತ್ತು ಒಂದೇ ಬೈಟ್ xor ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಎಂದು ಹೇಳೋಣ, ಇದು ಅದನ್ನು ಸೈಫರ್‌ಟೆಕ್ಸ್ಟ್ lkwpjeia>i}ieglmja ಗೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತದೆ.


You can also use a tool such as ConverterNET to brute-force and determine the key.

ಕೀಲಿಯ ಬಲವನ್ನು ಅನ್ವೇಷಿಸಲು ಮತ್ತು ನಿರ್ಧರಿಸಲು ನೀವು ConverterNET ನಂತಹ ಉಪಕರಣವನ್ನು ಸಹ ಬಳಸಬಹುದು.


In XOR encoding, when a null byte (0x00) is XORed with a key, you get back the key.

XOR ಎನ್‌ಕೋಡಿಂಗ್‌ನಲ್ಲಿ, ಶೂನ್ಯ ಬೈಟ್ (0x00) ಅನ್ನು ಕೀಲಿಯೊಂದಿಗೆ XOR ಮಾಡಿದಾಗ, ನೀವು ಕೀಲಿಯನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತೀರಿ.


What this means is that whenever a buffer containing a large number of null bytes is encoded, the single byte xor key becomes clearly visible.

ಇದರ ಅರ್ಥವೇನೆಂದರೆ, ದೊಡ್ಡ ಸಂಖ್ಯೆಯ ಶೂನ್ಯ ಬೈಟ್‌ಗಳನ್ನು ಹೊಂದಿರುವ ಬಫರ್ ಅನ್ನು ಎನ್‌ಕೋಡ್ ಮಾಡಿದಾಗ, ಒಂದೇ ಬೈಟ್ xor ಕೀ ಸ್ಪಷ್ಟವಾಗಿ ಗೋಚರಿಸುತ್ತದೆ.


To avoid the null byte problem, malware authors ignore the null byte (0x00) and the encryption key during encryption.

ಶೂನ್ಯ ಬೈಟ್ ಸಮಸ್ಯೆಯನ್ನು ತಪ್ಪಿಸಲು, ಮಾಲ್ವೇರ್ ಲೇಖಕರು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಸಮಯದಲ್ಲಿ ಶೂನ್ಯ ಬೈಟ್ (0x00) ಮತ್ತು ಎನ್‌ಕ್ರಿಪ್ಶನ್ ಕೀಲಿಯನ್ನು ನಿರ್ಲಕ್ಷಿಸುತ್ತಾರೆ.


Attackers commonly use multi-byte XOR because it provides better defense against the brute-force technique.

ದಾಳಿಕೋರರು ಸಾಮಾನ್ಯವಾಗಿ ಮಲ್ಟಿ-ಬೈಟ್ XOR ಅನ್ನು ಬಳಸುತ್ತಾರೆ ಏಕೆಂದರೆ ಇದು ಬಲವಂತದ ತಂತ್ರದ ವಿರುದ್ಧ ಉತ್ತಮ ರಕ್ಷಣೆಯನ್ನು ಒದಗಿಸುತ್ತದೆ.


The standalone executable is the fastest way to get started with Volatility.

ವೊಲಾಟಿಲಿಟಿಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲು ಸ್ವತಂತ್ರ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಅತ್ಯಂತ ವೇಗವಾದ ಮಾರ್ಗವಾಗಿದೆ.


You don't need to install the Python interpreter or Volatility dependencies.

ನೀವು ಪೈಥಾನ್ ಇಂಟರ್ಪ್ರಿಟರ್ ಅಥವಾ ವೊಲಾಟಿಲಿಟಿ ಅವಲಂಬನೆಗಳನ್ನು ಸ್ಥಾಪಿಸುವ ಅಗತ್ಯವಿಲ್ಲ.


The help option displays various options and plugins that are available in Volatility.

ಸಹಾಯ ಆಯ್ಕೆಯು ವೊಲಾಟಿಲಿಟಿಯಲ್ಲಿ ಲಭ್ಯವಿರುವ ವಿವಿಧ ಆಯ್ಕೆಗಳು ಮತ್ತು ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ.


Volatility is also distributed as a source package.

ವೊಲಾಟಿಲಿಟಿಯನ್ನು ಮೂಲ ಪ್ಯಾಕೇಜ್ ಆಗಿ ವಿತರಿಸಲಾಗುತ್ತದೆ.


You can install these dependencies by reading the documentation.

ದಸ್ತಾವೇಜನ್ನು ಓದುವ ಮೂಲಕ ನೀವು ಈ ಅವಲಂಬನೆಗಳನ್ನು ಸ್ಥಾಪಿಸಬಹುದು.


Volatility consists of various plugins that can extract different information from the memory image.

ವೊಲಾಟಿಲಿಟಿಯು ಮೆಮೊರಿ ಚಿತ್ರದಿಂದ ವಿಭಿನ್ನ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯುವ ವಿವಿಧ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಒಳಗೊಂಡಿದೆ.


For instance, if you wish to list the running processes from the memory image, you can use a plugin such a pslist.

ಉದಾಹರಣೆಗೆ, ನೀವು ಮೆಮೊರಿ ಚಿತ್ರದಿಂದ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ಬಯಸಿದರೆ, ನೀವು pslist ನಂತಹ ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು.


Using -f, you specify the path to the memory image file, and --profile tells Volatility which system and architecture the memory image was acquired from.

-f ಅನ್ನು ಬಳಸುವುದರ ಮೂಲಕ, ನೀವು ಮೆಮೊರಿ ಚಿತ್ರ ಫೈಲ್‌ಗೆ ಮಾರ್ಗವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತೀರಿ ಮತ್ತು --profile ವೊಲಾಟಿಲಿಟಿಗೆ ಮೆಮೊರಿ ಚಿತ್ರವನ್ನು ಯಾವ ಸಿಸ್ಟಮ್ ಮತ್ತು ಆರ್ಕಿಟೆಕ್ಚರ್‌ನಿಂದ ಪಡೆದುಕೊಳ್ಳಲಾಗಿದೆ ಎಂದು ಹೇಳುತ್ತದೆ.


The following command uses the pslist plugin to list the running processes from the memory image acquired from Windows 7 (32-bit) running Service Pack 1:

ಕೆಳಗಿನ ಆಜ್ಞೆಯು ವಿಂಡೋಸ್ 7 (32-ಬಿಟ್) ರನ್ನಿಂಗ್ ಸರ್ವಿಸ್ ಪ್ಯಾಕ್ 1 ರಿಂದ ಪಡೆದ ಮೆಮೊರಿ ಚಿತ್ರದಿಂದ ಚಾಲನೆಯಲ್ಲಿರುವ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು pslist ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸುತ್ತದೆ:


Sometimes, you might not know what profile to supply to Volatility.

ಕೆಲವೊಮ್ಮೆ, ನೀವು ವೊಲಾಟಿಲಿಟಿಗೆ ಯಾವ ಪ್ರೊಫೈಲ್ ಅನ್ನು ಒದಗಿಸಬೇಕೆಂದು ನಿಮಗೆ ತಿಳಿದಿರುವುದಿಲ್ಲ.


In that case, you can use the imageinfo plugin, which will determine the correct profile.

ಆ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು imageinfo ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು, ಅದು ಸರಿಯಾದ ಪ್ರೊಫೈಲ್ ಅನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.


Most of the Volatility plugins, such as pslist, rely on extracting the information from the Windows operating system structures.

pslist ನಂತಹ ಹೆಚ್ಚಿನ ವೊಲಾಟಿಲಿಟಿ ಪ್ಲಗಿನ್‌ಗಳು ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ರಚನೆಗಳಿಂದ ಮಾಹಿತಿಯನ್ನು ಹೊರತೆಗೆಯುವುದರ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿವೆ.


You can use the same -h (--help) option to determine various options and arguments supported by a plugin.

ಪ್ಲಗಿನ್‌ನಿಂದ ಬೆಂಬಲಿತವಾಗಿರುವ ವಿವಿಧ ಆಯ್ಕೆಗಳು ಮತ್ತು ವಾದಗಳನ್ನು ನಿರ್ಧರಿಸಲು ನೀವು ಅದೇ -h (--help) ಆಯ್ಕೆಯನ್ನು ಬಳಸಬಹುದು.


When you are investigating a memory image, you will mainly focus on identifying any suspicious process running on the system.

ನೀವು ಮೆಮೊರಿ ಚಿತ್ರವನ್ನು ತನಿಖೆ ಮಾಡುತ್ತಿರುವಾಗ, ನೀವು ಮುಖ್ಯವಾಗಿ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಚಾಲನೆಯಲ್ಲಿರುವ ಯಾವುದೇ ಅನುಮಾನಾಸ್ಪದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಗುರುತಿಸುವುದರ ಮೇಲೆ ಗಮನಹರಿಸುತ್ತೀರಿ.


Volatility's pslist plugin lists the processes from the memory image, similar to how task manager lists the process on a live system.

ವೊಲಾಟಿಲಿಟಿಯ pslist ಪ್ಲಗಿನ್ ಮೆಮೊರಿ ಚಿತ್ರದಿಂದ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡುತ್ತದೆ, ಲೈವ್ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಟಾಸ್ಕ್ ಮ್ಯಾನೇಜರ್ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪಟ್ಟಿ ಮಾಡುವಂತೆಯೇ.


The reason why these two processes are suspicious is that the names of these processes have an additional dot character before the .exe extension (which is abnormal).

ಈ ಎರಡು ಪ್ರಕ್ರಿಯೆಗಳು ಅನುಮಾನಾಸ್ಪದವಾಗಿರಲು ಕಾರಣವೆಂದರೆ ಈ ಪ್ರಕ್ರಿಯೆಗಳ ಹೆಸರುಗಳು .exe ವಿಸ್ತರಣೆಗೆ ಮೊದಲು ಹೆಚ್ಚುವರಿ ಚುಕ್ಕೆ ಅಕ್ಷರವನ್ನು ಹೊಂದಿವೆ (ಇದು ಅಸಹಜವಾಗಿದೆ).


ಒಂದು ಪ್ರಕ್ರಿಯೆಯು ಒಂದು ವಸ್ತುವಾಗಿದೆ.


The Windows operating system is object-based.

ವಿಂಡೋಸ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ವಸ್ತು-ಆಧಾರಿತವಾಗಿದೆ.


To get an idea of all the object types on Windows, you can use the WinObj tool.

ವಿಂಡೋಸ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ವಸ್ತು ಪ್ರಕಾರಗಳ ಬಗ್ಗೆ ಒಂದು ಕಲ್ಪನೆಯನ್ನು ಪಡೆಯಲು, ನೀವು WinObj ಪರಿಕರವನ್ನು ಬಳಸಬಹುದು.


The objects (such as processes, files, threads, and so on) are represented as structures in C.

ವಸ್ತುಗಳನ್ನು (ಪ್ರಕ್ರಿಯೆಗಳು, ಫೈಲ್‌ಗಳು, ಥ್ರೆಡ್‌ಗಳು, ಇತ್ಯಾದಿ) C ಯಲ್ಲಿ ರಚನೆಗಳಾಗಿ ಪ್ರತಿನಿಧಿಸಲಾಗುತ್ತದೆ.


Using DKOM, it is possible to hide a process or a driver.

DKOM ಅನ್ನು ಬಳಸುವುದರ ಮೂಲಕ, ಪ್ರಕ್ರಿಯೆ ಅಥವಾ ಚಾಲಕವನ್ನು ಮರೆಮಾಡಲು ಸಾಧ್ಯ.


To hide a process, an attacker finds the _EPROCESS structure of the malicious process he/she wants to hide and modifies the ActiveProcessLinks field.

ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮರೆಮಾಡಲು, ದಾಳಿಕೋರನು ತಾನು ಮರೆಮಾಡಲು ಬಯಸುವ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಕ್ರಿಯೆಯ _EPROCESS ರಚನೆಯನ್ನು ಹುಡುಕುತ್ತಾನೆ ಮತ್ತು ActiveProcessLinks ಕ್ಷೇತ್ರವನ್ನು ಮಾರ್ಪಡಿಸುತ್ತಾನೆ.


In particular, the Flink of the previous _EPROCESS block is made to point to the Flink of the following _EPROCESS block, and the Blink of the following _EPROCESS block is set to point to the previous _EPROCESS block's Flink.

ನಿರ್ದಿಷ್ಟವಾಗಿ ಹೇಳುವುದಾದರೆ, ಹಿಂದಿನ _EPROCESS ಬ್ಲಾಕ್‌ನ Flink ಅನ್ನು ನಂತರದ _EPROCESS ಬ್ಲಾಕ್‌ನ Flink ಗೆ ಸೂಚಿಸುವಂತೆ ಮಾಡಲಾಗುತ್ತದೆ ಮತ್ತು ನಂತರದ _EPROCESS ಬ್ಲಾಕ್‌ನ Blink ಅನ್ನು ಹಿಂದಿನ _EPROCESS ಬ್ಲಾಕ್‌ನ Flink ಗೆ ಸೂಚಿಸುವಂತೆ ಹೊಂದಿಸಲಾಗಿದೆ.


As a result of this, the _EPROCESS block associated with the malware process is unlinked from the doubly linked list.

ಇದರ ಪರಿಣಾಮವಾಗಿ, ಮಾಲ್ವೇರ್ ಪ್ರಕ್ರಿಯೆಗೆ ಸಂಬಂಧಿಸಿದ _EPROCESS ಬ್ಲಾಕ್ ಅನ್ನು ದ್ವಿಗುಣಿತ ಲಿಂಕ್ಡ್ ಪಟ್ಟಿಯಿಂದ ಅನ್‌ಲಿಂಕ್ ಮಾಡಲಾಗಿದೆ.


By unlinking a process, an attacker can hide the malicious process from the live forensic tools that rely on walking the doubly linked list to enumerate the active processes.

ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅನ್‌ಲಿಂಕ್ ಮಾಡುವ ಮೂಲಕ, ಸಕ್ರಿಯ ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಎಣಿಸಲು ದ್ವಿಗುಣಿತ ಲಿಂಕ್ಡ್ ಪಟ್ಟಿಯನ್ನು ಅವಲಂಬಿಸಿರುವ ಲೈವ್ ಫೋರೆನ್ಸಿಕ್ ಪರಿಕರಗಳಿಂದ ದಾಳಿಕೋರನು ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮರೆಮಾಡಬಹುದು.


As you might have guessed, this technique also hides the malicious process from the pslist plugin.

ನೀವು ಊಹಿಸಿದಂತೆ, ಈ ತಂತ್ರವು ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಕ್ರಿಯೆಯನ್ನು pslist ಪ್ಲಗಿನ್‌ನಿಂದಲೂ ಮರೆಮಾಡುತ್ತದೆ.


The following is the pslist and psscan output from a system infected with the prolaco rootkit, which performs DKOM to hide a process.

ಕೆಳಗಿನವು prolaco rootkit ನಿಂದ ಸೋಂಕಿತಗೊಂಡ ಸಿಸ್ಟಮ್‌ನಿಂದ pslist ಮತ್ತು psscan ಔಟ್‌ಪುಟ್ ಆಗಿದೆ, ಇದು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಮರೆಮಾಡಲು DKOM ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ.


For the sake of brevity, some of the entries are truncated from the following output.

ಸಂಕ್ಷಿಪ್ತತೆಗಾಗಿ, ಕೆಲವು ನಮೂದುಗಳನ್ನು ಕೆಳಗಿನ ಔಟ್‌ಪುಟ್‌ನಿಂದ ಕತ್ತರಿಸಲಾಗಿದೆ.


When you compare the output from pslist and psscan, you will notice an additional process called nvid.exe (pid 1700) in the psscan output that's not present in the pslist.

pslist ಮತ್ತು psscan ನಿಂದ ಔಟ್‌ಪುಟ್ ಅನ್ನು ನೀವು ಹೋಲಿಸಿದಾಗ, pslist ನಲ್ಲಿ ಇಲ್ಲದ psscan ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ nvid.exe (pid 1700) ಎಂಬ ಹೆಚ್ಚುವರಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನೀವು ಗಮನಿಸಬಹುದು.


The reason psscan detects the hidden process is that it uses a different technique to list the processes, called pool tag scanning.

psscan ಮರೆಮಾಡಿದ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಕಾರಣವೆಂದರೆ ಅದು ಪ್ರಕ್ರಿಯೆಗಳನ್ನು ಪಟ್ಟಿ ಮಾಡಲು ವಿಭಿನ್ನ ತಂತ್ರವನ್ನು ಬಳಸುತ್ತದೆ, ಇದನ್ನು ಪೂಲ್ ಟ್ಯಾಗ್ ಸ್ಕ್ಯಾನಿಂಗ್ ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ.


Every executive object has a structure associated with it (such as _EPROCESS for process object).

ಪ್ರತಿಯೊಂದು ಕಾರ್ಯನಿರ್ವಾಹಕ ವಸ್ತುವಿಗೆ ಅದರೊಂದಿಗೆ ಸಂಬಂಧಿಸಿದ ರಚನೆಯನ್ನು ಹೊಂದಿದೆ (ಪ್ರಕ್ರಿಯೆ ವಸ್ತುವಿಗಾಗಿ _EPROCESS ನಂತಹ).


The executive object structure is preceded by a _OBJECT_HEADER structure, which contains information about an object's type and some reference counters.

ಕಾರ್ಯನಿರ್ವಾಹಕ ವಸ್ತು ರಚನೆಯು _OBJECT_HEADER ರಚನೆಯಿಂದ ಮುಂಚಿತವಾಗಿರುತ್ತದೆ, ಇದು ವಸ್ತುವಿನ ಪ್ರಕಾರ ಮತ್ತು ಕೆಲವು ಉಲ್ಲೇಖ ಕೌಂಟರ್‌ಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಒಳಗೊಂಡಿದೆ.


To store an object, memory is needed, and this memory is allocated by the Windows memory manager from kernel pools.

ವಸ್ತುವನ್ನು ಸಂಗ್ರಹಿಸಲು, ಮೆಮೊರಿ ಅಗತ್ಯವಿದೆ, ಮತ್ತು ಈ ಮೆಮೊರಿಯನ್ನು ವಿಂಡೋಸ್ ಮೆಮೊರಿ ವ್ಯವಸ್ಥಾಪಕರು ಕರ್ನಲ್ ಪೂಲ್‌ಗಳಿಂದ ಹಂಚುತ್ತಾರೆ.


The pool is divided into a paged pool (whose content may be swapped to disk) and a non-paged pool (whose content permanently resides in memory).

ಪೂಲ್ ಅನ್ನು ಪುಟಿತ ಪೂಲ್ (ಯಾವುದರ ವಿಷಯವನ್ನು ಡಿಸ್ಕ್‌ಗೆ ವಿನಿಮಯ ಮಾಡಿಕೊಳ್ಳಬಹುದು) ಮತ್ತು ಪುಟಿತವಲ್ಲದ ಪೂಲ್ (ಯಾವುದರ ವಿಷಯವು ಶಾಶ್ವತವಾಗಿ ಮೆಮೊರಿಯಲ್ಲಿ ಉಳಿಯುತ್ತದೆ) ಎಂದು ವಿಂಗಡಿಸಲಾಗಿದೆ.


The objects (such as process and threads) are kept in a non-paged pool in the kernel, which means they will always reside in the physical memory.

ವಸ್ತುಗಳನ್ನು (ಪ್ರಕ್ರಿಯೆ ಮತ್ತು ಥ್ರೆಡ್‌ಗಳಂತಹವು) ಕರ್ನಲ್‌ನಲ್ಲಿ ಪುಟಿತವಲ್ಲದ ಪೂಲ್‌ನಲ್ಲಿ ಇರಿಸಲಾಗುತ್ತದೆ, ಅಂದರೆ ಅವು ಯಾವಾಗಲೂ ಭೌತಿಕ ಮೆಮೊರಿಯಲ್ಲಿ ಉಳಿಯುತ್ತವೆ.


When the Windows kernel receives the request to create an object (possibly due to API calls made by processes such as CreateProcess or CreateFile), memory is allocated for the object either from the paged pool or non-paged pool (depending on the object type).

ವಿಂಡೋಸ್ ಕರ್ನಲ್ ವಸ್ತುವನ್ನು ರಚಿಸಲು ವಿನಂತಿಯನ್ನು ಸ್ವೀಕರಿಸಿದಾಗ (ಸಂಭವನೀಯವಾಗಿ CreateProcess ಅಥವಾ CreateFile ನಂತಹ ಪ್ರಕ್ರಿಯೆಗಳಿಂದ ಮಾಡಿದ API ಕರೆಗಳಿಂದಾಗಿ), ವಸ್ತುವಿಗಾಗಿ ಮೆಮೊರಿಯನ್ನು ಪುಟಿತ ಪೂಲ್ ಅಥವಾ ಪುಟಿತವಲ್ಲದ ಪೂಲ್‌ನಿಂದ ಹಂಚಲಾಗುತ್ತದೆ (ವಸ್ತು ಪ್ರಕಾರವನ್ನು ಅವಲಂಬಿಸಿ).


This allocation is tagged by prepending a _POOL_HEADER structure to the object, so that in memory, each object will have a predictable structure.

ಈ ಹಂಚಿಕೆಯನ್ನು ವಸ್ತುವಿಗೆ _POOL_HEADER ರಚನೆಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಟ್ಯಾಗ್ ಮಾಡಲಾಗಿದೆ, ಇದರಿಂದಾಗಿ ಮೆಮೊರಿಯಲ್ಲಿ, ಪ್ರತಿಯೊಂದು ವಸ್ತುವೂ ಊಹಿಸಬಹುದಾದ ರಚನೆಯನ್ನು ಹೊಂದಿರುತ್ತದೆ.


The _POOL_HEADER structure includes a field named PoolTag that contains a four-byte tag (referred to as a pool tag).

_POOL_HEADER ರಚನೆಯು PoolTag ಎಂಬ ಕ್ಷೇತ್ರವನ್ನು ಒಳಗೊಂಡಿದೆ, ಇದು ನಾಲ್ಕು-ಬೈಟ್ ಟ್ಯಾಗ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ (ಪೂಲ್ ಟ್ಯಾಗ್ ಎಂದು ಉಲ್ಲೇಖಿಸಲಾಗಿದೆ).


For the process object, the tag is Proc and for the File object, the tag is File, and so on.

ಪ್ರಕ್ರಿಯೆ ವಸ್ತುವಿಗೆ, ಟ್ಯಾಗ್ Proc ಮತ್ತು ಫೈಲ್ ವಸ್ತುವಿಗೆ, ಟ್ಯಾಗ್ ಫೈಲ್, ಮತ್ತು ಹೀಗೆ.


It is this tag that the Volatility's psscan uses as the starting point to identify the process object.

ಪ್ರಕ್ರಿಯೆ ವಸ್ತುವನ್ನು ಗುರುತಿಸಲು Volatility ನ psscan ಬಳಸುವ ಆರಂಭಿಕ ಹಂತವೆಂದರೆ ಈ ಟ್ಯಾಗ್ ಆಗಿದೆ.


To overcome this problem, we can use another plugin named ldrmodules.

ಈ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು, ನಾವು ldrmodules ಎಂಬ ಇನ್ನೊಂದು ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು.


The ldrmodules plugin compares module information from the three PEB lists with the information from a data structure residing in the kernel memory known as VADs.

ldrmodules ಪ್ಲಗಿನ್ ಮೂರು PEB ಪಟ್ಟಿಗಳಿಂದ ಮಾಡ್ಯೂಲ್ ಮಾಹಿತಿಯನ್ನು VAD ಗಳು ಎಂದು ಕರೆಯಲ್ಪಡುವ ಕರ್ನಲ್ ಮೆಮೊರಿಯಲ್ಲಿರುವ ಡೇಟಾ ರಚನೆಯ ಮಾಹಿತಿಯೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ.


The VAD is a binary tree structure that stores information about the virtually contiguous memory regions in the process memory.

VAD ಎನ್ನುವುದು ಪ್ರಕ್ರಿಯೆ ಮೆಮೊರಿಯಲ್ಲಿ ವಾಸ್ತವಿಕವಾಗಿ ಪಕ್ಕದ ಮೆಮೊರಿ ಪ್ರದೇಶಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುವ ಒಂದು ಬೈನರಿ ಟ್ರೀ ರಚನೆಯಾಗಿದೆ.


If the process memory region contains a memory-mapped file (such as an executable, DLL), then the VAD node stores information about its base address, file path, and memory protection.

ಪ್ರಕ್ರಿಯೆ ಮೆಮೊರಿ ಪ್ರದೇಶವು ಮೆಮೊರಿ-ಮ್ಯಾಪ್ಡ್ ಫೈಲ್ ಅನ್ನು ಹೊಂದಿದ್ದರೆ (ಉದಾಹರಣೆಗೆ, ಎಕ್ಸಿಕ್ಯೂಟಬಲ್, DLL), ನಂತರ VAD ನೋಡ್ ಅದರ ಬೇಸ್ ವಿಳಾಸ, ಫೈಲ್ ಮಾರ್ಗ ಮತ್ತು ಮೆಮೊರಿ ರಕ್ಷಣೆಯ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ.


Similarly, other VAD nodes will describe process memory ranges, including the ones that contain mapped executable images such as DLLs.

ಅದೇ ರೀತಿ, ಇತರ VAD ನೋಡ್‌ಗಳು DLL ಗಳಂತಹ ಮ್ಯಾಪ್ ಮಾಡಲಾದ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಚಿತ್ರಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ಪ್ರಕ್ರಿಯೆ ಮೆಮೊರಿ ಶ್ರೇಣಿಗಳನ್ನು ವಿವರಿಸುತ್ತವೆ.


To get the module's information, the ldrmodules plugin enumerates all the VAD nodes that contain mapped executable images and compares the results with the three PEB lists to identify any discrepancies.

ಮಾಡ್ಯೂಲ್‌ನ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ldrmodules ಪ್ಲಗಿನ್ ಮ್ಯಾಪ್ ಮಾಡಲಾದ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಚಿತ್ರಗಳನ್ನು ಹೊಂದಿರುವ ಎಲ್ಲಾ VAD ನೋಡ್‌ಗಳನ್ನು ಎಣಿಸುತ್ತದೆ ಮತ್ತು ಯಾವುದೇ ವ್ಯತ್ಯಾಸಗಳನ್ನು ಗುರುತಿಸಲು ಫಲಿತಾಂಶಗಳನ್ನು ಮೂರು PEB ಪಟ್ಟಿಗಳೊಂದಿಗೆ ಹೋಲಿಸುತ್ತದೆ.


You can see that the ldrmodules plugin was able to identify a malicious DLL called TDSSoiqh.dll, which hides from all the three PEB lists.

TDSSoiqh.dll ಎಂಬ ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು ಗುರುತಿಸಲು ldrmodules ಪ್ಲಗಿನ್ ಸಮರ್ಥವಾಗಿದೆ ಎಂದು ನೀವು ನೋಡಬಹುದು, ಇದು ಮೂರು PEB ಪಟ್ಟಿಗಳಿಂದ ಮರೆಮಾಡುತ್ತದೆ.


After you have identified the malicious process or DLL, you may want to dump it for further investigation.

ನೀವು ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರಕ್ರಿಯೆ ಅಥವಾ DLL ಅನ್ನು ಗುರುತಿಸಿದ ನಂತರ, ಹೆಚ್ಚಿನ ತನಿಖೆಗಾಗಿ ನೀವು ಅದನ್ನು ಡಂಪ್ ಮಾಡಲು ಬಯಸಬಹುದು.


To dump a process executable from memory to disk, you can use the procdump plugin.

ಮೆಮೊರಿಯಿಂದ ಡಿಸ್ಕ್‌ಗೆ ಪ್ರಕ್ರಿಯೆ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಅನ್ನು ಡಂಪ್ ಮಾಡಲು, ನೀವು procdump ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು.


To dump the process executable, you need to know either its process ID or its physical offset.

ಪ್ರಕ್ರಿಯೆ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್ ಅನ್ನು ಡಂಪ್ ಮಾಡಲು, ನೀವು ಅದರ ಪ್ರಕ್ರಿಯೆ ID ಅಥವಾ ಅದರ ಭೌತಿಕ ಆಫ್‌ಸೆಟ್ ಅನ್ನು ತಿಳಿದುಕೊಳ್ಳಬೇಕು.


Similarly, to the process executable, you can dump a malicious DLL to disk using the dlldump plugin.

ಅದೇ ರೀತಿ, ಪ್ರಕ್ರಿಯೆ ಎಕ್ಸಿಕ್ಯೂಟಬಲ್‌ಗೆ, ನೀವು dlldump ಪ್ಲಗಿನ್ ಬಳಸಿ ದುರುದ್ದೇಶಪೂರಿತ DLL ಅನ್ನು ಡಿಸ್ಕ್‌ಗೆ ಡಂಪ್ ಮಾಡಬಹುದು.


Most malicious programs perform some network activity, either to download additional components, to receive commands from the attacker, to exfiltrate data, or to create a remote backdoor on the system.

ಹೆಚ್ಚಿನ ದುರುದ್ದೇಶಪೂರಿತ ಪ್ರೋಗ್ರಾಂಗಳು ಕೆಲವು ನೆಟ್‌ವರ್ಕ್ ಚಟುವಟಿಕೆಗಳನ್ನು ನಿರ್ವಹಿಸುತ್ತವೆ, ಹೆಚ್ಚುವರಿ ಘಟಕಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು, ದಾಳಿಕೋರನಿಂದ ಆಜ್ಞೆಗಳನ್ನು ಸ್ವೀಕರಿಸಲು, ಡೇಟಾವನ್ನು ಹೊರಹಾಕಲು ಅಥವಾ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ರಿಮೋಟ್ ಬ್ಯಾಕ್‌ಡೋರ್ ಅನ್ನು ರಚಿಸಲು.


Inspecting the networking activity will help you determine the network operations of the malware on the infected system.

ನೆಟ್‌ವರ್ಕಿಂಗ್ ಚಟುವಟಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದರಿಂದ ಸೋಂಕಿತ ಸಿಸ್ಟಮ್‌ನಲ್ಲಿ ಮಾಲ್‌ವೇರ್‌ನ ನೆಟ್‌ವರ್ಕ್ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ.


To determine the active network connections on pre-vista systems, you can use the connections plugin.

ಪೂರ್ವ-ವಿಸ್ಟಾ ಸಿಸ್ಟಮ್‌ಗಳಲ್ಲಿ ಸಕ್ರಿಯ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ಧರಿಸಲು, ನೀವು ಸಂಪರ್ಕಗಳ ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು.


Sometimes, you may want to get the information about the open sockets and their associated processes.

ಕೆಲವೊಮ್ಮೆ, ನೀವು ತೆರೆದ ಸಾಕೆಟ್‌ಗಳು ಮತ್ತು ಅವುಗಳ ಸಂಬಂಧಿತ ಪ್ರಕ್ರಿಯೆಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು ಬಯಸಬಹುದು.


From a forensics perspective, the registry can provide valuable information about the context of the malware.

ಫೋರೆನ್ಸಿಕ್ಸ್ ದೃಷ್ಟಿಕೋನದಿಂದ, ಮಾಲ್ವೇರ್‌ನ ಸಂದರ್ಭದ ಬಗ್ಗೆ ರಿಜಿಸ್ಟ್ರಿ ಮೌಲ್ಯಯುತ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸುತ್ತದೆ.


To print the registry key, subkeys, and its values, you can use the printkey plugin.

ರಿಜಿಸ್ಟ್ರಿ ಕೀ, ಉಪಕೀಗಳು ಮತ್ತು ಅದರ ಮೌಲ್ಯಗಳನ್ನು ಮುದ್ರಿಸಲು, ನೀವು printkey ಪ್ಲಗಿನ್ ಅನ್ನು ಬಳಸಬಹುದು.