Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [florian@florian-desktop ReleaseRTTIO0]$ r2 VTablesTest.exe
- -- Your problems are solved in an abandoned branch somewhere
- [0x004015b1]> aaa
- [x] Analyze all flags starting with sym. and entry0 (aa)
- [x] Analyze len bytes of instructions for references (aar)
- [x] Analyze function calls (aac)
- [x] Use -AA or aaaa to perform additional experimental analysis.
- [x] Constructing a function name for fcn.* and sym.func.* functions (aan)
- [0x004015b1]> s 0x00401180
- [0x00401180]> pdf
- / (fcn) sub.MSVCR120.dll___2_YAPAXI_Z_180 360
- | sub.MSVCR120.dll___2_YAPAXI_Z_180 ();
- | ; var int local_40h @ ebp-0x40
- | ; var int local_3ch @ ebp-0x3c
- | ; var int local_38h @ ebp-0x38
- | ; var int local_34h @ ebp-0x34
- | ; var int local_30h @ ebp-0x30
- | ; var int local_2ch @ ebp-0x2c
- | ; var int local_28h @ ebp-0x28
- | ; var int local_24h @ ebp-0x24
- | ; var int local_20h @ ebp-0x20
- | ; var int local_1ch @ ebp-0x1c
- | ; var int local_18h @ ebp-0x18
- | ; var int local_14h @ ebp-0x14
- | ; var int local_10h @ ebp-0x10
- | ; var int local_ch @ ebp-0xc
- | ; var int local_4h @ ebp-0x4
- | ; var int local_0h @ ebp-0x0
- | ; CALL XREF from 0x00401544 (sub.MSVCR120.dll___3_YAXPAX_Z_2f8 + 588)
- | 0x00401180 55 push ebp
- | 0x00401181 8bec mov ebp, esp
- | 0x00401183 6aff push 0xffffffffffffffff
- | 0x00401185 68681c4000 push 0x401c68
- | 0x0040118a 64a100000000 mov eax, dword fs:[0]
- | 0x00401190 50 push eax
- | 0x00401191 83ec34 sub esp, 0x34 ; '4'
- | 0x00401194 a100304000 mov eax, dword [0x403000] ; section..data ; [0x403000:4]=0xbb40e64e ; "N\xe6@\xbb\xb1\x19\xbfD\x01"
- | 0x00401199 33c5 xor eax, ebp
- | 0x0040119b 50 push eax
- | 0x0040119c 8d45f4 lea eax, [local_ch]
- | 0x0040119f 64a300000000 mov dword fs:[0], eax
- | 0x004011a5 6a08 push 8 ; 8
- | 0x004011a7 ff1590204000 call dword [sym.imp.MSVCR120.dll___2_YAPAXI_Z] ; 0x402090
- | 0x004011ad 83c404 add esp, 4
- | 0x004011b0 8945e4 mov dword [local_1ch], eax
- | 0x004011b3 c745fc000000. mov dword [local_4h], 0
- | 0x004011ba 837de400 cmp dword [local_1ch], 0
- | ,=< 0x004011be 740d je 0x4011cd
- | | 0x004011c0 8b4de4 mov ecx, dword [local_1ch]
- | | 0x004011c3 e838feffff call sub.This_is_the_constructor_of_ClassA._0
- | | 0x004011c8 8945e0 mov dword [local_20h], eax
- | ,==< 0x004011cb eb07 jmp 0x4011d4
- | || ; JMP XREF from 0x004011be (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | |`-> 0x004011cd c745e0000000. mov dword [local_20h], 0
- | | ; JMP XREF from 0x004011cb (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | `--> 0x004011d4 8b45e0 mov eax, dword [local_20h]
- | 0x004011d7 8945d4 mov dword [local_2ch], eax
- | 0x004011da c745fcffffff. mov dword [local_4h], 0xffffffff ; -1 ; -4
- | 0x004011e1 8b4dd4 mov ecx, dword [local_2ch]
- | 0x004011e4 894df0 mov dword [local_10h], ecx
- | 0x004011e7 8b4df0 mov ecx, dword [local_10h]
- | 0x004011ea e8a1feffff call sub.My_value_is__d_90
- | 0x004011ef 8b55f0 mov edx, dword [local_10h]
- | 0x004011f2 8b02 mov eax, dword [edx]
- | 0x004011f4 8b4df0 mov ecx, dword [local_10h]
- | 0x004011f7 8b5004 mov edx, dword [eax + 4] ; [0x4:4]=-1 ; 4
- | 0x004011fa ffd2 call edx
- | 0x004011fc 50 push eax
- | 0x004011fd 68bc214000 push 0x4021bc ; "result of virtual method: %d\n"
- | 0x00401202 ff159c204000 call dword [sym.imp.MSVCR120.dll_printf] ; 0x40209c
- | 0x00401208 83c408 add esp, 8
- | 0x0040120b 8b45f0 mov eax, dword [local_10h]
- | 0x0040120e 8945d0 mov dword [local_30h], eax
- | 0x00401211 8b4dd0 mov ecx, dword [local_30h]
- | 0x00401214 894dec mov dword [local_14h], ecx
- | 0x00401217 837dec00 cmp dword [local_14h], 0
- | ,=< 0x0040121b 7413 je 0x401230
- | | 0x0040121d 6a01 push 1 ; 1
- | | 0x0040121f 8b55ec mov edx, dword [local_14h]
- | | 0x00401222 8b02 mov eax, dword [edx]
- | | 0x00401224 8b4dec mov ecx, dword [local_14h]
- | | 0x00401227 8b10 mov edx, dword [eax]
- | | 0x00401229 ffd2 call edx
- | | 0x0040122b 8945cc mov dword [local_34h], eax
- | ,==< 0x0040122e eb07 jmp 0x401237
- | || ; JMP XREF from 0x0040121b (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | |`-> 0x00401230 c745cc000000. mov dword [local_34h], 0
- | | ; JMP XREF from 0x0040122e (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | `--> 0x00401237 68dc214000 push str. ; 0x4021dc ; "---------------\n"
- | 0x0040123c ff159c204000 call dword [sym.imp.MSVCR120.dll_printf] ; 0x40209c
- | 0x00401242 83c404 add esp, 4
- | 0x00401245 6a08 push 8 ; 8
- | 0x00401247 ff1590204000 call dword [sym.imp.MSVCR120.dll___2_YAPAXI_Z] ; 0x402090
- | 0x0040124d 83c404 add esp, 4
- | 0x00401250 8945dc mov dword [local_24h], eax
- | 0x00401253 c745fc010000. mov dword [local_4h], 1
- | 0x0040125a 837ddc00 cmp dword [local_24h], 0
- | ,=< 0x0040125e 740d je 0x40126d
- | | 0x00401260 8b4ddc mov ecx, dword [local_24h]
- | | 0x00401263 e868feffff call sub.This_is_the_constructor_of_ClassB._d0
- | | 0x00401268 8945d8 mov dword [local_28h], eax
- | ,==< 0x0040126b eb07 jmp 0x401274
- | || ; JMP XREF from 0x0040125e (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | |`-> 0x0040126d c745d8000000. mov dword [local_28h], 0
- | | ; JMP XREF from 0x0040126b (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | `--> 0x00401274 8b45d8 mov eax, dword [local_28h]
- | 0x00401277 8945c8 mov dword [local_38h], eax
- | 0x0040127a c745fcffffff. mov dword [local_4h], 0xffffffff ; -1 ; -4
- | 0x00401281 8b4dc8 mov ecx, dword [local_38h]
- | 0x00401284 894df0 mov dword [local_10h], ecx
- | 0x00401287 8b4df0 mov ecx, dword [local_10h]
- | 0x0040128a e801feffff call sub.My_value_is__d_90
- | 0x0040128f 8b55f0 mov edx, dword [local_10h]
- | 0x00401292 8b02 mov eax, dword [edx]
- | 0x00401294 8b4df0 mov ecx, dword [local_10h]
- | 0x00401297 8b5004 mov edx, dword [eax + 4] ; [0x4:4]=-1 ; 4
- | 0x0040129a ffd2 call edx
- | 0x0040129c 50 push eax
- | 0x0040129d 68f0214000 push str.result_of_virtual_method:__d ; 0x4021f0 ; "result of virtual method: %d\n"
- | 0x004012a2 ff159c204000 call dword [sym.imp.MSVCR120.dll_printf] ; 0x40209c
- | 0x004012a8 83c408 add esp, 8
- | 0x004012ab 8b45f0 mov eax, dword [local_10h]
- | 0x004012ae 8945c4 mov dword [local_3ch], eax
- | 0x004012b1 8b4dc4 mov ecx, dword [local_3ch]
- | 0x004012b4 894de8 mov dword [local_18h], ecx
- | 0x004012b7 837de800 cmp dword [local_18h], 0
- | ,=< 0x004012bb 7413 je 0x4012d0
- | | 0x004012bd 6a01 push 1 ; 1
- | | 0x004012bf 8b55e8 mov edx, dword [local_18h]
- | | 0x004012c2 8b02 mov eax, dword [edx]
- | | 0x004012c4 8b4de8 mov ecx, dword [local_18h]
- | | 0x004012c7 8b10 mov edx, dword [eax]
- | | 0x004012c9 ffd2 call edx
- | | 0x004012cb 8945c0 mov dword [local_40h], eax
- | ,==< 0x004012ce eb07 jmp 0x4012d7
- | || ; JMP XREF from 0x004012bb (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | |`-> 0x004012d0 c745c0000000. mov dword [local_40h], 0
- | | ; JMP XREF from 0x004012ce (sub.MSVCR120.dll___2_YAPAXI_Z_180)
- | `--> 0x004012d7 33c0 xor eax, eax
- | 0x004012d9 8b4df4 mov ecx, dword [local_ch]
- | 0x004012dc 64890d000000. mov dword fs:[0], ecx
- | 0x004012e3 59 pop ecx
- | 0x004012e4 8be5 mov esp, ebp
- | 0x004012e6 5d pop ebp
- \ 0x004012e7 c3 ret
- [0x00401180]>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement