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.
Related posts
- Hacking Tools For Games
- Tools Used For Hacking
- Hacking Tools Usb
- Pentest Tools Windows
- Hack Tools For Games
- Hack Tools Github
- Hacker Tools Windows
- Pentest Tools Framework
- Hack Tools
- Hack Tools 2019
- Hacking Tools And Software
- Pentest Tools Website Vulnerability
- Ethical Hacker Tools
- Hack Tools
- Hack Tools For Pc
- Pentest Tools Android
- Pentest Tools Tcp Port Scanner
- Pentest Tools Nmap
- Hacker Search Tools
- Pentest Tools Github
- Hack Tool Apk No Root
- Pentest Tools Tcp Port Scanner
- Hacker Tools
- Pentest Tools Open Source
- Hack Tools Online
- Pentest Tools Website
- Hacker Security Tools
- Pentest Tools Free
- Hacking Tools 2019
- Github Hacking Tools
- Free Pentest Tools For Windows
- Hacking App
- Pentest Tools Online
- Pentest Tools Online
- Hacking Tools Pc
- Pentest Tools Bluekeep
- Hack Tools
- Nsa Hack Tools Download
- Hacking Tools Windows
- Github Hacking Tools
- Hacking Tools Usb
- Hacker Tools 2019
- Pentest Tools For Windows
- Pentest Tools Tcp Port Scanner
- Hacker Tools Online
- Hack Tools Github
- Hacker Tools Windows
- Hacker Tools Online
- Hacker Tool Kit
- Pentest Recon Tools
- Hacking Tools And Software
- Hacking Tools Name
- Tools For Hacker
- Growth Hacker Tools
- Hack Tools
- Hacking Tools For Kali Linux
- Hacker Hardware Tools
- Hack Tools Github
- Bluetooth Hacking Tools Kali
- Hacker Tools List
- Hacker Tools For Mac
- Pentest Tools Download
- Usb Pentest Tools
- How To Make Hacking Tools
- Hacking Apps
- Tools 4 Hack
- Best Hacking Tools 2020
- Wifi Hacker Tools For Windows
- Hacker Tools For Ios
- Pentest Tools List
- Hacking Tools And Software
- Hacker Tools Windows
- Easy Hack Tools
- Hack And Tools
- Hack Tool Apk
- Hacking Tools Usb
- Physical Pentest Tools
- Hacker Tools 2019
- Pentest Tools Linux
- Termux Hacking Tools 2019
- What Are Hacking Tools
- Pentest Tools For Mac
- Ethical Hacker Tools
- Pentest Tools Online
- Pentest Automation Tools
- Pentest Automation Tools
- Hacking Tools For Kali Linux
- Hacker Security Tools
- Nsa Hack Tools Download
- Hacking Tools For Pc
- Pentest Tools Find Subdomains
- Tools Used For Hacking
- Hack Tool Apk No Root
- Pentest Tools Framework
- Ethical Hacker Tools
- Growth Hacker Tools