Ambiera Forum

Discussions, Help and Support.

Ambiera Forum > irrFuscator
Upper/Lower case name problems

makzan
Guest
Quote
2008-09-29 10:18:46

I am trying irrFuscator and just found a problem.

if I have folder and file name called "Something" or "Something.as"
and if I have code like :

something = new Something();
......


or like:

import classes/path/Something.*


it will not only replace "something" into "_ab123" but also the "Something" into "_ab123".

becomes:

import classes/path/_ab123.*


Is that a bug?

Thank you.

PS. hope that I can express the problem clear.




makzan
Guest
Quote
2008-09-29 10:30:43

Sorry that I forgot to tell one thing.

In the upper case, I want to ignore "Something", (but not ignore "something")


niko
Moderator
Quote
2008-09-30 15:43:10

Thanks for reporting, seems to be a bug. And you are only using a class something and not a class Something as well in your project?


makzan
Guest
Quote
2008-10-01 18:33:46

for example. I have a class called "Attack" named "Attack.as" as an interface class.
There are others classes extend this class.

then I put all of them into a folder 'attack'

In other class, it will import class.path.attack.*;

Then, after irrFuscator, the 'attack' folder remains. but Attack.as becomes _ab123.as
and "import class.path.attack.*;" becomes "import class.path._ab123.*;"

This is one of the case.

The other example is I have a class called "Tree", and there is a code like "var tree = new Tree()";
After irrFuscator, the "tree" becomes "_ab321", but the Tree.as also becomes "_ab321.as".

Inside the _ab321.as (orginial Tree.as), the constructor and class name remains "Tree".


May these problems cause by case-insensitive filename in Windows system?

PS: Will it possible for irrFuscator to support linux or OS X in the future?


niko
Moderator
Quote
2008-10-03 07:50:53

Thanks for the clarification, I'll have a look at this. Yes, the problem could be the case insensive file system, but I'm not sure yet.

linux and osx will not be supported in the very near future, but there are plans to create a port of irrfuscator already. Until then, you could use wine on both linux and macosx to use irrfuscator this, people reported that it works.


niko
Moderator
Quote
2008-10-06 18:17:06

Hi, I now tried to reproduce the problem, but irrfuscator obfuscates all my tries correctly as expected. It also doesn't care about upper/lower case filename problems, all combinations seem to work. I would be really thankful if you could provide some example code as .zip file.


B.Ritzl
Guest
Quote
2008-11-24 15:11:58

I tried irrFuscator on a pretty large project and I get the exact same behaviour as explained above, irrFuscator starts to mess with my package names!

For instance, I have a package called [face=Courier]se.jadestone.secretproject.game[/face], where the package name gets changed to [face=Courier]se.jadestone.secretproject._pm1556[/face] !

If I look in the generated "irrfuscator_symbols.txt" I see that [face=Courier]_pm1556[/face] correspond to a member variable named [face=Courier]game[/face] (of type [face=Courier]Game[/face]) in a class within the project.

I also see lovely imports such as [face=Courier]"import se.jadestone.secretproject._pm1556._lq5647.network.protocol._vu1247;"[/face]

The [face=Courier]"_pm1556._lq5647."[/face] part doesn't look quite right does it?  :)


niko
Moderator
Quote
2008-11-24 18:57:05

Ah, ok, that's true. As workaround, simply put those names into the ignore list.


B.Ritzl
Guest
Quote
2008-11-25 07:43:00

Yes, putting the names in the ignore list would work, but it's a manual step (although a one time thing) and the same problem may be introduced again at a later stage of development.

Is this something that you plan on fixing? I guess having the irrFuscator ignore package names would do the trick.


niko
Moderator
Quote
2008-12-01 17:46:48

Yes, this is planned :)


Jake Lewis
Guest
Quote
2008-12-03 16:56:14

I'm experiencing the same problem, whereby package names are being obfuscated in the code but not in the directory structure of the obfuscated directory tree. (working in Windows)

Although this bug needs to be fixed so that package name changes are consistent, I actually think that obfuscating package names is a good idea, as they obviously give  a lot of information as to the structure of the application, so perhaps that should a command line option.

A trick that some Java obfuscators  is to dump everything into one big package upon obfuscation, but that might be a total nightmare of name clashes.


Jake Lewis
Guest
Quote
2009-02-03 02:25:16

Here is a very simple example that shows the problem:

running

irrfuscator test\as3 test\as3obf --writesymboltable --obfuscateconsts --obfuscatevars
on

package {
     class TestClass {
          public function TestClass() {
               
          }
          var testClass:TestClass;
          static public const TESTCLASS:TestClass = null;
     }
}


produces obfuscated source file _hj11.as

package {
     class _um11 {
          public function _um11() {
               
          }
          var _pa12:_um11;
          static public const _hj11:_um11 = null;
     }
}

irrfuscator_symols.txt:
TESTCLASS => _hj11
TestClass => _um11
testClass => _pa12

As you can see, there is confusion between the classname TestClass and the static const TESTCLASS - that is, its saved with the wrong filename.

I can avoid a lot of these problems by obfuscating without --obfuscatevars, but that seriously reduces the strength of the  obfuscation.

Please sort this out as soon as possible - its very hard for me to justify buying any more seats until I can get past this hurdle.

Regards, Jake


zutuk
Guest
Quote
2009-02-03 06:45:55

Had a similar problem, a simple workaround is to put the TestClass symbol in the ignore list.
But I also contacted ambiera and they told me a fix will be in the next release.



niko
Moderator
Quote
2009-02-03 16:35:19

Yes, this should be (hopefully) fixed in the next release of irrfuscator.


niko
Moderator
Quote
2009-02-04 10:55:13

Update: This bug should now be fixed in version 1.2.1


Create reply:


Posted by: (you are not logged in)


Enter the missing letter in: "I?ternational" (you are not logged in)


Text:

 

  

Possible Codes


Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Image [img]http://www.example.com/image.jpg[/img]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]

Emoticons


   






Copyright© Ambiera e.U. all rights reserved.
Privacy Policy | Terms and Conditions | Imprint | Contact