Archive for November 29, 2014


Author: athre0z

REtypedef is an IDA PRO plugin that allows definition of custom substitutions for function names. It comes with a default ruleset providing substitutions for many common STL types. If you ever reversed software that makes heavy use of STL classes, you can probably figure out why you would need such a plugin.

Without REtypedef:

.text:0040142E ; =============== S U B R O U T I N E =======================================
.text:0040142E
.text:0040142E ; Attributes: thunk
.text:0040142E
.text:0040142E public: void __thiscall std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>::swap(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> &) proc near
.text:0040142E
.text:0040142E _Right          = dword ptr  4
.text:0040142E
.text:0040142E                 jmp     std::basic_string<char,std::char_traits<char>,std::allocator<char>>::swap(std::basic_string<char,std::char_traits<char>,std::allocator<char>> &)
.text:0040142E public: void __thiscall std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>::swap(class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> &) endp
.text:0040142E
.text:00401433
.text:00401433 ; =============== S U B R O U T I N E =======================================
.text:00401433
.text:00401433 ; Attributes: thunk
.text:00401433
.text:00401433 public: class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> & __thiscall std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>::insert(unsigned int, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &) proc near
.text:00401433
.text:00401433 _Off            = dword ptr  4
.text:00401433 _Right          = dword ptr  8
.text:00401433
.text:00401433                 jmp     std::basic_string<char,std::char_traits<char>,std::allocator<char>>::insert(uint,std::basic_string<char,std::char_traits<char>,std::allocator<char>> const &)
.text:00401433 public: class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> & __thiscall std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>>::insert(unsigned int, class std::basic_string<char, struct std::char_traits<char>, class std::allocator<char>> const &) endp

With REtypedef:

.text:0040142E ; =============== S U B R O U T I N E =======================================
.text:0040142E
.text:0040142E ; Attributes: thunk
.text:0040142E
.text:0040142E public: void __thiscall std::string::swap(class std::string &) proc near
.text:0040142E
.text:0040142E _Right          = dword ptr  4
.text:0040142E
.text:0040142E                 jmp     std::string::swap(std::string &)
.text:0040142E public: void __thiscall std::string::swap(class std::string &) endp
.text:0040142E
.text:00401433
.text:00401433 ; =============== S U B R O U T I N E =======================================
.text:00401433
.text:00401433 ; Attributes: thunk
.text:00401433
.text:00401433 public: class std::string & __thiscall std::string::insert(unsigned int, class std::string const &) proc near
.text:00401433
.text:00401433 _Off            = dword ptr  4
.text:00401433 _Right          = dword ptr  8
.text:00401433
.text:00401433                 jmp     std::string::insert(uint,std::string const &)
.text:00401433 public: class std::string & __thiscall std::string::insert(unsigned int, class std::string const &) endp

Custom rules can be defined at “Options/Edit name substitutions…”.

Latest binary release (IDA 6.1 – 6.6 Windows): https://github.com/athre0z/REtypedef/releases/latest

Cao xứ bất thắng hàn

Posted: November 29, 2014 in Uncategorized

diepcothanh

“Trăng kia có tự bao giờ
Mà sao khi tỏ khi mờ trăng ơi
Nâng chén rượu lạt hỏi chơi
Thiên đình nơi ấy nay thời kỳ nao
Niên nhật ngày tháng năm nào?
Để tôi lướt gió bay vào cung trăng
Lầu son gác tía giăng giăng
Điện ngọc lạnh lẽo e rằng khó lên
Thôi thì đặt chén sang bên
Nhảy cùng với bóng cho quên chốn sầu

Trăng lên lấp lánh trên đầu
Xoay vòng một trục bắc cầu vào chơi
Thương nhau đã hết một đời
Thì không nên hận, nói lời đắng cay
Nhưng sao trăng xuống nơi này
Rồi tròn đúng lúc người say một mình
Buồn vui ly hợp sinh linh
Phải là quy luật một mình nhân gian?
Trăng cao cũng chẳng vẹn toàn
Khi tròn khi khuyết mơ màng hiển minh
Nguyện cho nhân thế hữu tình
Nhân thành quyến thuộc như bình rượu ngon
Trăng khuyết rồi lại trăng tròn
Nghìn dặm một ánh người còn thấy nhau.”

_ST_