Environment information
No function detected. Cannot display when asm.pseudo is enabled and asm.cmt.right is disabled.To Reproduce
Steps to reproduce the behavior:
infected, unpack it using UPX)

Expected behavior
Cutter should detect and display functions normally
Additional context



infected, UPX packed)https://github.com/PacktPublishing/Mastering-Reverse-Engineering/blob/master/ch12/whatami.zipP/s: I've saw this message in terminal:
Failed to parse JSON for command "agJ 0x00401000": unterminated object
[{"name":"main","offset":4198400,"ninstr":53,"nargs":0,"nlocals":14,"size":189,"stack":124,"type":"sym","blocks":[{"offset":4198400,"size":160,"jump":4198579,"fail":4198560,"trace":{"count":341,"times":1},"colorize":0,"ops":[{"offset":4198400,"text":"<font color='#82607e'></font><font color='#f3c5ff'></font><font color='#f3c5ff'>; [00] -r-x section size 4096 named .text</font>"},{"offset":4198400,"text":"<font color='#00b1ab'>;-- section..text:</font>"},{"offset":4198400,"text":"<font color='#00ffff'>(fcn) main</font> 189"},{"offset":4198400,"text":"<font color='#20b0c0'></font> int <font color='#00ffff'>main</font> (int argc, char **argv, char **envp);"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_8h </font><font color='#ababab'>@ esp+0x8</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_ch </font><font color='#ababab'>@ esp+0xc</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_10h </font><font color='#ababab'>@ esp+0x10</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_14h </font><font color='#ababab'>@ esp+0x14</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_18h </font><font color='#ababab'>@ esp+0x18</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_1ch </font><font color='#ababab'>@ esp+0x1c</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_20h </font><font color='#ababab'>@ esp+0x20</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_24h </font><font color='#ababab'>@ esp+0x24</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_28h </font><font color='#ababab'>@ esp+0x28</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_2ch </font><font color='#ababab'>@ esp+0x2c</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_30h </font><font color='#ababab'>@ esp+0x30</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_34h </font><font color='#ababab'>@ esp+0x34</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_38h </font><font color='#ababab'>@ esp+0x38</font>"},{"offset":4198400,"text":"<font color='#9090a0'>; </font><font color='#9090a0'>var </font><font color='#df077e'>int local_48h </font><font color='#ababab'>@ esp+0x48</font>"},{"offset":4198400,"text":"; '0'"},{"offset":4198400,"text":"<font color='#ffffff'>esp </font>-<font color='#009d9d'>=</font><font color='#009d9d'> </font><font color='#d25032'>0x30</font>"},{"offset":4198403,"text":"<font color='#df077e'>push</font><font color='#009d9d'> esi</font>"},{"offset":4198404,"text":"; [0x38:4]=-1"},{"offset":4198404,"text":"; '8'"},{"offset":4198404,"text":"; 56"},{"offset":4198404,"text":"<font color='#ffffff'>esi = dword</font><font color='#009d9d'> </font>[<font color='#009d9d'>local_38h</font>]<font color='#009d9d'></font>"},{"offset":4198408,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198409,"text":"; 'd'"},{"offset":4198409,"text":"; 100"},{"offset":4198409,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x64</font>"},{"offset":4198411,"text":"; 'x3@'"},{"offset":4198411,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x403378</font>"},{"offset":4198416,"text":"; 'm'"},{"offset":4198416,"text":"; 109"},{"offset":4198416,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x6d</font>"},{"offset":4198418,"text":"<font color='#df077e'>push</font><font color='#009d9d'> esi</font>"},{"offset":4198419,"text":"; 0x402104"},{"offset":4198419,"text":"; \"r'\""},{"offset":4198419,"text":"<font color='#ffd200'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>sym.imp.USER32.dll_LoadStringW</font>]<font color='#009d9d'></font><font color='#009d9d'> </font>(<font color='#009d9d'></font>)<font color='#009d9d'></font>"},{"offset":4198425,"text":"<font color='#ff5afd'>edi =</font><font color='#009d9d'> 0</font>"},{"offset":4198427,"text":"; 8"},{"offset":4198427,"text":"<font color='#ffffff'>eax =</font><font color='#009d9d'> </font>[<font color='#009d9d'>local_8h</font>]<font color='#009d9d'></font>"},{"offset":4198431,"text":"<font color='#df077e'>push</font><font color='#009d9d'> eax</font>"},{"offset":4198432,"text":"; '0'"},{"offset":4198432,"text":"; [0x30:4]=-1"},{"offset":4198432,"text":"; 48"},{"offset":4198432,"text":"<font color='#ffffff'>dword </font>[<font color='#df077e'>local_ch</font>]<font color='#009d9d'> =</font><font color='#009d9d'> </font><font color='#d25032'>0x30</font>"},{"offset":4198440,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_10h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> 3</font>"},{"offset":4198448,"text":"; [0x4010c0:4]=0x83ec8b55"},{"offset":4198448,"text":"<font color='#ffffff'>dword </font>[<font color='#df077e'>local_14h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> </font><font color='#d25032'>0x4010c0</font>"},{"offset":4198456,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_18h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> edi</font>"},{"offset":4198460,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_1ch</font>]<font color='#009d9d'> =</font><font color='#009d9d'> edi</font>"},{"offset":4198464,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_20h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> esi</font>"},{"offset":4198468,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_24h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> edi</font>"},{"offset":4198472,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_28h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> edi</font>"},{"offset":4198476,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_2ch</font>]<font color='#009d9d'> =</font><font color='#009d9d'> 6</font>"},{"offset":4198484,"text":"; 'm'"},{"offset":4198484,"text":"; [0x6d:4]=-1"},{"offset":4198484,"text":"; 109"},{"offset":4198484,"text":"<font color='#ffffff'>dword </font>[<font color='#df077e'>local_30h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> </font><font color='#d25032'>0x6d</font>"},{"offset":4198492,"text":"; 'x3@'"},{"offset":4198492,"text":"; [0x403378:4]=0"},{"offset":4198492,"text":"<font color='#ffffff'>dword </font>[<font color='#df077e'>local_34h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> </font><font color='#d25032'>0x403378</font>"},{"offset":4198500,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'>local_38h</font>]<font color='#009d9d'> =</font><font color='#009d9d'> edi</font>"},{"offset":4198504,"text":"; 0x402100"},{"offset":4198504,"text":"; \"`'\""},{"offset":4198504,"text":"<font color='#ffd200'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>sym.imp.USER32.dll_RegisterClassExW</font>]<font color='#009d9d'></font><font color='#009d9d'> </font>(<font color='#009d9d'></font>)<font color='#009d9d'></font>"},{"offset":4198510,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198511,"text":"<font color='#df077e'>push</font><font color='#009d9d'> esi</font>"},{"offset":4198512,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198513,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198514,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198515,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x80000000</font>"},{"offset":4198520,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198521,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x80000000</font>"},{"offset":4198526,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0xcf0000</font>"},{"offset":4198531,"text":"; '4!@'"},{"offset":4198531,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x402134</font>"},{"offset":4198536,"text":"; 'x3@'"},{"offset":4198536,"text":"<font color='#df077e'>push</font><font color='#009d9d'> </font><font color='#d25032'>0x403378</font>"},{"offset":4198541,"text":"<font color='#df077e'>push</font><font color='#009d9d'> edi</font>"},{"offset":4198542,"text":"; [0x403374:4]=0"},{"offset":4198542,"text":"<font color='#ffffff'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>0x403374</font>]<font color='#009d9d'> =</font><font color='#009d9d'> esi</font>"},{"offset":4198548,"text":"; 0x4020fc"},{"offset":4198548,"text":"; \"N'\""},{"offset":4198548,"text":"<font color='#ffd200'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>sym.imp.USER32.dll_CreateWindowExW</font>]<font color='#009d9d'></font><font color='#009d9d'> </font>(<font color='#009d9d'></font>)<font color='#009d9d'></font>"},{"offset":4198554,"text":"<font color='#ffffff'>esi =</font><font color='#009d9d'> eax</font>"},{"offset":4198556,"text":"<font color='#00ffff'>var = esi </font>-<font color='#009d9d'></font><font color='#009d9d'> edi</font>"},{"offset":4198558,"text":",{"offset":4198558,"text":"<font color='#9dd600'>if </font>(<font color='#009d9d'>!var</font>)<font color='#009d9d'> goto</font><font color='#009d9d'> </font><font color='#d25032'>0x4010b3</font>"}]},{"offset":4198560,"size":19,"jump":4198579,"trace":{"count":379,"times":1},"colorize":0,"ops":[{"offset":4198560,"text":"; [0x48:4]=-1"},{"offset":4198560,"text":"; 'H'"},{"offset":4198560,"text":"; 72"},{"offset":4198560,"text":"<font color='#ffffff'>ecx = dword</font><font color='#009d9d'> </font>[<font color='#009d9d'>local_48h</font>]<font color='#009d9d'></font>"},{"offset":4198564,"text":"<font color='#df077e'>push</font><font color='#009d9d'> ecx</font>"},{"offset":4198565,"text":"<font color='#df077e'>push</font><font color='#009d9d'> esi</font>"},{"offset":4198566,"text":"; 0x4020f8"},{"offset":4198566,"text":"; \"B'\""},{"offset":4198566,"text":"<font color='#ffd200'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>sym.imp.USER32.dll_ShowWindow</font>]<font color='#009d9d'></font><font color='#009d9d'> </font>(<font color='#009d9d'></font>)<font color='#009d9d'></font>"},{"offset":4198572,"text":"<font color='#df077e'>push</font><font color='#009d9d'> esi</font>"},{"offset":4198573,"text":"; 0x4020f4"},{"offset":4198573,"text":"; \"4'\""},{"offset":4198573,"text":"<font color='#ffd200'>dword </font>[<font color='#009d9d'></font><font color='#d25032'>sym.imp.USER32.dll_UpdateWindow</font>]<font color='#009d9d'></font><font color='#009d9d'> </font>(<font color='#009d9d'></font>)<font color='#009d9d'></font>"}]},{"offset":4198579,"size":10,"trace":{"count":383,"times":1},"colorize":0,"ops":[{"offset":4198579,"text":"<font color='#ef8d1a'>pop</font><font color='#009d9d'> edi</font>"},{"offset":4198580,"text":"<font color='#ff5afd'>eax =</font><font color='#009d9d'> 0</font>"},{"offset":4198582,"text":"<font color='#ef8d1a'>pop</font><font color='#009d9d'> esi</font>"},{"offset":4198583,"text":"; '0'"},{"offset":4198583,"text":"<font color='#ffffff'>esp </font>+<font color='#009d9d'>=</font><font color='#009d9d'> </font><font color='#d25032'>0x30</font>"},{"offset":4198586,"text":"<font color='#ffaa7f'>return</font>"}]}]}]
problem is in radare2-side...
cc @radare , could you check, please?
@radare r2 fails to parse the json
I think @thestr4ng3r is better suited since he created agJ
Fixed in r2, but will probably not be included in the next Cutter release, only after the next r2 release.
Next r2 will happen in aprils fool
On 6 Mar 2019, at 21:12, Florian Märkl notifications@github.com wrote:
Fixed in r2, but will probably not be included in the next Cutter release, only after the next r2 release.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
Most helpful comment
problem is in radare2-side...