The strings utility can extract both ASCII and Unicode strings from a binary file.

ബൈനറി ഫയലിൽ നിന്ന് ASCII, Unicode സ്ട്രിംഗുകൾ വേർതിരിച്ചെടുക്കാൻ സ്ട്രിംഗ് യൂട്ടിലിറ്റിക്ക് കഴിയും.


Malware authors often use obfuscation techniques to hide strings.

മാൽവെയർ എഴുത്തുകാർ പലപ്പോഴും സ്ട്രിംഗുകൾ മറയ്ക്കാൻ ഒബ്‌ഫസ്‌ക്കേഷൻ ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു.


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

മാൽവെയറിൽ നിന്ന് ഒബ്‌ഫസ്‌കേറ്റ് ചെയ്ത സ്ട്രിംഗുകൾ സ്വയമേവ വേർതിരിച്ചെടുക്കാൻ രൂപകൽപ്പന ചെയ്ത ഒരു ഉപകരണമാണ് FLOSS.


The output showed references to an executable, Excel file, and Run registry key.

ഒരു എക്സിക്യൂട്ടബിൾ, എക്സൽ ഫയൽ, റൺ രജിസ്ട്രി കീ എന്നിവയിലേക്കുള്ള റഫറൻസുകൾ ഔട്ട്‌പുട്ടിൽ കാണിച്ചു.


If you want to exclude static strings, use the --no-static-strings switch.

നിങ്ങൾ സ്ഥിരമായ സ്ട്രിംഗുകൾ ഒഴിവാക്കാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, --no-static-strings സ്വിച്ച് ഉപയോഗിക്കുക.


Malware authors use obfuscation to protect the inner workings of the malware.

മാൽവെയറിന്റെ ഉൾവശം സംരക്ഷിക്കാൻ മാൽവെയർ എഴുത്തുകാർ ഒബ്‌ഫസ്‌ക്കേഷൻ ഉപയോഗിക്കുന്നു.


Packers and cryptors are used to obfuscate files.

ഫയലുകൾ മറയ്ക്കാൻ പാക്കേഴ്സും ക്രിപ്റ്ററുകളും ഉപയോഗിക്കുന്നു.


A packer uses compression to obfuscate the executable's content.

എക്സിക്യൂട്ടബിളിന്റെ ഉള്ളടക്കം മറയ്ക്കാൻ ഒരു പാക്കർ കംപ്രഷൻ ഉപയോഗിക്കുന്നു.


Upon execution, the packed program extracts the original binary in memory.

പ്രവർത്തിക്കുമ്പോൾ, പാക്ക് ചെയ്ത പ്രോഗ്രാം മെമ്മറിയിൽ യഥാർത്ഥ ബൈനറി എക്സ്ട്രാക്റ്റ് ചെയ്യുന്നു.


A cryptor uses encryption to obfuscate the executable's content.

എക്സിക്യൂട്ടബിളിന്റെ ഉള്ളടക്കം മറയ്ക്കാൻ ഒരു ക്രിപ്റ്റർ എൻക്രിപ്ഷൻ ഉപയോഗിക്കുന്നു.


Extracting strings from Spybot shows suspicious executable names and IP addresses.

സ്പൈബോറ്റിൽ നിന്ന് സ്ട്രിംഗുകൾ വേർതിരിച്ചെടുക്കുന്നത് സംശയാസ്പദമായ എക്സിക്യൂട്ടബിൾ പേരുകളും IP വിലാസങ്ങളും കാണിക്കുന്നു.


UPX ഒരു ജനപ്രിയ പാക്കറാണ്.


Running the strings command on the packed binary shows obscured strings.

പാക്ക് ചെയ്ത ബൈനറിയിൽ സ്ട്രിംഗ് കമാൻഡ് പ്രവർത്തിപ്പിക്കുന്നത് അവ്യക്തമായ സ്ട്രിംഗുകൾ കാണിക്കുന്നു.


Exeinfo PE can detect packers on Windows.

വിൻഡോസിൽ പാക്കറുകൾ കണ്ടെത്താൻ Exeinfo PE-ക്ക് കഴിയും.


Windows executables conform to the PE/COFF format.

വിൻഡോസ് എക്സിക്യൂട്ടബിളുകൾ PE/COFF ഫോർമാറ്റിന് അനുസൃതമാണ്.


The PE file contains information required by the operating system.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് ആവശ്യമായ വിവരങ്ങൾ PE ഫയലിൽ അടങ്ങിയിരിക്കുന്നു.


Examining the PE header yields a wealth of information.

PE ശീർഷകം പരിശോധിക്കുന്നത് ധാരാളം വിവരങ്ങൾ നൽകുന്നു.


Inspect file dependencies and imports to understand malware functionality.

മാൽവെയർ പ്രവർത്തനങ്ങൾ മനസ്സിലാക്കാൻ ഫയൽ ഡിപ്പൻഡൻസികളും ഇംപോർട്ടുകളും പരിശോധിക്കുക.


Malware often depends on functions exposed by the operating system.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം എക്സ്പോർട്ട് ചെയ്യുന്ന ഫംഗ്ഷനുകളെയാണ് മിക്കപ്പോഴും മാൽവെയർ ആശ്രയിക്കുന്നത്.


Inspecting the DLLs and API functions can give an idea about the malware's functionality.

DLL-കളും API ഫംഗ്ഷനുകളും പരിശോധിക്കുന്നത് മാൽവെയറിന്റെ പ്രവർത്തനത്തെക്കുറിച്ച് ഒരു ആശയം നൽകും.


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.

പൈത്തണിൽ, 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.

ഒരേ ഇംപാഷ് ഉള്ള ഫയലുകൾ ഒരേ ഭീഷണിയുടെ ഗ്രൂപ്പിൽ നിന്നുള്ളതാണെന്ന് നിർബന്ധമില്ല.


Section hashing can also help in identifying related samples.

ബന്ധപ്പെട്ട സാമ്പിളുകൾ തിരിച്ചറിയാൻ സെക്ഷൻ ഹാഷിംഗും സഹായിക്കും.


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 rule identifiers can contain any alphanumeric character and the underscore character.

നിയമ ഐഡന്റിഫയറുകളിൽ ഏതെങ്കിലും ആൽഫാന്യൂമെറിക് പ്രതീകവും അടിവരയിട്ട ചിഹ്നവും ഉണ്ടാകാം.


This is the section where the strings that will be part of the rule are defined.

നിയമത്തിന്റെ ഭാഗമാകുന്ന സ്ട്രിംഗുകൾ നിർവചിച്ചിരിക്കുന്ന ഭാഗമാണിത്.


This section must contain a Boolean expression that specifies the condition.

ഈ ഭാഗത്ത്, വ്യവസ്ഥകൾ വ്യക്തമാക്കുന്ന ഒരു ബൂളിയൻ എക്സ്പ്രഷൻ ഉണ്ടായിരിക്കണം.


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

നിയമം തയ്യാറായാൽ, അടുത്ത ഘട്ടം yara യൂട്ടിലിറ്റി ഉപയോഗിക്കുക എന്നതാണ്.


If you want the rule to detect both ASCII and Unicode strings, then you specify the ascii and wide modifier.

ASCII, യൂണിക്കോഡ് സ്ട്രിംഗുകൾ എന്നിവ കണ്ടെത്താൻ നിയമം ഉപയോഗിക്കണമെങ്കിൽ, ascii, wide എന്നീ മോഡിഫയറുകൾ വ്യക്തമാക്കുക.


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

നിങ്ങൾ ഒരു എക്സിക്യൂട്ടബിൾ ഫയലിലെ സ്ട്രിംഗുകൾക്കായി തിരയാൻ ആഗ്രഹിക്കുന്നുവെങ്കിൽ, താഴെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു നിയമം ഉണ്ടാക്കാം.


YARA rule can also be used to detect packers.

പാക്കറുകൾ കണ്ടെത്താനും YARA നിയമം ഉപയോഗിക്കാം.


Static analysis is the first step in malware analysis.

മാൽവെയർ വിശകലനത്തിലെ ആദ്യത്തെ ഘട്ടമാണ് സ്ഥിരമായ വിശകലനം.


Dynamic analysis involves analyzing a sample by executing it in an isolated environment.

ഒരു മാതൃകയെ, ഒരു പ്രത്യേകമായ ചുറ്റുപാടിൽ പ്രവർത്തിപ്പിച്ച് വിശകലനം ചെയ്യുന്നതാണ് ഡൈനാമിക് അനാലിസിസ്.


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

വിൻഡോസ് മാൽവെയർ വിശകലനം ചെയ്യാനും അന്വേഷിക്കാനുമുള്ള ആശയങ്ങളും, ഉപകരണങ്ങളും, സാങ്കേതിക വിദ്യകളും 'മാൽവെയർ വിശകലനം പഠിക്കുക' എന്ന പുസ്തകത്തിൽ വിശദമാക്കുന്നു.


This book starts by introducing you to basic concepts of malware analysis.

മാൽവെയർ വിശകലനത്തിന്റെ അടിസ്ഥാന ആശയങ്ങൾ പരിചയപ്പെടുത്തിയാണ് ഈ പുസ്തകം ആരംഭിക്കുന്നത്.


Malware analysis requires a well-balanced knowledge of many different skills and subjects.

മാൽവെയർ വിശകലനത്തിന് വിവിധ കഴിവുകളും വിഷയങ്ങളെക്കുറിച്ചുമുള്ള നല്ല അറിവ് ആവശ്യമാണ്.


If you are new to the field of malware analysis, this book should help you get started.

നിങ്ങൾ മാൽവെയർ വിശകലന രംഗത്ത് പുതിയ ആളാണെങ്കിൽ, ഈ പുസ്തകം നിങ്ങളെ സഹായിക്കും.


Chapter 1, Introduction to Malware Analysis, introduces readers to the concept of malware analysis.

ഒന്നാം അധ്യായം, മാൽവെയർ വിശകലനത്തിൻ്റെ ആമുഖം, വായനക്കാരെ മാൽവെയർ വിശകലനം എന്ന വിഷയത്തിലേക്ക് എത്തിക്കുന്നു.


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

മാത്രമല്ല, ദോഷകരമായ പ്രോഗ്രാമുകൾ ഉപയോഗിക്കുന്ന വിവിധ സ്ഥിരീകരണ രീതികളെക്കുറിച്ചും ഇത് വിശദീകരിക്കുന്നു.


You will learn how to use a debugger to control the execution of a program.

ഒരു പ്രോഗ്രാമിന്റെ പ്രവർത്തനം നിയന്ത്രിക്കാൻ ഒരു ഡീബഗ്ഗർ എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.


The growing threat of cyberattacks on critical infrastructure poses a unique challenge.

പ്രധാന അടിസ്ഥാന സൗകര്യങ്ങൾക്ക് നേരെയുള്ള സൈബർ ആക്രമണങ്ങളുടെ വർദ്ധിച്ചുവരുന്ന ഭീഷണി ഒരു അതുല്യമായ വെല്ലുവിളി ഉയർത്തുന്നു.


These cyberattacks make use of malicious software for financial theft.

ധനപരമായ മോഷണത്തിനായി ഇത്തരം സൈബർ ആക്രമണങ്ങൾ ദോഷകരമായ സോഫ്റ്റ്‌വെയറുകൾ ഉപയോഗിക്കുന്നു.


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

വിപുലമായ മാൽവെയറുകളെ ചെറുക്കാൻ മാൽവെയർ വിശകലനം ഒരു അത്യാവശ്യ വൈദഗ്ധ്യമായി മാറിയിരിക്കുന്നു.


Whether you are learning malware analysis to perform a forensic investigation, or for fun, this book enables you to accomplish your goals.

ഒരു ഫോറൻസിക് അന്വേഷണം നടത്താനോ അല്ലെങ്കിൽ രസകരമായ രീതിയിലോ മാൽവെയർ വിശകലനം പഠിക്കുകയാണെങ്കിൽ പോലും, നിങ്ങളുടെ ലക്ഷ്യങ്ങൾ നേടാൻ ഈ പുസ്തകം നിങ്ങളെ സഹായിക്കും.


If you're an incident responder, this book is for you.

നിങ്ങൾ ഒരു സംഭവത്തിന് പ്രതികരിക്കുന്ന ആളാണെങ്കിൽ, ഈ പുസ്തകം നിങ്ങൾക്കുള്ളതാണ്.


Chapter 2, Static Analysis, teaches the tools and techniques to extract metadata information.

രണ്ടാം അധ്യായം, സ്ഥിരമായ വിശകലനം, മെറ്റാഡാറ്റ വിവരങ്ങൾ വേർതിരിച്ചെടുക്കാനുള്ള ഉപകരണങ്ങളും സാങ്കേതിക വിദ്യകളും പഠിപ്പിക്കുന്നു.


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

പ്രവർത്തിപ്പിക്കാതെ തന്നെ ബൈനറിയുടെ വിവിധ വശങ്ങൾ എങ്ങനെ നിർണ്ണയിക്കാമെന്ന് നിങ്ങൾ പഠിക്കും.


Chapter 3, Dynamic Analysis, teaches the tools and techniques to determine the behavior of the malware.

അധ്യായം 3, ഡൈനാമിക് അനാലിസിസ്, മാൽവെയറിന്റെ സ്വഭാവം നിർണ്ണയിക്കാനുള്ള ഉപകരണങ്ങളും സാങ്കേതിക വിദ്യകളും പഠിപ്പിക്കുന്നു.


It also describes the hooking techniques used by the malware.

മാൽവെയർ ഉപയോഗിക്കുന്ന ഹുക്കിംഗ് ടെക്നിക്കുകളും ഇത് വിവരിക്കുന്നു.


Chapter 9, Malware Obfuscation Techniques, covers encoding, encryption, and packing techniques.

ഒമ്പതാം അധ്യായം, മാൽവെയർ ഒബ്‌ഫസ്‌ക്കേഷൻ ടെക്നിക്കുകൾ, എൻകോഡിംഗ്, എൻക്രിപ്ഷൻ, പാക്കിംഗ് ടെക്നിക്കുകൾ എന്നിവ ഉൾക്കൊള്ളുന്നു.


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

മെമ്മറിയിലെ ഫോറൻസിക് ആർട്ടിഫാക്റ്റുകൾ കണ്ടെത്താനും തിരിച്ചറിയാനും സഹായിക്കുന്ന വിവിധ വോലാറ്റിലിറ്റി പ്ലഗിനുകളെക്കുറിച്ച് നിങ്ങൾ പഠിക്കും.


The advancement of technology has revolutionized the way organizations conduct businesses.

സാങ്കേതികവിദ്യയുടെ വളർച്ച, സ്ഥാപനങ്ങൾ ബിസിനസ്സ് ചെയ്യുന്ന രീതിയിൽ വിപ്ലവം സൃഷ്ടിച്ചു.


If you have written a few lines of code and have a basic understanding of programming concepts, you’ll be able to get the most out of this book.

നിങ്ങൾ കുറച്ച് കോഡ് എഴുതിയിട്ടുണ്ടെങ്കിൽ, പ്രോഗ്രാമിംഗ് ആശയങ്ങളെക്കുറിച്ച് അടിസ്ഥാനപരമായ ധാരണയുണ്ടെങ്കിൽ, ഈ പുസ്തകത്തിൽ നിന്ന് നിങ്ങൾക്ക് കൂടുതൽ കാര്യങ്ങൾ മനസ്സിലാക്കാൻ കഴിയും.


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.

നിങ്ങളുടെ പുസ്തകം തിരഞ്ഞെടുത്ത്, Errata സമർപ്പണ ഫോം ലിങ്കിൽ ക്ലിക്ക് ചെയ്ത് വിശദാംശങ്ങൾ നൽകി 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 you are interested in becoming an author: 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.

വായനക്കാർക്ക് നിങ്ങളുടെ പക്ഷപാതമില്ലാത്ത അഭിപ്രായം കണ്ട് ഉൽപ്പന്നങ്ങൾ വാങ്ങുന്നതിനെക്കുറിച്ച് തീരുമാനമെടുക്കാൻ കഴിയും, പാക്റ്റിലെ ഞങ്ങൾ നിങ്ങളുടെ അഭിപ്രായങ്ങൾ മനസ്സിലാക്കുകയും, രചയിതാക്കൾക്ക് നിങ്ങളുടെ പ്രതികരണങ്ങൾ അവരുടെ പുസ്തകത്തിൽ കാണാനും കഴിയും.


Thank you! 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.

ദോഷകരമായ സോഫ്റ്റ്‌വെയർ വിശകലനം ചെയ്യുന്നതിന് ആവശ്യമായ അറിവും, കഴിവും, ഉപകരണങ്ങളും, അത്തരം ആക്രമണങ്ങൾ കണ്ടെത്താനും, അന്വേഷിക്കാനും, പ്രതിരോധിക്കാനും അത്യാവശ്യമാണ്.


In this chapter, you will learn the following topics: What malware means and its role in the cyber-attacks Malware analysis and its significance in digital forensics Different types of malware analysis Setting up the lab environment Various sources to obtain malware samples 1. What Is Malware?

ഈ അധ്യായത്തിൽ, നിങ്ങൾ ഇനി പറയുന്ന വിഷയങ്ങൾ പഠിക്കും: മാൽവെയർ എന്നാൽ എന്ത്, സൈബർ ആക്രമണങ്ങളിൽ അതിന്റെ പങ്ക്, മാൽവെയർ വിശകലനവും ഡിജിറ്റൽ ഫോറൻസിക്സിലെ അതിന്റെ പ്രാധാന്യവും, വിവിധതരം മാൽവെയർ വിശകലനം, ലാബ് എൻവയോൺമെന്റ് സ്ഥാപിക്കുക, മാൽവെയർ സാമ്പിളുകൾ നേടുന്നതിനുള്ള വിവിധ സ്രോതസ്സുകൾ 1. മാൽവെയർ എന്നാൽ എന്ത്?


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.

സാധാരണയായി നിങ്ങളുടെ സമ്മതമില്ലാതെ ഇത് നിങ്ങളുടെ സിസ്റ്റത്തിലേക്ക് പ്രവേശിക്കുകയും ഇമെയിൽ, വെബ് അല്ലെങ്കിൽ യുഎസ്ബി ഡ്രൈവുകൾ പോലുള്ള വിവിധ ആശയവിനിമയ മാർഗ്ഗങ്ങളിലൂടെ വിതരണം ചെയ്യപ്പെടുകയും ചെയ്യും.


കമ്പ്യൂട്ടർ പ്രവർത്തനങ്ങൾ തടസ്സപ്പെടുത്തുന്നു


Stealing sensitive information, including personal, business, and financial data

സ്വകാര്യ, ബിസിനസ്, സാമ്പത്തിക ഡാറ്റ ഉൾപ്പെടെയുള്ള സെൻസിറ്റീവ് വിവരങ്ങൾ മോഷ്ടിക്കുന്നു


ഇറക്കുക എന്നത് ദിശയിലുള്ളവയായി സജ്ജീകരിച്ചിരിക്കുന്നു.


ശരി എന്നതിൽ ക്ലിക്ക് ചെയ്യുക.


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/ എന്നതിൽ നിന്ന് Python ഡൗൺലോഡ് ചെയ്യുക.


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.

Python 2.7.x (2.7.13 പോലുള്ളവ) ഡൗൺലോഡ് ചെയ്യാൻ ശ്രദ്ധിക്കുക; ഈ പുസ്തകത്തിൽ ഉപയോഗിച്ചിരിക്കുന്ന മിക്ക സ്ക്രിപ്റ്റുകളും Python 2.7 പതിപ്പിൽ പ്രവർത്തിക്കുന്ന രീതിയിലാണ് എഴുതിയിരിക്കുന്നത്, കൂടാതെ Python 3-ൽ ഇത് ശരിയായി പ്രവർത്തിച്ചെന്ന് വരില്ല.


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

ഇൻസ്റ്റാൾ പിപ്പ് എന്ന ഓപ്ഷനും, Add python.exe to Path എന്നതും തിരഞ്ഞെടുക്കാൻ ശ്രദ്ധിക്കുക, താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നത് പോലെ.


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).

വിൻഡോസ് വിഎമ്മിൻ്റെ IP വിലാസം 192.168.1.x ആയി കോൺഫിഗർ ചെയ്യുക (192.168.1.100 ഒഴികെയുള്ള ഏതെങ്കിലും IP വിലാസം തിരഞ്ഞെടുക്കുക, കാരണം Linux VM ആ IP ഉപയോഗിക്കാൻ സജ്ജീകരിച്ചിരിക്കുന്നു) കൂടാതെ നിങ്ങളുടെ ഡിഫോൾട്ട് ഗേറ്റ്‌വേയും DNS സെർവറും Linux VM-ൻ്റെ IP വിലാസത്തിലേക്ക് (അതായത്, 192.168.1.100) സജ്ജീകരിക്കുക.


This configuration is required so that when we execute the hostile program on the Windows VM, all of the network traffic will be routed through the Linux VM.

വിൻഡോസ് വിഎമ്മിൽ ശത്രുതാപരമായ പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കുമ്പോൾ, എല്ലാ നെറ്റ്‌വർക്ക് ട്രാഫിക്കും Linux VM വഴി റൂട്ട് ചെയ്യുന്നതിന് ഈ കോൺഫിഗറേഷൻ ആവശ്യമാണ്.


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

Linux VM-ഉം വിൻഡോസ് VM-ഉം ഓൺ ചെയ്യുക, അവ പരസ്പരം ആശയവിനിമയം നടത്താൻ കഴിയുമെന്ന് ഉറപ്പാക്കുക.


You can check for the connectivity by running the ping command.

പിംഗ് കമാൻഡ് പ്രവർത്തിപ്പിച്ച് നിങ്ങൾക്ക് കണക്റ്റിവിറ്റി പരിശോധിക്കാൻ കഴിയും.


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.

അത് ചെയ്യുന്നതിന്, റൺ മെനു തുറക്കാൻ വിൻഡോസ് കീ + R അമർത്തുക, gpedit.msc എന്ന് നൽകി Local Group Policy Editor തുറക്കാൻ Enter അമർത്തുക.


In the left-hand pane of Local Group Policy Editor, navigate to Computer Configuration | Administrative Templates | Windows Components | Windows Defender.

Local Group Policy Editor-ൻ്റെ ഇടതുവശത്തുള്ള ഭാഗത്ത്, കമ്പ്യൂട്ടർ കോൺഫിഗറേഷൻ | അഡ്മിനിസ്ട്രേറ്റീവ് ടെംപ്ലേറ്റുകൾ | വിൻഡോസ് ഘടകങ്ങൾ | വിൻഡോസ് ഡിഫൻഡർ എന്നിവയിലേക്ക് നാവിഗേറ്റ് ചെയ്യുക.


The malware established an HTTP connection with the C2 domain.

മാൽവെയർ C2 ഡൊമെയ്‌നുമായി ഒരു HTTP കണക്ഷൻ സ്ഥാപിച്ചു.


The DLL was successfully loaded, which is what we wanted for monitoring its activity.

DLL വിജയകരമായി ലോഡ് ചെയ്തു, അതിന്റെ പ്രവർത്തനം നിരീക്ഷിക്കാൻ ഞങ്ങൾ ആഗ്രഹിച്ചത് അതാണ്.


Even though the error message was displayed, the DLL was successfully loaded.

error സന്ദേശം കാണിച്ചെങ്കിലും, DLL വിജയകരമായി ലോഡ് ചെയ്തു.


The DLL sample was run with the following command.

താഴെക്കൊടുത്തിരിക്കുന്ന കമാൻഡ് ഉപയോഗിച്ചാണ് DLL സാമ്പിൾ പ്രവർത്തിപ്പിച്ചത്.


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

കാരണം, DLL-ൻ്റെ എൻട്രി പോയിൻ്റ് ഫംഗ്ഷൻ ഒരു ഫങ്ഷണാലിറ്റിയും നടപ്പിലാക്കുന്നില്ല.


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.

ഒരു 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 was created.

ഡിലീറ്റ് പ്രവർത്തനം പ്രകടമാക്കാൻ, ഒരു ടെസ്റ്റ് ഫയൽ ഉണ്ടാക്കി.


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.

ചില സമയങ്ങളിൽ, rundll32.exe ഉപയോഗിച്ച് ഒരു 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.

താഴെക്കൊടുത്തിരിക്കുന്ന കമാൻഡ് ഉപയോഗിച്ച് DLL പ്രവർത്തിപ്പിച്ചപ്പോൾ ഒരു error ഉണ്ടായി.


After analyzing the code, it was found that the DLL, in its entry point function, performed a check.

കോഡ് വിശകലനം ചെയ്ത ശേഷം, എൻട്രി പോയിൻ്റ് ഫംഗ്ഷനിൽ, DLL ഒരു പരിശോധന നടത്തിയതായി കണ്ടെത്തി.


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

പെരുമാറ്റം ട്രിഗർ ചെയ്യുന്നതിന്, ദോഷകരമായ DLL spoolsv.exe പ്രോസസ്സിലേക്ക് ഇൻജക്ട് ചെയ്യേണ്ടിവന്നു.


Dynamic analysis is a great technique to understand the behavior of malware.

മാൽവെയറുകളുടെ സ്വഭാവം മനസ്സിലാക്കാൻ ഡൈനാമിക് അനാലിസിസ് ഒരു മികച്ച സാങ്കേതികതയാണ്.


The memory address 0x403000 stores the value 100.

0x403000 എന്ന മെമ്മറി വിലാസത്തിൽ 100 എന്ന മൂല്യം സംഭരിച്ചിരിക്കുന്നു.


Assembly language uses addresses to access memory locations.

അസംബ്ലി ഭാഷ മെമ്മറി സ്ഥാനങ്ങൾ ആക്സസ് ചെയ്യാൻ വിലാസങ്ങൾ ഉപയോഗിക്കുന്നു.


The instruction 'mov eax, [0x403000]' moves data from memory to the eax register.

'mov eax, [0x403000]' എന്ന നിർദ്ദേശം മെമ്മറിയിൽ നിന്ന് eax രജിസ്റ്ററിലേക്ക് ഡാറ്റ നീക്കുന്നു.


Square brackets in assembly indicate the value at a memory address.

അസംബ്ലിയിലെ സ്ക്വയർ ബ്രാക്കറ്റുകൾ ഒരു മെമ്മറി വിലാസത്തിലെ മൂല്യം സൂചിപ്പിക്കുന്നു.


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

'lea' നിർദ്ദേശം ഫലപ്രദമായ വിലാസമാണ് ലോഡ് ചെയ്യുന്നത്, മൂല്യമല്ല.


Reverse engineering often involves analyzing assembly code.

റിവേഴ്സ് എഞ്ചിനിയറിംഗിൽ പലപ്പോഴും അസംബ്ലി കോഡ് വിശകലനം ചെയ്യുന്നത് ഉൾപ്പെടുന്നു.


The instruction 'mov eax, [ebx]' moves the value at the address specified by the ebx register into the eax register.

'mov eax, [ebx]' എന്ന നിർദ്ദേശം ebx രജിസ്റ്റർ വ്യക്തമാക്കിയ വിലാസത്തിലെ മൂല്യം eax രജിസ്റ്ററിലേക്ക് നീക്കുന്നു.


Understanding assembly is crucial for malware analysis.

മാൽവെയർ വിശകലനത്തിന് അസംബ്ലി മനസ്സിലാക്കുന്നത് നിർണായകമാണ്.


The 'dword ptr' specifier indicates a 4-byte value.

'dword ptr' സ്പെസിഫയർ 4-ബൈറ്റ് മൂല്യത്തെ സൂചിപ്പിക്കുന്നു.


Moving values from registers to memory involves swapping operands.

രജിസ്റ്ററുകളിൽ നിന്ന് മെമ്മറിയിലേക്ക് മൂല്യങ്ങൾ നീക്കുന്നതിൽ ഓപ്പറാൻഡുകൾ സ്വാപ്പ് ചെയ്യുന്നത് ഉൾപ്പെടുന്നു.


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

'mov [0x403000], eax' എന്ന നിർദ്ദേശം eax-ലെ മൂല്യം മെമ്മറിയിലേക്ക് നീക്കുന്നു.


Constant values can be moved into memory locations.

സ്ഥിരമായ മൂല്യങ്ങൾ മെമ്മറി സ്ഥാനങ്ങളിലേക്ക് നീക്കാൻ കഴിയും.


Disassembly challenges help in understanding code functionality.

കോഡിന്റെ പ്രവർത്തനം മനസ്സിലാക്കാൻ ഡിസ്അസംബ്ലി വെല്ലുവിളികൾ സഹായിക്കുന്നു.


The disassembled code snippet copies a value from one memory location to another.

ഡിസ്അസംബിൾ ചെയ്ത കോഡ് സ്നിപ്പറ്റ് ഒരു മെമ്മറി സ്ഥാനത്ത് നിന്ന് മറ്റൊന്നിലേക്ക് ഒരു മൂല്യം പകർത്തുന്നു.


Variables in high-level languages correspond to memory addresses in assembly.

ഉയർന്ന തലത്തിലുള്ള ഭാഷകളിലെ വേരിയബിളുകൾ അസംബ്ലിയിലെ മെമ്മറി വിലാസങ്ങളുമായി പൊരുത്തപ്പെടുന്നു.


Registers are used for temporary storage by the CPU.

സിപിയു താൽക്കാലിക സംഭരണത്തിനായി രജിസ്റ്ററുകൾ ഉപയോഗിക്കുന്നു.


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

ചിലപ്പോൾ വേരിയബിളുകൾ എങ്ങനെ ഉപയോഗിക്കപ്പെടുന്നു എന്നതിനെ ആശ്രയിച്ച് ഡാറ്റാ തരങ്ങൾ നിർണ്ണയിക്കാൻ കഴിയും.


Arithmetic operations are fundamental in assembly language.

അസംബ്ലി ഭാഷയിൽ ഗണിത പ്രവർത്തനങ്ങൾ അടിസ്ഥാനപരമാണ്.


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

'add' നിർദ്ദേശം രണ്ട് ഓപ്പറാൻഡുകൾ ചേർക്കുകയും ഫലം ലക്ഷ്യസ്ഥാനത്ത് സംഭരിക്കുകയും ചെയ്യുന്നു.


The 'mul' instruction performs multiplication.

'mul' നിർദ്ദേശം ഗുണനം നടത്തുന്നു.


The code executes after the 'else' block.

'else' ബ്ലോക്കിന് ശേഷം കോഡ് എക്സിക്യൂട്ട് ചെയ്യും.


നിബന്ധന വിപരീതമാക്കി.


This jump ensures that the else block is skipped.

ഈ ജമ്പ് 'else' ബ്ലോക്ക് ഒഴിവാക്കുന്നു എന്ന് ഉറപ്പാക്കുന്നു.


The following is a C code containing if-ElseIf-else statements.

ഇഫ്-എൽസിഫ്-എൽസ് സ്റ്റേറ്റ്‌മെന്റുകൾ അടങ്ങിയ ഒരു C കോഡ് ഇതാ.


Let's try to determine a situation when jumps will be taken.

എപ്പോഴാണ് ജമ്പുകൾ എടുക്കുക എന്ന് നമുക്ക് നോക്കാം.


രണ്ട് വ്യവസ്ഥാപരമായ ജമ്പ് പോയിന്റുകൾ ഉണ്ട്.


Both of these unconditional jumps skip the else statement.

ഈ രണ്ട് വ്യവസ്ഥകളില്ലാത്ത ജമ്പുകളും 'else' സ്റ്റേറ്റ്‌മെന്റ് ഒഴിവാക്കുന്നു.


The following is the disassembled output of a program.

ഒരു പ്രോഗ്രാമിന്റെ ഡിസ്അസംബിൾ ചെയ്ത ഔട്ട്‌പുട്ട് ഇതാ.


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

താഴെയുള്ള കോഡിനെ അതിന്റെ ഉയർന്ന തലത്തിലുള്ള രൂപത്തിലേക്ക് പരിവർത്തനം ചെയ്യാം.


After assigning the symbolic names to the memory address references, we get the following code:

മെമ്മറി വിലാസ പരാമർശങ്ങൾക്ക് പ്രതീകാത്മക നാമങ്ങൾ നൽകിയ ശേഷം, നമുക്ക് താഴെയുള്ള കോഡ് ലഭിക്കും:


This has the characteristics of an if-else statement.

ഇതൊരു if-else സ്റ്റേറ്റ്‌മെന്റിന്റെ സ്വഭാവസവിശേഷതകൾ ഉൾക്കൊള്ളുന്നു.


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

➍ മുതൽ ➌ വരെയുള്ള കോഡ് if ബ്ലോക്കിന്റെ ഭാഗമാണ്.


x-ന്റെ മൂല്യം 0-വുമായി താരതമ്യം ചെയ്യുന്നു.


If x is not equal to 0, then the value of x is xored with 3.

x, 0-ന് തുല്യമല്ലെങ്കിൽ, x-ന്റെ മൂല്യം 3-മായി xor ചെയ്യും.


The condition in the if statement was reversed.

if സ്റ്റേറ്റ്‌മെന്റിലെ കണ്ടീഷൻ വിപരീതമാക്കി.


The jumps and conditional jumps that you have seen so far have been jumping forward.

നിങ്ങൾ ഇതുവരെ കണ്ട ജമ്പുകളും, വ്യവസ്ഥാപരമായ ജമ്പുകളും മുന്നോട്ട് പോകുന്നവയായിരുന്നു.


ലൂപ്പുകൾ പിന്നിലേക്ക് ജമ്പ് ചെയ്യുന്നു.


The general form of a for loop is shown here:

ഒരു for ലൂപ്പിന്റെ പൊതുവായ രൂപം ഇവിടെ കാണിച്ചിരിക്കുന്നു:


In both cases, when i becomes greater than or equal to 5, a jump will be taken.

രണ്ട് സാഹചര്യങ്ങളിലും, i 5-നേക്കാൾ കൂടുതലാകുമ്പോൾ അല്ലെങ്കിൽ 5-ന് തുല്യമാകുമ്പോൾ ഒരു ജമ്പ് എടുക്കും.


The stack is an area of the memory that gets allocated by the operating system.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അനുവദിക്കുന്ന മെമ്മറിയുടെ ഒരു ഭാഗമാണ് സ്റ്റാക്ക്.


When performing malware analysis, you will only be interested in the activities produced by the malware.

മാൽവെയർ വിശകലനം നടത്തുമ്പോൾ, മാൽവെയർ ഉണ്ടാക്കുന്ന പ്രവർത്തനങ്ങളിൽ മാത്രമായിരിക്കും നിങ്ങൾക്ക് താൽപ്പര്യമുണ്ടാകുക.


To reduce noise, you can use the filtering features which hides unwanted entries and allows you to filter on specific attributes.

ശബ്ദം കുറയ്ക്കുന്നതിന്, ആവശ്യമില്ലാത്ത എൻട്രികൾ മറയ്ക്കുകയും, പ്രത്യേക ആട്രിബ്യൂട്ടുകൾ ഫിൽട്ടർ ചെയ്യാൻ അനുവദിക്കുകയും ചെയ്യുന്ന ഫിൽറ്ററിംഗ് ഫീച്ചറുകൾ ഉപയോഗിക്കാം.


Noriben is a Python script that works in conjunction with Process Monitor and helps in collecting, analyzing, and reporting runtime indicators of the malware.

നോറിബെൻ എന്നത് പ്രോസസ് മോണിറ്ററുമായി ചേർന്ന് പ്രവർത്തിക്കുന്ന ഒരു പൈത്തൺ സ്ക്രിപ്റ്റാണ്, ഇത് മാൽവെയറിന്റെ റൺടൈം സൂചകങ്ങൾ ശേഖരിക്കാനും, വിശകലനം ചെയ്യാനും, റിപ്പോർട്ട് ചെയ്യാനും സഹായിക്കുന്നു.


The text file contains events segregated based on the categories (like process, file, registry, and network activity) in separate sections.

ടെക്സ്റ്റ് ഫയലിൽ, വ്യത്യസ്ത വിഭാഗങ്ങളായി തിരിച്ചിട്ടുള്ള സംഭവങ്ങൾ അടങ്ങിയിരിക്കുന്നു (പ്രോസസ്, ഫയൽ, രജിസ്ട്രി, നെറ്റ്‌വർക്ക് ആക്റ്റിവിറ്റി എന്നിവ പോലെ).


If you are interested in the summary of events based on the category then you can look at the text file.

വിഭാഗത്തെ അടിസ്ഥാനമാക്കിയുള്ള സംഭവങ്ങളുടെ സംഗ്രഹമാണ് നിങ്ങൾക്ക് ആവശ്യമെങ്കിൽ, നിങ്ങൾക്ക് ടെക്സ്റ്റ് ഫയൽ പരിശോധിക്കാവുന്നതാണ്.


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

വൈർഷാർക്ക് എന്നത് നെറ്റ്‌വർക്ക് ട്രാഫിക് ക്യാപ്‌ചർ ചെയ്യാൻ നിങ്ങളെ സഹായിക്കുന്ന ഒരു പാക്കറ്റ് സ്നിഫറാണ്.


Most malware, when executed, reach out to the internet (command and control server).

മിക്ക മാൽവെയറുകളും പ്രവർത്തിക്കുമ്പോൾ, ഇന്റർനെറ്റിലേക്ക് (കമാൻഡ് ആൻഡ് കൺട്രോൾ സെർവർ) ബന്ധപ്പെടുന്നു.


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

സാധാരണ ഇന്റർനെറ്റ് സേവനങ്ങൾ അനുകരിക്കുന്നതിനുള്ള സൗജന്യമായ Linux അടിസ്ഥാനമാക്കിയുള്ള സോഫ്റ്റ്‌വെയർ സ്യൂട്ടാണ് INetSim.


For example, if malware requests an executable (.exe) file from the C2 server, INetSim can return a dummy executable file to the malware.

ഉദാഹരണത്തിന്, മാൽവെയർ C2 സെർവറിൽ നിന്ന് ഒരു എക്സിക്യൂട്ടബിൾ (.exe) ഫയൽ ആവശ്യപ്പെടുകയാണെങ്കിൽ, INetSim-ന് മാൽവെയറിലേക്ക് ഒരു ഡമ്മി എക്സിക്യൂട്ടബിൾ ഫയൽ നൽകാൻ കഴിയും.


During dynamic analysis (behavioral analysis), you will follow a sequence of steps to determine the functionality of the malware.

ഡൈനാമിക് അനാലിസിസ് സമയത്ത് (സ്വഭാവ വിശകലനം), മാൽവെയറിന്റെ പ്രവർത്തനം നിർണ്ണയിക്കാൻ നിങ്ങൾ ഒരു ശൃംഖല പിന്തുടരും.


Reverting to the clean snapshot: This includes reverting your virtual machines to a clean state.

ക്ലീൻ സ്നാപ്ഷോട്ടിലേക്ക് മടങ്ങുക: ഇതിൽ നിങ്ങളുടെ വെർച്വൽ മെഷീനുകളെ ഒരു ശുദ്ധമായ അവസ്ഥയിലേക്ക് മാറ്റുന്നത് ഉൾപ്പെടുന്നു.


Once you have an understanding of the dynamic analysis tools and steps involved in dynamic analysis, these tools can be used together to glean maximum information from the malware sample.

ഡൈനാമിക് അനാലിസിസ് ടൂളുകളെയും അതിൽ ഉൾപ്പെട്ടിട്ടുള്ള ഘട്ടങ്ങളെയും കുറിച്ച് നിങ്ങൾക്ക് ഒരു ധാരണയുണ്ടെങ്കിൽ, മാൽവെയർ സാമ്പിളിൽ നിന്ന് പരമാവധി വിവരങ്ങൾ ശേഖരിക്കുന്നതിന് ഈ ടൂളുകൾ ഒരുമിച്ച് ഉപയോഗിക്കാൻ കഴിയും.


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

നമ്മൾ ഫയൽ തരവും ക്രിപ്റ്റോഗ്രാഫിക് ഹാഷും നിർണ്ണയിക്കുന്നതിലൂടെ ആരംഭിക്കും.


The ASCII strings extracted from the binary using the strings utility contains references to a set of batch commands.

സ്ട്രിംഗ്സ് യൂട്ടിലിറ്റി ഉപയോഗിച്ച് ബൈനറിയിൽ നിന്ന് എക്‌സ്‌ട്രാക്റ്റ് ചെയ്ത ASCII സ്ട്രിംഗുകളിൽ ബാച്ച് കമാൻഡുകളുടെ ഒരു കൂട്ടത്തെക്കുറിച്ചുള്ള പരാമർശങ്ങൾ ഉണ്ട്.


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

ഇറക്കുമതികൾ പരിശോധിക്കുന്നത് ഫയൽ സിസ്റ്റം, രജിസ്ട്രി എന്നിവയുമായി ബന്ധപ്പെട്ട API കോളുകളെക്കുറിച്ചുള്ള പരാമർശങ്ങൾ കാണിക്കുന്നു.


To perform the hash search from VirusTotal, you need internet access.

VirusTotal-ൽ നിന്ന് ഹാഷ് തിരയുന്നതിന്, നിങ്ങൾക്ക് ഇന്റർനെറ്റ് ആക്സസ് ആവശ്യമാണ്.


Upon executing the malware sample (sales.exe), a new process, iexplorer.exe, was created.

മാൽവെയർ സാമ്പിൾ (sales.exe) പ്രവർത്തിപ്പിച്ച ശേഷം, iexplorer.exe എന്ന പുതിയ പ്രോസസ്സ് സൃഷ്ടിക്കപ്പെട്ടു.


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 for persistence.

തുടർന്ന്, നിലനിൽപ്പിനായി, ഡ്രോപ്പ് ചെയ്ത ഫയലിന്റെ പാത്ത്, റൺ രജിസ്ട്രി കീയിൽ ഒരു എൻട്രിയായി ദോഷകരമായ ബൈനറി ചേർക്കുന്നു.


In most cases, the malware uses a custom protocol or encrypts its network traffic to bypass network-based signatures.

മിക്ക കേസുകളിലും, നെറ്റ്‌വർക്ക് അടിസ്ഥാനമാക്കിയുള്ള ഒപ്പുകൾ മറികടക്കാൻ മാൽവെയർ ഒരു ഇഷ്ടമുള്ള പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നു അല്ലെങ്കിൽ അതിന്റെ നെറ്റ്‌വർക്ക് ട്രാഫിക് എൻക്രിപ്റ്റ് ചെയ്യുന്നു.


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.

കോളിംഗ് കൺവെൻഷൻ എങ്ങനെയാണ് പാരാമീറ്ററുകൾ കൈമാറേണ്ടതെന്ന് നിർണ്ണയിക്കുന്നു.


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

കമ്പ്യൂട്ടർ ചെയ്ത C പ്രോഗ്രാമുകളിൽ മിക്കതും സാധാരണയായി cdecl കോളിംഗ് കൺവെൻഷൻ പിന്തുടരുന്നു.


In the cdecl convention, the caller pushes the parameters in the right-to-left order on the stack.

cdecl കൺവെൻഷനിൽ, കോളർ വലത്തുനിന്ന് ഇടത്തേക്ക് ക്രമത്തിൽ സ്റ്റാക്കിലേക്ക് പാരാമീറ്ററുകൾ തള്ളുന്നു.


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.

DLL ഫയലുകൾ എക്സ്പോർട്ട് ചെയ്യുന്ന ഫംഗ്ഷനുകൾക്കായി (API) Microsoft Windows stdcall കൺവെൻഷൻ ഉപയോഗിക്കുന്നു.


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

ഒരു അറേ എന്നത് ഒരേ തരത്തിലുള്ള ഡാറ്റ അടങ്ങിയ ഒരു ലിസ്റ്റാണ്.


The array elements are stored in contiguous locations in the memory.

അറേയുടെ ഘടകങ്ങൾ മെമ്മറിയിലെ തുടർച്ചയായ സ്ഥാനങ്ങളിൽ സംഭരിക്കപ്പെടുന്നു.


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

nums എന്ന അറേ നാമം, അറേയുടെ ആദ്യ ഘടകത്തിലേക്ക് ചൂണ്ടുന്ന ഒരു പോയിന്റർ സ്ഥിരമാണ്.


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

ഒരു ഉയർന്ന തലത്തിലുള്ള ഭാഷയിൽ, അറേയുടെ ഘടകങ്ങൾ ആക്സസ് ചെയ്യാൻ, നിങ്ങൾ സൂചികയോടൊപ്പം അറേ നാമം ഉപയോഗിക്കുന്നു.


For example, you can access the first element using nums[0], the second element using nums[1], and so on.

ഉദാഹരണത്തിന്, nums[0] ഉപയോഗിച്ച് ആദ്യത്തെ ഘടകവും, nums[1] ഉപയോഗിച്ച് രണ്ടാമത്തെ ഘടകവും നിങ്ങൾക്ക് ആക്സസ് ചെയ്യാവുന്നതാണ്.


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, and 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>].

ഒരു ഉയർന്ന തലത്തിലുള്ള ഭാഷയിൽ നിങ്ങൾ nums[0] ഉപയോഗിക്കുമ്പോൾ, അത് [nums+0*<size_of_each_element_in_bytes>] ആയി വിവർത്തനം ചെയ്യപ്പെടുന്നു.


ഒരു സ്ട്രിംഗ് എന്നത് പ്രതീകങ്ങളുടെ ഒരു ശ്രേണിയാണ്.


When you define a string, a null 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 rep instruction, when used with the movsx instruction, is equivalent to the memcpy() function in C programming.

movsx നിർദ്ദേശത്തിനൊപ്പം ഉപയോഗിക്കുമ്പോൾ, rep നിർദ്ദേശം C പ്രോഗ്രാമിംഗിലെ memcpy() ഫംഗ്ഷന് തുല്യമാണ്.


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 അടച്ച് നിങ്ങൾക്ക് ഡാറ്റാബേസ് സംരക്ഷിക്കാൻ കഴിയും.


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 ഗ്ലോബൽ വേരിയബിളുകളും തിരിച്ചറിഞ്ഞു, പേരുകൾ നൽകി.


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

വേരിയബിളുകളുടെ വിലാസങ്ങൾ ഉപയോഗിക്കുന്നു എന്ന് സൂചിപ്പിക്കാൻ IDA ഓഫ്‌സെറ്റ് കീവേഡ് ഉപയോഗിച്ചു.


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 പ്രോഗ്രാമിലെ എല്ലാ ലൊക്കേഷനുകളും ലേബൽ ചെയ്യുന്നു.


You can navigate to any of the named locations by double-clicking on them.

പേരുള്ള ലൊക്കേഷനുകളിലേക്ക് അവയിൽ ഡബിൾ-ക്ലിക്ക് ചെയ്യുന്നതിലൂടെ നിങ്ങൾക്ക് നാവിഗേറ്റ് ചെയ്യാവുന്നതാണ്.


IDA keeps track of your navigation history.

നിങ്ങളുടെ നാവിഗേഷൻ ചരിത്രം IDA ട്രാക്ക് ചെയ്യുന്നു.


Another way to navigate is by using cross-references.

ക്രോസ്-റഫറൻസുകൾ ഉപയോഗിച്ച് നാവിഗേറ്റ് ചെയ്യാനുള്ള മറ്റൊരു മാർഗ്ഗമുണ്ട്.


Cross-references can be either data cross-references or code cross-references.

ക്രോസ്-റഫറൻസുകൾ ഒന്നുകിൽ ഡാറ്റാ ക്രോസ്-റഫറൻസുകളോ കോഡ് ക്രോസ്-റഫറൻസുകളോ ആകാം.


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

ഒരു കോഡ് ക്രോസ്-റഫറൻസ് ഒരു നിർദ്ദേശത്തിൽ നിന്ന് മറ്റൊന്നിലേക്കുള്ള നിയന്ത്രണ പ്രവാഹം സൂചിപ്പിക്കുന്നു.


The 64-bit Windows operating system can run a 32-bit executable.

64-ബിറ്റ് വിൻഡോസ് ഓപ്പറേറ്റിംഗ് സിസ്റ്റത്തിന് 32-ബിറ്റ് എക്സിക്യൂട്ടബിൾ പ്രവർത്തിപ്പിക്കാൻ കഴിയും.


When you are analyzing a 32-bit malware on 64-bit Windows, if you find malware accessing the system32 directory, it is really accessing the syswow64 directory.

നിങ്ങൾ 64-ബിറ്റ് വിൻഡോസിൽ 32-ബിറ്റ് മാൽവെയർ വിശകലനം ചെയ്യുമ്പോൾ, മാൽവെയർ സിസ്റ്റം32 ഡയറക്ടറി ആക്സസ് ചെയ്യുന്നത് കണ്ടെത്തിയാൽ, ഇത് യഥാർത്ഥത്തിൽ syswow64 ഡയറക്ടറിയാണ് ആക്സസ് ചെയ്യുന്നത്.


The difference in behavior can create confusion during analysis.

സ്വഭാവത്തിലെ ഈ വ്യത്യാസം വിശകലന സമയത്ത് ആശയക്കുഴപ്പങ്ങൾ ഉണ്ടാക്കിയേക്കാം.


To get an idea of how WOW64 subsystem can impact your analysis, refer to The WOW-Effect.

WOW64 ഉപസിസ്റ്റം നിങ്ങളുടെ വിശകലനത്തെ എങ്ങനെ ബാധിക്കുമെന്നതിനെക്കുറിച്ച് അറിയാൻ, The WOW-Effect എന്നതിലേക്ക് റഫർ ചെയ്യുക.


In this chapter, you learned the concepts and techniques required to understand and interpret assembly code.

ഈ അധ്യായത്തിൽ, അസംബ്ലി കോഡ് മനസ്സിലാക്കുന്നതിനും വ്യാഖ്യാനിക്കുന്നതിനും ആവശ്യമായ ആശയങ്ങളും സാങ്കേതിക വിദ്യകളും നിങ്ങൾ പഠിച്ചു.


This chapter also highlighted the key differences between the x32 and x64 architectures.

x32, x64 ആർക്കിടെക്ചറുകൾ തമ്മിലുള്ള പ്രധാന വ്യത്യാസങ്ങളും ഈ അധ്യായത്തിൽ എടുത്തുപറയുന്നു.


The disassembly and decompiling skills that you learned in this chapter will help you to gain a deeper understanding of how malicious code works, at a low level.

ഈ അധ്യായത്തിൽ നിങ്ങൾ പഠിച്ച ഡിസ്അസംബ്ലിംഗ്, ഡീകംപൈലിംഗ് കഴിവുകൾ, ക്ഷുദ്രകരമായ കോഡ് എങ്ങനെ കുറഞ്ഞ നിലയിൽ പ്രവർത്തിക്കുന്നു എന്ന് ആഴത്തിൽ മനസ്സിലാക്കാൻ സഹായിക്കും.


In the next chapter, we will look at code analysis tools (disassemblers and debuggers).

അടുത്ത അധ്യായത്തിൽ, കോഡ് അനാലിസിസ് ടൂളുകളെക്കുറിച്ച് (ഡിസ്അസംബ്ലറുകളും, ഡീബഗ്ഗറുകളും) നമുക്ക് നോക്കാം.


Code analysis is often used to understand the inner workings of a malicious binary when the source code is unavailable.

സോഴ്സ് കോഡ് ലഭ്യമല്ലാത്തപ്പോൾ, ക്ഷുദ്രകരമായ ബൈനറിയുടെ ഉൾവശം മനസ്സിലാക്കാൻ കോഡ് വിശകലനം പലപ്പോഴും ഉപയോഗിക്കുന്നു.


A disassembler is a program that translates machine code back to assembly code.

മെഷീൻ കോഡിനെ അസംബ്ലി കോഡിലേക്ക് വിവർത്തനം ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് ഡിസ്അസംബ്ലർ.


Static code analysis is a technique you can use to interpret the code to understand the program's behavior, without executing the binary.

ബൈനറി പ്രവർത്തിപ്പിക്കാതെ തന്നെ പ്രോഗ്രാമിന്റെ സ്വഭാവം മനസ്സിലാക്കാൻ കോഡ് വ്യാഖ്യാനിക്കാൻ നിങ്ങളെ സഹായിക്കുന്ന ഒരു സാങ്കേതികതയാണ് സ്ഥിരമായ കോഡ് വിശകലനം.


A debugger is a program which also disassembles the code.

കോഡ് ഡിസ്അസംബിൾ ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് ഡീബഗ്ഗർ.


Using debuggers, you can execute either a single instruction or selected functions, instead of executing the entire program.

ഡീബഗ്ഗറുകൾ ഉപയോഗിച്ച്, മുഴുവൻ പ്രോഗ്രാമും പ്രവർത്തിപ്പിക്കുന്നതിനുപകരം, ഒരൊറ്റ നിർദ്ദേശമോ തിരഞ്ഞെടുത്ത ഫംഗ്ഷനുകളോ നിങ്ങൾക്ക് എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും.


A decompiler is a program that translates the machine code into the code in a high-level language (pseudocode).

മെഷീൻ കോഡിനെ ഉയർന്ന തലത്തിലുള്ള ഭാഷയിലേക്കോ (സ്യൂഡോ കോഡ്) വിവർത്തനം ചെയ്യുന്ന ഒരു പ്രോഗ്രാമാണ് ഡീകംപൈലർ.


Hex-Rays IDA Pro is the most powerful and popular commercial disassembler/debugger.

Hex-Rays IDA Pro ഏറ്റവും ശക്തവും പ്രചാരമുള്ളതുമായ വാണിജ്യ ഡിസ്അസംബ്ലർ/ഡീബഗ്ഗർ ആണ്.


IDA can run on various platforms (Windows, Linux, and macOS) and supports analysis of various file formats.

വിവിധ പ്ലാറ്റ്‌ഫോമുകളിൽ (വിൻഡോസ്, ലിനക്സ്, macOS) IDA പ്രവർത്തിപ്പിക്കാൻ കഴിയും, കൂടാതെ വിവിധ ഫയൽ ഫോർമാറ്റുകളുടെ വിശകലനത്തെ ഇത് പിന്തുണയ്ക്കുന്നു.


You can download the freeware version of IDA for non-commercial use.

വാണിജ്യേതര ആവശ്യങ്ങൾക്കായി നിങ്ങൾക്ക് IDA-യുടെ സൗജന്യ പതിപ്പ് ഡൗൺലോഡ് ചെയ്യാം.


At the time of writing this book, the distributed freeware version is IDA 7.0.

ഈ പുസ്തകം എഴുതുമ്പോൾ, വിതരണം ചെയ്ത സൗജന്യ പതിപ്പ് IDA 7.0 ആണ്.


In this section and later sections, we will look at various features of IDA Pro.

ഈ ഭാഗത്തും തുടർന്നുള്ള ഭാഗങ്ങളിലും, IDA Pro-യുടെ വിവിധ സവിശേഷതകൾ നമ്മൾ പരിശോധിക്കും.


To get a better understanding of IDA, just load a binary and explore various features of IDA.

IDA-യെക്കുറിച്ച് നന്നായി മനസ്സിലാക്കാൻ, ഒരു ബൈനറി ലോഡ് ചെയ്ത് IDA-യുടെ വിവിധ സവിശേഷതകൾ പര്യവേക്ഷണം ചെയ്യുക.


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).

വേഗത്തിലുള്ള ലൈബ്രറി തിരിച്ചറിയൽ, അംഗീകാര സാങ്കേതികവിദ്യ (FLIRT) എന്ന് വിളിക്കപ്പെടുന്ന ഒരു സാങ്കേതികവിദ്യ IDA ഉപയോഗിക്കുന്നു.


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

ഈ സാഹചര്യത്തിൽ, ➊ എന്ന സ്ഥാനത്തുള്ള വിഘടിപ്പിച്ച ഫംഗ്ഷനെ ഒരു ഇറക്കുമതി ചെയ്ത ഫംഗ്ഷനായി തിരിച്ചറിയാനും CreateFileA എന്ന് പേര് നൽകാനും IDA-ക്ക് കഴിഞ്ഞു.


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

ലൈബ്രറികളും ഇറക്കുമതി ചെയ്ത ഫംഗ്ഷനുകളും തിരിച്ചറിയാനുള്ള IDA-യുടെ കഴിവ് വളരെ ഉപയോഗപ്രദമാണ്.


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 (psto.exe).

മുമ്പത്തെ ഡിസ്അസംബ്ലി ലിസ്റ്റിംഗിൽ നിന്ന്, മാൽവെയർ ഒരു ഫയൽ (psto.exe) ഉണ്ടാക്കുകയോ തുറക്കുകയോ ചെയ്യുന്നു എന്ന് നിങ്ങൾക്ക് പറയാൻ കഴിയും.


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

മാൽവെയർ എഴുത്തുകാർ അവരുടെ സോഴ്സ് കോഡിൽ GENERIC_WRITE പോലുള്ള പ്രതീകാത്മക സ്ഥിരാങ്കങ്ങൾ ഉപയോഗിക്കാറുണ്ട്.


Similarly, the value 2, passed as the fifth argument (➍), represents the symbolic name CREATE_ALWAYS.

അതുപോലെ, അഞ്ചാമത്തെ ആർഗ്യുമെന്റായി (➍) നൽകിയിട്ടുള്ള 2 എന്ന മൂല്യം, CREATE_ALWAYS എന്ന പ്രതീകാത്മക നാമത്തെ പ്രതിനിധീകരിക്കുന്നു.


After replacing the constants with symbolic names, the disassembly listing is translated to the one shown in the following snippet.

സ്ഥിരാങ്കങ്ങൾ പ്രതീകാത്മക നാമങ്ങൾ ഉപയോഗിച്ച് മാറ്റിസ്ഥാപിച്ച ശേഷം, ഡിസ്അസംബ്ലി ലിസ്റ്റിംഗ് താഴെയുള്ള ഭാഗത്ത് കാണിച്ചിരിക്കുന്ന ഒന്നിലേക്ക് വിവർത്തനം ചെയ്യപ്പെടുന്നു.


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

വിൻഡോസ് രണ്ട് സമാന്തര API-കളെ പിന്തുണയ്ക്കുന്നു: ഒന്ന് ANSI സ്ട്രിംഗുകൾക്കും മറ്റൊന്ന് യൂണിക്കോഡ് സ്ട്രിംഗുകൾക്കും.


You will often encounter function names with an Ex suffix in their names, such as RegCreateKeyEx.

RegCreateKeyEx പോലുള്ള പേരുകളിൽ Ex എന്ന后缀മുള്ള ഫംഗ്ഷൻ നാമങ്ങൾ നിങ്ങൾ പലപ്പോഴും കാണും.


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

മാൽവെയർ എങ്ങനെ ഒന്നിലധികം API ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു എന്ന് മനസ്സിലാക്കാൻ, 32-ബിറ്റ് മാൽവെയറിന്റെ ഒരു ഉദാഹരണം നോക്കാം.


Since we are dealing with 32-bit malware, all the parameters to the RegOpenKeyEx API are pushed onto the stack.

നമ്മൾ 32-ബിറ്റ് മാൽവെയറുമായി ഇടപെടുന്നതിനാൽ, RegOpenKeyEx API-യിലേക്കുള്ള എല്ലാ പാരാമീറ്ററുകളും സ്റ്റാക്കിലേക്ക് തള്ളിയിടുന്നു.


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 രജിസ്റ്ററിലേക്ക് നീക്കുന്നു.


From the MSDN documentation for this API, you can tell that the malware uses the RegSetValueEx API to set a value in the Run registry key.

ഈ API-യുടെ MSDN ഡോക്യുമെന്റേഷനിൽ നിന്ന്, റൺ രജിസ്ട്രി കീയിൽ ഒരു മൂല്യം സജ്ജീകരിക്കാൻ മാൽവെയർ RegSetValueEx API ഉപയോഗിക്കുന്നു എന്ന് നിങ്ങൾക്ക് പറയാൻ കഴിയും.


After adding the entry to the registry key, the malware closes the handle to the registry key by passing the handle it acquired previously.

രജിസ്ട്രി കീയിലേക്ക് എൻട്രി ചേർത്ത ശേഷം, മുമ്പ് നേടിയ ഹാൻഡിൽ നൽകി മാൽവെയർ രജിസ്ട്രി കീയിലേക്കുള്ള ഹാൻഡിൽ close ചെയ്യുന്നു.


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 ഫംഗ്ഷനുകളുമായി ആ ഹാൻഡിൽ പങ്കിടുന്നു എന്നും നിങ്ങൾ കണ്ടു.


In the following disassembly listing of WriteFile API, notice how the file handle which was copied into the rsi register in the previous API call, is now moved into the rcx register.

WriteFile API-യുടെ താഴെയുള്ള ഡിസ്അസംബ്ലി ലിസ്റ്റിംഗിൽ, മുൻ API കോളിൽ rsi രജിസ്റ്ററിലേക്ക് പകർത്തിയ ഫയൽ ഹാൻഡിൽ ഇപ്പോൾ rcx രജിസ്റ്ററിലേക്ക് നീക്കുന്നത് ശ്രദ്ധിക്കുക.


When performing malware analysis, you may want to modify the binary to change its inner workings.

മാൽവെയർ വിശകലനം നടത്തുമ്പോൾ, അതിന്റെ ഉൾവശം മാറ്റുന്നതിന് നിങ്ങൾ ബൈനറിയിൽ മാറ്റം വരുത്താൻ ആഗ്രഹിച്ചേക്കാം.


Using IDA, it is possible to modify the data or instructions of a program.

IDA ഉപയോഗിച്ച്, ഒരു പ്രോഗ്രാമിന്റെ ഡാറ്റയോ നിർദ്ദേശങ്ങളോ മാറ്റാൻ കഴിയും.


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.

ഏതൊരു മാൽവെയർ ഡീബഗ്ഗിംഗും ഒരു പ്രത്യേകമായ സാഹചര്യത്തിൽ (isolated environment) ചെയ്യേണ്ടത് വളരെ അത്യാവശ്യമാണ്.


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.

ഒരു പ്രോഗ്രാം ഡീബഗ് ചെയ്യാൻ രണ്ട് വഴികളുണ്ട്: (a) പ്രവർത്തിക്കുന്ന ഒരു പ്രോസസ്സിലേക്ക് ഡീബഗ്ഗർ അറ്റാച്ച് ചെയ്യുക, (b) ഒരു പുതിയ പ്രോസസ്സ് ആരംഭിക്കുക.


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 the process is launched under a debugger, the execution will pause at the program's entry point.

ഒരു ഡീബഗ്ഗറിന് കീഴിൽ പ്രോസസ്സ് ആരംഭിക്കുമ്പോൾ, പ്രോഗ്രാമിന്റെ എൻട്രി പോയിന്റിൽ എക്സിക്യൂഷൻ താൽക്കാലികമായി നിർത്തും.


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 breakpoints).

ഒരു ഡീബഗ്ഗർ വാഗ്ദാനം ചെയ്യുന്ന രണ്ട് പ്രധാന കഴിവുകൾ ഇവയാണ്: (a) എക്സിക്യൂഷൻ നിയന്ത്രിക്കാനുള്ള കഴിവ്, (b) എക്സിക്യൂഷൻ തടസ്സപ്പെടുത്താനുള്ള കഴിവ് (ബ്രേക്ക്പോയിന്റുകൾ ഉപയോഗിച്ച്).


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

ഒരു ഡീബഗ്ഗർ ഉപയോഗിച്ച്, ഡീബഗ്ഗറിലേക്ക് നിയന്ത്രണം തിരികെ നൽകുന്നതിന് മുമ്പ് നിങ്ങൾക്ക് ഒന്നോ അതിലധികമോ നിർദ്ദേശങ്ങൾ (അല്ലെങ്കിൽ തിരഞ്ഞെടുത്ത ഫംഗ്ഷനുകൾ) എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും.


Continue (Run): This executes all of the instructions, until a breakpoint is reached or an exception occurs.

തുടരുക (Run): ഒരു ബ്രേക്ക്പോയിന്റ് എത്തുന്നതുവരെ അല്ലെങ്കിൽ ഒരു ഒഴിവാക്കൽ സംഭവിക്കുന്നതുവരെ ഇത് എല്ലാ നിർദ്ദേശങ്ങളും എക്സിക്യൂട്ട് ചെയ്യുന്നു.


Using step into and step over, you can execute a single instruction.

സ്റ്റെപ് ഇൻ, സ്റ്റെപ് ഓവർ എന്നിവ ഉപയോഗിച്ച്, നിങ്ങൾക്ക് ഒരു നിർദ്ദേശം എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും.


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

നിങ്ങൾ ഒരു ഫംഗ്ഷനെ വിളിക്കുന്ന ഒരു നിർദ്ദേശം എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ സ്റ്റെപ് ഇൻ, സ്റ്റെപ് ഓവർ എന്നിവ തമ്മിലുള്ള വ്യത്യാസം സംഭവിക്കുന്നു.


This option allows you to execute all of the instructions in the current function, until it returns.

നിലവിലെ ഫംഗ്ഷനിലെ എല്ലാ നിർദ്ദേശങ്ങളും അത് തിരികെ നൽകുന്നതുവരെ എക്സിക്യൂട്ട് ചെയ്യാൻ ഈ ഓപ്ഷൻ നിങ്ങളെ അനുവദിക്കുന്നു.


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.

നിങ്ങൾക്ക് ഒരു പ്രോഗ്രാമിൽ ഉടനീളം ഒന്നിലധികം ബ്രേക്ക്പോയിന്റുകൾ സജ്ജീകരിക്കാൻ കഴിയും, കൂടാതെ ഏതെങ്കിലും ബ്രേക്ക്പോയിന്റുകളിൽ എത്തുമ്പോൾ എക്സിക്യൂഷൻ തടസ്സപ്പെടും.


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.

അനുവദിച്ച സ്റ്റാക്ക് ഇടം പ്രാദേശിക വേരിയബിളുകളും ഫംഗ്ഷൻ പാരാമീറ്ററുകളും സംഭരിക്കുന്നതിന് ഉപയോഗിക്കുന്നു.


The lack of push and pop instructions makes it difficult to determine the number of parameters accepted by the function.

പുഷ്, പോപ് നിർദ്ദേശങ്ങളുടെ അഭാവം ഫംഗ്ഷൻ സ്വീകരിക്കുന്ന പാരാമീറ്ററുകളുടെ എണ്ണം നിർണ്ണയിക്കുന്നത് ബുദ്ധിമുട്ടാക്കുന്നു.


ദോഷകരമായ ബൈനറികൾ ഡീബഗ്ഗിംഗ്


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-ബിറ്റ് മാൽവെയർ സാമ്പിളിന്റെ ഒരു ഉദാഹരണം നോക്കാം.


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-ൽ, ഫംഗ്ഷൻ പാരാമീറ്ററുകളുടെ ഒരു ചുരുക്കം ലഭിക്കുന്നതിന് ഏറ്റവും എളുപ്പമുള്ള വഴി ഡിഫോൾട്ട് വിൻഡോയിൽ നോക്കുക എന്നതാണ്.


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

RegCreateKey അല്ലെങ്കിൽ RegOpenKey API വിളിച്ച് മാൽവെയറിന് രജിസ്ട്രി കീയിലേക്ക് ഒരു ഹാൻഡിൽ തുറക്കാൻ കഴിയും.


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

explorer.exe-നൊപ്പം logoninit.exe ചേർക്കുന്നതിലൂടെ, Userinit.exe-ഉം logoninit.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 ഉപയോഗിക്കുക എന്നതാണ്.


To do so, first load rundll32.exe from the system32 directory into the debugger.

അങ്ങനെ ചെയ്യുന്നതിന്, ആദ്യം rundll32.exe സിസ്റ്റം32 ഡയറക്ടറിയിൽ നിന്ന് ഡീബഗ്ഗറിലേക്ക് ലോഡ് ചെയ്യുക.


Then, select Debug | Change Command Line and specify the command-line arguments to rundll32.exe.

തുടർന്ന്, ഡീബഗ് | കമാൻഡ് ലൈൻ മാറ്റുക തിരഞ്ഞെടുത്ത് rundll32.exe-ലേക്കുള്ള കമാൻഡ്-ലൈൻ ആർഗ്യുമെന്റുകൾ വ്യക്തമാക്കുക.


This will tell the debugger to break when the DLL is loaded.

DLL ലോഡ് ചെയ്യുമ്പോൾ തടസ്സമുണ്ടാക്കാൻ ഇത് ഡീബഗ്ഗറോട് പറയും.


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), ബ്രേക്ക്പോയിന്റ് വിലാസത്തിന് അടുത്തുള്ള അഭിപ്രായം നോക്കി എവിടെയാണ് എക്സിക്യൂഷൻ നിർത്തിയതെന്ന് ട്രാക്ക് ചെയ്യാൻ കഴിയും.


Tracing allows you to log events while the process is executing.

പ്രോസസ്സ് പ്രവർത്തിക്കുമ്പോൾ ഇവന്റുകൾ ലോഗ് ചെയ്യാൻ ട്രേസിംഗ് നിങ്ങളെ അനുവദിക്കുന്നു.


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 can also use WinExec() or CreateProcess() APIs.

മാൽവെയറിന് WinExec() അല്ലെങ്കിൽ CreateProcess() API-കളും ഉപയോഗിക്കാം.


Monitoring tools like Wireshark are helpful during debugging.

ഡീബഗ്ഗിംഗിനിടയിൽ Wireshark പോലുള്ള നിരീക്ഷണ ഉപകരണങ്ങൾ സഹായകമാണ്.


A dropper embeds a malware component within itself.

ഒരു ഡ്രോപ്പർ അതിനുള്ളിൽ ഒരു മാൽവെയർ ഘടകം ഉൾക്കൊള്ളുന്നു.


The dropper extracts the malware component and drops it to disk.

ഡ്രോപ്പർ മാൽവെയർ ഘടകം എക്സ്ട്രാക്ട് ചെയ്ത് ഡിസ്കിലേക്ക് ഇടുന്നു.


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

ഡ്രോപ്പറുകൾ സാധാരണയായി FindResource(), LoadResource() തുടങ്ങിയ API കോളുകൾ ഉപയോഗിക്കുന്നു.


Resource Hacker can show the presence of a PE file in the resource section.

ഒരു PE ഫയലിന്റെ സാന്നിധ്യം Resource Hacker-ന് റിസോഴ്സ് വിഭാഗത്തിൽ കാണിക്കാൻ കഴിയും.


Setting a breakpoint on FindResourceA() can be useful.

FindResourceA() എന്നതിൽ ഒരു ബ്രേക്ക്പോയിന്റ് സ്ഥാപിക്കുന്നത് സഹായകമാകും.


The return value of FindResourceA() is passed to LoadResource().

FindResourceA()-യുടെ റിട്ടേൺ മൂല്യം LoadResource() എന്നതിലേക്ക് കൈമാറുന്നു.


The malware determines the size of the resource using SizeofResource().

SizeofResource() ഉപയോഗിച്ച് മാൽവെയർ റിസോഴ്സിന്റെ വലുപ്പം നിർണ്ണയിക്കുന്നു.


A 64-bit dropper uses similar API functions.

ഒരു 64-ബിറ്റ് ഡ്രോപ്പർ സമാനമായ API ഫംഗ്ഷനുകൾ ഉപയോഗിക്കുന്നു.


Keyloggers intercept and log keystrokes.

കീലോഗറുകൾ കീസ്ട്രോക്കുകൾ തടസ്സപ്പെടുത്തുകയും ലോഗ് ചെയ്യുകയും ചെയ്യുന്നു.


Attackers use keylogging to steal confidential information.

രഹസ്യ വിവരങ്ങൾ മോഷ്ടിക്കാൻ ആക്രമണകാരികൾ കീലോഗിംഗ് ഉപയോഗിക്കുന്നു.


GetAsyncKeyState() and SetWindowsHookEx() are common methods.

GetAsyncKeyState() ഉം SetWindowsHookEx() ഉം സാധാരണ രീതികളാണ്.


GetAsyncKeyState() checks the state of each key.

GetAsyncKeyState() ഓരോ കീയുടെയും നില പരിശോധിക്കുന്നു.


A keylogger constantly polls GetAsyncKeyState() in a loop.

ഒരു കീലോഗർ ലൂപ്പിൽ GetAsyncKeyState() തുടർച്ചയായി പോൾ ചെയ്യുന്നു.


Malware can determine if a key is pressed using GetAsyncKeyState().

GetAsyncKeyState() ഉപയോഗിച്ച് ഒരു കീ അമർത്തിയോ എന്ന് മാൽവെയറിന് നിർണ്ണയിക്കാൻ കഴിയും.


You can set hardware and conditional breakpoints by editing the breakpoint that is already set.

മുമ്പേ സ്ഥാപിച്ച ബ്രേക്ക്‌പോയിന്റ് എഡിറ്റ് ചെയ്തുകൊണ്ട് നിങ്ങൾക്ക് ഹാർഡ്‌വെയർ, കണ്ടീഷണൽ ബ്രേക്ക്‌പോയിന്റുകൾ സ്ഥാപിക്കാൻ സാധിക്കും.


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.

എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ (സ്ഥിരസ്ഥിതി), എഴുതുമ്പോൾ, അല്ലെങ്കിൽ വായിക്കുമ്പോഴും എഴുതുമ്പോഴും നിർത്തണോ എന്ന് വ്യക്തമാക്കാൻ നിങ്ങൾക്ക് ഹാർഡ്‌വെയർ ബ്രേക്ക്‌പോയിന്റുകൾ ഉപയോഗിക്കാം.


The break on write and break on read/write options allow you to create memory breakpoints when the specified memory location is accessed by any instruction.

നിർദ്ദിഷ്ട മെമ്മറി ലൊക്കേഷനിൽ ഏതെങ്കിലും നിർദ്ദേശങ്ങൾ വഴി പ്രവേശിക്കുമ്പോൾ മെമ്മറി ബ്രേക്ക്‌പോയിന്റുകൾ ഉണ്ടാക്കാൻ റൈറ്റ് ഓപ്ഷനിലെ ബ്രേക്കും, റീഡ്/റൈറ്റ് ഓപ്ഷനിലെ ബ്രേക്കും നിങ്ങളെ സഹായിക്കുന്നു.


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

നിങ്ങളുടെ പ്രോഗ്രാം ഒരു മെമ്മറി ലൊക്കേഷനിൽ നിന്ന് ഒരു ഡാറ്റാ ഭാഗം (വായിക്കുക/എഴുതുക) എപ്പോൾ ആക്സസ് ചെയ്യുന്നു എന്ന് അറിയണമെങ്കിൽ ഈ ബ്രേക്ക്‌പോയിന്റ് ഉപയോഗപ്രദമാണ്.


The break on execute option allows you to set a breakpoint when the specified memory location is executed.

നിർദ്ദിഷ്ട മെമ്മറി ലൊക്കേഷൻ എക്സിക്യൂട്ട് ചെയ്യുമ്പോൾ ഒരു ബ്രേക്ക്‌പോയിന്റ് സ്ഥാപിക്കാൻ എക്സിക്യൂട്ട് ഓപ്ഷനിലെ ബ്രേക്ക് നിങ്ങളെ അനുവദിക്കുന്നു.


In addition to specifying a mode, you must also specify a size.

ഒരു മോഡ് വ്യക്തമാക്കുന്നതിനു പുറമേ, നിങ്ങൾ ഒരു വലുപ്പവും വ്യക്തമാക്കണം.


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.

ബ്രേക്ക്‌പോയിന്റ് എൻട്രിയിൽ റൈറ്റ്-ക്ലിക്ക് ചെയ്ത് ബ്രേക്ക്‌പോയിന്റ് പ്രവർത്തനരഹിതമാക്കാനോ ഡിലീറ്റ് ചെയ്യാനോ കഴിയും.


In this section, we will look at how to use IDA to debug a malware binary.

ഈ ഭാഗത്ത്, ഒരു മാൽവെയർ ബൈനറി ഡീബഗ് ചെയ്യാൻ IDA എങ്ങനെ ഉപയോഗിക്കാമെന്ന് നോക്കാം.


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

ഒരു 32-ബിറ്റ് മാൽവെയർ സാമ്പിളിന്റെ ഡിസ്അസംബ്ലി ലിസ്റ്റിംഗ് പരിഗണിക്കുക.


The malware calls the CreateFileW API to create a file, but, just by looking at the disassembly listing, it is not clear what file the malware creates.

ഒരു ഫയൽ ഉണ്ടാക്കാൻ മാൽവെയർ 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, and then run the program.

ഫയലിന്റെ പേര് നിർണ്ണയിക്കാൻ, CreateFileW-ലേക്കുള്ള കോൾ ഉണ്ടാകുന്ന വിലാസത്തിൽ ഒരു ബ്രേക്ക്‌പോയിന്റ് സ്ഥാപിക്കാനും തുടർന്ന് പ്രോഗ്രാം പ്രവർത്തിപ്പിക്കാനും കഴിയും.


When it reaches the breakpoint (before calling CreateFileW), all of the parameters to the function will be pushed onto the stack, so we can examine the first parameter on the stack to determine the name of the file.

ബ്രേക്ക്‌പോയിന്റിൽ എത്തുമ്പോൾ (CreateFileW-യെ വിളിക്കുന്നതിന് മുമ്പ്), ഫംഗ്ഷനിലേക്കുള്ള എല്ലാ പാരാമീറ്ററുകളും സ്റ്റാക്കിലേക്ക് തള്ളപ്പെടും, അതിനാൽ ഫയലിന്റെ പേര് നിർണ്ണയിക്കാൻ സ്റ്റാക്കിലെ ആദ്യത്തെ പാരാമീറ്റർ പരിശോധിക്കാൻ കഴിയും.


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

ഫയൽ ഉണ്ടാക്കിയ ശേഷം, മാൽവെയർ ഫയൽ ഹാൻഡിൽ WriteFile ഫംഗ്ഷനിലേക്ക് ആദ്യത്തെ ആർഗ്യുമെന്റായി നൽകുന്നു.


In this case, it is writing the string FunFunFun to the file, as shown in the following screenshot.

ഈ സാഹചര്യത്തിൽ, FunFunFun എന്ന സ്ട്രിംഗ് ഫയലിലേക്ക് എഴുതുന്നു, ഇത് താഴെയുള്ള സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നു.


If the malware is writing executable content to the file, you will also be able to see it using this method.

മാൽവെയർ എക്സിക്യൂട്ടബിൾ ഉള്ളടക്കം ഫയലിലേക്ക് എഴുതുകയാണെങ്കിൽ, ഈ രീതി ഉപയോഗിച്ച് നിങ്ങൾക്ക് അത് കാണാൻ കഴിയും.


The malware loads a malicious DLL into the process memory.

മാൽവെയർ ഒരു ദോഷകരമായ DLL പ്രോസസ് മെമ്മറിയിലേക്ക് ലോഡ് ചെയ്യുന്നു.


This technique allows adversaries to execute malicious code with elevated privileges.

ഈ രീതി, ഉയർന്ന പ്രത്യേകാവകാശങ്ങളുള്ള ദോഷകരമായ കോഡ് നടപ്പിലാക്കാൻ എതിരാളികളെ അനുവദിക്കുന്നു.


To detect this, look for suspicious entries in the registry.

ഇത് കണ്ടെത്താൻ, രജിസ്ട്രിയിലെ സംശയാസ്പദമായ എൻട്രികൾ പരിശോധിക്കുക.


The operating system searches for the DLL in a specific order.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഒരു പ്രത്യേക ക്രമത്തിൽ DLL-നായി തിരയുന്നു.


Adversaries can exploit this search order to gain privileges.

പ്രത്യേകാവകാശങ്ങൾ നേടുന്നതിന് ഈ തിരയൽ ക്രമം മുതലെടുക്കാൻ എതിരാളികൾക്ക് കഴിയും.


The malware drops a malicious DLL in the Windows directory.

മാൽവെയർ വിൻഡോസ് ഡയറക്ടറിയിൽ ഒരു ദോഷകരമായ DLL സ്ഥാപിക്കുന്നു.


The malicious DLL is loaded by explorer.exe.

ദോഷകരമായ DLL explorer.exe-ൽ ലോഡ് ചെയ്യപ്പെടുന്നു.


This is a form of DLL search order hijacking.

ഇതൊരുതരം DLL സെർച്ച് ഓർഡർ ഹൈജാക്കിംഗാണ്.


COM objects allow software components to interact.

COM ഒബ്ജക്റ്റുകൾ സോഫ്റ്റ്‌വെയർ ഘടകങ്ങളെ പരസ്പരം പ്രവർത്തിക്കാൻ അനുവദിക്കുന്നു.


An attacker modifies the registry entry of a COM object.

ഒരു ആക്രമണകാരി ഒരു COM ഒബ്ജക്റ്റിന്റെ രജിസ്ട്രി എൻട്രിയിൽ മാറ്റം വരുത്തുന്നു.


The malicious DLL gets loaded into the address space.

ദോഷകരമായ DLL വിലാസ സ്ഥലത്തേക്ക് ലോഡ് ചെയ്യപ്പെടുന്നു.


Services run in the background without a user interface.

സേവനങ്ങൾ ഉപയോക്തൃ ഇന്റർഫേസ് ഇല്ലാതെ പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുന്നു.


An adversary can install a malicious program as a service.

ഒരു എതിരാളിക്ക് ഒരു ദോഷകരമായ പ്രോഗ്രാം ഒരു സേവനമായി ഇൻസ്റ്റാൾ ചെയ്യാൻ കഴിയും.


Services can start automatically when the OS starts.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ആരംഭിക്കുമ്പോൾ സേവനങ്ങൾ സ്വയമേവ ആരംഭിക്കാൻ കഴിയും.


Malware can use the sc utility to create services.

സേവനങ്ങൾ സൃഷ്ടിക്കാൻ മാൽവെയറിന് sc യൂട്ടിലിറ്റി ഉപയോഗിക്കാം.


മാൽവെയറിന് ബാച്ച് സ്ക്രിപ്റ്റുകളും ഉപയോഗിക്കാൻ കഴിയും.


The Windows API can be used to create services.

സേവനങ്ങൾ സൃഷ്ടിക്കാൻ വിൻഡോസ് API ഉപയോഗിക്കാം.


An adversary can modify existing services.

ഒരു എതിരാളിക്ക് നിലവിലുള്ള സേവനങ്ങളിൽ മാറ്റം വരുത്താൻ കഴിയും.


Monitor changes to service registry entries.

സേവന രജിസ്ട്രി എൻട്രികളിലെ മാറ്റങ്ങൾ നിരീക്ഷിക്കുക.


Malware uses API calls to interact with the system.

സിസ്റ്റവുമായി സംവദിക്കാൻ മാൽവെയർ API കോളുകൾ ഉപയോഗിക്കുന്നു.


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

C2 സെർവറിൽ നിന്നുള്ള കമാൻഡുകൾ അനുസരിച്ച് മാൽവെയർ പ്രവർത്തനങ്ങൾ നടത്തുന്നു.


PowerShell is often used by attackers to hide malicious activities.

മാൽവെയർ പ്രവർത്തനങ്ങൾ മറയ്ക്കാൻ ആക്രമണകാരികൾ സാധാരണയായി പവർഷെൽ ഉപയോഗിക്കുന്നു.


Attackers use PowerShell to download additional components.

അധിക ഘടകങ്ങൾ ഡൗൺലോഡ് ചെയ്യാൻ ആക്രമണകാരികൾ പവർഷെൽ ഉപയോഗിക്കുന്നു.


PowerShell allows attackers to execute code directly from memory.

മെമ്മറിയിൽ നിന്ന് നേരിട്ട് കോഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ പവർഷെൽ ആക്രമണകാരികളെ അനുവദിക്കുന്നു.


You can execute a PowerShell command using the interactive console.

ഇന്ററാക്ടീവ് കൺസോൾ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു പവർഷെൽ കമാൻഡ് എക്സിക്യൂട്ട് ചെയ്യാൻ കഴിയും.


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

ഒരു cmdlet എന്നത് .NET ഫ്രെയിംവർക്ക് ഭാഷയിൽ എഴുതിയ ഒരു കംപൈൽഡ് കമാൻഡ് ആണ്.


Cmdlets follow a standard Verb-Noun naming convention.

Cmdlet-കൾ ഒരു സാധാരണ Verb-Noun പേരിടീൽ രീതി പിന്തുടരുന്നു.


Variables can be used to store values in PowerShell.

പവർഷെല്ലിൽ മൂല്യങ്ങൾ സംഭരിക്കുന്നതിന് വേരിയബിളുകൾ ഉപയോഗിക്കാം.


PowerShell scripts have a .ps1 extension.

പവർഷെൽ സ്ക്രിപ്റ്റുകൾക്ക് .ps1 എന്ന എക്സ്റ്റൻഷൻ ഉണ്ട്.


The execution policy determines how PowerShell scripts are executed.

പവർഷെൽ സ്ക്രിപ്റ്റുകൾ എങ്ങനെ എക്സിക്യൂട്ട് ചെയ്യണം എന്ന് എക്സിക്യൂഷൻ പോളിസി നിർണ്ണയിക്കുന്നു.


Attackers often use email attachments to deliver malicious code.

മാൽവെയർ കോഡ് വിതരണം ചെയ്യാൻ ആക്രമണകാരികൾ പലപ്പോഴും ഇമെയിൽ അറ്റാച്ച്മെന്റുകൾ ഉപയോഗിക്കുന്നു.


Attackers use various PowerShell command-line arguments to bypass restrictions.

നിയന്ത്രണങ്ങൾ മറികടക്കാൻ ആക്രമണകാരികൾ വിവിധ പവർഷെൽ കമാൻഡ്-ലൈൻ ആർഗ്യുമെന്റുകൾ ഉപയോഗിക്കുന്നു.


The Invoke-Expression cmdlet executes a specified string as a command.

Invoke-Expression cmdlet ഒരു നിർദ്ദിഷ്ട സ്ട്രിംഗ് ഒരു കമാൻഡ് ആയി എക്സിക്യൂട്ട് ചെയ്യുന്നു.


Malware often uses persistence methods to survive reboots.

റീബൂട്ടുകൾ അതിജീവിക്കാൻ മാൽവെയർ പലപ്പോഴും സ്ഥിരമായ രീതികൾ ഉപയോഗിക്കുന്നു.


Adding an entry to the run registry keys is a common persistence mechanism.

റൺ രജിസ്ട്രി കീകൾക്ക് ഒരു എൻട്രി ചേർക്കുന്നത് സാധാരണയായി ഉപയോഗിക്കുന്ന ഒരു സ്ഥിരമായ രീതിയാണ്.


Scheduled tasks are another persistence method used by adversaries.

പ്രതിയോഗികൾ ഉപയോഗിക്കുന്ന മറ്റൊരു സ്ഥിരമായ രീതിയാണ് ഷെഡ്യൂൾ ചെയ്ത ടാസ്‌ക്കുകൾ.


Malware can add itself to startup folders for persistence.

സ്ഥിരതയ്ക്കായി മാൽവെയറിന് സ്റ്റാർട്ടപ്പ് ഫോൾഡറുകളിൽ സ്വയം ചേർക്കാൻ കഴിയും.


Modifying Winlogon registry entries is a persistence technique.

വിൻലോഗൺ രജിസ്ട്രി എൻട്രികൾ പരിഷ്കരിക്കുന്നത് ഒരു സ്ഥിരമായ രീതിയാണ്.


Image File Execution Options can be exploited for malicious purposes.

ചിത്ര ഫയൽ എക്സിക്യൂഷൻ ഓപ്ഷനുകൾ ദോഷകരമായ ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കാം.


Accessibility programs can be misused to gain unauthorized access.

അനധികൃത പ്രവേശനം നേടുന്നതിന് പ്രവേശനക്ഷമതാ പ്രോഗ്രാമുകൾ ദുരുപയോഗം ചെയ്യാവുന്നതാണ്.


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 executive also implements major operating system components, such as the memory manager.

മെമ്മറി മാനേജർ പോലുള്ള പ്രധാനപ്പെട്ട ഓപ്പറേറ്റിംഗ് സിസ്റ്റം ഘടകങ്ങളും എക്സിക്യൂട്ടീവ് നടപ്പിലാക്കുന്നു.


The kernel implements low-level operating system services.

കേർണൽ, താഴ്ന്ന നിലയിലുള്ള ഓപ്പറേറ്റിംഗ് സിസ്റ്റം സേവനങ്ങൾ നടപ്പിലാക്കുന്നു.


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

നിയന്ത്രിത പ്രവേശനത്തോടെ പ്രവർത്തിക്കുന്ന കോഡ് ഉപയോക്തൃ ഇടത്തിൽ ഉൾപ്പെടുന്നു.


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

കേർണൽ ഇടത്തിൽ കേർണലും ഉപകരണ ഡ്രൈവർമാരും ഉൾപ്പെടുന്നു.


The code running in the kernel space executes with a high privilege.

കേർണൽ സ്പേസിൽ പ്രവർത്തിക്കുന്ന കോഡ് ഉയർന്ന പ്രത്യേകാവകാശത്തോടെ എക്സിക്യൂട്ട് ചെയ്യുന്നു.


By providing the kernel with a high privilege level, 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.

സ്ഥലം, ഉള്ളടക്കം എവിടെയാണ് സംഭരിച്ചിരിക്കുന്നത് എന്ന് വ്യക്തമാക്കുന്നു.


രീതി, എക്സിക്യൂഷൻ മോഡിനെ സൂചിപ്പിക്കുന്നു.


How can a malware binary write content to a file?

ഒരു മാൽവെയർ ബൈനറിക്ക് എങ്ങനെ ഒരു ഫയലിലേക്ക് ഉള്ളടക്കം എഴുതാൻ കഴിയും?


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 ഉപയോക്തൃ ഇടത്തിനും കേർണൽ ഇടത്തിനും ഇടയിലുള്ള ഗേറ്റ്‌വേ ആയി പ്രവർത്തിക്കുന്നു.


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 പാരാമീറ്ററുകൾ മാറ്റാൻ കഴിയും.


ഒരു ഉദാഹരണത്തിലൂടെ ഷിമ്മുകളെക്കുറിച്ച് മനസ്സിലാക്കാം.


An application might check the OS version.

ഒരു ആപ്ലിക്കേഷൻ OS പതിപ്പ് പരിശോധിച്ചേക്കാം.


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

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം (OS) നിർണ്ണയിക്കാൻ GetVersion() API ഉപയോഗിക്കുന്നു.


If the OS is Windows 7, the application might not work.

ഓപ്പറേറ്റിംഗ് സിസ്റ്റം വിൻഡോസ് 7 ആണെങ്കിൽ, ആപ്ലിക്കേഷൻ പ്രവർത്തിച്ചെന്ന് വരില്ല.


You can apply a shim to make it compatible.

അനുയോജ്യമാക്കാൻ നിങ്ങൾക്ക് ഒരു ഷിം പ്രയോഗിക്കാൻ കഴിയും.


The WinXPVersionLie shim tricks the application.

WinXPVersionLie ഷിം ആപ്ലിക്കേഷനെ കബളിപ്പിക്കുന്നു.


The shim engine intercepts the API call.

ഷിം എഞ്ചിൻ API കോളിനെ തടയുന്നു.


Microsoft നിരവധി ഷിമ്മുകൾ നൽകുന്നു.


Attackers can abuse shims for malicious purposes.

ദോഷകരമായ ആവശ്യങ്ങൾക്കായി ആക്രമണകാരികൾക്ക് ഷിമ്മുകൾ ദുരുപയോഗം ചെയ്യാൻ കഴിയും.


ഒരു ഷിം ഉണ്ടാക്കുന്നതിൽ നിരവധി ഘട്ടങ്ങൾ ഉൾപ്പെടുന്നു.


You need administrator rights to install a shim.

ഒരു ഷിം ഇൻസ്റ്റാൾ ചെയ്യാൻ നിങ്ങൾക്ക് അഡ്മിനിസ്ട്രേറ്റർ അവകാശങ്ങൾ ആവശ്യമാണ്.


The Application Compatibility Toolkit (ACT) is used.

ആപ്ലിക്കേഷൻ കോംപാറ്റിബിലിറ്റി ടൂൾകിറ്റ് (ACT) ഉപയോഗിക്കുന്നു.


ഷിം ചെയ്യേണ്ട ആപ്ലിക്കേഷൻ തിരഞ്ഞെടുക്കുക.


Create a shim database for the application.

ആപ്ലിക്കേഷനായി ഒരു ഷിം ഡാറ്റാബേസ് ഉണ്ടാക്കുക.


.sdb ഫയലായി ഡാറ്റാബേസ് സംരക്ഷിക്കുക.


ഷിം ഡാറ്റാബേസ് ഇൻസ്റ്റാൾ ചെയ്യുക.


InjectDll ഷിമ്മിന് ഒരു DLL ലോഡ് ചെയ്യാൻ കഴിയും.


The malware decrypts file names during runtime.

മാൽവെയർ പ്രവർത്തിക്കുമ്പോൾ ഫയൽ നാമങ്ങൾ ഡീക്രിപ്റ്റ് ചെയ്യുന്നു.


Attackers use packers to obfuscate executables.

ആക്രമണകാരികൾ എക്സിക്യൂട്ടബിളുകളെ മറയ്ക്കാൻ പാക്കേഴ്സ് ഉപയോഗിക്കുന്നു.


Understanding packers is crucial for malware analysis.

മാൽവെയർ വിശകലനത്തിന് പാക്കേഴ്സിനെക്കുറിച്ച് മനസ്സിലാക്കുന്നത് നിർണായകമാണ്.


The OEP is the malware's first instruction.

OEP എന്നത് മാൽവെയറിന്റെ ആദ്യ നിർദ്ദേശമാണ്.


ഡീബഗ്ഗിംഗിനായി ഞങ്ങൾ x64dbg ഉപയോഗിക്കും.


പ്രോസസ് മെമ്മറി ഡംപ് ചെയ്യാൻ സില്ല ഉപയോഗിക്കുന്നു.


ഇറക്കുമതി പട്ടിക ശരിയാക്കുന്നത് അത്യാവശ്യമാണ്.


Automated unpacking tools can save time.

ഓട്ടോമേറ്റഡ് അൺപാക്കിംഗ് ടൂളുകൾക്ക് സമയം ലാഭിക്കാൻ കഴിയും.


അൺപാക്ക് ചെയ്യുന്നതിനുള്ള ഒരു ഉപകരണമാണ് TitanMist.


IDA Pro's Universal PE Unpacker is a plugin.

IDA Pro-യുടെ യൂണിവേഴ്സൽ PE അൺപാക്കർ ഒരു പ്ലഗിൻ ആണ്.


Memory forensics helps in malware analysis.

മെമ്മറി ഫോറൻസിക്സ് മാൽവെയർ വിശകലനത്തിൽ സഹായിക്കുന്നു.


മെമ്മറി ഏറ്റെടുക്കലാണ് ആദ്യത്തെ ഘട്ടം.


DumpIt ഒരു മെമ്മറി ഏറ്റെടുക്കൽ ഉപകരണമാണ്.


നിങ്ങൾക്ക് മെമ്മറി ഒരു റോ ഡംപ് ആയി നേടാനാകും.


മാൽവെയർ എഴുത്തുകാർ അവരുടെ കോഡ് മറയ്ക്കാൻ ശ്രമിക്കുന്നു.


ബൈനറി UPX ഉപയോഗിച്ച് പാക്ക് ചെയ്തിരിക്കുന്നു.


നമ്മൾ OEP തിരിച്ചറിയേണ്ടതുണ്ട്.


പ്രോഗ്രാമിന്റെ എൻട്രി പോയിന്റ് വളരെ പ്രധാനമാണ്.


Malware uses various obfuscation techniques.

മാൽവെയർ വിവിധ ഒബ്‌ഫസ്‌ക്കേഷൻ ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു.


Memory analysis reveals malicious behavior.

മെമ്മറി വിശകലനം ദോഷകരമായ സ്വഭാവം വെളിപ്പെടുത്തുന്നു.


The malware can extract credentials from the POST payload.

POST പേലോഡിൽ നിന്ന് ക്രെഡൻഷ്യലുകൾ വേർതിരിച്ചെടുക്കാൻ മാൽവെയറിന് കഴിയും.


Before hooking, the malicious executable is injected into the address space of Internet Explorer.

ഹൂക്ക് ചെയ്യുന്നതിന് മുമ്പ്, ക്ഷുദ്രകരമായ എക്സിക്യൂട്ടബിൾ ഇന്റർനെറ്റ് എക്സ്പ്ലോററിന്റെ വിലാസ സ്ഥലത്തേക്ക് കുത്തിവയ്ക്കുന്നു.


The first three instructions are replaced with the jmp instruction.

ആദ്യത്തെ മൂന്ന് നിർദ്ദേശങ്ങൾ jmp നിർദ്ദേശമായി മാറ്റിസ്ഥാപിക്കുന്നു.


Malware authors have used in-memory patching to inject code and hook the 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 preceding command shows the malware targeting explorer.exe.

മുമ്പത്തെ കമാൻഡിന്റെ ഔട്ട്‌പുട്ട് എക്സ്പ്ലോറർ.exe-യെ ലക്ഷ്യമിട്ടുള്ള മാൽവെയർ കാണിക്കുന്നു.


In other words, it redirects control to the RVA 0x0004f0ed.

മറ്റൊരു വിധത്തിൽ പറഞ്ഞാൽ, ഇത് നിയന്ത്രണം RVA 0x0004f0ed-ലേക്ക് റീഡയറക്‌ട് ചെയ്യുന്നു.


This technique is interesting, because in this case, the malware does not allocate memory or inject code directly.

ഈ രീതി രസകരമാണ്, കാരണം ഈ സാഹചര്യത്തിൽ, മാൽവെയർ മെമ്മറി അനുവദിക്കുകയോ നേരിട്ട് കോഡ് കുത്തിവയ്ക്കുകയോ ചെയ്യുന്നില്ല.


In this chapter, we looked at the different code injection techniques used by malicious programs.

ഈ അധ്യായത്തിൽ, ക്ഷുദ്രകരമായ പ്രോഗ്രാമുകൾ ഉപയോഗിക്കുന്ന വ്യത്യസ്ത കോഡ് കുത്തിവയ്പ്പ് രീതികൾ നമ്മൾ പരിശോധിച്ചു.


Apart from executing malicious code, an attacker can hijack the API functions.

മാൽവെയർ കോഡ് എക്സിക്യൂട്ട് ചെയ്യുന്നതിനു പുറമെ, ഒരു അക്രമിയെ API ഫംഗ്ഷനുകൾ ഹൈജാക്ക് ചെയ്യാൻ കഴിയും.


Malware authors often use various obfuscation techniques to hide the information.

വിവരങ്ങൾ മറയ്ക്കാൻ മാൽവെയർ രചയിതാക്കൾ പലപ്പോഴും വിവിധ ഒബ്‌ഫസ്‌ക്കേഷൻ ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു.


Adversaries typically use encoding/encryption techniques to conceal the information.

വിവരങ്ങൾ മറയ്ക്കാൻ എതിരാളികൾ സാധാരണയായി എൻകോഡിംഗ്/എൻക്രിപ്ഷൻ ടെക്നിക്കുകൾ ഉപയോഗിക്കുന്നു.


A plaintext refers to an unencrypted message.

പ്ലെയിൻടെക്സ്റ്റ് എന്നത് എൻക്രിപ്റ്റ് ചെയ്യാത്ത സന്ദേശത്തെ സൂചിപ്പിക്കുന്നു.


Malware encrypts the plaintext, by passing it as input along with the key.

പ്ലെയിൻടെക്സ്റ്റ് എൻക്രിപ്റ്റ് ചെയ്യാൻ, മാൽവെയർ അത് കീയ്‌ക്കൊപ്പം ഇൻപുട്ടായി നൽകുന്നു.


Once the encryption/decryption function is identified, examining these functions will give you an idea.

എൻക്രിപ്ഷൻ/ഡിക്രിപ്ഷൻ ഫംഗ്ഷൻ തിരിച്ചറിഞ്ഞുകഴിഞ്ഞാൽ, ഈ ഫംഗ്ഷനുകൾ പരിശോധിക്കുന്നത് നിങ്ങൾക്ക് ഒരു ആശയം നൽകും.


Attackers use very simple encoding algorithms such as Base64 encoding or xor encryption.

ആക്രമണകാരികൾ Base64 എൻകോഡിംഗ് അല്ലെങ്കിൽ xor എൻക്രിപ്ഷൻ പോലുള്ള വളരെ ലളിതമായ എൻകോഡിംഗ് അൽഗോരിതങ്ങൾ ഉപയോഗിക്കുന്നു.


Caesar cipher, also known as shift cipher, is a traditional cipher.

Caesar cipher, shift cipher എന്നും അറിയപ്പെടുന്നു, ഇതൊരു പരമ്പരാഗത ചിഹ്നമാണ്.


It encodes the message by shifting each letter in the plaintext.

പ്ലെയിൻടെക്സ്റ്റിലെ ഓരോ അക്ഷരവും മാറ്റിക്കൊണ്ട് ഇത് സന്ദേശം എൻകോഡ് ചെയ്യുന്നു.


The modulus operation allows you to cycle back around to the beginning.

മോഡുലസ് പ്രവർത്തനം ആരംഭത്തിലേക്ക് സൈക്കിൾ ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു.


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

ബൈനറി ഡാറ്റയെ ASCII സ്ട്രിംഗ് ഫോർമാറ്റിലേക്ക് എൻകോഡ് ചെയ്യാൻ Base64 എൻകോഡിംഗ് ഒരു അക്രമിയെ അനുവദിക്കുന്നു.


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

ബൈനറിയിൽ Base64 പ്രതീക സെറ്റ് ഉണ്ടോയെന്ന് കണ്ടെത്താനുള്ള മറ്റൊരു രീതി 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 ചെയ്യപ്പെടുന്നു.


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.

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().

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.

ഒരു സിംഗിൾ ബൈറ്റ് XOR-ൽ, കീയുടെ നീളം ഒരു ബൈറ്റാണ്, അതിനാൽ 255 കീകൾ മാത്രമേ ഉണ്ടാകൂ.


This technique is useful if you know what to find in the decrypted data.

ഡീക്രിപ്റ്റ് ചെയ്ത ഡാറ്റയിൽ എന്താണ് കണ്ടെത്തേണ്ടതെന്ന് നിങ്ങൾക്ക് അറിയാമെങ്കിൽ ഈ ടെക്നിക്ക് ഉപയോഗപ്രദമാണ്.


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 decrypted content is a PE (executable file) as shown here.

ഡീക്രിപ്റ്റ് ചെയ്ത ഉള്ളടക്കം ഇവിടെ കാണിച്ചിരിക്കുന്നതുപോലെ ഒരു PE (എക്സിക്യൂട്ടബിൾ ഫയൽ) ആണ്.


To identify XOR encoding, load the binary in IDA and search for the XOR instruction.

XOR എൻകോഡിംഗ് തിരിച്ചറിയാൻ, IDA-യിൽ ബൈനറി ലോഡ് ചെയ്ത് XOR നിർദ്ദേശത്തിനായി തിരയുക.


The standalone executable is the fastest way to get started with Volatility.

Volatility ഉപയോഗിച്ച് ആരംഭിക്കുന്നതിനുള്ള ഏറ്റവും വേഗതയേറിയ മാർഗ്ഗം ഒരു സ്വതന്ത്ര എക്സിക്യൂട്ടബിൾ ഫയലാണ്.


You can use the /R or /COMPRESS option in DumpIt to create a .zdmp file.

.zdmp ഫയൽ ഉണ്ടാക്കാൻ DumpIt-ൽ /R അല്ലെങ്കിൽ /COMPRESS ഓപ്ഷൻ ഉപയോഗിക്കാം.


Volatility is an open source advanced memory forensics framework written in Python.

Volatility എന്നത് പൈത്തൺ ഉപയോഗിച്ച് എഴുതിയ ഒരു ഓപ്പൺ സോഴ്സ് മെമ്മറി ഫോറൻസിക്സ് ഫ്രെയിംവർക്കാണ്.


The dump file (.zdmp) can then be analyzed with the Comae Stardust enterprise platform.

ഡംപ് ഫയൽ (.zdmp) പിന്നീട് Comae Stardust എന്റർപ്രൈസ് പ്ലാറ്റ്‌ഫോം ഉപയോഗിച്ച് വിശകലനം ചെയ്യാവുന്നതാണ്.


In most cases, you can acquire the memory of a Virtual Machine (VM) by suspending the VM.

മിക്ക കേസുകളിലും, ഒരു വെർച്വൽ മെഷീൻ (VM) സസ്പെൻഡ് ചെയ്യുന്നതിലൂടെ അതിന്റെ മെമ്മറി നേടാനാകും.


For those applications where the memory cannot be acquired by suspending, you can use DumpIt inside the guest machine.

മെമ്മറി സസ്പെൻഡ് ചെയ്യുന്നതിലൂടെ ലഭ്യമല്ലാത്ത ആപ്ലിക്കേഷനുകൾക്കായി, നിങ്ങൾക്ക് ഗസ്റ്റ് മെഷീനിൽ DumpIt ഉപയോഗിക്കാം.


Volatility can run on various platforms, and it supports analysis of memory from 32-bit and 64-bit versions of Windows.

Volatility വിവിധ പ്ലാറ്റ്‌ഫോമുകളിൽ പ്രവർത്തിക്കും, കൂടാതെ വിൻഡോസിന്റെ 32-ബിറ്റ്, 64-ബിറ്റ് പതിപ്പുകളിൽ നിന്നുള്ള മെമ്മറി വിശകലനത്തെ ഇത് പിന്തുണയ്ക്കുന്നു.


The advantage of a standalone executable is that you don't need to install the Python interpreter or Volatility dependencies.

ഒരു സ്വതന്ത്ര എക്സിക്യൂട്ടബിളിന്റെ ഗുണം, പൈത്തൺ ഇന്റർപ്രെറ്ററോ Volatility ഡിപ്പൻഡൻസികളോ ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതില്ല എന്നതാണ്.


You can check whether Volatility is ready to use by executing the standalone executable with the -h option.

-h എന്ന ഓപ്ഷൻ ഉപയോഗിച്ച് സ്വതന്ത്ര എക്സിക്യൂട്ടബിൾ പ്രവർത്തിപ്പിച്ച് Volatility ഉപയോഗിക്കാൻ തയ്യാറാണോ എന്ന് പരിശോധിക്കാം.


The help option displays various options and plugins that are available in Volatility.

സഹായ ഓപ്ഷൻ Volatility-യിൽ ലഭ്യമായ വിവിധ ഓപ്ഷനുകളും പ്ലഗിനുകളും പ്രദർശിപ്പിക്കുന്നു.


Volatility is also distributed as a source package.

Volatility ഒരു സോഴ്സ് പാക്കേജായി വിതരണം ചെയ്യപ്പെടുന്നു.


To run Volatility, you need to install Python 2.7 Interpreter and its dependencies.

Volatility പ്രവർത്തിപ്പിക്കുന്നതിന്, നിങ്ങൾ Python 2.7 ഇന്റർപ്രെറ്ററും അതിന്റെ ഡിപ്പൻഡൻസികളും ഇൻസ്റ്റാൾ ചെയ്യേണ്ടതുണ്ട്.


All the examples mentioned in this book use the Volatility Python script.

ഈ പുസ്തകത്തിൽ പരാമർശിച്ചിട്ടുള്ള എല്ലാ ഉദാഹരണങ്ങളിലും Volatility Python സ്ക്രിപ്റ്റ് ഉപയോഗിച്ചിരിക്കുന്നു.


Volatility consists of various plugins that can extract different information from the memory image.

മെമ്മറി ഇമേജിൽ നിന്ന് വ്യത്യസ്ത വിവരങ്ങൾ വേർതിരിച്ചെടുക്കാൻ കഴിയുന്ന വിവിധ പ്ലഗിനുകൾ Volatility-യിൽ ഉണ്ട്.


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 ഉപയോഗിച്ച് മെമ്മറി ഇമേജ് ഏത് സിസ്റ്റത്തിൽ നിന്നും ആർക്കിടെക്ചറിൽ നിന്നുമാണ് എടുത്തതെന്ന് Volatility-യോട് പറയുന്നു.


The following command uses the pslist plugin to list the running processes.

ഇനി പറയുന്ന കമാൻഡ്, പ്രവർത്തിക്കുന്ന പ്രോസസ്സുകൾ ലിസ്റ്റ് ചെയ്യാൻ pslist പ്ലഗിൻ ഉപയോഗിക്കുന്നു.


Sometimes, you might not know what profile to supply to Volatility.

ചിലപ്പോൾ, Volatility-ക്ക് ഏത് പ്രൊഫൈലാണ് നൽകേണ്ടതെന്ന് നിങ്ങൾക്ക് അറിയില്ലായിരിക്കാം.


In that case, you can use the imageinfo plugin, which will determine the correct profile.

അത്തരം സാഹചര്യങ്ങളിൽ, ശരിയായ പ്രൊഫൈൽ നിർണ്ണയിക്കുന്ന imageinfo പ്ലഗിൻ ഉപയോഗിക്കാം.


The help option, -h (--help), which you saw previously, displays help that applies to all of the Volatility plugins.

നിങ്ങൾ മുമ്പ് കണ്ട -h (--help) എന്ന സഹായ ഓപ്ഷൻ, എല്ലാ Volatility പ്ലഗിനുകൾക്കും ബാധകമായ സഹായം പ്രദർശിപ്പിക്കുന്നു.


To hide a process, an attacker modifies the ActiveProcessLinks field.

ഒരു പ്രക്രിയ മറയ്ക്കാൻ, ഒരു ആക്രമണകാരി ActiveProcessLinks ഫീൽഡ് പരിഷ്കരിക്കുന്നു.


The attacker can hide the malicious process from forensic tools.

ആക്രമണകാരിക്ക് ഫോറൻസിക് ടൂളുകളിൽ നിന്ന് ദോഷകരമായ പ്രക്രിയയെ മറയ്ക്കാൻ കഴിയും.


The pslist plugin also relies on walking the doubly linked list.

pslist പ്ലഗിനും ഇരട്ട ലിങ്ക്ഡ് ലിസ്റ്റ് വഴി സഞ്ചരിക്കുന്നതിനെ ആശ്രയിച്ചിരിക്കുന്നു.


When you compare the output from pslist and psscan, you will notice an additional process.

pslist, psscan എന്നിവയുടെ ഔട്ട്‌പുട്ട് താരതമ്യം ചെയ്യുമ്പോൾ, നിങ്ങൾ ഒരു അധിക പ്രക്രിയ ശ്രദ്ധിക്കും.


The reason psscan detects the hidden process is that it uses a different technique.

psscan മറഞ്ഞിരിക്കുന്ന പ്രക്രിയ കണ്ടെത്താനുള്ള കാരണം, ഇത് വ്യത്യസ്തമായ ഒരു സാങ്കേതിക വിദ്യ ഉപയോഗിക്കുന്നതുകൊണ്ടാണ്.


Every executive object has a structure associated with it.

ഓരോ എക്സിക്യൂട്ടീവ് ഒബ്ജക്റ്റിനും അതിനോടനുബന്ധിച്ച ഒരു ഘടനയുണ്ട്.


The pool is divided into a paged pool and a non-paged pool.

പൂൾ പേജ്ഡ് പൂളായും നോൺ-പേജ്ഡ് പൂളായും തിരിച്ചിരിക്കുന്നു.


Objects are kept in a non-paged pool in the kernel.

വസ്തുക്കൾ കേർണലിലെ നോൺ-പേജ്ഡ് പൂളിൽ സൂക്ഷിക്കപ്പെടുന്നു.


This allocation is tagged by prepending a _POOL_HEADER structure.

ഒരു _POOL_HEADER ഘടന ചേർക്കുന്നതിലൂടെ ഈ വിതരണം ടാഗ് ചെയ്യാവുന്നതാണ്.


The _POOL_HEADER structure includes a field named PoolTag.

_POOL_HEADER ഘടനയിൽ PoolTag എന്ന് പേരുള്ള ഒരു ഫീൽഡ് ഉൾപ്പെടുന്നു.


The psscan plugin uses pool tag scanning as the starting point.

psscan പ്ലഗിൻ പൂൾ ടാഗ് സ്കാനിംഗ് ഒരു ആരംഭ പോയിന്റായി ഉപയോഗിക്കുന്നു.


The psscan plugin can also detect terminated processes.

psscan പ്ലഗിന് അവസാനിപ്പിച്ച പ്രക്രിയകളും കണ്ടെത്താൻ കഴിയും.


When an object is destroyed, the memory allocation is released.

ഒരു ഒബ്ജക്റ്റ് നശിപ്പിക്കപ്പെടുമ്പോൾ, മെമ്മറി വിതരണം റിലീസ് ചെയ്യപ്പെടുന്നു.


It can be useful to determine the parent/child relationships.

പ്രധാന/ചൈൽഡ് ബന്ധങ്ങൾ നിർണ്ണയിക്കുന്നത് സഹായകമാകും.


The pstree plugin displays the parent-child process relationships.

pstree പ്ലഗിൻ പേരന്റ്-ചൈൽഡ് പ്രോസസ് ബന്ധങ്ങൾ പ്രദർശിപ്പിക്കുന്നു.


By looking at the events, you can assume that the user opened a malicious Excel document.

സംഭവങ്ങൾ പരിശോധിക്കുമ്പോൾ, ഉപയോക്താവ് ഒരു ദോഷകരമായ എക്സൽ ഡോക്യുമെൻ്റ് തുറന്നു എന്ന് അനുമാനിക്കാം.


Since the pstree plugin relies on the pslist plugin, it cannot list the hidden processes.

pstree പ്ലഗിൻ pslist പ്ലഗിനെ ആശ്രയിക്കുന്നതിനാൽ, ഇതിന് മറഞ്ഞിരിക്കുന്ന പ്രക്രിയകൾ ലിസ്റ്റ് ചെയ്യാൻ കഴിയില്ല.


The psxview plugin relies on extracting process information from different sources.

psxview പ്ലഗിൻ വ്യത്യസ്ത ഉറവിടങ്ങളിൽ നിന്ന് പ്രോസസ് വിവരങ്ങൾ വേർതിരിക്കുന്നതിനെ ആശ്രയിക്കുന്നു.


Each process' information is displayed as a single row.

ഓരോ പ്രക്രിയയുടെയും വിവരങ്ങൾ ഒരു വരിയായി പ്രദർശിപ്പിക്കുന്നു.


A False value under a particular column indicates that the process was not found.

ഒരു പ്രത്യേക കോളം എന്നാൽ ആ പ്രക്രിയ കണ്ടെത്തിയില്ല എന്ന് സൂചിപ്പിക്കുന്നു.


The explorer.exe file path is displayed along with other process information.

explorer.exe ഫയലിൻ്റെ പാതയും മറ്റ് പ്രോസസ് വിവരങ്ങളും പ്രദർശിപ്പിക്കുന്നു.


Memory range 0x004b0000-0x004effff does not contain any mapped files.

0x004b0000-0x004effff എന്ന മെമ്മറി ശ്രേണിയിൽ ഏതെങ്കിലും മാപ്പ് ചെയ്ത ഫയലുകൾ അടങ്ങിയിട്ടില്ല.


The ntdll.dll file is located within the process memory range.

ntdll.dll ഫയൽ പ്രോസസ് മെമ്മറി ശ്രേണിയിൽ സ്ഥിതി ചെയ്യുന്നു.


Use the command '.process' followed by the _EPROCESS structure address to switch context.

സന്ദർഭം മാറാൻ '_EPROCESS' ഘടനയുടെ വിലാസം നൽകി '.process' കമാൻഡ് ഉപയോഗിക്കുക.


Memory protection of PAGE_EXECUTE_WRITECOPY is given to executable images.

PAGE_EXECUTE_WRITECOPY എന്ന മെമ്മറി സംരക്ഷണം എക്സിക്യൂട്ടബിൾ ഇമേജുകൾക്ക് നൽകുന്നു.


Attackers often inject malicious code to gain control.

നിയന്ത്രണം നേടുന്നതിന് ആക്രമണകാരികൾ പലപ്പോഴും ദോഷകരമായ കോഡ് കുത്തിവയ്ക്കുന്നു.


A memory range with PAGE_EXECUTE_READWRITE protection is not always malicious.

PAGE_EXECUTE_READWRITE പ്രൊട്ടക്ഷൻ ഉള്ള മെമ്മറി ശ്രേണി എപ്പോഴും ദോഷകരമാകണമെന്നില്ല.


We can examine memory ranges to detect code injection.

കോഡ് കുത്തിവയ്പ്പ് കണ്ടെത്താൻ, മെമ്മറി ശ്രേണികൾ പരിശോധിക്കാൻ കഴിയും.


SpyEye malware injects code into explorer.exe.

SpyEye എന്ന ക്ഷുദ്രവെയർ explorer.exe-ലേക്ക് കോഡ് കുത്തിവയ്ക്കുന്നു.


The vadinfo plugin shows suspicious memory protections.

vadinfo പ്ലഗിൻ സംശയാസ്പദമായ മെമ്മറി സംരക്ഷണം കാണിക്കുന്നു.


It is difficult to conclude if the memory regions contain malicious code based on protection alone.

പ്രൊട്ടക്ഷൻ മാത്രം നോക്കി മെമ്മറി ഭാഗങ്ങളിൽ ദോഷകരമായ കോഡ് അടങ്ങിയിട്ടുണ്ടോ എന്ന് നിഗമനം ചെയ്യുന്നത് ബുദ്ധിമുട്ടാണ്.


The contents of memory regions can be dumped using the 'db' command.

'db' കമാൻഡ് ഉപയോഗിച്ച് മെമ്മറി ഭാഗങ്ങളുടെ ഉള്ളടക്കം ഡംപ് ചെയ്യാൻ കഴിയും.


The presence of a PE file indicates code injection.

PE ഫയലിൻ്റെ സാന്നിധ്യം കോഡ് കുത്തിവയ്പ്പിനെ സൂചിപ്പിക്കുന്നു.


Shellcode often requires disassembly for analysis.

ഷെൽ കോഡിന് സാധാരണയായി വിശകലനത്തിനായി ഡിസ്അസംബ്ലിംഗ് ആവശ്യമാണ്.


The 'dis' command disassembles code at a given address.

'dis' കമാൻഡ് ഒരു പ്രത്യേക വിലാസത്തിലെ കോഡ് ഡിസ്അസംബിൾ ചെയ്യുന്നു.


Use the vaddump plugin to dump memory regions.

മെമ്മറി ഭാഗങ്ങൾ ഡംപ് ചെയ്യാൻ vaddump പ്ലഗിൻ ഉപയോഗിക്കുക.


Malware may wipe the PE header to avoid detection.

കണ്ടെത്തുന്നത് ഒഴിവാക്കാൻ ക്ഷുദ്രവെയർ PE ശീർഷകം മായ്ച്ചേക്കാം.


The malfind plugin automates the detection of suspicious memory regions.

സംശയാസ്പദമായ മെമ്മറി ഭാഗങ്ങൾ കണ്ടെത്തുന്നത് malfind പ്ലഗിൻ ഓട്ടോമേറ്റ് ചെയ്യുന്നു.


Hollow process injection replaces the executable in memory.

മെമ്മറിയിലെ എക്സിക്യൂട്ടബിൾ മാറ്റിസ്ഥാപിക്കുന്നത് ഹോളോ പ്രോസസ് ഇൻജക്ഷൻ ആണ്.


Detecting hollow process injection involves comparing PEB and VAD structures.

ഹോളോ പ്രോസസ് ഇൻജക്ഷൻ കണ്ടെത്തുന്നത് PEB, VAD ഘടനകൾ താരതമ്യം ചെയ്യുന്നതിൽ ഉൾപ്പെടുന്നു.


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 memory manager uses VADs to keep track of virtual addresses in the process memory that are reserved (or free).

പ്രോസസ് മെമ്മറിയിൽ റിസർവ് ചെയ്‌തിരിക്കുന്ന (അല്ലെങ്കിൽ ഫ്രീ) വെർച്വൽ വിലാസങ്ങൾ ട്രാക്ക് ചെയ്യാൻ മെമ്മറി മാനേജർ 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.

ldrmodules പ്ലഗിൻ TDSSoiqh.dll എന്ന ക്ഷുദ്രകരമായ DLL-നെ തിരിച്ചറിയാൻ കഴിഞ്ഞു, ഇത് മൂന്ന് PEB ലിസ്റ്റുകളിൽ നിന്നും മറഞ്ഞിരിക്കുന്നു.


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.

പ്രോസസ് എക്സിക്യൂട്ടബിൾ ഡംപ് ചെയ്യുന്നതിന്, അതിന്റെ പ്രോസസ് ഐഡിയും അല്ലെങ്കിൽ അതിന്റെ ഫിസിക്കൽ ഓഫ്‌സെറ്റും അറിയേണ്ടതുണ്ട്.


With the -D (--dump-dir) option, you specify the name of the directory in which to dump executable files.

-D (--dump-dir) എന്ന ഓപ്ഷൻ ഉപയോഗിച്ച്, എക്സിക്യൂട്ടബിൾ ഫയലുകൾ ഡംപ് ചെയ്യേണ്ട ഡയറക്ടറിയുടെ പേര് വ്യക്തമാക്കുക.


Similarly, to the process executable, you can dump a malicious DLL to disk using the dlldump plugin.

പ്രോസസ് എക്സിക്യൂട്ടബിളിന് സമാനമായി, dlldump പ്ലഗിൻ ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു ക്ഷുദ്രകരമായ DLL ഡിസ്കിലേക്ക് ഡംപ് ചെയ്യാൻ കഴിയും.


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.

വിസ്റ്റയ്ക്ക് മുമ്പുള്ള സിസ്റ്റങ്ങളിൽ (pre-vista systems) നിലവിലുള്ള നെറ്റ്‌വർക്ക് കണക്ഷനുകൾ നിർണ്ണയിക്കാൻ, നിങ്ങൾക്ക് connections പ്ലഗിൻ ഉപയോഗിക്കാം.


Sometimes, you may want to get the information about the open sockets and their associated processes.

ചിലപ്പോൾ, തുറന്ന സോക്കറ്റുകളെക്കുറിച്ചും അവയുമായി ബന്ധപ്പെട്ട പ്രോസസ്സുകളെക്കുറിച്ചുമുള്ള വിവരങ്ങൾ നിങ്ങൾക്ക് ലഭിക്കാൻ സാധ്യതയുണ്ട്.