x43x61x69 / otx Goto Github PK
View Code? Open in Web Editor NEWThe Mach-O disassembler. Now 64bit and Xcode 6 compatible.
The Mach-O disassembler. Now 64bit and Xcode 6 compatible.
When I attempt to use the otx GUI to open a file (even the otx command itself) via File > Open, it throws the exception below.
The File displayed in otx does not change.
The command line otx works on the same executable files, and the GUI works if I drag the file to the window.
This is with otx build 564 on OS X 10.9.5 and Xcode 5.1.1.
Apr 24 18:12:03 Michaels-iMac.local otx[90430]: -[NSURL length]: unrecognized selector sent to instance 0x618000871640
Apr 24 18:12:03 Michaels-iMac.local otx[90430]: An uncaught exception was raised
Apr 24 18:12:03 Michaels-iMac.local otx[90430]: -[NSURL length]: unrecognized selector sent to instance 0x618000871640
Apr 24 18:12:03 Michaels-iMac.local otx[90430]: (
0 CoreFoundation 0x00007fff8eb6825c __exceptionPreprocess + 172
1 libobjc.A.dylib 0x00007fff95604e75 objc_exception_throw + 43
2 CoreFoundation 0x00007fff8eb6b12d -[NSObject(NSObject) doesNotRecognizeSelector:] + 205
3 CoreFoundation 0x00007fff8eac6272 ___forwarding___ + 1010
4 CoreFoundation 0x00007fff8eac5df8 _CF_forwarding_prep_0 + 120
5 Foundation 0x00007fff8b9988e1 -[NSURL(NSURL) initFileURLWithPath:] + 40
6 Foundation 0x00007fff8b99889d +[NSURL(NSURL) fileURLWithPath:] + 43
7 otx 0x0000000108508b4d -[AppController openExe:] + 137
8 AppKit 0x00007fff96ad6260 -[NSApplication sendAction:to:from:] + 327
9 AppKit 0x00007fff96af11c8 -[NSMenuItem _corePerformAction] + 394
10 AppKit 0x00007fff96af0f04 -[NSCarbonMenuImpl performActionWithHighlightingForItemAtIndex:] + 117
11 AppKit 0x00007fff96b4040d -[NSMenu _internalPerformActionForItemAtIndex:] + 35
12 AppKit 0x00007fff96b40289 -[NSCarbonMenuImpl _carbonCommandProcessEvent:handlerCallRef:] + 104
13 AppKit 0x00007fff96ae6ff6 NSSLMMenuEventHandler + 716
14 HIToolbox 0x00007fff93adb1d4 _ZL23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 892
15 HIToolbox 0x00007fff93ada787 _ZL30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 385
16 HIToolbox 0x00007fff93aee880 SendEventToEventTarget + 40
17 HIToolbox 0x00007fff93b24640 _ZL18SendHICommandEventjPK9HICommandjjhPKvP20OpaqueEventTargetRefS5_PP14OpaqueEventRef + 420
18 HIToolbox 0x00007fff93b57228 SendMenuCommandWithContextAndModifiers + 59
19 HIToolbox 0x00007fff93b571d0 SendMenuItemSelectedEvent + 178
20 HIToolbox 0x00007fff93b570af _ZL19FinishMenuSelectionP13SelectionDataP10MenuResultS2_ + 94
21 HIToolbox 0x00007fff93b5f085 _ZL14MenuSelectCoreP8MenuData5PointdjPP13OpaqueMenuRefPt + 718
22 HIToolbox 0x00007fff93b5ecb1 _HandleMenuSelection2 + 446
23 AppKit 0x00007fff96a5962c _NSHandleCarbonMenuEvent + 284
24 AppKit 0x00007fff968b852e _DPSNextEvent + 2170
25 AppKit 0x00007fff968b789b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
26 AppKit 0x00007fff968ab99c -[NSApplication run] + 553
27 AppKit 0x00007fff96896783 NSApplicationMain + 940
28 libdyld.dylib 0x00007fff9504e5fd start + 1
29 ??? 0x0000000000000001 0x0 + 1
otx 0.16b (288)
macOS 10.12.4 (16E163f)
Reproducibility: always
Steps:
What happened:
After several seconds, otx crashes.
Process 59092 stopped
* thread #16, stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
frame #0: 0x0001ae01 otx`-[ExeProcessor gatherLineInfos] + 176
otx`-[ExeProcessor gatherLineInfos]:
-> 0x1ae01 <+176>: pushl %esi
0x1ae02 <+177>: addb $0x0, %al
0x1ae04 <+179>: movl %eax, 0x4(%esp)
0x1ae08 <+183>: movl %edi, (%esp)
(lldb) bt
* thread #16, stop reason = EXC_BREAKPOINT (code=EXC_I386_BPT, subcode=0x0)
* frame #0: 0x0001ae01 otx`-[ExeProcessor gatherLineInfos] + 176
(lldb) disassemble
otx`-[ExeProcessor gatherLineInfos]:
0x1ad51 <+0>: pushl %ebp
0x1ad52 <+1>: movl %esp, %ebp
0x1ad54 <+3>: pushl %edi
0x1ad55 <+4>: pushl %esi
0x1ad56 <+5>: pushl %ebx
0x1ad57 <+6>: subl $0x3c, %esp
0x1ad5a <+9>: movl 0x8(%ebp), %eax
0x1ad5d <+12>: movl 0x1c(%eax), %esi
0x1ad60 <+15>: movl 0x455b8, %eax
0x1ad65 <+20>: movl %eax, 0x4(%esp)
0x1ad69 <+24>: movl 0x45870, %eax
0x1ad6e <+29>: movl %eax, (%esp)
0x1ad71 <+32>: calll 0x47023 ; symbol stub for: objc_msgSend
0x1ad76 <+37>: movl %eax, %ebx
0x1ad78 <+39>: movl $0x1, 0x8(%esp)
0x1ad80 <+47>: movl 0x45550, %eax
0x1ad85 <+52>: movl %eax, 0x4(%esp)
0x1ad89 <+56>: movl 0x4583c, %eax
0x1ad8e <+61>: movl %eax, (%esp)
0x1ad91 <+64>: calll 0x47023 ; symbol stub for: objc_msgSend
0x1ad96 <+69>: movl $0x0, 0x10(%esp)
0x1ad9e <+77>: movl $0x43d08, 0xc(%esp) ; imm = 0x43D08
0x1ada6 <+85>: movl %eax, 0x8(%esp)
0x1adaa <+89>: movl 0x4554c, %eax
0x1adaf <+94>: movl %eax, 0x4(%esp)
0x1adb3 <+98>: movl %ebx, (%esp)
0x1adb6 <+101>: calll 0x47023 ; symbol stub for: objc_msgSend
0x1adbb <+106>: movl %eax, -0x20(%ebp)
0x1adbe <+109>: testl %esi, %esi
0x1adc0 <+111>: je 0x1b037 ; <+742>
0x1adc6 <+117>: movl $0x0, -0x1c(%ebp)
0x1adcd <+124>: jmp 0x1aef3 ; <+418>
0x1add2 <+129>: movl 0x10(%esi), %ebx
0x1add5 <+132>: movb $0x1, 0x31(%ebx)
0x1add9 <+136>: movb $0x1, 0x31(%esi)
0x1addd <+140>: movl (%esi), %eax
0x1addf <+142>: movl %eax, 0x8(%esp)
0x1ade3 <+146>: movl 0x456d0, %eax
0x1ade8 <+151>: movl %eax, 0x4(%esp)
0x1adec <+155>: movl %edi, (%esp)
0x1adef <+158>: calll *0x156c(%edi)
0x1adf5 <+164>: movl %eax, 0x14(%ebx)
0x1adf8 <+167>: movl %eax, 0x14(%esi)
0x1adfb <+170>: movl %esi, 0x8(%esp)
0x1adff <+174>: movl 0x456cc, %eax
0x1ae04 <+179>: movl %eax, 0x4(%esp)
0x1ae08 <+183>: movl %edi, (%esp)
0x1ae0b <+186>: calll *0x1570(%edi)
0x1ae11 <+192>: leal 0x18(%esi), %ebx
0x1ae14 <+195>: cld
0x1ae15 <+196>: movl $0xffffffff, %ecx ; imm = 0xFFFFFFFF
0x1ae1a <+201>: xorl %eax, %eax
0x1ae1c <+203>: movl %ebx, %edi
0x1ae1e <+205>: repne
0x1ae1f <+206>: scasb %es:(%edi), %al
0x1ae20 <+207>: notl %ecx
0x1ae22 <+209>: movl %ecx, 0x8(%esp)
0x1ae26 <+213>: movl %ebx, 0x4(%esp)
0x1ae2a <+217>: movl 0x10(%esi), %eax
0x1ae2d <+220>: addl $0x18, %eax
0x1ae30 <+223>: movl %eax, (%esp)
0x1ae33 <+226>: calll 0x470a5 ; symbol stub for: strncpy
0x1ae38 <+231>: movl 0x10(%esi), %ebx
0x1ae3b <+234>: movl %esi, 0x8(%esp)
0x1ae3f <+238>: movl 0x456c8, %eax
0x1ae44 <+243>: movl %eax, 0x4(%esp)
0x1ae48 <+247>: movl 0x8(%ebp), %eax
0x1ae4b <+250>: movl %eax, (%esp)
0x1ae4e <+253>: calll *0x1564(%eax)
0x1ae54 <+259>: movb %al, 0x32(%ebx)
0x1ae57 <+262>: movb %al, 0x32(%esi)
0x1ae5a <+265>: movl %esi, 0x8(%esp)
0x1ae5e <+269>: movl 0x456c4, %eax
0x1ae63 <+274>: movl %eax, 0x4(%esp)
0x1ae67 <+278>: movl 0x8(%ebp), %ecx
0x1ae6a <+281>: movl %ecx, (%esp)
0x1ae6d <+284>: calll *0x1574(%ecx)
0x1ae73 <+290>: cmpb $0x0, 0x32(%esi)
0x1ae77 <+294>: je 0x1aedd ; <+396>
0x1ae79 <+296>: movl 0x8(%ebp), %edi
0x1ae7c <+299>: movl 0x300(%edi), %eax
0x1ae82 <+305>: addl $0x1, %eax
0x1ae85 <+308>: movl %eax, 0x300(%edi)
0x1ae8b <+314>: movl 0x2fc(%edi), %edx
0x1ae91 <+320>: testl %edx, %edx
0x1ae93 <+322>: je 0x1afeb ; <+666>
0x1ae99 <+328>: leal (%eax,%eax,2), %eax
0x1ae9c <+331>: shll $0x2, %eax
0x1ae9f <+334>: movl %eax, 0x4(%esp)
0x1aea3 <+338>: movl %edx, (%esp)
0x1aea6 <+341>: calll 0x4705a ; symbol stub for: realloc
0x1aeab <+346>: movl %eax, 0x2fc(%edi)
0x1aeb1 <+352>: movl 0x8(%ebp), %ecx
0x1aeb4 <+355>: movl 0x300(%ecx), %eax
0x1aeba <+361>: leal (%eax,%eax,2), %eax
0x1aebd <+364>: movl 0x2fc(%ecx), %edx
0x1aec3 <+370>: leal (%edx,%eax,4), %eax
0x1aec6 <+373>: leal -0xc(%eax), %edx
0x1aec9 <+376>: movl 0x14(%esi), %ecx
0x1aecc <+379>: movl $0x0, 0x8(%edx)
0x1aed3 <+386>: movl $0x0, 0x4(%edx)
0x1aeda <+393>: movl %ecx, -0xc(%eax)
0x1aedd <+396>: movl 0x8(%esi), %esi
0x1aee0 <+399>: addl $0x1, -0x1c(%ebp)
0x1aee4 <+403>: movl 0x8(%ebp), %ecx
0x1aee7 <+406>: addl $0x1, 0x20(%ecx)
0x1aeeb <+410>: testl %esi, %esi
0x1aeed <+412>: je 0x1af84 ; <+563>
0x1aef3 <+418>: movl $0x45e7b273, %edx ; imm = 0x45E7B273
0x1aef8 <+423>: movl -0x1c(%ebp), %eax
0x1aefb <+426>: mull %edx
0x1aefd <+428>: shrl $0xb, %edx
0x1af00 <+431>: leal (%edx,%edx,4), %edx
0x1af03 <+434>: leal (%edx,%edx,4), %edx
0x1af06 <+437>: leal (%edx,%edx,4), %edx
0x1af09 <+440>: movl %edx, %eax
0x1af0b <+442>: shll $0x4, %eax
0x1af0e <+445>: subl %edx, %eax
0x1af10 <+447>: shll $0x2, %eax
0x1af13 <+450>: cmpl %eax, -0x1c(%ebp)
0x1af16 <+453>: je 0x1afb5 ; <+612>
0x1af1c <+459>: movl (%esi), %eax
0x1af1e <+461>: movl %eax, 0x8(%esp)
0x1af22 <+465>: movl 0x456d4, %eax
0x1af27 <+470>: movl %eax, 0x4(%esp)
0x1af2b <+474>: movl 0x8(%ebp), %edi
0x1af2e <+477>: movl %edi, (%esp)
0x1af31 <+480>: calll *0x1560(%edi)
0x1af37 <+486>: testb %al, %al
0x1af39 <+488>: jne 0x1add2 ; <+129>
0x1af3f <+494>: movl (%esi), %ebx
0x1af41 <+496>: movl $0x2f6a0, 0x4(%esp) ; imm = 0x2F6A0
0x1af49 <+504>: movl %ebx, (%esp)
0x1af4c <+507>: calll 0x470aa ; symbol stub for: strstr
0x1af51 <+512>: testl %eax, %eax
0x1af53 <+514>: je 0x1b005 ; <+692>
0x1af59 <+520>: movl 0x8(%ebp), %edi
0x1af5c <+523>: movl 0x624(%edi), %eax
0x1af62 <+529>: addl 0x628(%edi), %eax
0x1af68 <+535>: movl %eax, 0x94c(%edi)
0x1af6e <+541>: movl 0x8(%esi), %esi
0x1af71 <+544>: addl $0x1, -0x1c(%ebp)
0x1af75 <+548>: movl 0x8(%ebp), %ecx
0x1af78 <+551>: addl $0x1, 0x20(%ecx)
0x1af7c <+555>: testl %esi, %esi
0x1af7e <+557>: jne 0x1aef3 ; <+418>
0x1af84 <+563>: movl -0x20(%ebp), %edi
0x1af87 <+566>: movl 0x45620, %eax
0x1af8c <+571>: movl %eax, 0x4(%esp)
0x1af90 <+575>: movl %edi, (%esp)
0x1af93 <+578>: calll 0x47023 ; symbol stub for: objc_msgSend
0x1af98 <+583>: movl 0x8(%ebp), %edx
0x1af9b <+586>: movl 0x5d8(%edx), %eax
0x1afa1 <+592>: addl 0x5dc(%edx), %eax
0x1afa7 <+598>: movl %eax, 0x94c(%edx)
0x1afad <+604>: addl $0x3c, %esp
0x1afb0 <+607>: popl %ebx
0x1afb1 <+608>: popl %esi
0x1afb2 <+609>: popl %edi
0x1afb3 <+610>: popl %ebp
0x1afb4 <+611>: retl
0x1afb5 <+612>: movl 0x8(%ebp), %edx
0x1afb8 <+615>: movl 0x4(%edx), %eax
0x1afbb <+618>: movl $0x1, 0x10(%esp)
0x1afc3 <+626>: movl -0x20(%ebp), %ecx
0x1afc6 <+629>: movl %ecx, 0xc(%esp)
0x1afca <+633>: movl 0x45548, %edx
0x1afd0 <+639>: movl %edx, 0x8(%esp)
0x1afd4 <+643>: movl 0x45528, %edx
0x1afda <+649>: movl %edx, 0x4(%esp)
0x1afde <+653>: movl %eax, (%esp)
0x1afe1 <+656>: calll 0x47023 ; symbol stub for: objc_msgSend
0x1afe6 <+661>: jmp 0x1af1c ; <+459>
0x1afeb <+666>: movl $0xc, (%esp)
0x1aff2 <+673>: calll 0x47000 ; symbol stub for: malloc
0x1aff7 <+678>: movl 0x8(%ebp), %edx
0x1affa <+681>: movl %eax, 0x2fc(%edx)
0x1b000 <+687>: jmp 0x1aeb1 ; <+352>
0x1b005 <+692>: movl $0x2f6bc, 0x4(%esp) ; imm = 0x2F6BC
0x1b00d <+700>: movl %ebx, (%esp)
0x1b010 <+703>: calll 0x470aa ; symbol stub for: strstr
0x1b015 <+708>: testl %eax, %eax
0x1b017 <+710>: je 0x1aedd ; <+396>
0x1b01d <+716>: movl 0x8(%ebp), %edx
0x1b020 <+719>: movl 0x670(%edx), %eax
0x1b026 <+725>: addl 0x674(%edx), %eax
0x1b02c <+731>: movl %eax, 0x94c(%edx)
0x1b032 <+737>: jmp 0x1aedd ; <+396>
0x1b037 <+742>: movl %eax, %edi
0x1b039 <+744>: jmp 0x1af87 ; <+566>
Expected result:
otx does not crash.
32bits output fails sometimes on Mavericks and OTX Crasht at the end
Even after granting all the permissions for the folder, Otx thrown an error while saving the output"You must have write permission for the destination folder."
Please advise!
Just tried to output the txt file on OSX 10.10.3.
But always getting "Error processing File".
Using otx build 565, when using the GUI, file loads and verifies. Click Save, a "Save As" dialog appears. Enter file name, click Save.
Result is: Error processing file.
Unable to process posix_file_path.
Error occurs on all files. Command line can process the same file.
Preferences are the defaults.
otx 0.16b (288)
macOS 10.12.4 (16E163f)
Reproducibility: always
Steps:
What happened:
After several seconds, otx crashes.
Process 57677 stopped
* thread #15, stop reason = EXC_BAD_ACCESS (code=1, address=0x78323059)
frame #0: 0x00020a64 otx`-[X86Processor codeFromLine:] + 403
otx`-[X86Processor codeFromLine:]:
-> 0x20a64 <+403>: cmpl $0x1, 0x34(%edx)
0x20a68 <+407>: jne 0x20a3b ; <+362>
0x20a6a <+409>: movzbl (%eax), %ecx
0x20a6d <+412>: movb %cl, -0x26(%edi,%ebp)
(lldb) bt
* thread #15, stop reason = EXC_BAD_ACCESS (code=1, address=0x78323059)
* frame #0: 0x00020a64 otx`-[X86Processor codeFromLine:] + 403
(lldb) disassemble
otx`-[X86Processor codeFromLine:]:
0x208d1 <+0>: pushl %ebp
0x208d2 <+1>: movl %esp, %ebp
0x208d4 <+3>: pushl %edi
0x208d5 <+4>: pushl %esi
0x208d6 <+5>: pushl %ebx
0x208d7 <+6>: subl $0xac, %esp
0x208dd <+12>: movl 0x10(%ebp), %eax
0x208e0 <+15>: movl 0x14(%eax), %eax
0x208e3 <+18>: movl %eax, -0x60(%ebp)
0x208e6 <+21>: movl 0x10(%ebp), %edx
0x208e9 <+24>: movl 0x8(%edx), %ebx
0x208ec <+27>: testl %ebx, %ebx
0x208ee <+29>: je 0x20915 ; <+68>
0x208f0 <+31>: movl (%ebx), %eax
0x208f2 <+33>: movl %eax, 0x8(%esp)
0x208f6 <+37>: movl 0x456d4, %eax
0x208fb <+42>: movl %eax, 0x4(%esp)
0x208ff <+46>: movl 0x8(%ebp), %eax
0x20902 <+49>: movl %eax, (%esp)
0x20905 <+52>: calll 0x47023 ; symbol stub for: objc_msgSend
0x2090a <+57>: testb %al, %al
0x2090c <+59>: jne 0x20915 ; <+68>
0x2090e <+61>: movl 0x8(%ebx), %ebx
0x20911 <+64>: testl %ebx, %ebx
0x20913 <+66>: jne 0x208f0 ; <+31>
0x20915 <+68>: movl 0x8(%ebp), %edx
0x20918 <+71>: movl 0x94c(%edx), %esi
0x2091e <+77>: testl %ebx, %ebx
0x20920 <+79>: je 0x20950 ; <+127>
0x20922 <+81>: movl (%ebx), %eax
0x20924 <+83>: movl %eax, 0x8(%esp)
0x20928 <+87>: movl 0x456d0, %eax
0x2092d <+92>: movl %eax, 0x4(%esp)
0x20931 <+96>: movl %edx, (%esp)
0x20934 <+99>: calll *0x156c(%edx)
0x2093a <+105>: movl %eax, %edx
0x2093c <+107>: cmpl %eax, -0x60(%ebp)
0x2093f <+110>: jb 0x20a9f ; <+462>
0x20945 <+116>: movl 0x8(%ebp), %edx
0x20948 <+119>: nop
0x20949 <+120>: nop
0x2094a <+121>: nop
0x2094b <+122>: nop
0x2094c <+123>: nop
0x2094d <+124>: nop
0x2094e <+125>: nop
0x2094f <+126>: nop
0x20950 <+127>: movl %esi, %eax
0x20952 <+129>: subb -0x60(%ebp), %al
0x20955 <+132>: movb %al, -0x61(%ebp)
0x20958 <+135>: movl $0x0, -0x26(%ebp)
0x2095f <+142>: movl $0x0, -0x22(%ebp)
0x20966 <+149>: movl $0x0, -0x1e(%ebp)
0x2096d <+156>: movw $0x0, -0x1a(%ebp)
0x20973 <+162>: movl 0x24(%edx), %ecx
0x20976 <+165>: testb %al, %al
0x20978 <+167>: jne 0x20a1d ; <+332>
0x2097e <+173>: xorl %eax, %eax
0x20980 <+175>: movb $0x0, -0x58(%ebp,%eax)
0x20985 <+180>: movzbl -0x19(%ebp), %eax
0x20989 <+184>: movl %eax, 0x40(%esp)
0x2098d <+188>: movzbl -0x1a(%ebp), %eax
0x20991 <+192>: movl %eax, 0x3c(%esp)
0x20995 <+196>: movzbl -0x1b(%ebp), %eax
0x20999 <+200>: movl %eax, 0x38(%esp)
0x2099d <+204>: movzbl -0x1c(%ebp), %eax
0x209a1 <+208>: movl %eax, 0x34(%esp)
0x209a5 <+212>: movzbl -0x1d(%ebp), %eax
0x209a9 <+216>: movl %eax, 0x30(%esp)
0x209ad <+220>: movzbl -0x1e(%ebp), %eax
0x209b1 <+224>: movl %eax, 0x2c(%esp)
0x209b5 <+228>: movzbl -0x1f(%ebp), %eax
0x209b9 <+232>: movl %eax, 0x28(%esp)
0x209bd <+236>: movzbl -0x20(%ebp), %eax
0x209c1 <+240>: movl %eax, 0x24(%esp)
0x209c5 <+244>: movzbl -0x21(%ebp), %eax
0x209c9 <+248>: movl %eax, 0x20(%esp)
0x209cd <+252>: movzbl -0x22(%ebp), %eax
0x209d1 <+256>: movl %eax, 0x1c(%esp)
0x209d5 <+260>: movzbl -0x23(%ebp), %eax
0x209d9 <+264>: movl %eax, 0x18(%esp)
0x209dd <+268>: movzbl -0x24(%ebp), %eax
0x209e1 <+272>: movl %eax, 0x14(%esp)
0x209e5 <+276>: movzbl -0x25(%ebp), %eax
0x209e9 <+280>: movl %eax, 0x10(%esp)
0x209ed <+284>: movzbl -0x26(%ebp), %eax
0x209f1 <+288>: movl %eax, 0xc(%esp)
0x209f5 <+292>: leal -0x58(%ebp), %eax
0x209f8 <+295>: movl %eax, 0x8(%esp)
0x209fc <+299>: movl $0x19, 0x4(%esp)
0x20a04 <+307>: movl 0x10(%ebp), %eax
0x20a07 <+310>: addl $0x18, %eax
0x20a0a <+313>: movl %eax, (%esp)
0x20a0d <+316>: calll 0x470cd ; symbol stub for: snprintf
0x20a12 <+321>: addl $0xac, %esp
0x20a18 <+327>: popl %ebx
0x20a19 <+328>: popl %esi
0x20a1a <+329>: popl %edi
0x20a1b <+330>: popl %ebp
0x20a1c <+331>: retl
0x20a1d <+332>: movb $0x0, -0x59(%ebp)
0x20a21 <+336>: xorl %edi, %edi
0x20a23 <+338>: leal -0x58(%ebp), %esi
0x20a26 <+341>: movl 0x948(%edx), %eax
0x20a2c <+347>: movl -0x60(%ebp), %edx
0x20a2f <+350>: subl %eax, %edx
0x20a31 <+352>: leal (%ecx,%edx), %ebx
0x20a34 <+355>: addl -0x60(%ebp), %eax
0x20a37 <+358>: addl %ecx, %eax
0x20a39 <+360>: jmp 0x20a61 ; <+400>
0x20a3b <+362>: movzbl (%ebx), %ecx
0x20a3e <+365>: movb %cl, -0x26(%edi,%ebp)
0x20a42 <+369>: movl $0x78323025, (%esi) ; imm = 0x78323025
0x20a48 <+375>: addb $0x1, -0x59(%ebp)
0x20a4c <+379>: addl $0x1, %edi
0x20a4f <+382>: addl $0x1, %eax
0x20a52 <+385>: addl $0x1, %ebx
0x20a55 <+388>: addl $0x4, %esi
0x20a58 <+391>: movzbl -0x59(%ebp), %edx
0x20a5c <+395>: cmpb %dl, -0x61(%ebp)
0x20a5f <+398>: je 0x20a90 ; <+447>
0x20a61 <+400>: movl 0x8(%ebp), %edx
-> 0x20a64 <+403>: cmpl $0x1, 0x34(%edx)
0x20a68 <+407>: jne 0x20a3b ; <+362>
0x20a6a <+409>: movzbl (%eax), %ecx
0x20a6d <+412>: movb %cl, -0x26(%edi,%ebp)
0x20a71 <+416>: movl $0x78323025, (%esi) ; imm = 0x78323025
0x20a77 <+422>: addb $0x1, -0x59(%ebp)
0x20a7b <+426>: addl $0x1, %edi
0x20a7e <+429>: addl $0x1, %eax
0x20a81 <+432>: addl $0x1, %ebx
0x20a84 <+435>: addl $0x4, %esi
0x20a87 <+438>: movzbl -0x59(%ebp), %edx
0x20a8b <+442>: cmpb %dl, -0x61(%ebp)
0x20a8e <+445>: jne 0x20a61 ; <+400>
0x20a90 <+447>: leal (,%edi,4), %eax
0x20a97 <+454>: movzbl %al, %eax
0x20a9a <+457>: jmp 0x20980 ; <+175>
0x20a9f <+462>: movl -0x60(%ebp), %eax
0x20aa2 <+465>: addl $0xe, %eax
0x20aa5 <+468>: cmpl %eax, %edx
0x20aa7 <+470>: cmovbel %edx, %esi
0x20aaa <+473>: movl 0x8(%ebp), %edx
0x20aad <+476>: jmp 0x20950 ; <+127>
Expected result:
otx does not crash.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.