- https://www.jid5.com/
- https://www.qixinge.com/
- https://www.81xs.cc/book/38561/
- https://www.dashen88.com/
- https://www.81zw.org/
- https://www.60734.com/
- https://www.ltsw888.com/book_12098/
- https://www.5200.net/0_4/
- https://www.longtanshuwang.com/book_1163/
- https://www.79wx.com/html/16779/
- https://www.ranwen.com/html/0/184/
- https://www.biquwu.cc/biquge/41_41060/
- http://www.mabook.cn/xiaoshuo/166.html
- https://www.qingkanshu.cc/4_4553/
- https://www.tmwx.net/
- https://www.biqupa.com/
- http://www.qushuwu.com/xs/21/21797/
- http://www.ltoooo.com/0_255/
- https://www.xiubi.net/
- https://www.abctang.com/
- https://www.sbiquge.com/20_20995/
- https://www.22mt.com/
- https://www.wansong.net/
- https://www.exiaoshuo.com/woshixianfan/
- https://www.jjshu.com/2/2965/
- http://www.bqg.tw/2_2055/
After the rust string overview of its internal substructures, let's see if c++ QString storage is more light, but first we'r going to take a look to the c++ standard string object: At first sight we can see the allocation and deallocation created by the clang++ compiler, and the DAT_00400d34 is the string. If we use same algorithm than the rust code but in c++: We have a different decompilation layout. Note that the Ghidra scans very fast the c++ binaries, and with rust binaries gets crazy for a while. Locating main is also very simple in a c++ compiled binary, indeed is more low-level than rust. The byte array is initialized with a simply move instruction: 00400c4b 48 b8 68 MOV RAX,0x6f77206f6c6c6568 And basic_string generates the string, in the case of rust this was carazy endless set of calls, detected by ghidra as a runtime, but nevertheless the basic_str...
Comments