Let's implement a simple code that loads a file into a vector and then save the vector with following functions:
- err
- load
- save
- main
Lets identify the typical way in C++ to print to stdout with the operator "<<"
The basic_ostream is initialized writing the word "error" to the cout, and then the operator<< again to add the endl.
The Main function simply calls "vec = load(filename)" but the compiler modified it and passed the vector pointer as a parámeter. Then it bulds and prints "loaded " << size << " users".
And finally saves the vector to /tmp/pwd and print "saved".
Most of the mess is basically the operator "<<" to concat and print values.
Also note that the vectors and strings are automatically deallocated when exit the function.
And here is the code:
Let's take a look to the load function, which iterates the ifs.getline() and push to the vector.
First of all there is a mess on the function definition, __return_storage_ptr is the vector.
the ifstream object ifs is initialized as a basic_ifstream and then operator! checks if it wasn't possible to open the file and in that case calls err()
We see the memset and a loop, getline read a cstr like line from the file, and then is converted to a string before pushing it to the vector. lVar1 is the stack canary value.
In this situations dont obfuscate with the vector pointer vec initialization at the begining, in this case the logic is quite clear.
The function save is a bit more tricky, but it's no more than a vector iteration and ofs writing.
Looping a simple "for (auto s : *vec)" in the decompiler is quite dense, but we can see clearly two write, the second write DAT_0010400b is a "\n"
As we see, save implememtation is quite straightforward.
More info
- Android Hack Tools Github
- Hacking Tools For Beginners
- Hacker Tools List
- Pentest Tools Apk
- Hackrf Tools
- Pentest Tools Port Scanner
- Hacker Tools Mac
- Hacker Hardware Tools
- Pentest Tools Linux
- Pentest Recon Tools
- Hacking Tools Download
- Hacker Tools Hardware
- Hacking Tools Windows
- Pentest Tools Review
- Hacker Tools List
- Hack Tools For Mac
- Hack Tool Apk
- Wifi Hacker Tools For Windows
- Pentest Tools Framework
- Pentest Tools List
- Hacking Tools For Games
- Hacker Tools Online
- Hacking Tools Mac
- Hack Tool Apk No Root
- Usb Pentest Tools
- Pentest Tools For Android
- Pentest Tools Find Subdomains
- Hacker Tools Free
- Hack Tools For Pc
- Growth Hacker Tools
- Hack Tools Mac
- Hacking Tools Mac
- Beginner Hacker Tools
- Hack And Tools
- Hack And Tools
- Pentest Tools Open Source
- Bluetooth Hacking Tools Kali
- Pentest Tools For Windows
- Pentest Tools Online
- Easy Hack Tools
- Pentest Recon Tools
- Hacking Tools Name
- Hacker Tools Linux
- Hacker Tools List
- Hacker Tools 2019
- Hacking Tools Windows 10
- Physical Pentest Tools
- Pentest Tools For Android
- How To Install Pentest Tools In Ubuntu
- Hacker Tools Github
- Hacker Tools For Windows
- World No 1 Hacker Software
- Pentest Tools For Mac
- Hack Tools For Windows
- Hacking Tools
- Pentest Tools Linux
- Hacking Tools For Kali Linux
- Pentest Tools Port Scanner
- What Are Hacking Tools
- Ethical Hacker Tools
- Pentest Tools Bluekeep
- Hacking Tools Online
- Pentest Tools For Android
- Pentest Tools Nmap
- Tools 4 Hack
- Hack Tools Github
- Hacker Tools List
- What Is Hacking Tools
- Pentest Tools Bluekeep
- Hack Website Online Tool
- Pentest Tools Linux
- Hacking Tools Free Download
- Hacker Tools Online
- Hacking Tools Hardware
- Hacking Tools For Mac
- Pentest Tools Kali Linux
- Game Hacking
- Pentest Tools Windows
- Hacking Tools
- Hack Tools Mac
- World No 1 Hacker Software
- Pentest Tools Url Fuzzer
- Pentest Tools Website Vulnerability
- Hack Tool Apk No Root
- Hack Tools For Ubuntu
- Hacking Tools For Pc
- Hacker Tools For Pc
- Hack Tools For Pc
- Computer Hacker
- Hacker Tools Software
- Best Hacking Tools 2020
- Pentest Tools Linux
- Hacker Search Tools
- Pentest Tools For Windows
- Hacker Tools Free
- Ethical Hacker Tools
- Hack Tools For Ubuntu
- How To Hack
No comments:
Post a Comment