Skip to content

CCE in LVT reconstruction #5

@MarcSchoenefeld

Description

@MarcSchoenefeld

It looks like the LVT node handling in App.handleClass need to be prepared for the case that the current frame is a j.l.Integer (and not always a j.l.String, described assumed in the nearby comment).

Such as in class c.d.a of https://crackmes.one/crackme/5abaae3633c5d46cb40c9c94

Here we see:

Examining class crackme/dup2_x2/a
Examining method
Examining method
Examining method a
Examining method a
Examining method b
Exception in thread "main" java.lang.ClassCastException: class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap')
at latte.App.handleClass(App.java:279)
at latte.App.main(App.java:127)

279: localVar.desc = Type.getObjectType((String)stackMapLocal).getDescriptor();
280: break;

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions