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

સ્ટ્રિંગ્સ યુટિલિટી બાઈનરી ફાઈલમાંથી ASCII અને યુનિકોડ સ્ટ્રિંગ્સને બહાર કાઢી શકે છે.


Malware authors often use obfuscation techniques to hide strings.

માલવેર લેખકો ઘણીવાર સ્ટ્રિંગ્સને છુપાવવા માટે અસ્પષ્ટતા તકનીકોનો ઉપયોગ કરે છે.


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

FLOSS એ માલવેરમાંથી અસ્પષ્ટ સ્ટ્રિંગ્સને આપમેળે બહાર કાઢવા માટે રચાયેલ એક સાધન છે.


You can download FLOSS for Windows or Linux.

તમે વિન્ડોઝ અથવા લિનક્સ માટે FLOSS ડાઉનલોડ કરી શકો છો.


Running FLOSS on a malware sample extracted both human-readable and obfuscated strings.

માલવેર નમૂના પર FLOSS ચલાવવાથી માનવ-વાંચી શકાય તેવી અને અસ્પષ્ટ સ્ટ્રિંગ્સ બંને બહાર આવી.


Packers and cryptors are used to obfuscate files.

પેકર્સ અને ક્રિપ્ટર્સનો ઉપયોગ ફાઇલોને અસ્પષ્ટ કરવા માટે થાય છે.


Obfuscation makes it difficult to detect and analyze the binary.

અસ્પષ્ટતા બાઈનરીને શોધવા અને વિશ્લેષણ કરવાનું મુશ્કેલ બનાવે છે.


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

પેકર એક્ઝિક્યુટેબલની સામગ્રીને અસ્પષ્ટ કરવા માટે સંકોચનનો ઉપયોગ કરે છે.


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

ક્રિપ્ટર એક્ઝિક્યુટેબલની સામગ્રીને અસ્પષ્ટ કરવા માટે એન્ક્રિપ્શનનો ઉપયોગ કરે છે.


Extracting strings from a packed binary reveals fewer strings.

પેક કરેલી બાઈનરીમાંથી સ્ટ્રિંગ્સ કાઢવાથી ઓછી સ્ટ્રિંગ્સ બહાર આવે છે.


UPX is a common packer used to compress executables.

UPX એ એક્ઝિક્યુટેબલને સંકુચિત કરવા માટે વપરાતું એક સામાન્ય પેકર છે.


Exeinfo PE can detect packers on Windows.

Exeinfo PE વિન્ડોઝ પર પેકર્સ શોધી શકે છે.


Windows executables conform to the PE/COFF format.

વિન્ડોઝ એક્ઝિક્યુટેબલ PE/COFF ફોર્મેટને અનુરૂપ છે.


The PE header describes the structure of the executable.

PE હેડર એક્ઝિક્યુટેબલની રચનાનું વર્ણન કરે છે.


Examining the PE header yields information about the binary.

PE હેડરની તપાસ બાઈનરી વિશે માહિતી આપે છે.


Malware often interacts with files, the registry, and the network.

માલવેર ઘણીવાર ફાઇલો, રજિસ્ટ્રી અને નેટવર્ક સાથે ક્રિયાપ્રતિક્રિયા કરે છે.


Inspect the DLLs and API functions to understand malware functionality.

માલવેરની કાર્યક્ષમતાને સમજવા માટે DLLs અને API કાર્યોનું નિરીક્ષણ કરો.


Imports can help detect if a malware sample is obfuscated.

આયાત તમને એ શોધવામાં મદદ કરી શકે છે કે માલવેર નમૂનો અસ્પષ્ટ છે કે નહીં.


Exports can give you a quick idea of the DLL's capabilities.

નિકાસ તમને DLL ની ક્ષમતાઓનો ઝડપી ખ્યાલ આપી શકે છે.


The resource section contains resources like icons and strings.

સંસાધન વિભાગમાં ચિહ્નો અને સ્ટ્રિંગ્સ જેવા સંસાધનો છે.


The fuzzy hashing technique identified the similarity between the samples.

અસ્પષ્ટ હેશિંગ તકનીકે નમૂનાઓ વચ્ચે સમાનતા ઓળખી કાઢી.


In that case, it is possible to run ssdeep on directories and subdirectories.

તે કિસ્સામાં, ડિરેક્ટરીઓ અને પેટાડિરેક્ટરીઓ પર ssdeep ચલાવવાનું શક્ય છે.


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.

આયાત હેશિંગ એ બીજી તકનીક છે જેનો ઉપયોગ સંબંધિત નમૂનાઓને ઓળખવા માટે થઈ શકે છે.


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

સમાન ઇમ્પેશ ધરાવતી ફાઇલોનો અર્થ એ નથી કે તે સમાન ધમકી જૂથની છે.


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

આયાત હેશિંગ જેવું જ, વિભાગ હેશિંગ સંબંધિત નમૂનાઓને ઓળખવામાં પણ મદદ કરી શકે છે.


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 where the logic of the rule resides.

આ તે છે જ્યાં નિયમનું તર્ક રહેલું છે.


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

એકવાર તમારી પાસે નિયમ તૈયાર થઈ જાય, પછીનું પગલું યારા ઉપયોગિતાનો ઉપયોગ કરવાનું છે.


If you want the rule to detect both ASCII and Unicode strings.

જો તમે ઇચ્છો છો કે નિયમ ASCII અને યુનિકોડ સ્ટ્રિંગ્સ બંનેને શોધી કાઢે.


The document that it detected was a legitimate document.

તેણે જે દસ્તાવેજ શોધી કાઢ્યો તે એક કાયદેસર દસ્તાવેજ હતો.


YARA rule can also be used to detect packers.

YARA નિયમનો ઉપયોગ પેકર્સને શોધવા માટે પણ થઈ શકે છે.


If you are using newer versions of YARA, the Exeinfo PE signature can be translated to a YARA rule.

જો તમે YARA ના નવા સંસ્કરણોનો ઉપયોગ કરી રહ્યાં છો, તો Exeinfo PE હસ્તાક્ષરને YARA નિયમમાં અનુવાદિત કરી શકાય છે.


YARA can be used to detect patterns in any file.

YARA નો ઉપયોગ કોઈપણ ફાઇલમાં પેટર્ન શોધવા માટે થઈ શકે છે.


After you analyze the malware, you can create signatures to identify its components.

માલવેરનું વિશ્લેષણ કર્યા પછી, તમે તેના ઘટકોને ઓળખવા માટે હસ્તાક્ષર બનાવી શકો છો.


Static analysis is the first step in malware analysis.

માલવેર વિશ્લેષણમાં સ્થિર વિશ્લેષણ એ પ્રથમ પગલું છે.


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

માલવેર વિશ્લેષણ શીખવું એ વિન્ડોઝ માલવેરનું વિશ્લેષણ અને તપાસ કરવા માટેની વિભાવનાઓ, સાધનો અને તકનીકોનું અન્વેષણ કરે છે.


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

આ પુસ્તક વિન્ડોઝ માલવેરના વર્તન અને લાક્ષણિકતાઓને સમજવા માટેની વિભાવનાઓ, સાધનો અને તકનીકો શીખવે છે.


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

અદ્યતન માલવેર અને લક્ષિત હુમલાઓ સામે લડવા માટે માલવેર વિશ્લેષણ એક આવશ્યક કૌશલ્ય બની ગયું છે.


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

જો તમે ઘટના પ્રતિસાદકર્તા, સાયબર સુરક્ષા તપાસકર્તા અથવા જિજ્ઞાસુ સુરક્ષા વ્યાવસાયિક છો, તો આ પુસ્તક તમારા માટે છે.


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

પ્રકરણ 1 વાચકોને માલવેર વિશ્લેષણની વિભાવના અને અલગ માલવેર વિશ્લેષણ લેબ વાતાવરણ સ્થાપિત કરવાથી પરિચિત કરાવે છે.


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

પ્રકરણ 2 દૂષિત બાઈનરીમાંથી મેટાડેટા માહિતી કાઢવા માટેના સાધનો અને તકનીકો શીખવે છે.


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

તમે તેને ચલાવ્યા વિના બાઈનરીના વિવિધ પાસાઓ કેવી રીતે નક્કી કરવા તે શીખી શકશો.


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

પ્રકરણ 3 માલવેરના વર્તન અને સિસ્ટમ સાથેની તેની ક્રિયાપ્રતિક્રિયાને નિર્ધારિત કરવા માટેના સાધનો અને તકનીકો શીખવે છે.


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

તમે માલવેર સાથે સંકળાયેલા નેટવર્ક અને હોસ્ટ-આધારિત સૂચકાંકો કેવી રીતે મેળવવા તે શીખી શકશો.


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

પ્રકરણ 4 એસેમ્બલી ભાષાની મૂળભૂત સમજૂતી આપે છે અને કોડ વિશ્લેષણ કરવા માટે જરૂરી કુશળતા શીખવે છે.


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

પ્રકરણ 5 IDA Pro ડિસએસેમ્બલરની વિશેષતાઓને આવરી લે છે, અને તમે સ્થિર કોડ વિશ્લેષણ કરવા માટે IDA Pro નો ઉપયોગ કેવી રીતે કરવો તે શીખી શકશો.


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

પ્રકરણ 6 x64dbg અને IDA Pro ડિબગરનો ઉપયોગ કરીને બાઈનરીને ડિબગ કરવાની તકનીક શીખવે છે.


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

તમે પ્રોગ્રામના અમલને નિયંત્રિત કરવા અને પ્રોગ્રામના વર્તનને મેનિપ્યુલેટ કરવા માટે ડિબગરનો ઉપયોગ કેવી રીતે કરવો તે શીખી શકશો.


Chapter 7 describes various functionalities of malware using reverse engineering.

પ્રકરણ 7 રિવર્સ એન્જિનિયરિંગનો ઉપયોગ કરીને માલવેરની વિવિધ કાર્યક્ષમતાનું વર્ણન કરે છે.


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

તે દૂષિત પ્રોગ્રામ્સ દ્વારા ઉપયોગમાં લેવાતી વિવિધ સ્થિરતા પદ્ધતિઓને પણ આવરી લે છે.


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

પ્રકરણ 8 દૂષિત પ્રોગ્રામ્સ દ્વારા ઉપયોગમાં લેવાતી સામાન્ય કોડ ઇન્જેક્શન તકનીકો શીખવે છે.


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

તે દૂષિત કોડ પર નિયંત્રણને રીડાયરેક્ટ કરવા માટે માલવેર દ્વારા ઉપયોગમાં લેવાતી હૂકિંગ તકનીકોનું પણ વર્ણન કરે છે.


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

પ્રકરણ 9 દૂષિત પ્રોગ્રામ્સ દ્વારા ઉપયોગમાં લેવાતી એન્કોડિંગ, એન્ક્રિપ્શન અને પેકિંગ તકનીકોને આવરી લે છે.


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

પ્રકરણ 10 મેમરી ફોરેન્સિક્સનો ઉપયોગ કરીને દૂષિત ઘટકોને શોધવાની તકનીકો શીખવે છે.


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

તમે મેમરીમાં ફોરેન્સિક આર્ટિફેક્ટ્સને શોધવા અને ઓળખવા માટે વિવિધ વોલેટિલિટી પ્લગઇન્સ શીખી શકશો.


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

જો તમને આ પુસ્તકમાં કોઈ ભૂલ જણાય, તો અમે આની જાણ કરવા બદલ આભારી રહીશું.


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

કૃપા કરીને www.packtpub.com/submit-errata ની મુલાકાત લો, તમારું પુસ્તક પસંદ કરો, એરરાટા સબમિશન ફોર્મ લિંક પર ક્લિક કરો અને વિગતો દાખલ કરો.


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

જો તમને ઇન્ટરનેટ પર કોઈપણ સ્વરૂપમાં અમારી કૃતિઓની ગેરકાયદેસર નકલો મળે, તો જો તમે અમને સ્થાન સરનામું અથવા વેબસાઇટનું નામ આપો તો અમે આભારી રહીશું.


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?

એકવાર તમે આ પુસ્તક વાંચી અને ઉપયોગ કરી લીધા પછી, તમે તેને જે સાઇટ પરથી ખરીદ્યું છે તેના પર સમીક્ષા કેમ ન આપો?


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

સરકારી, લશ્કરી, જાહેર અને ખાનગી ક્ષેત્રોને લક્ષ્ય બનાવીને સાયબર હુમલાઓની સંખ્યામાં કોઈ શંકા વિના વધારો થઈ રહ્યો છે.


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

આ સાયબર હુમલાઓ મૂલ્યવાન માહિતી કાઢવાના પ્રયાસ સાથે વ્યક્તિઓ અથવા સંસ્થાઓને લક્ષ્ય બનાવવાનું ધ્યાન કેન્દ્રિત કરે છે.


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

કેટલીકવાર, આ સાયબર હુમલાઓ કથિત રીતે સાયબર ક્રાઈમ અથવા રાજ્ય-પ્રાયોજિત જૂથો સાથે જોડાયેલા હોય છે, પરંતુ તે વ્યક્તિગત જૂથો દ્વારા તેમના લક્ષ્યોને પ્રાપ્ત કરવા માટે પણ હાથ ધરવામાં આવી શકે છે.


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

આમાંના મોટાભાગના સાયબર હુમલાઓ તેમના લક્ષ્યોને સંક્રમિત કરવા માટે દૂષિત સોફ્ટવેર (જેને માલવેર પણ કહેવાય છે) નો ઉપયોગ કરે છે.


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

દૂષિત સોફ્ટવેરનું વિશ્લેષણ કરવા માટે જરૂરી જ્ઞાન, કૌશલ્યો અને સાધનો આવા હુમલાઓ સામે શોધ, તપાસ અને બચાવ માટે જરૂરી છે.


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

માલવેર એ એક કોડ છે જે દૂષિત ક્રિયાઓ કરે છે; તે એક્ઝિક્યુટેબલ, સ્ક્રિપ્ટ, કોડ અથવા અન્ય કોઈપણ સોફ્ટવેરનું સ્વરૂપ લઈ શકે છે.


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

આક્રમણકારો સંવેદનશીલ માહિતી ચોરવા, ચેપગ્રસ્ત સિસ્ટમ પર જાસૂસી કરવા અથવા સિસ્ટમનું નિયંત્રણ લેવા માટે માલવેરનો ઉપયોગ કરે છે.


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

તે સામાન્ય રીતે તમારી સંમતિ વિના તમારી સિસ્ટમમાં પ્રવેશે છે અને ઇમેઇલ, વેબ અથવા USB ડ્રાઇવ્સ જેવા વિવિધ સંચાર માધ્યમો દ્વારા વિતરિત કરી શકાય છે.


કમ્પ્યુટર કામગીરીમાં વિક્ષેપ


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

સંવેદનશીલ માહિતીની ચોરી, જેમાં વ્યક્તિગત, વ્યવસાયિક અને નાણાકીય ડેટા શામેલ છે


Unauthorized access to the victim's system

પીડિતની સિસ્ટમની અનધિકૃત ઍક્સેસ


ભોગ બનેલા લોકો પર જાસૂસી


સ્પામ ઇમેઇલ્સ મોકલવી


Engaging in distributed-denial-of-service attacks (DDOS)

વિતરિત-ઇનકાર-ઓફ-સર્વિસ હુમલાઓમાં સામેલ થવું (DDOS)


Locking up the files on the computer and holding them for ransom

કમ્પ્યુટર પરની ફાઇલોને લોક કરવી અને તેમને ખંડણી માટે પકડી રાખવી


Drop are set to Bidirectional. Click on OK.

ડ્રોપને દ્વિ-દિશાત્મક પર સેટ કરો. ઓકે પર ક્લિક કરો.


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

આ બિંદુએ, Linux VM ને હોસ્ટ-માત્ર મોડનો ઉપયોગ કરવા માટે ગોઠવવામાં આવ્યું છે, અને INetSim બધી સેવાઓનું અનુકરણ કરવા માટે સેટઅપ છે.


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

છેલ્લું પગલું એ છે કે સ્નેપશોટ (સ્વચ્છ સ્નેપશોટ) લો અને તેને તમારી પસંદગીનું નામ આપો જેથી તમે જરૂર પડે ત્યારે તેને સ્વચ્છ સ્થિતિમાં પાછા ફેરવી શકો.


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

VMware વર્કસ્ટેશન પર સ્નેપશોટ લેવા માટે, VM | સ્નેપશોટ | ટેક સ્નેપશોટ પર ક્લિક કરો.


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

વર્ચ્યુઅલબોક્સ પર, મશીન | ટેક સ્નેપશોટ પર ક્લિક કરીને તે જ કરી શકાય છે.


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

ડ્રેગ અને ડ્રોપ સુવિધા ઉપરાંત, શેર કરેલા ફોલ્ડર્સનો ઉપયોગ કરીને હોસ્ટ મશીનમાંથી વર્ચ્યુઅલ મશીનમાં ફાઇલો ટ્રાન્સફર કરવાનું પણ શક્ય છે.


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

વિન્ડોઝ VM સેટ કરતા પહેલા, તમારે પહેલા વર્ચ્યુઅલાઈઝેશન સોફ્ટવેરમાં તમારી પસંદગીનું વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ (વિન્ડોઝ 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.

ખાતરી કરો કે તમે pip ઇન્સ્ટોલ કરવા અને પાથમાં python.exe ઉમેરવાનો વિકલ્પ તપાસો, જેમ કે નીચેના સ્ક્રીનશૉટમાં બતાવ્યા પ્રમાણે.


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

તમારા વિન્ડોઝ VM ને હોસ્ટ-માત્ર નેટવર્ક રૂપરેખાંકન મોડમાં ચલાવવા માટે ગોઠવો.


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 and set up your Default gateway and the DNS server to the IP address of Linux VM.

વિન્ડોઝ VM નું IP એડ્રેસ 192.168.1.x પર ગોઠવો અને તમારા ડિફોલ્ટ ગેટવે અને DNS સર્વરને Linux VM ના IP એડ્રેસ પર સેટ કરો.


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

Linux VM અને Windows 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.

તમારા વિન્ડોઝ VM પર વિન્ડોઝ ડિફેન્ડર સેવાને અક્ષમ કરવાની જરૂર છે કારણ કે તે માલવેર નમૂનાને ચલાવતી વખતે દખલ કરી શકે છે.


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 દાખલ કરો અને લોકલ ગ્રુપ પોલિસી એડિટર લોંચ કરવા માટે Enter દબાવો.


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

એક સ્વચ્છ સ્નેપશોટ લો જેથી તમે દરેક વિશ્લેષણ પછી મૂળ/સ્વચ્છ સ્થિતિ પર પાછા આવી શકો.


At this point, your lab environment should be ready.

આ બિંદુએ, તમારું લેબ વાતાવરણ તૈયાર હોવું જોઈએ.


Throughout this book, I will be covering various malware analysis tools; if you wish to use those tools, you can copy them to the clean snapshot on the virtual machines.

આ પુસ્તકમાં, હું વિવિધ માલવેર વિશ્લેષણ સાધનોને આવરી લઈશ; જો તમે તે સાધનોનો ઉપયોગ કરવા માંગો છો, તો તમે તેને વર્ચ્યુઅલ મશીનો પરના સ્વચ્છ સ્નેપશોટમાં કૉપિ કરી શકો છો.


The DLL's entry point function did not implement any functionality.

DLLનું એન્ટ્રી પોઈન્ટ ફંક્શન કોઈ કાર્યક્ષમતા લાગુ કરતું ન હતું.


The malware establishes an HTTP connection with the C2 domain.

માલવેર C2 ડોમેન સાથે HTTP કનેક્શન સ્થાપિત કરે છે.


આપણે બીજા દૂષિત DLL પર નજર નાખીશું.


The DLL sample was run with the following command.

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.

કાઢી નાખવાની કાર્યક્ષમતા દર્શાવવા માટે, એક પરીક્ષણ ફાઇલ બનાવવામાં આવી હતી.


The test file was passed an argument to the export function.

પરીક્ષણ ફાઇલને નિકાસ કાર્ય માટે એક દલીલ આપવામાં આવી હતી.


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 લોંચ કરવું સરસ રીતે કામ કરશે.


Some DLLs check if they are running under a particular process.

કેટલાક DLL તપાસે છે કે તેઓ કોઈ ચોક્કસ પ્રક્રિયા હેઠળ ચાલી રહ્યા છે કે નહીં.


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

આવા કિસ્સાઓમાં, તમારે DLL ને ચોક્કસ પ્રક્રિયામાં દાખલ કરવું પડશે.


આ DLL માં કોઈ નિકાસ નથી.


Running the DLL using the following command generated an error.

નીચેના આદેશનો ઉપયોગ કરીને DLL ચલાવવાથી ભૂલ આવી.


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

કોડનું વિશ્લેષણ કર્યા પછી, એવું જાણવા મળ્યું કે DLL, તેના એન્ટ્રી પોઈન્ટ ફંક્શનમાં, એક તપાસ કરે છે.


The code executes after the 'else' block.

કોડ 'else' બ્લોક પછી અમલ કરે છે.


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

જો x 0 ની બરાબર ન હોય તો શરતી જમ્પ લેવામાં આવશે.


Before the 'else' block, there's an unconditional jump to 'end'.

'else' બ્લોક પહેલાં, 'end' પર એક બિનશરતી જમ્પ છે.


If x is equal to 0, the 'else' block is skipped.

જો x 0 ની બરાબર હોય, તો 'else' બ્લોકને છોડી દેવામાં આવે છે.


The code contains if-ElseIf-else statements.

આ કોડમાં if-ElseIf-else સ્ટેટમેન્ટ છે.


ત્યાં બે શરતી જમ્પ પોઈન્ટ છે.


The jump is taken to else if x is not equal to 0.

જો x 0 ની બરાબર ન હોય તો જમ્પ else પર લેવામાં આવે છે.


Unconditional jumps skip the else statement.

બિનશરતી જમ્પ else સ્ટેટમેન્ટને છોડી દે છે.


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

ચાલો કોડને તેના ઉચ્ચ-સ્તરના સમકક્ષમાં અનુવાદિત કરીએ.


સરનામાને સાંકેતિક નામો સોંપો.


The cmp and jnz instructions form a conditional statement.

cmp અને jnz સૂચનાઓ એક શરતી વિધાન બનાવે છે.


This has the characteristics of an if-else statement.

આમાં if-else સ્ટેટમેન્ટની લાક્ષણિકતાઓ છે.


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

➍ થી ➌ નો કોડ if બ્લોકનો ભાગ છે.


The condition in the if statement was reversed.

if સ્ટેટમેન્ટમાંની સ્થિતિને ઉલટાવી દેવામાં આવી હતી.


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

જ્યારે x 0 ની બરાબર હોય ત્યારે જમ્પ લેવામાં આવશે નહીં.


Loops execute a block of code until a condition is met.

લૂપ્સ કોડના બ્લોકને ત્યાં સુધી એક્ઝિક્યુટ કરે છે જ્યાં સુધી કોઈ સ્થિતિ પૂરી ન થાય.


The two most common types of loops are for and while.

લૂપ્સના બે સૌથી સામાન્ય પ્રકારો છે for અને while.


The initialization statement is executed only once.

પ્રારંભિક વિધાન ફક્ત એક જ વાર એક્ઝિક્યુટ થાય છે.


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

બંને કિસ્સાઓમાં, જ્યારે i 5 કરતા વધારે અથવા તેના બરાબર થાય ત્યારે જમ્પ લેવામાં આવશે.


The function contains multiple components.

કાર્યમાં બહુવિધ ઘટકો છે.


To move a value from the memory into a register in assembly language, you must use the address of the value.

એસેમ્બલી ભાષામાં મેમરીમાંથી રજિસ્ટરમાં મૂલ્ય ખસેડવા માટે, તમારે મૂલ્યના સરનામાનો ઉપયોગ કરવો આવશ્યક છે.


The square bracket specifies that you want the value stored at the memory location, rather than the address itself.

ચોરસ કૌંસ સ્પષ્ટ કરે છે કે તમે સરનામાને બદલે મેમરી સ્થાન પર સંગ્રહિત મૂલ્ય ઇચ્છો છો.


During reverse engineering, you will normally see instructions similar to the ones shown as below.

રિવર્સ એન્જિનિયરિંગ દરમિયાન, તમે સામાન્ય રીતે નીચે બતાવ્યા પ્રમાણે સમાન સૂચનાઓ જોશો.


The simplest thing to remember is that everything within the square brackets represents an address.

યાદ રાખવાની સૌથી સરળ બાબત એ છે કે ચોરસ કૌંસની અંદરની દરેક વસ્તુ સરનામું રજૂ કરે છે.


You can move a value from a register to memory by swapping operands so that the memory address is on the left-hand side.

ઓપરેન્ડ્સની અદલાબદલી કરીને તમે રજિસ્ટરમાંથી મેમરીમાં મૂલ્ય ખસેડી શકો છો જેથી મેમરી સરનામું ડાબી બાજુએ હોય.


These instructions move constant values into a memory location.

આ સૂચનાઓ મેમરી સ્થાનમાં સતત મૂલ્યો ખસેડે છે.


Can you figure out what this code snippet does, and can you translate it back to a pseudocode?

શું તમે શોધી શકો છો કે આ કોડ સ્નિપેટ શું કરે છે, અને શું તમે તેને પાછું સ્યુડોકોડમાં અનુવાદિત કરી શકો છો?


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

ઉપરોક્ત પ્રોગ્રામ એક મેમરી સ્થાનથી બીજામાં મૂલ્યની નકલ કરે છે.


In a high-level language, when you assign a value to a variable, let's say val = 1, the value 1 is moved into the address represented by the val variable.

ઉચ્ચ-સ્તરની ભાષામાં, જ્યારે તમે ચલને મૂલ્ય સોંપો છો, ચાલો કહીએ કે val = 1, ત્યારે મૂલ્ય 1 val ચલ દ્વારા રજૂ કરાયેલા સરનામામાં ખસેડવામાં આવે છે.


Recall that, the registers are used by the CPU for temporary storage.

યાદ રાખો કે, રજિસ્ટરનો ઉપયોગ CPU દ્વારા અસ્થાયી સંગ્રહ માટે થાય છે.


Let's try to determine the data types of these variables: a and b.

ચાલો આ ચલોના ડેટા પ્રકારો નક્કી કરવાનો પ્રયાસ કરીએ: a અને b.


You can perform addition, subtraction, multiplication, and division in assembly language.

તમે એસેમ્બલી ભાષામાં સરવાળો, બાદબાકી, ગુણાકાર અને ભાગાકાર કરી શકો છો.


The mul instruction takes only one operand; that operand is multiplied by the content of either the al, ax, or eax register.

mul સૂચના માત્ર એક જ ઓપરેન્ડ લે છે; તે ઓપરેન્ડને al, ax, અથવા eax રજિસ્ટરની સામગ્રી દ્વારા ગુણાકાર કરવામાં આવે છે.


Division is performed using the div instruction.

ભાગાકાર div સૂચનાનો ઉપયોગ કરીને કરવામાં આવે છે.


ચાલો બીજો સરળ પડકાર લઈએ.


After labeling the addresses, it translates to the following:

સરનામાંને લેબલ કર્યા પછી, તે નીચેનામાં અનુવાદિત થાય છે:


Now, let's translate the preceding code into a pseudocode.

હવે, ચાલો ઉપરોક્ત કોડને સ્યુડોકોડમાં અનુવાદિત કરીએ.


You can determine the variable types based on the sizes and how they are used in the code.

તમે કદ અને કોડમાં તેનો ઉપયોગ કેવી રીતે થાય છે તેના આધારે ચલ પ્રકારો નક્કી કરી શકો છો.


In this section, you will learn the assembly instructions that operate on the bits.

આ વિભાગમાં, તમે એસેમ્બલી સૂચનાઓ શીખશો જે બીટ્સ પર કાર્ય કરે છે.


The left-most bit is called the most significant bit.

સૌથી ડાબી બાજુના બીટને સૌથી મહત્વપૂર્ણ બીટ કહેવામાં આવે છે.


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 advantage of using Noriben is that it comes with pre-defined filters that assist in reducing noise and allow you to focus on the malware-related events.

નોરીબેનનો ઉપયોગ કરવાનો ફાયદો એ છે કે તે પૂર્વ-નિર્ધારિત ફિલ્ટર્સ સાથે આવે છે જે અવાજ ઘટાડવામાં મદદ કરે છે અને તમને માલવેર-સંબંધિત ઘટનાઓ પર ધ્યાન કેન્દ્રિત કરવાની મંજૂરી આપે છે.


Once you are done with the monitoring, you can stop Noriben by pressing Ctrl + C, which will terminate Process Monitor.

મોનિટરિંગ થઈ જાય પછી, તમે Ctrl + C દબાવીને નોરીબેનને બંધ કરી શકો છો, જે પ્રોસેસ મોનિટરને સમાપ્ત કરશે.


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

ટેક્સ્ટ ફાઇલમાં અલગ-અલગ વિભાગોમાં શ્રેણીઓ (જેમ કે પ્રોસેસ, ફાઇલ, રજિસ્ટ્રી અને નેટવર્ક પ્રવૃત્તિ) ના આધારે અલગ કરાયેલ ઇવેન્ટ્સ છે.


The CSV file contains all the events (process, file, registry, and network activity) sorted by the timeline (the order in which the events occurred).

CSV ફાઇલમાં સમયરેખા (જે ક્રમમાં ઘટનાઓ બની હતી) દ્વારા સૉર્ટ કરાયેલ તમામ ઘટનાઓ (પ્રોસેસ, ફાઇલ, રજિસ્ટ્રી અને નેટવર્ક પ્રવૃત્તિ) છે.


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

જો તમને કેટેગરીના આધારે ઘટનાઓના સારાંશમાં રસ હોય, તો તમે ટેક્સ્ટ ફાઇલ જોઈ શકો છો.


When the malware is executed, you will want to capture the network traffic generated as a result of running the malware.

જ્યારે માલવેર ચલાવવામાં આવે છે, ત્યારે તમે માલવેર ચલાવવાના પરિણામે જનરેટ થતા નેટવર્ક ટ્રાફિકને કેપ્ચર કરવા માંગો છો.


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.

INetSim એ પ્રમાણભૂત ઇન્ટરનેટ સેવાઓનું અનુકરણ કરવા માટેનું એક મફત Linux-આધારિત સોફ્ટવેર સ્યુટ છે.


Apart from simulating services, INetSim can log communications, and it can also be configured to respond to HTTP/HTTPS requests.

સેવાઓનું અનુકરણ કરવા ઉપરાંત, INetSim સંચારને લોગ કરી શકે છે, અને તેને HTTP/HTTPS વિનંતીઓનો પ્રતિસાદ આપવા માટે પણ ગોઠવી શકાય છે.


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.

સ્વચ્છ સ્નેપશોટ પર પાછા ફરવું: આમાં તમારી વર્ચ્યુઅલ મશીનોને સ્વચ્છ સ્થિતિમાં પાછા ફેરવવાનો સમાવેશ થાય છે.


Running the monitoring/dynamic analysis tools: In this step, you will run the monitoring tools before executing the malware specimen.

મોનિટરિંગ/ડાયનેમિક વિશ્લેષણ ટૂલ્સ ચલાવવું: આ પગલામાં, તમે માલવેર નમૂનાને ચલાવતા પહેલા મોનિટરિંગ ટૂલ્સ ચલાવશો.


Executing the malware specimen: In this step, you will run the malware sample with administrator privileges.

માલવેર નમૂનાનું અમલ: આ પગલામાં, તમે એડમિનિસ્ટ્રેટર વિશેષાધિકારો સાથે માલવેર નમૂનાને ચલાવશો.


Analyzing the results: This involves collecting the data/reports from the monitoring tools and analyzing them to determine the malware's behavior and functionality.

પરિણામોનું વિશ્લેષણ: આમાં મોનિટરિંગ ટૂલ્સમાંથી ડેટા/રિપોર્ટ્સ એકત્રિત કરવા અને માલવેરના વર્તન અને કાર્યક્ષમતાને નિર્ધારિત કરવા માટે તેનું વિશ્લેષણ કરવાનો સમાવેશ થાય છે.


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.

એકવાર તમને ડાયનેમિક વિશ્લેષણ ટૂલ્સ અને ડાયનેમિક વિશ્લેષણમાં સામેલ પગલાંની સમજણ થઈ જાય, પછી આ ટૂલ્સનો ઉપયોગ માલવેર નમૂનામાંથી મહત્તમ માહિતી મેળવવા માટે એકસાથે થઈ શકે છે.


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

મુખ્ય કાર્યએ પરીક્ષણ કાર્યને બોલાવ્યું અને પરિમાણોને સ્ટેક પર ધકેલીને પરીક્ષણ કાર્યમાં પસાર કર્યા.


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

મુખ્ય કાર્યને કોલર (અથવા કોલિંગ ફંક્શન) તરીકે ઓળખવામાં આવે છે અને પરીક્ષણ એ કેલી (અથવા કહેવાતા કાર્ય) છે.


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

કોલિંગ સંમેલન નક્કી કરે છે કે પરિમાણો કેવી રીતે પસાર થવા જોઈએ અને સ્ટેકમાંથી તેમને દૂર કરવા માટે કોણ (કોલર અથવા કેલી) જવાબદાર છે.


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

મોટાભાગના સંકલિત સી પ્રોગ્રામ સામાન્ય રીતે સીડેકલ કોલિંગ સંમેલનનું પાલન કરે છે.


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

સીડેકલ સંમેલનમાં, કોલર પરિમાણોને જમણેથી ડાબી બાજુના ક્રમમાં સ્ટેક પર ધકેલે છે.


There are other calling conventions such as stdcall and fastcall.

એસટીડીકોલ અને ફાસ્ટકોલ જેવા અન્ય કોલિંગ સંમેલનો પણ છે.


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

માઈક્રોસોફ્ટ વિન્ડોઝ ડીએલએલ ફાઇલો દ્વારા નિકાસ કરાયેલા કાર્યો (એપીઆઈ) માટે એસટીડીકોલ સંમેલનનો ઉપયોગ કરે છે.


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

ફાસ્ટકોલ કોલિંગ સંમેલનમાં, પ્રથમ થોડા પરિમાણોને રજિસ્ટરમાં મૂકીને ફંક્શનમાં પસાર કરવામાં આવે છે.


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

એરે એ સમાન ડેટા પ્રકારોની બનેલી યાદી છે.


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

એરેના તત્વો મેમરીમાં સતત સ્થાનોમાં સંગ્રહિત થાય છે.


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

એરેનું નામ નુમ્સ એ એક પોઇન્ટર સ્થિર છે જે એરેના પ્રથમ તત્વ તરફ નિર્દેશ કરે છે.


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

ઉચ્ચ-સ્તરની ભાષામાં, એરેના તત્વોને ઍક્સેસ કરવા માટે, તમે ઇન્ડેક્સ સાથે એરેના નામનો ઉપયોગ કરો છો.


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

ઉદાહરણ તરીકે, તમે નુમ્સ[0] નો ઉપયોગ કરીને પ્રથમ તત્વ, નુમ્સ[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>].

જ્યારે તમે ઉચ્ચ-સ્તરની ભાષામાં નુમ્સ[0] નો ઉપયોગ કરો છો, ત્યારે તેનું ભાષાંતર [નુમ્સ+0*<દરેક_તત્વનું_કદ_બાઇટ્સમાં>] થાય છે.


સ્ટ્રિંગ એ અક્ષરોની એરે છે.


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 x64 architecture was designed as an extension to x86 and has a strong resemblance with x86 instruction sets.

x64 આર્કિટેક્ચર x86ના એક્સટેન્શન તરીકે ડિઝાઇન કરવામાં આવ્યું હતું અને x86 ઇન્સ્ટ્રક્શન સેટ સાથે મજબૂત સામ્યતા ધરાવે છે.


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

64-bit વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ 32-bit એક્ઝિક્યુટેબલ ચલાવી શકે છે.


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-bit વિન્ડોઝ પર 32-bit માલવેરનું વિશ્લેષણ કરી રહ્યાં છો, જો તમને માલવેર સિસ્ટમ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 સબસિસ્ટમ તમારા વિશ્લેષણને કેવી રીતે અસર કરી શકે છે તેનો ખ્યાલ મેળવવા માટે, ધ WOW-ઇફેક્ટનો સંદર્ભ લો.


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

આ પ્રકરણમાં x32 અને x64 આર્કિટેક્ચર વચ્ચેના મુખ્ય તફાવતોને પણ પ્રકાશિત કરવામાં આવ્યા છે.


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.

ડિસેમ્બલર એ એક પ્રોગ્રામ છે જે મશીન કોડને પાછું એસેમ્બલી કોડમાં અનુવાદિત કરે છે.


A debugger is a program which also disassembles the code.

ડિબગર એ એક પ્રોગ્રામ છે જે કોડને ડિસેમ્બલ પણ કરે છે.


Decompilers can greatly assist you with the reverse engineering process.

ડીકમ્પાઇલર્સ તમને રિવર્સ એન્જિનિયરિંગ પ્રક્રિયામાં ઘણી મદદ કરી શકે છે.


IDA વિવિધ પ્લેટફોર્મ પર ચાલી શકે છે.


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

તમે બિન-વ્યાવસાયિક ઉપયોગ માટે IDA નું ફ્રીવેર સંસ્કરણ ડાઉનલોડ કરી શકો છો.


Both demo and freeware version lacks IDAPython support.

ડેમો અને ફ્રીવેર બંને સંસ્કરણોમાં IDAPython સપોર્ટનો અભાવ છે.


The commercial version of IDA does not lack any functionality.

IDA ના વ્યાવસાયિક સંસ્કરણમાં કોઈપણ કાર્યક્ષમતાનો અભાવ નથી.


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 ની વિવિધ સુવિધાઓનું અન્વેષણ કરો.


Launch IDA Pro (right-click and select Run as administrator).

IDA Pro લોંચ કરો (જમણું-ક્લિક કરો અને એડમિનિસ્ટ્રેટર તરીકે ચલાવો પસંદ કરો).


To load a file, you can either drag and drop or click on File | Open and select the file.

ફાઇલ લોડ કરવા માટે, તમે તેને ખેંચીને છોડી શકો છો અથવા ફાઇલ | ખોલો પર ક્લિક કરી શકો છો અને ફાઇલ પસંદ કરી શકો છો.


IDA determines the best possible loaders.

IDA શ્રેષ્ઠ સંભવિત લોડર્સ નક્કી કરે છે.


After the disassembly, IDA performs an initial analysis to identify the compiler.

ડિસેમ્બલી પછી, IDA કમ્પાઇલરને ઓળખવા માટે પ્રારંભિક વિશ્લેષણ કરે છે.


The IDA desktop integrates the features of many common static analysis tools into a single interface.

IDA ડેસ્કટોપ ઘણા સામાન્ય સ્થિર વિશ્લેષણ સાધનોની સુવિધાઓને એક જ ઇન્ટરફેસમાં એકીકૃત કરે છે.


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

કાર્ય ટિપ્પણી ઉમેરવા માટે, કાર્યના નામ પર પ્રકાશ પાડો અને કોલોન (:) દબાવો.


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

સ્યુડોકોડ હવે તમને કાર્યના વર્તન વિશે યાદ અપાવી શકે છે.


Now that we have used some of IDA's features to analyze the binary, wouldn't it be nice if there was a way to save the name of the variable and the comments that we added?

હવે જ્યારે આપણે બાઈનરીનું વિશ્લેષણ કરવા માટે IDA ની કેટલીક સુવિધાઓનો ઉપયોગ કર્યો છે, ત્યારે જો આપણે ચલનું નામ અને આપણે ઉમેરેલી ટિપ્પણીઓને સાચવવાનો કોઈ રસ્તો હોત તો તે સરસ ન હોત?


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

હકીકતમાં, અગાઉ જે પણ હેરફેર કરવામાં આવી હતી તે એક્ઝિક્યુટેબલને નહીં, પણ ડેટાબેઝને કરવામાં આવી હતી.


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

જ્યારે કોઈ એક્ઝિક્યુટેબલને IDA માં લોડ કરવામાં આવે છે, ત્યારે તે પાંચ ફાઇલો ધરાવતો ડેટાબેઝ બનાવે છે.


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

આ દરેક ફાઇલો વિવિધ માહિતી સંગ્રહિત કરે છે અને તેમાં એક બેઝ નામ છે જે પસંદ કરેલ એક્ઝિક્યુટેબલ સાથે મેળ ખાય છે.


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

તમે કરેલા કોઈપણ ફેરફારો દૃશ્યોમાં પ્રતિબિંબિત થાય છે અને ડેટાબેઝમાં સાચવવામાં આવે છે.


You can save the database by closing IDA.

તમે IDA બંધ કરીને ડેટાબેઝને સાચવી શકો છો.


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

જ્યારે તમે .idb અથવા .i64 ફાઇલને ફરીથી ખોલો છો, ત્યારે તમે પુનઃનામ કરેલા ચલો અને ટિપ્પણીઓ જોઈ શકશો.


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

ચાલો બીજા સરળ પ્રોગ્રામ પર એક નજર કરીએ અને IDA ની કેટલીક વધુ સુવિધાઓનું અન્વેષણ કરીએ.


The program translates to the following disassembly listing.

પ્રોગ્રામ નીચેની ડિસએસેમ્બલી સૂચિમાં અનુવાદિત થાય છે.


IDA એ ત્રણ સ્થાનિક ચલો ઓળખ્યા.


IDA also identified the global variables and assigned names.

IDA એ વૈશ્વિક ચલોને પણ ઓળખ્યા અને નામો સોંપ્યા.


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

તેનું કારણ એ છે કે, જ્યારે કોઈ ચલને વૈશ્વિક ડેટા એરિયામાં વ્યાખ્યાયિત કરવામાં આવે છે, ત્યારે ચલોનું સરનામું અને કદ કમ્પાઇલ સમયે કમ્પાઇલરને જાણીતું હોય છે.


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

IDA એ ચલોના સરનામાંનો ઉપયોગ કરવામાં આવે છે તે દર્શાવવા માટે ઑફસેટ કીવર્ડનો ઉપયોગ કર્યો.


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

IDA એ સ્ટ્રિંગ ધરાવતા સરનામાંને ડમી નામ aTest સોંપ્યું.


This dummy name is generated using the characters of the string, and the string "test" itself is added as a comment.

આ ડમી નામ સ્ટ્રિંગના અક્ષરોનો ઉપયોગ કરીને જનરેટ થાય છે, અને સ્ટ્રિંગ "test" ને જ એક ટિપ્પણી તરીકે ઉમેરવામાં આવે છે.


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

તમે તેના પર ડબલ-ક્લિક કરીને કોઈપણ નામના સ્થાનો પર નેવિગેટ કરી શકો છો.


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

CreateFile માટેના ક્રોસ-રેફરન્સનો ઉપયોગ કરીને, આપણે નક્કી કરી શકીએ છીએ કે CreateFile API નો સંદર્ભ બે કાર્યોમાં છે.


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

IDA ફાસ્ટ લાઇબ્રેરી આઇડેન્ટિફિકેશન એન્ડ રેકગ્નિશન ટેકનોલોજી (FLIRT) નામની ટેકનોલોજીનો ઉપયોગ કરે છે.


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

આ કિસ્સામાં, IDA ➊ પર ડિસએસેમ્બલ કરેલા કાર્યને આયાત કરેલા કાર્ય તરીકે ઓળખવામાં સક્ષમ હતું, અને તેને CreateFileA નામ આપ્યું.


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

લાઇબ્રેરીઓ અને આયાત કરેલા કાર્યોને ઓળખવાની IDA ની ક્ષમતા અત્યંત ઉપયોગી છે.


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

IDA એ એ પણ ટિપ્પણી તરીકે પરિમાણોના નામો ઉમેર્યા છે જે દર્શાવે છે કે કયો પરિમાણ ધકેલવામાં આવી રહ્યો છે.


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

ઉપરોક્ત ડિસએસેમ્બલી લિસ્ટિંગ પરથી, તમે કહી શકો છો કે માલવેર કાં તો ફાઇલ બનાવે છે અથવા ખોલે છે.


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

માલવેર લેખકો ઘણીવાર તેમના સોર્સ કોડમાં પ્રતીકાત્મક અચલો, જેમ કે GENERIC_WRITE, નો ઉપયોગ કરે છે.


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.

પ્રતીકાત્મક નામો સાથે અચલોને બદલ્યા પછી, ડિસએસેમ્બલી લિસ્ટિંગનું ભાષાંતર કરવામાં આવે છે.


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

હવે કોડ વધુ વાંચી શકાય તેવો છે, અને કોડ પરથી, તમે કહી શકો છો કે માલવેર psto.exe ફાઇલ બનાવે છે.


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

Windows બે સમાંતર API સેટને સપોર્ટ કરે છે: એક ANSI સ્ટ્રિંગ્સ માટે, અને બીજું Unicode સ્ટ્રિંગ્સ માટે.


You will also see malware using APIs such as CreateFileW.

તમે CreateFileW જેવા API નો ઉપયોગ કરતા માલવેર પણ જોશો.


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

માલવેર વિશ્લેષણ દરમિયાન, જ્યારે તમે CreateFileA અથવા CreateFileW જેવા કાર્ય પર આવો છો, ત્યારે ફક્ત પાછળના A અને W અક્ષરોને દૂર કરો.


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

તમે ઘણીવાર તેમના નામોમાં Ex પ્રત્યય સાથેના કાર્ય નામોનો સામનો કરશો, જેમ કે RegCreateKeyEx.


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 રજિસ્ટરમાં ખસેડવામાં આવે છે.


The value that it sets is passed as the second parameter ➎, which is the string System.

તે જે મૂલ્ય સેટ કરે છે તે બીજા પરિમાણ ➎ તરીકે પસાર થાય છે, જે સ્ટ્રિંગ સિસ્ટમ છે.


After adding the entry to the registry key, the malware closes the handle to the registry key.

રજિસ્ટ્રી કીમાં એન્ટ્રી ઉમેર્યા પછી, માલવેર રજિસ્ટ્રી કીનું હેન્ડલ બંધ કરે છે.


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

તમે એ પણ જોયું કે માલવેર ઑબ્જેક્ટ (જેમ કે રજિસ્ટ્રી કી) નું હેન્ડલ કેવી રીતે મેળવે છે અને પછી તે હેન્ડલને અન્ય API કાર્યો સાથે શેર કરે છે.


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

એક ડિબગર એ એક પ્રોગ્રામ છે જે તમને વધુ વિગતવાર સ્તરે દૂષિત કોડનું નિરીક્ષણ કરવાની ક્ષમતા આપે છે.


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

તે માલવેરના રનટાઇમ વર્તન પર સંપૂર્ણ નિયંત્રણ પૂરું પાડે છે અને તમને એક જ સૂચના ચલાવવાની મંજૂરી આપે છે.


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

આ પ્રકરણમાં, તમે મુખ્યત્વે IDA Pro અને x64dbg દ્વારા ઓફર કરવામાં આવતી ડિબગીંગ સુવિધાઓ શીખશો.


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

તમે આ ડિબગર્સ દ્વારા ઓફર કરવામાં આવતી સુવિધાઓ અને પ્રોગ્રામના રનટાઇમ વર્તનને તપાસવા માટે તેનો ઉપયોગ કેવી રીતે કરવો તે વિશે શીખશો.


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

જ્યારે તમે માલવેરને ડિબગ કરી રહ્યાં હોવ, ત્યારે યોગ્ય કાળજી લેવાની જરૂર છે, કારણ કે તમે સિસ્ટમ પર દૂષિત કોડ ચલાવશો.


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

એ ભલામણ કરવામાં આવે છે કે તમે કોઈપણ માલવેર ડિબગીંગને અલગ વાતાવરણમાં કરો.


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 you start the debugger, the original binary will be executed with the privileges of the user running the debugger.

જ્યારે તમે ડિબગર શરૂ કરો છો, ત્યારે મૂળ બાઈનરી ડિબગર ચલાવતા વપરાશકર્તાના વિશેષાધિકારો સાથે ચલાવવામાં આવશે.


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

પ્રોગ્રામનો એન્ટ્રી પોઈન્ટ એ પ્રથમ સૂચનાનું સરનામું છે જે ચલાવવામાં આવશે.


A debugger gives you the ability to control/modify the behavior of the process while it is executing.

એક ડિબગર તમને પ્રક્રિયા ચલાવતી વખતે તેના વર્તનને નિયંત્રિત/સંશોધિત કરવાની ક્ષમતા આપે છે.


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.

ડિબગરનો ઉપયોગ કરીને, તમે ડિબગરને નિયંત્રણ પાછું આપતા પહેલા એક અથવા વધુ સૂચનાઓ (અથવા કાર્યો પસંદ કરો) ચલાવી શકો છો.


During analysis, you will combine both the debugger's controlled execution and the interruption (breakpoint) feature to monitor a malware's behavior.

વિશ્લેષણ દરમિયાન, તમે માલવેરના વર્તનને મોનિટર કરવા માટે ડિબગરના નિયંત્રિત અમલ અને વિક્ષેપ (બ્રેકપોઇન્ટ) સુવિધા બંનેને જોડશો.


The following are some of the common execution control options provided by the debuggers: Continue (Run).

નીચેના ડિબગર્સ દ્વારા પૂરા પાડવામાં આવેલ કેટલાક સામાન્ય અમલ નિયંત્રણ વિકલ્પો છે: ચાલુ રાખો (ચલાવો).


This executes all of the instructions, until a breakpoint is reached or an exception occurs.

આ બધી સૂચનાઓ ચલાવે છે, જ્યાં સુધી બ્રેકપોઇન્ટ ન આવે અથવા અપવાદ ન આવે.


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

સ્ટેપ ઇન અને સ્ટેપ ઓવરનો ઉપયોગ કરીને, તમે એક જ સૂચના ચલાવી શકો છો.


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

બ્રેકપોઇન્ટ એ એક ડિબગર સુવિધા છે જે તમને પ્રોગ્રામની અંદર ખૂબ જ ચોક્કસ સ્થાન પર પ્રોગ્રામના અમલને વિક્ષેપિત કરવાની મંજૂરી આપે છે.


In a 64-bit function, the stack space is allocated at the beginning of the function, and does not change until the end of the function.

64-bit ફંક્શનમાં, સ્ટેક સ્પેસ ફંક્શનની શરૂઆતમાં ફાળવવામાં આવે છે, અને ફંક્શનના અંત સુધી બદલાતું નથી.


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.

પુશ અને પોપ સૂચનાઓની ગેરહાજરી ફંક્શન દ્વારા સ્વીકારવામાં આવેલા પરિમાણોની સંખ્યા નક્કી કરવાનું મુશ્કેલ બનાવે છે.


Another challenge is, if the values are moved into the registers rcx and rdx before the function call, it's hard to say whether they are parameters passed to the function.

બીજો પડકાર એ છે કે, જો મૂલ્યો ફંક્શન કૉલ પહેલાં રજિસ્ટર rcx અને rdx માં ખસેડવામાં આવે છે, તો એ કહેવું મુશ્કેલ છે કે તે ફંક્શનમાં પસાર થયેલા પરિમાણો છે કે નહીં.


દૂષિત બાઈનરીઝનું ડિબગીંગ પ્રકરણ 6


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 and inspect its parameters to understand the malware functionality.

એકવાર તમને ફંક્શન પરિમાણો અને રીટર્ન મૂલ્યો ક્યાં શોધવા તે અંગેનો ખ્યાલ આવી જાય, પછી તમે API કૉલ પર બ્રેકપોઇન્ટ સેટ કરી શકો છો અને માલવેર કાર્યક્ષમતાને સમજવા માટે તેના પરિમાણોનું નિરીક્ષણ કરી શકો છો.


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

ચાલો 64-બીટ માલવેર નમૂનાનું ઉદાહરણ જોઈએ જે રજિસ્ટ્રીમાં કેટલાક મૂલ્યને સેટ કરવા માટે RegSetValueEx ને બોલાવે છે.


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

તમારે ફંક્શનમાં પસાર થયેલા પરિમાણોની તપાસ કરવા માટે રજિસ્ટર અને સ્ટેક વિન્ડોમાંના મૂલ્યોને જોવાની જરૂર પડશે.


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

x64dbg માં, ફંક્શન પરિમાણોનો ઝડપી સારાંશ મેળવવાનો સૌથી સહેલો રસ્તો ડિફોલ્ટ વિન્ડો જોવાનો છે.


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

માલવેર RegCreateKey અથવા RegOpenKey API ને બોલાવીને રજિસ્ટ્રી કી માટે હેન્ડલ ખોલી શકે છે.


From the handle information, and through inspecting the 1 st, 2 nd , and 5 th parameters, you can tell that malware modifies the registry key.

હેન્ડલ માહિતી પરથી, અને 1લા, 2જા અને 5મા પરિમાણોનું નિરીક્ષણ કરીને, તમે કહી શકો છો કે માલવેર રજિસ્ટ્રી કીમાં ફેરફાર કરે છે.


By adding logoninit.exe, along with explorer.exe, the malware makes sure that logoninit.exe is also launched by Userinit.exe; this is another type of persistence mechanism used by the malware.

logoninit.exe ઉમેરીને, explorer.exe ની સાથે, માલવેર ખાતરી કરે છે કે logoninit.exe પણ Userinit.exe દ્વારા લોન્ચ થાય છે; આ માલવેર દ્વારા ઉપયોગમાં લેવાતી સ્થિરતા પદ્ધતિનો બીજો પ્રકાર છે.


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

આગલા વિભાગમાં, તમે તેના વર્તનને નિર્ધારિત કરવા માટે દૂષિત DLL ને કેવી રીતે ડિબગ કરવું તે શીખીશું.


If you are not already familiar with the dynamic analysis of a DLL, it is highly recommended to read Section 6, Dynamic- Link Library (DLL) Analysis, from Chapter 3, Dynamic Analysis, before proceeding further.

જો તમે પહેલાથી જ DLL ના ગતિશીલ વિશ્લેષણથી પરિચિત નથી, તો આગળ વધતા પહેલા પ્રકરણ 3, ગતિશીલ વિશ્લેષણમાંથી વિભાગ 6, ડાયનેમિક-લિંક લાઇબ્રેરી (DLL) વિશ્લેષણ વાંચવાની ભારપૂર્વક ભલામણ કરવામાં આવે છે.


To debug a DLL, launch x64dbg (preferably with administrator privileges) and load the DLL (via File | Open).

DLL ને ડિબગ કરવા માટે, x64dbg લોંચ કરો (પ્રાધાન્ય એડમિનિસ્ટ્રેટર વિશેષાધિકારો સાથે) અને DLL લોડ કરો (ફાઇલ | ઓપન દ્વારા).


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

તમે 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 (via File | Open) into the debugger.

આ કરવા માટે, પ્રથમ ડિબગરમાં સિસ્ટમ32 ડિરેક્ટરીમાંથી rundll32.exe લોડ કરો (ફાઇલ | ઓપન દ્વારા).


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

તમે બ્રેકપોઇન્ટ એડ્રેસની બાજુમાંની ટિપ્પણી જોઈને, તમે દરેક વખતે (F9) ચલાવો ત્યારે એક્ઝેક્યુશન ક્યાં થોભાવ્યું છે તેનો ટ્રૅક રાખી શકો છો.


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 using a breakpoint.

માલવેર બાઈનરી માટેનું URL બ્રેકપોઇન્ટનો ઉપયોગ કરીને નક્કી કરવામાં આવે છે.


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

%TEMP% ડિરેક્ટરીમાં ડાઉનલોડ કરેલ એક્ઝિક્યુટેબલ સાચવવામાં આવે છે.


The downloader uses ShellExecuteA() to run the downloaded file.

ડાઉનલોડર ડાઉનલોડ કરેલી ફાઇલ ચલાવવા માટે ShellExecuteA() નો ઉપયોગ કરે છે.


Malware may also use WinExec() or CreateProcess() to execute the file.

માલવેર ફાઇલ ચલાવવા માટે WinExec() અથવા CreateProcess() નો પણ ઉપયોગ કરી શકે છે.


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 the resource section to store the embedded binary.

ડ્રોપર્સ ઘણીવાર એમ્બેડેડ બાઈનરીને સંગ્રહિત કરવા માટે રિસોર્સ વિભાગનો ઉપયોગ કરે છે.


The FindResource(), LoadResource(), LockResource() APIs are used.

FindResource(), LoadResource(), LockResource() API નો ઉપયોગ થાય છે.


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

રિસોર્સ હેકર રિસોર્સ વિભાગમાં PE ફાઇલની હાજરી બતાવી શકે છે.


Setting breakpoints on API calls helps in analysis.

API કૉલ્સ પર બ્રેકપોઇન્ટ સેટ કરવાથી વિશ્લેષણમાં મદદ મળે છે.


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

FindResourceA() નું રીટર્ન મૂલ્ય LoadResource() ને પસાર કરવામાં આવે છે.


The LockResource() API obtains a pointer to the actual resource.

LockResource() API વાસ્તવિક સંસાધનનો પોઇન્ટર મેળવે છે.


The size of the resource is determined using SizeofResource().

સંસાધનનું કદ SizeofResource() નો ઉપયોગ કરીને નક્કી કરવામાં આવે છે.


Malware drops a DLL on the disk using CreateFileA.

માલવેર CreateFileA નો ઉપયોગ કરીને ડિસ્ક પર DLL છોડે છે.


The extracted PE content is written to the DLL using WriteFile().

WriteFile() નો ઉપયોગ કરીને કાઢવામાં આવેલ PE સામગ્રી DLL માં લખવામાં આવે છે.


64-bit droppers use similar API functions, but parameters are in registers.

64-બીટ ડ્રોપર્સ સમાન API કાર્યોનો ઉપયોગ કરે છે, પરંતુ પરિમાણો રજિસ્ટરમાં હોય છે.


Keyloggers intercept and log keystrokes.

કીલોગર્સ કીસ્ટ્રોકને અટકાવે છે અને લોગ કરે છે.


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

હાર્ડવેર બ્રેકપોઇન્ટ સેટ કરવા માટે, હાલના બ્રેકપોઇન્ટ પર જમણું-ક્લિક કરો અને બ્રેકપોઇન્ટ સંપાદિત કરો પસંદ કરો.


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

IDA તમને ચારથી વધુ હાર્ડવેર બ્રેકપોઇન્ટ સેટ કરવાની મંજૂરી આપે છે, પરંતુ તેમાંથી ફક્ત ચાર જ કામ કરશે.


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

તમે એક્ઝિક્યુટ (મૂળભૂત), રાઇટ પર બ્રેક અથવા રીડ/રાઇટ પર બ્રેક કરવા માટે હાર્ડવેર બ્રેકપોઇન્ટનો ઉપયોગ કરી શકો છો.


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

જો તમે જાણવા માંગતા હોવ કે તમારો પ્રોગ્રામ મેમરી સ્થાનમાંથી ડેટાના ટુકડા (વાંચો/લખો) ને ક્યારે એક્સેસ કરે છે, તો આ બ્રેકપોઇન્ટ ઉપયોગી છે.


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

તમે શરત ક્ષેત્રમાં શરતનો ઉલ્લેખ કરીને શરતી બ્રેકપોઇન્ટ સેટ કરી શકો છો.


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

તમે Debugger | Breakpoints | Breakpoint List પર નેવિગેટ કરીને બધા સક્રિય બ્રેકપોઇન્ટ જોઈ શકો છો.


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

આ વિભાગમાં, અમે જોઈશું કે માલવેર બાઈનરીને ડીબગ કરવા માટે IDA નો ઉપયોગ કેવી રીતે કરવો.


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 ને બોલાવવામાં આવે છે, અને પછી પ્રોગ્રામ ચલાવીએ છીએ.


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

CreateFileW ને બોલાવ્યા પછી, ફાઇલનું હેન્ડલ eax રજિસ્ટરમાં પાછું આવશે.


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

આ કિસ્સામાં, માલવેર C:\Users\test\AppData\Local\Temp ડિરેક્ટરીમાં SHAMple.dat નામની ફાઇલ બનાવી રહ્યું છે.


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

ફાઇલ બનાવ્યા પછી, માલવેર ફાઇલ હેન્ડલને WriteFile ફંક્શનના પ્રથમ આર્ગ્યુમેન્ટ તરીકે પસાર કરે છે.


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

પ્રકરણ 3, ડાયનેમિક એનાલિસિસમાં, તમે ડાયનેમિક એનાલિસિસ કરવા માટે DLL ને એક્ઝિક્યુટ કરવાની તકનીકો શીખ્યા.


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

IDA ડીબગરનો ઉપયોગ કરીને DLL ને ડીબગ કરવા માટે, તમારે પહેલા એક્ઝિક્યુટેબલ (જેમ કે rundll32.exe) નિયુક્ત કરવાની જરૂર છે જેનો ઉપયોગ DLL લોડ કરવા માટે કરવામાં આવશે.


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

DLLMain ફંક્શનમાં પ્રથમ સૂચના પર બ્રેકપોઇન્ટ (F2) સેટ કરો.


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

તમે IDA ની નિકાસ વિન્ડોમાંથી નેવિગેટ કરીને DLL દ્વારા નિકાસ કરાયેલ કોઈપણ ફંક્શન પર બ્રેકપોઇન્ટ પણ સેટ કરી શકો છો.


In the Application field, enter the full path to the executable that is used to load the DLL (rundll32.exe).

એપ્લિકેશન ફીલ્ડમાં, એક્ઝિક્યુટેબલનો સંપૂર્ણ પાથ દાખલ કરો જેનો ઉપયોગ DLL (rundll32.exe) લોડ કરવા માટે થાય છે.


Now, you can run the program to reach the breakpoint, after which you can debug it, as you would debug any other program.

હવે, તમે બ્રેકપોઇન્ટ સુધી પહોંચવા માટે પ્રોગ્રામ ચલાવી શકો છો, ત્યારબાદ તમે તેને ડીબગ કરી શકો છો, જેમ તમે કોઈપણ અન્ય પ્રોગ્રામને ડીબગ કરશો.


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

ટ્રેસિંગ તમને કોઈ પ્રક્રિયા ચલાવતી વખતે ચોક્કસ ઇવેન્ટ્સ રેકોર્ડ (લોગ) કરવાની મંજૂરી આપે છે.


IDA supports three types of tracing: instruction tracing, function tracing, and basic block tracing.

IDA ત્રણ પ્રકારના ટ્રેસિંગને સપોર્ટ કરે છે: સૂચના ટ્રેસિંગ, ફંક્શન ટ્રેસિંગ અને બેઝિક બ્લોક ટ્રેસિંગ.


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 after exploitation.

શોષણ પછી હુમલાખોરો વધારાના ઘટકો ડાઉનલોડ કરવા માટે પાવરશેલનો ઉપયોગ કરે છે.


PowerShell allows attackers to execute code directly from memory.

પાવરશેલ હુમલાખોરોને મેમરીમાંથી સીધો કોડ ચલાવવાની મંજૂરી આપે છે.


Attackers use obfuscation techniques to make analysis harder.

હુમલાખોરો વિશ્લેષણને વધુ મુશ્કેલ બનાવવા માટે અસ્પષ્ટતા તકનીકોનો ઉપયોગ કરે છે.


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

સ્થિરતા માટે ઉપયોગમાં લેવાતી બીજી પદ્ધતિ સુનિશ્ચિત કાર્યો છે.


Malware can add itself to startup folders for persistence.

માલવેર સ્થિરતા માટે સ્ટાર્ટઅપ ફોલ્ડર્સમાં પોતાને ઉમેરી શકે છે.


Winlogon registry entries can be modified for persistence.

સ્થિરતા માટે વિનલોગન રજિસ્ટ્રી એન્ટ્રીઓમાં ફેરફાર કરી શકાય છે.


Image File Execution Options can be exploited for malicious purposes.

દૂષિત હેતુઓ માટે ઇમેજ ફાઇલ એક્ઝિક્યુશન વિકલ્પોનો ઉપયોગ કરી શકાય છે.


Accessibility programs can be misused to gain unauthorized access.

અનધિકૃત ઍક્સેસ મેળવવા માટે સુલભતા કાર્યક્રમોનો દુરુપયોગ થઈ શકે છે.


The AppInit_DLLs feature can be used for loading malicious DLLs.

દૂષિત DLLs લોડ કરવા માટે AppInit_DLLs સુવિધાનો ઉપયોગ કરી શકાય છે.


Understanding PowerShell basics is crucial for malware analysis.

માલવેર વિશ્લેષણ માટે પાવરશેલની મૂળભૂત બાબતોને સમજવી જરૂરી છે.


Attackers often use email attachments to deliver malicious code.

હુમલાખોરો ઘણીવાર દૂષિત કોડ પહોંચાડવા માટે ઇમેઇલ જોડાણોનો ઉપયોગ કરે છે.


The execution policy can be bypassed to run PowerShell scripts.

પાવરશેલ સ્ક્રિપ્ટો ચલાવવા માટે એક્ઝિક્યુશન નીતિને બાયપાસ કરી શકાય છે.


Malware uses various command-line arguments to evade detection.

માલવેર શોધને ટાળવા માટે વિવિધ કમાન્ડ-લાઇન દલીલોનો ઉપયોગ કરે છે.


The use of cmdlets and .NET APIs is common in PowerShell scripts.

પાવરશેલ સ્ક્રિપ્ટોમાં કમાન્ડલેટ્સ અને .NET APIsનો ઉપયોગ સામાન્ય છે.


Analyzing obfuscated PowerShell commands can be challenging.

અસ્પષ્ટ પાવરશેલ આદેશોનું વિશ્લેષણ કરવું પડકારજનક હોઈ શકે છે.


Always test malicious scripts in an isolated environment.

હંમેશાં એકલ વાતાવરણમાં દૂષિત સ્ક્રિપ્ટોનું પરીક્ષણ કરો.


The malware loads a malicious DLL into the process's address space.

માલવેર પ્રક્રિયાના એડ્રેસ સ્પેસમાં એક દૂષિત DLL લોડ કરે છે.


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

આ તકનીકને શોધવા માટે, AppInit_DLLs રજિસ્ટ્રી મૂલ્યમાં શંકાસ્પદ એન્ટ્રીઓ શોધો.


Adversaries can take advantage of how the operating system searches for DLLs.

વિરોધીઓ ઓપરેટિંગ સિસ્ટમ DLLs ને કેવી રીતે શોધે છે તેનો લાભ લઈ શકે છે.


The malicious DLL is loaded by explorer.exe from the C:\Windows directory.

દૂષિત DLL C:\Windows ડિરેક્ટરીમાંથી explorer.exe દ્વારા લોડ થાય છે.


The DLL search order hijack technique makes forensic analysis harder.

DLL શોધ ક્રમ હાઇજેક તકનીક ફોરેન્સિક વિશ્લેષણને વધુ મુશ્કેલ બનાવે છે.


COM hijacking allows an adversary to persist on the system.

COM હાઇજેકિંગ પ્રતિસ્પર્ધીને સિસ્ટમ પર ટકી રહેવાની મંજૂરી આપે છે.


An attacker modifies the registry entry of a legitimate COM object.

એક હુમલાખોર કાયદેસર COM ઑબ્જેક્ટની રજિસ્ટ્રી એન્ટ્રીમાં ફેરફાર કરે છે.


The malware sets a registry value in HKCU\Software\Classes\CLSID.

માલવેર HKCU\Software\Classes\CLSID માં રજિસ્ટ્રી મૂલ્ય સેટ કરે છે.


The COM hijacking technique evades detection from most traditional tools.

COM હાઇજેકિંગ તકનીક મોટાભાગના પરંપરાગત સાધનોથી શોધને ટાળે છે.


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

એક સેવા એ એક પ્રોગ્રામ છે જે કોઈપણ વપરાશકર્તા ઇન્ટરફેસ વિના પૃષ્ઠભૂમિમાં ચાલે છે.


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

એક પ્રતિસ્પર્ધી દૂષિત પ્રોગ્રામને સેવા તરીકે ઇન્સ્ટોલ કરીને સિસ્ટમ પર ટકી શકે છે.


Windows stores the list of installed services in the registry.

વિન્ડોઝ રજિસ્ટ્રીમાં ઇન્સ્ટોલ કરેલી સેવાઓની યાદી સંગ્રહિત કરે છે.


An attacker can create services in many ways, including using the sc utility.

એક હુમલાખોર ઘણી રીતે સેવાઓ બનાવી શકે છે, જેમાં sc ઉપયોગિતાનો ઉપયોગ શામેલ છે.


Malware can invoke cmd.exe and run sc commands to create and start a service.

માલવેર cmd.exe ને બોલાવી શકે છે અને સેવા બનાવવા અને શરૂ કરવા માટે sc આદેશો ચલાવી શકે છે.


A service can also be created using PowerShell and WMI.

પાવરશેલ અને WMI નો ઉપયોગ કરીને પણ સેવા બનાવી શકાય છે.


An adversary can modify an existing service to persist on the system.

એક પ્રતિસ્પર્ધી સિસ્ટમ પર ટકી રહેવા માટે હાલની સેવામાં ફેરફાર કરી શકે છે.


Monitor changes to service registry entries that are not associated with legitimate programs.

કાયદેસર પ્રોગ્રામ્સ સાથે સંકળાયેલ ન હોય તેવી સેવા રજિસ્ટ્રી એન્ટ્રીઓમાં ફેરફારોનું નિરીક્ષણ કરો.


Malware uses various API calls to interact with the system.

માલવેર સિસ્ટમ સાથે ક્રિયાપ્રતિક્રિયા કરવા માટે વિવિધ API કૉલ્સનો ઉપયોગ કરે છે.


In this chapter, you will learn how malicious programs inject code into another process.

આ પ્રકરણમાં, તમે શીખીશું કે દૂષિત પ્રોગ્રામ્સ અન્ય પ્રક્રિયામાં કોડ કેવી રીતે દાખલ કરે છે.


The technique of injecting malicious code is called code injection.

દૂષિત કોડ દાખલ કરવાની તકનીકને કોડ ઇન્જેક્શન કહેવામાં આવે છે.


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.

કર્નલ લો-લેવલ ઓપરેટિંગ સિસ્ટમ સેવાઓનો અમલ કરે છે.


Win32K.sys implements UI and graphics device interface (GDI) services.

Win32K.sys UI અને ગ્રાફિક્સ ડિવાઇસ ઇન્ટરફેસ (GDI) સેવાઓનો અમલ કરે છે.


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 યુઝર-સ્પેસ અને કર્નલ સ્પેસ વચ્ચેના ગેટવે તરીકે કામ કરે છે.


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

વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ DLL માં લાગુ કરાયેલ API ને એક્સપોઝ કરીને સેવાઓ પૂરી પાડે છે.


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

એપ્લિકેશન DLL માં લાગુ કરાયેલ API ને બોલાવીને સેવાનો ઉપયોગ કરે છે.


શિમ કોડ 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.

GetVersion() API નો ઉપયોગ OS નક્કી કરવા માટે થાય છે.


The application might not work on a newer OS.

એપ્લિકેશન નવા OS પર કામ ન કરી શકે.


A shim can make the application compatible.

એક શિમ એપ્લિકેશનને સુસંગત બનાવી શકે છે.


શિમ એન્જિન API કૉલ્સને અટકાવે છે.


શિમ એપ્લિકેશનોને છેતરી શકે છે.


માઈક્રોસોફ્ટ ઘણા શિમ્સ પ્રદાન કરે છે.


આક્રમણકારો શિમ્સનો દુરુપયોગ કરી શકે છે.


શિમ્સનો ઉપયોગ સ્થિરતા માટે થઈ શકે છે.


શિમ બનાવવામાં ઘણાં પગલાં સામેલ છે.


You need administrator rights to install a shim.

શિમ ઇન્સ્ટોલ કરવા માટે તમારે એડમિનિસ્ટ્રેટર અધિકારોની જરૂર છે.


The Application Compatibility Toolkit is used.

એપ્લિકેશન સુસંગતતા ટૂલકીટનો ઉપયોગ થાય છે.


શિમ માટે એપ્લિકેશન પસંદ કરો.


Create a shim database for the application.

એપ્લિકેશન માટે શિમ ડેટાબેઝ બનાવો.


શિમ ડેટાબેઝને સાચવો અને ઇન્સ્ટોલ કરો.


The malware decrypts file names during runtime.

માલવેર રનટાઇમ દરમિયાન ફાઇલના નામોને ડિક્રિપ્ટ કરે છે.


Attackers use packers to obfuscate executables.

આક્રમણકારો એક્ઝિક્યુટેબલને અસ્પષ્ટ કરવા માટે પેકર્સનો ઉપયોગ કરે છે.


A packer compresses and transforms an executable.

એક પેકર એક્ઝિક્યુટેબલને સંકુચિત કરે છે અને રૂપાંતરિત કરે છે.


The OEP is the malware's first instruction.

OEP એ માલવેરનું પ્રથમ સૂચન છે.


આપણે ડિબગીંગ માટે x64dbg નો ઉપયોગ કરીશું.


પ્રક્રિયાની મેમરીને ડમ્પ કરવા માટે સિલાનો ઉપયોગ થાય છે.


આયાત કોષ્ટકને ઠીક કરવું મહત્વપૂર્ણ છે.


Automated unpacking tools can save time.

ઓટોમેટેડ અનપેકિંગ ટૂલ્સ સમય બચાવી શકે છે.


ટાઇટનમિસ્ટ અનપેકિંગ માટેનું એક સાધન છે.


Memory forensics helps in malware analysis.

મેમરી ફોરેન્સિક્સ માલવેર વિશ્લેષણમાં મદદ કરે છે.


Memory acquisition involves dumping memory.

મેમરી એક્વિઝિશનમાં મેમરી ડમ્પિંગ શામેલ છે.


ડમ્પઇટ એ મેમરી એક્વિઝિશન ટૂલ છે.


તમે કોમે ટૂલકીટ ડાઉનલોડ કરી શકો છો.


એક એડમિનિસ્ટ્રેટર તરીકે ડમ્પઇટ ચલાવો.


આઉટપુટ .dmp ફાઇલ તરીકે સાચવવામાં આવે છે.


Use the /o option to specify the output file.

આઉટપુટ ફાઇલ સ્પષ્ટ કરવા માટે /o વિકલ્પનો ઉપયોગ કરો.


Memory forensics is used in incident response.

મેમરી ફોરેન્સિક્સનો ઉપયોગ ઘટના પ્રતિભાવમાં થાય છે.


માલવેર લેખકો તેમના કોડને છુપાવવાનો પ્રયાસ કરે છે.


Understanding packers is essential for analysis.

વિશ્લેષણ માટે પેકર્સને સમજવું જરૂરી છે.


The malware uses encryption to hide data.

માલવેર ડેટાને છુપાવવા માટે એન્ક્રિપ્શનનો ઉપયોગ કરે છે.


To help you understand, let's suppose that an attacker wants to hook the DeleteFileA() function call made by a legitimate application.

તમને સમજવામાં મદદ કરવા માટે, ચાલો ધારીએ કે કોઈ હુમલાખોર કાયદેસર એપ્લિકેશન દ્વારા કરવામાં આવેલ DeleteFileA() ફંક્શન કૉલને હૂક કરવા માંગે છે.


Normally, when the legitimate application's thread encounters the call to DeleteFileA(), the thread starts executing from the start of the DeleteFileA() function.

સામાન્ય રીતે, જ્યારે કાયદેસર એપ્લિકેશનનો થ્રેડ DeleteFileA() ને કૉલનો સામનો કરે છે, ત્યારે થ્રેડ DeleteFileA() ફંક્શનની શરૂઆતથી અમલ કરવાનું શરૂ કરે છે.


To replace the first few instructions of a function with a jump, the malware needs to choose which instructions to replace.

ફંક્શનની પ્રથમ કેટલીક સૂચનાઓને જમ્પથી બદલવા માટે, માલવેરે કઈ સૂચનાઓને બદલવી તે પસંદ કરવાની જરૂર છે.


The jmp instruction requires at least 5 bytes, so the malware needs to choose instructions that occupy 5 bytes or more.

jmp સૂચનાને ઓછામાં ઓછા 5 બાઇટ્સની જરૂર છે, તેથી માલવેરે એવી સૂચનાઓ પસંદ કરવાની જરૂર છે જે 5 બાઇટ્સ અથવા વધુ જગ્યા રોકે છે.


In the preceding diagram, it is safe to replace the first three instructions, because they take up exactly 5 bytes.

પહેલાના આકૃતિમાં, પ્રથમ ત્રણ સૂચનાઓને બદલવી સલામત છે, કારણ કે તે બરાબર 5 બાઇટ્સ લે છે.


The three instructions to be replaced in DeleteFileA() are copied, and then replaced with a jump statement of some sort, which transfers control to the malicious function.

DeleteFileA() માં બદલવાની ત્રણ સૂચનાઓની નકલ કરવામાં આવે છે, અને પછી તેને કોઈક પ્રકારના જમ્પ સ્ટેટમેન્ટથી બદલવામાં આવે છે, જે નિયંત્રણને દૂષિત કાર્યમાં સ્થાનાંતરિત કરે છે.


The malicious function does what it wants to do, and then executes the original three instructions of DeleteFileA() and jumps back to the address that lies below the patch.

દૂષિત કાર્ય તે જે કરવા માંગે છે તે કરે છે, અને પછી DeleteFileA() ની મૂળ ત્રણ સૂચનાઓ ચલાવે છે અને પેચની નીચે રહેલા સરનામા પર પાછું કૂદી જાય છે.


The replaced instructions, along with the jump statement that returns to the target function, are known as the trampoline.

બદલાયેલી સૂચનાઓ, લક્ષ્ય કાર્ય પર પાછા ફરતા જમ્પ સ્ટેટમેન્ટ સાથે, ટ્રેમ્પોલિન તરીકે ઓળખાય છે.


This technique can be detected by looking for unexpected jump instructions at the start of the API function.

આ તકનીક API ફંક્શનની શરૂઆતમાં અણધારી જમ્પ સૂચનાઓ શોધીને શોધી શકાય છે.


Instead of using a jmp instruction, malware may use a call instruction, or a combination of push and ret instructions, to redirect control.

jmp સૂચનાનો ઉપયોગ કરવાને બદલે, માલવેર કંટ્રોલને રીડાયરેક્ટ કરવા માટે કૉલ સૂચના અથવા પુશ અને રિટ સૂચનાઓનું સંયોજન વાપરી શકે છે.


With an understanding of inline hooking, let's take a look at an example of malware (Zeus Bot) using this technique.

ઇનલાઇન હૂકિંગની સમજ સાથે, ચાલો આ તકનીકનો ઉપયોગ કરતા માલવેર (ઝિયસ બોટ) ના ઉદાહરણ પર એક નજર કરીએ.


Zeus bot hooks various API functions; one of them is the HttpSendRequestA() in Internet Explorer (iexplore.exe).

ઝિયસ બોટ વિવિધ API કાર્યોને હૂક કરે છે; તેમાંથી એક ઇન્ટરનેટ એક્સપ્લોરર (iexplore.exe) માં HttpSendRequestA() છે.


By hooking this function, the malware can extract credentials from the POST payload.

આ ફંક્શનને હૂક કરીને, માલવેર POST પેલોડમાંથી ઓળખપત્રો કાઢી શકે છે.


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

હૂકિંગ કરતા પહેલા, દૂષિત એક્ઝિક્યુટેબલને ઇન્ટરનેટ એક્સપ્લોરરના એડ્રેસ સ્પેસમાં ઇન્જેક્ટ કરવામાં આવે છે.


After injecting the executable, HttpSendRequestA() is hooked to redirect the program control to one of the malicious functions within the injected executable.

એક્ઝિક્યુટેબલને ઇન્જેક્ટ કર્યા પછી, પ્રોગ્રામ કંટ્રોલને ઇન્જેક્ટ કરેલા એક્ઝિક્યુટેબલની અંદરના દૂષિત કાર્યોમાંથી એક પર રીડાયરેક્ટ કરવા માટે HttpSendRequestA() ને હૂક કરવામાં આવે છે.


The first three instructions are replaced with the jmp instruction.

પ્રથમ ત્રણ સૂચનાઓને jmp સૂચનાથી બદલવામાં આવે છે.


In inline hooking, we saw how the series of bytes in a function are patched to redirect control to malicious code.

ઇનલાઇન હૂકિંગમાં, આપણે જોયું કે ફંક્શનમાં બાઇટ્સની શ્રેણીને દૂષિત કોડ પર નિયંત્રણને રીડાયરેક્ટ કરવા માટે કેવી રીતે પેચ કરવામાં આવે છે.


It is possible to perform in-memory patching using the application compatibility shim.

એપ્લિકેશન સુસંગતતા શિમનો ઉપયોગ કરીને ઇન-મેમરી પેચિંગ કરવું શક્ય છે.


Microsoft uses the feature of in-memory patching to apply patches to fix vulnerabilities in their products.

માઈક્રોસોફ્ટ તેમના ઉત્પાદનોમાં નબળાઈઓને ઠીક કરવા માટે પેચ લાગુ કરવા માટે ઇન-મેમરી પેચિંગની સુવિધાનો ઉપયોગ કરે છે.


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

માલવેર લેખકોએ કોડ ઇન્જેક્ટ કરવા અને API કાર્યોને હૂક કરવા માટે ઇન-મેમરી પેચિંગનો ઉપયોગ કર્યો છે.


Malware authors often use simple encoding techniques to obscure data.

માલવેરના લેખકો ઘણીવાર ડેટાને અસ્પષ્ટ કરવા માટે સરળ એન્કોડિંગ તકનીકોનો ઉપયોગ કરે છે.


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 કરવામાં આવે છે.


If an attacker wants to encrypt plaintext cat with a key of 0x40, then each character (byte) from the text is XORed with 0x40.

જો કોઈ હુમલાખોર 0x40 ની કી સાથે સાદા લખાણ બિલાડીને એન્ક્રિપ્ટ કરવા માંગે છે, તો પછી ટેક્સ્ટમાંથી દરેક અક્ષર (બાઈટ) ને 0x40 સાથે 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 એન્કોડિંગ અલ્ગોરિધમને સમજીને, ચાલો કીલોગરના ઉદાહરણ પર એક નજર કરીએ.


When this sample is executed, it logs the keystrokes, and it opens a file.

જ્યારે આ નમૂનો ચલાવવામાં આવે છે, ત્યારે તે કીસ્ટ્રોકને લોગ કરે છે, અને તે એક ફાઇલ ખોલે છે.


The enc_function takes two arguments; the 1st argument is the buffer containing the data to encrypt, and the 2nd argument is the length of the buffer.

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.

જો તમે ડિક્રિપ્ટેડ ડેટામાં શું શોધવું તે જાણો છો તો આ તકનીક ઉપયોગી છે.


Let's assume that this ciphertext is exfiltrated in a C2 communication.

ચાલો ધારીએ કે આ સાયફરટેક્સ્ટ C2 સંચારમાં બહાર કાઢવામાં આવે છે.


Now, to determine the key used to encrypt the ciphertext, you can either analyze the encryption function or brute-force it.

હવે, સાયફરટેક્સ્ટને એન્ક્રિપ્ટ કરવા માટે વપરાતી કી નક્કી કરવા માટે, તમે એન્ક્રિપ્શન ફંક્શનનું વિશ્લેષણ કરી શકો છો અથવા તેને બ્રુટ-ફોર્સ કરી શકો છો.


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 કરવામાં આવે છે, ત્યારે તમને કી પાછી મળે છે.


To avoid the null byte problem, malware authors ignore the null byte and the encryption key during encryption.

શૂન્ય બાઈટની સમસ્યાને ટાળવા માટે, માલવેર લેખકો એન્ક્રિપ્શન દરમિયાન શૂન્ય બાઈટ અને એન્ક્રિપ્શન કીને અવગણે છે.


Attackers commonly use multi-byte XOR because it provides better defense against the brute-force technique.

હુમલાખોરો સામાન્ય રીતે મલ્ટિ-બાઈટ XOR નો ઉપયોગ કરે છે કારણ કે તે બ્રુટ-ફોર્સ તકનીક સામે વધુ સારી સુરક્ષા પૂરી પાડે છે.


The standalone executable is distributed for Windows, macOS, and Linux operating systems.

સ્ટેન્ડઅલોન એક્ઝિક્યુટેબલ વિન્ડોઝ, macOS અને Linux ઓપરેટિંગ સિસ્ટમ માટે વિતરિત કરવામાં આવે છે.


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

વોલેટિલિટી એ પાયથોનમાં લખાયેલું એક ઓપન સોર્સ એડવાન્સ્ડ મેમરી ફોરેન્સિક્સ ફ્રેમવર્ક છે.


Once you acquire the memory of an infected system, the next step is to analyze the acquired memory image.

એકવાર તમે ચેપગ્રસ્ત સિસ્ટમની મેમરી મેળવી લો, પછીનું પગલું એ મેળવેલી મેમરી ઇમેજનું વિશ્લેષણ કરવાનું છે.


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

સહાય વિકલ્પ વોલેટિલિટીમાં ઉપલબ્ધ વિવિધ વિકલ્પો અને પ્લગઇન્સ દર્શાવે છે.


You can install these dependencies by reading the documentation.

તમે દસ્તાવેજીકરણ વાંચીને આ નિર્ભરતા સ્થાપિત કરી શકો છો.


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

વોલેટિલિટીમાં વિવિધ પ્લગઇન્સ છે જે મેમરી ઇમેજમાંથી વિવિધ માહિતી કાઢી શકે છે.


For instance, if you wish to list the running processes from the memory image, you can use a plugin such a pslist.

ઉદાહરણ તરીકે, જો તમે મેમરી ઇમેજમાંથી ચાલી રહેલી પ્રક્રિયાઓની યાદી બનાવવા માંગો છો, તો તમે pslist જેવા પ્લગઇનનો ઉપયોગ કરી શકો છો.


Using -f, you specify the path to the memory image file, and --profile tells Volatility which system and architecture the memory image was acquired from.

-f નો ઉપયોગ કરીને, તમે મેમરી ઇમેજ ફાઇલનો પાથ સ્પષ્ટ કરો છો, અને --profile વોલેટિલિટીને જણાવે છે કે મેમરી ઇમેજ કયા સિસ્ટમ અને આર્કિટેક્ચર પરથી મેળવવામાં આવી હતી.


The following command uses the pslist plugin to list the running processes from the memory image acquired from Windows 7 (32-bit) running Service Pack 1:

નીચેનો આદેશ વિન્ડોઝ 7 (32-બીટ) માંથી મેળવેલી મેમરી ઇમેજમાંથી ચાલી રહેલી પ્રક્રિયાઓની યાદી બનાવવા માટે pslist પ્લગઇનનો ઉપયોગ કરે છે જે સર્વિસ પેક 1 ચલાવે છે:


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

કેટલીકવાર, તમને ખબર ન હોઈ શકે કે વોલેટિલિટીને કયું પ્રોફાઇલ આપવું.


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

તે કિસ્સામાં, તમે imageinfo પ્લગઇનનો ઉપયોગ કરી શકો છો, જે સાચું પ્રોફાઇલ નક્કી કરશે.


Most of the Volatility plugins, such as pslist, rely on extracting the information from the Windows operating system structures.

મોટાભાગના વોલેટિલિટી પ્લગઇન્સ, જેમ કે pslist, વિન્ડોઝ ઓપરેટિંગ સિસ્ટમ સ્ટ્રક્ચર્સમાંથી માહિતી કાઢવા પર આધાર રાખે છે.


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

સહાય વિકલ્પ, -h (--help), જે તમે અગાઉ જોયું હતું, તે મદદ દર્શાવે છે જે તમામ વોલેટિલિટી પ્લગઇન્સને લાગુ પડે છે.


You can use the same -h (--help) option to determine various options and arguments supported by a plugin.

તમે પ્લગઇન દ્વારા સપોર્ટેડ વિવિધ વિકલ્પો અને દલીલો નક્કી કરવા માટે તે જ -h (--help) વિકલ્પનો ઉપયોગ કરી શકો છો.


At this point, you should have an understanding of how to run Volatility plugins on an acquired memory image and how to determine various options supported by a plugin.

આ બિંદુએ, તમારી પાસે એ સમજ હોવી જોઈએ કે મેળવેલી મેમરી ઇમેજ પર વોલેટિલિટી પ્લગઇન્સ કેવી રીતે ચલાવવા અને પ્લગઇન દ્વારા સપોર્ટેડ વિવિધ વિકલ્પો કેવી રીતે નક્કી કરવા.


When you are investigating a memory image, you will mainly focus on identifying any suspicious process running on the system.

જ્યારે તમે મેમરી ઇમેજની તપાસ કરી રહ્યાં હોવ, ત્યારે તમે મુખ્યત્વે સિસ્ટમ પર ચાલી રહેલી કોઈપણ શંકાસ્પદ પ્રક્રિયાને ઓળખવા પર ધ્યાન કેન્દ્રિત કરશો.


Volatility's pslist plugin lists the processes from the memory image, similar to how task manager lists the process on a live system.

વોલેટિલિટીનું pslist પ્લગઇન મેમરી ઇમેજમાંથી પ્રક્રિયાઓની યાદી બનાવે છે, જે રીતે ટાસ્ક મેનેજર લાઇવ સિસ્ટમ પર પ્રક્રિયાઓની યાદી બનાવે છે તેના જેવું જ છે.


The reason why these two processes are suspicious is that the names of these processes have an additional dot character before the .exe extension (which is abnormal).

આ બે પ્રક્રિયાઓ શંકાસ્પદ હોવાનું કારણ એ છે કે આ પ્રક્રિયાઓના નામોમાં .exe એક્સ્ટેંશન પહેલાં એક વધારાનું ડોટ કેરેક્ટર છે (જે અસામાન્ય છે).


On a clean system, you will find multiple instances of svchost.exe processes running.

સ્વચ્છ સિસ્ટમ પર, તમને svchost.exe પ્રક્રિયાઓના બહુવિધ ઉદાહરણો ચાલતા જોવા મળશે.


By creating a process such as svchost..exe and suchost..exe, the attacker is trying to blend in by making these processes look similar to the legitimate svchost.exe process.

svchost..exe અને suchost..exe જેવી પ્રક્રિયા બનાવીને, હુમલાખોર આ પ્રક્રિયાઓને કાયદેસરની svchost.exe પ્રક્રિયા જેવી જ દેખાડીને ભળવાનો પ્રયાસ કરી રહ્યો છે.


Using DKOM, it is possible to hide a process or a driver.

DKOMનો ઉપયોગ કરીને, કોઈ પ્રક્રિયા અથવા ડ્રાઇવરને છુપાવવાનું શક્ય છે.


To hide a process, an attacker finds the _EPROCESS structure of the malicious process he/she wants to hide and modifies the ActiveProcessLinks field.

પ્રક્રિયાને છુપાવવા માટે, હુમલાખોર દૂષિત પ્રક્રિયાનું _EPROCESS માળખું શોધે છે જેને તે છુપાવવા માંગે છે અને ActiveProcessLinks ક્ષેત્રમાં ફેરફાર કરે છે.


In particular, the Flink of the previous _EPROCESS block is made to point to the Flink of the following _EPROCESS block, and the Blink of the following _EPROCESS block is set to point to the previous _EPROCESS block's Flink.

ખાસ કરીને, અગાઉના _EPROCESS બ્લોકનું Flink, પછીના _EPROCESS બ્લોકના Flink તરફ નિર્દેશિત કરવા માટે બનાવવામાં આવે છે, અને પછીના _EPROCESS બ્લોકનું Blink અગાઉના _EPROCESS બ્લોકના Flink તરફ નિર્દેશિત કરવા માટે સેટ કરવામાં આવે છે.


As a result of this, the _EPROCESS block associated with the malware process is unlinked from the doubly linked list.

આના પરિણામે, માલવેર પ્રક્રિયા સાથે સંકળાયેલ _EPROCESS બ્લોકને ડબલી લિંક્ડ લિસ્ટમાંથી અનલિંક કરવામાં આવે છે.


By unlinking a process, an attacker can hide the malicious process from the live forensic tools that rely on walking the doubly linked list to enumerate the active processes.

પ્રક્રિયાને અનલિંક કરીને, હુમલાખોર દૂષિત પ્રક્રિયાને જીવંત ફોરેન્સિક ટૂલ્સથી છુપાવી શકે છે જે સક્રિય પ્રક્રિયાઓની ગણતરી કરવા માટે ડબલી લિંક્ડ લિસ્ટમાં ચાલે છે.


As you might have guessed, this technique also hides the malicious process from the pslist plugin.

જેમ તમે અનુમાન લગાવ્યું હશે, આ તકનીક pslist પ્લગઇનથી પણ દૂષિત પ્રક્રિયાને છુપાવે છે.


The following is the pslist and psscan output from a system infected with the prolaco rootkit, which performs DKOM to hide a process.

નીચે આપેલું pslist અને psscan આઉટપુટ પ્રોલાકો રૂટકિટથી સંક્રમિત સિસ્ટમનું છે, જે પ્રક્રિયાને છુપાવવા માટે DKOM કરે છે.


For the sake of brevity, some of the entries are truncated from the following output.

સંક્ષિપ્તતા ખાતર, નીચેના આઉટપુટમાંથી કેટલીક એન્ટ્રીઓ કાપવામાં આવી છે.


When you compare the output from pslist and psscan, you will notice an additional process called nvid.exe (pid 1700) in the psscan output that's not present in the pslist.

જ્યારે તમે pslist અને psscanના આઉટપુટની સરખામણી કરો છો, ત્યારે તમે psscan આઉટપુટમાં nvid.exe (pid 1700) નામની વધારાની પ્રક્રિયા જોશો જે pslist માં હાજર નથી.


The reason psscan detects the hidden process is that it uses a different technique to list the processes, called pool tag scanning.

psscan છુપાયેલી પ્રક્રિયાને શોધી કાઢે છે તેનું કારણ એ છે કે તે પ્રક્રિયાઓની યાદી બનાવવા માટે એક અલગ તકનીકનો ઉપયોગ કરે છે, જેને પૂલ ટેગ સ્કેનિંગ કહેવામાં આવે છે.


Every executive object has a structure associated with it (such as _EPROCESS for process object).

દરેક એક્ઝિક્યુટિવ ઑબ્જેક્ટ સાથે એક માળખું સંકળાયેલું છે (જેમ કે પ્રક્રિયા ઑબ્જેક્ટ માટે _EPROCESS).


The executive object structure is preceded by a _OBJECT_HEADER structure, which contains information about an object's type and some reference counters.

એક્ઝિક્યુટિવ ઑબ્જેક્ટ સ્ટ્રક્ચરની પહેલાં _OBJECT_HEADER સ્ટ્રક્ચર આવે છે, જેમાં ઑબ્જેક્ટના પ્રકાર અને કેટલાક સંદર્ભ કાઉન્ટર્સ વિશેની માહિતી છે.


To store an object, memory is needed, and this memory is allocated by the Windows memory manager from kernel pools.

ઑબ્જેક્ટ સંગ્રહિત કરવા માટે, મેમરીની જરૂર છે, અને આ મેમરી વિન્ડોઝ મેમરી મેનેજર દ્વારા કર્નલ પૂલમાંથી ફાળવવામાં આવે છે.


The pool is divided into a paged pool (whose content may be swapped to disk) and a non-paged pool (whose content permanently resides in memory).

પૂલને પેજ્ડ પૂલ (જેની સામગ્રી ડિસ્ક પર સ્વેપ થઈ શકે છે) અને નોન-પેજ્ડ પૂલ (જેની સામગ્રી કાયમી ધોરણે મેમરીમાં રહે છે) માં વિભાજિત કરવામાં આવે છે.


The objects (such as process and threads) are kept in a non-paged pool in the kernel, which means they will always reside in the physical memory.

ઑબ્જેક્ટ્સ (જેમ કે પ્રક્રિયા અને થ્રેડ) કર્નલમાં નોન-પેજ્ડ પૂલમાં રાખવામાં આવે છે, જેનો અર્થ છે કે તે હંમેશા ભૌતિક મેમરીમાં રહેશે.


When the Windows kernel receives the request to create an object (possibly due to API calls made by processes such as CreateProcess or CreateFile), memory is allocated for the object either from the paged pool or non-paged pool (depending on the object type).

જ્યારે વિન્ડોઝ કર્નલ ઑબ્જેક્ટ બનાવવા માટેની વિનંતી મેળવે છે (કદાચ CreateProcess અથવા CreateFile જેવી પ્રક્રિયાઓ દ્વારા કરવામાં આવેલી API કૉલ્સને કારણે), ત્યારે ઑબ્જેક્ટ માટે મેમરી પેજ્ડ પૂલ અથવા નોન-પેજ્ડ પૂલમાંથી ફાળવવામાં આવે છે (ઑબ્જેક્ટના પ્રકાર પર આધાર રાખીને).


This allocation is tagged by prepending a _POOL_HEADER structure to the object, so that in memory, each object will have a predictable structure.

આ ફાળવણી ઑબ્જેક્ટમાં _POOL_HEADER સ્ટ્રક્ચરને ઉમેરીને ટૅગ કરવામાં આવે છે, જેથી મેમરીમાં, દરેક ઑબ્જેક્ટનું અનુમાનિત માળખું હશે.


The _POOL_HEADER structure includes a field named PoolTag that contains a four-byte tag (referred to as a pool tag).

_POOL_HEADER સ્ટ્રક્ચરમાં PoolTag નામનું એક ક્ષેત્ર શામેલ છે જેમાં ચાર-બાઇટ ટૅગ છે (જેને પૂલ ટૅગ તરીકે ઓળખવામાં આવે છે).


For the process object, the tag is Proc and for the File object, the tag is File, and so on.

પ્રક્રિયા ઑબ્જેક્ટ માટે, ટૅગ Proc છે અને ફાઇલ ઑબ્જેક્ટ માટે, ટૅગ File છે, વગેરે.


It is this tag that the Volatility's psscan uses as the starting point to identify the process object.

આ તે ટૅગ છે જેનો ઉપયોગ વોલેટિલિટીનું psscan પ્રક્રિયા ઑબ્જેક્ટને ઓળખવા માટે પ્રારંભિક બિંદુ તરીકે કરે છે.


The second node describes a memory range.

બીજો નોડ મેમરીની શ્રેણીનું વર્ણન કરે છે.


This malware injects code into explorer.exe.

આ માલવેર explorer.exe માં કોડ દાખલ કરે છે.


To detect code injection, we can look for memory ranges.

કોડ ઇન્જેક્શન શોધવા માટે, અમે મેમરી રેન્જ શોધી શકીએ છીએ.


The memory protection of PAGE_EXECUTE_READWRITE is a clear indication.

PAGE_EXECUTE_READWRITE નું મેમરી પ્રોટેક્શન એક સ્પષ્ટ સંકેત છે.


Sometimes, displaying the contents of a memory region may not be enough.

કેટલીકવાર, મેમરી ક્ષેત્રની સામગ્રી પ્રદર્શિત કરવી પૂરતી ન હોઈ શકે.


If you suspect that the memory region contains a shellcode, you can use dis command.

જો તમને શંકા છે કે મેમરી ક્ષેત્રમાં શેલકોડ છે, તો તમે ડિસ કમાન્ડનો ઉપયોગ કરી શકો છો.


After you have identified the injected code, you may want to dump it to disk.

એકવાર તમે દાખલ કરેલા કોડને ઓળખી લીધા પછી, તમે તેને ડિસ્ક પર ડમ્પ કરવા માગી શકો છો.


Some malware programs use stealth techniques to bypass detection.

કેટલાક માલવેર પ્રોગ્રામ્સ ડિટેક્શનને બાયપાસ કરવા માટે સ્ટીલ્થ તકનીકોનો ઉપયોગ કરે છે.


There is another Volatility plugin named malfind.

માલફાઇન્ડ નામનું બીજું વોલેટિલિટી પ્લગઇન છે.


Hollow Process Injection is also a code injection technique.

હોલો પ્રોસેસ ઇન્જેક્શન પણ એક કોડ ઇન્જેક્શન તકનીક છે.


Process A starts the legitimate process B, in the suspended mode.

પ્રક્રિયા A, કાયદેસર પ્રક્રિયા B ને સસ્પેન્ડ મોડમાં શરૂ કરે છે.


Malware can determine the base address by reading the PEB.

માલવેર PEB વાંચીને બેઝ એડ્રેસ નક્કી કરી શકે છે.


Process A then deallocates the executable section of the legitimate process.

પછી પ્રક્રિયા A કાયદેસર પ્રક્રિયાના એક્ઝિક્યુટેબલ વિભાગને ડીએલોકેટ કરે છે.


Stuxnet creates the legitimate lsass.exe process in the suspended mode.

Stuxnet સસ્પેન્ડ મોડમાં કાયદેસર lsass.exe પ્રક્રિયા બનાવે છે.


To detect hollow process injection, you can look for the discrepancies.

હોલો પ્રોસેસ ઇન્જેક્શન શોધવા માટે, તમે વિસંગતિઓ શોધી શકો છો.


The process listing shows multiple instances of the svchost.exe process.

પ્રક્રિયાની યાદી svchost.exe પ્રક્રિયાના બહુવિધ ઉદાહરણો દર્શાવે છે.


The dlllist plugin shows the full path to svchost.exe.

dlllist પ્લગઇન svchost.exe નો સંપૂર્ણ પાથ દર્શાવે છે.


Attackers use different variations of hollow process injection.

આક્રમણકારો હોલો પ્રોસેસ ઇન્જેક્શનની વિવિધ ભિન્નતાનો ઉપયોગ કરે છે.


Malware can hook API calls to control execution.

માલવેર એક્ઝિક્યુશનને નિયંત્રિત કરવા માટે API કૉલ્સને હૂક કરી શકે છે.


The details of API hooking are discussed in the following sections.

API હૂકિંગની વિગતો નીચેના વિભાગોમાં ચર્ચા કરવામાં આવી છે.


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 યાદીઓમાંથી મોડ્યુલની માહિતીની સરખામણી કર્નલ મેમરીમાં રહેલી ડેટા સ્ટ્રક્ચર સાથે કરે છે જેને VADs તરીકે ઓળખવામાં આવે છે.


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 નોડ્સ પ્રોસેસ મેમરી રેન્જનું વર્ણન કરશે, જેમાં DLLs જેવા મેપ કરેલા એક્ઝિક્યુટેબલ ઇમેજ ધરાવતા લોકોનો પણ સમાવેશ થાય છે.


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 યાદીઓથી છુપાયેલું છે.


After you have identified the malicious process or DLL, you may want to dump it for further investigation.

એકવાર તમે દૂષિત પ્રક્રિયા અથવા DLL ને ઓળખી લીધા પછી, તમે વધુ તપાસ માટે તેને ડમ્પ કરવા માગી શકો છો.


To dump a process executable from memory to disk, you can use the procdump plugin.

મેમરીમાંથી ડિસ્ક પર પ્રોસેસ એક્ઝિક્યુટેબલને ડમ્પ કરવા માટે, તમે procdump પ્લગઇનનો ઉપયોગ કરી શકો છો.


To dump the process executable, you need to know either its process ID or its physical offset.

પ્રોસેસ એક્ઝિક્યુટેબલને ડમ્પ કરવા માટે, તમારે તેના પ્રોસેસ ID અથવા તેના ભૌતિક ઓફસેટને જાણવાની જરૂર છે.


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.

પ્રી-વિસ્ટા સિસ્ટમ્સ પર સક્રિય નેટવર્ક કનેક્શન નક્કી કરવા માટે, તમે કનેક્શન પ્લગઇનનો ઉપયોગ કરી શકો છો.


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

કેટલીકવાર, તમે ખુલ્લા સોકેટ્સ અને તેની સાથે સંકળાયેલ પ્રક્રિયાઓ વિશે માહિતી મેળવવા માગી શકો છો.


On Vista and later systems, you can use the netscan plugin to display both the network connections and the sockets.

વિસ્ટા અને પછીની સિસ્ટમ્સ પર, તમે નેટવર્ક કનેક્શન અને સોકેટ્સ બંનેને પ્રદર્શિત કરવા માટે netscan પ્લગઇનનો ઉપયોગ કરી શકો છો.


From a forensics perspective, the registry can provide valuable information about the context of the malware.

ફોરેન્સિક્સના દૃષ્ટિકોણથી, રજિસ્ટ્રી માલવેરના સંદર્ભ વિશે મૂલ્યવાન માહિતી પ્રદાન કરી શકે છે.


To print the registry key, subkeys, and its values, you can use the printkey plugin.

રજિસ્ટ્રી કી, સબકી અને તેના મૂલ્યોને પ્રિન્ટ કરવા માટે, તમે printkey પ્લગઇનનો ઉપયોગ કરી શકો છો.


The Userassist registry key contains a list of programs that have been executed by the user on the system and the time when the program was run.

Userassist રજિસ્ટ્રી કીમાં તે પ્રોગ્રામ્સની સૂચિ છે જે સિસ્ટમ પર વપરાશકર્તા દ્વારા ચલાવવામાં આવ્યા છે અને પ્રોગ્રામ ચલાવવામાં આવ્યો તે સમય.


Command history can provide valuable information about an attacker's activity on the compromised system.

કમાન્ડ હિસ્ટ્રી ચેડાં કરાયેલ સિસ્ટમ પર હુમલાખોરની પ્રવૃત્તિ વિશે મૂલ્યવાન માહિતી પ્રદાન કરી શકે છે.


The cmdscan plugin lists the commands executed by cmd.exe.

cmdscan પ્લગઇન cmd.exe દ્વારા ચલાવવામાં આવેલી આદેશોની યાદી આપે છે.


To identify API hooks in both process and kernel memory, you can use the apihooks Volatility plugin.

બંને પ્રક્રિયા અને કર્નલ મેમરીમાં API હૂકને ઓળખવા માટે, તમે apihooks વોલેટિલિટી પ્લગઇનનો ઉપયોગ કરી શકો છો.


In the following example of Zeus bot, an executable is injected into the explorer.exe process's memory at address 0x2c70000.

ઝિયસ બોટના નીચેના ઉદાહરણમાં, એક્ઝિક્યુટેબલને એક્સપ્લોરર.એક્સી પ્રોસેસની મેમરીમાં 0x2c70000 સરનામે દાખલ કરવામાં આવે છે.


The hooked API is then redirected to address 0x2c7ec48 (hook address).

પછી હૂક કરેલ API ને 0x2c7ec48 (હૂક સરનામું) સરનામાં પર રીડાયરેક્ટ કરવામાં આવે છે.


The name of the hooking module is unknown, because it is not normally loaded from the disk (but injected).

હૂકીંગ મોડ્યુલનું નામ અજ્ઞાત છે, કારણ કે તે સામાન્ય રીતે ડિસ્કમાંથી લોડ થતું નથી (પરંતુ દાખલ કરવામાં આવે છે).


A malicious program such as rootkit can load a kernel driver to run the code in kernel mode.

રૂટકીટ જેવા દૂષિત પ્રોગ્રામ કર્નલ મોડમાં કોડ ચલાવવા માટે કર્નલ ડ્રાઇવરને લોડ કરી શકે છે.