Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Java deobfuscation seems broken #122

Open
phpn00b opened this issue Mar 8, 2016 · 0 comments
Open

Java deobfuscation seems broken #122

phpn00b opened this issue Mar 8, 2016 · 0 comments

Comments

@phpn00b
Copy link

phpn00b commented Mar 8, 2016

I have tried using the deobfuscate tool in the java bundle to upload a source map and every time the servers log shows the same error message along the lines of:
ArgumentError: syntax error on line 4, col -1: children: !ruby/object:Set
hash:
&id1085 !ruby/object:Squash::Java::Package ?
children: !ruby/object:Set
hash:
&id001 !ruby/object:Squash::Java::Package ?
children: !ruby/object:Set
hash: {}

              classes: !ruby/object:Set
                hash:
                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: AnimRes
                    obfuscation: AnimRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: AnimatorRes
                    obfuscation: AnimatorRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: AnyRes
                    obfuscation: AnyRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: ArrayRes
                    obfuscation: ArrayRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: AttrRes
                    obfuscation: AttrRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: BinderThread
                    obfuscation: BinderThread
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: BoolRes
                    obfuscation: BoolRes
                    parent: *id001
                  : true

                  !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash: {}

                    name: CallSuper
                    obfuscation: CallSuper
                    parent: *id001
                  : true

                  &id023 !ruby/object:Squash::Java::Class ?
                    classes: []

                    java_methods: !ruby/object:Set
                      hash:
                        !ruby/object:Squash::Java::Method ?
                          arguments: []

                          klass: *id023
                          name: suggest
                          obfuscation: suggest
                          return_type: !ruby/object:Squash::Java::Argument
                            dimensionality: 0
                            type: &id022 !ruby/object:Squash::Java::Class
                              classes: []

                              java_methods: !ruby/object:Set
                                hash: {}

                              name: Strin'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/syck-1.0.5/lib/syck.rb:145:in `load'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/syck-1.0.5/lib/syck.rb:145:in `load'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/safe_yaml-1.0.4/lib/safe_yaml.rb:15:in `load_with_options'
from /home/mvanhorn/squaresquash/app/models/obfuscation_map.rb:65:in `namespace'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activemodel-4.2.5.1/lib/active_model/dirty.rb:219:in `attribute_change'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activemodel-4.2.5.1/lib/active_model/dirty.rb:148:in `block in changes'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activemodel-4.2.5.1/lib/active_model/dirty.rb:148:in `map'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activemodel-4.2.5.1/lib/active_model/dirty.rb:148:in `changes'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/attribute_methods/dirty.rb:68:in `block in changes'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/attribute_methods/dirty.rb:180:in `cache_changed_attributes'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/attribute_methods/dirty.rb:67:in `changes'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activemodel-4.2.5.1/lib/active_model/dirty.rb:198:in `changes_applied'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/attribute_methods/dirty.rb:47:in `changes_applied'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/attribute_methods/dirty.rb:22:in `save'
from /home/mvanhorn/.rbenv/versions/2.2.3/lib/ruby/gems/2.2.0/gems/activerecord-4.2.5.1/lib/active_record/transactions.rb:286:in `block (2 levels) in save'`

I also tried to directly load the source map via the rails console with the following

environment = 'production' build = '400023' api_key = '155268d7-f737-4550-9552-a231aa82e9f6' map = Squash::Java::RenameLog.new("../mapping.txt").parse project = Project.find_by_api_key(api_key) or raise(API::UnknownAPIKeyError) deploy = project.environments.with_name(environment).first!. deploys.find_by_build!(build) deploy.obfuscation_map.try! :destroy deploy.create_obfuscation_map!(namespace: map)

to no avail

How do I go about getting my android app's mapping.txt converted into a form that squash can use and loaded into the database so I can make full use of squash?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant