@@ -60,8 +60,14 @@ public void PreRename(ConfuserContext context, INameService service, ProtectionP
6060 var decodedName = HttpUtility . UrlDecode ( doc . DocumentName ) ;
6161 var encodedName = doc . DocumentName ;
6262 if ( bamlRefs . TryGetValue ( decodedName , out var references ) ) {
63- var decodedDirectory = decodedName . Substring ( 0 , decodedName . LastIndexOf ( '/' ) + 1 ) ;
64- var encodedDirectory = encodedName . Substring ( 0 , encodedName . LastIndexOf ( '/' ) + 1 ) ;
63+ var decodedLastSlash = decodedName . LastIndexOf ( '/' ) + 1 ;
64+ var encodedLastSlash = encodedName . LastIndexOf ( '/' ) + 1 ;
65+
66+ var decodedDirectory = decodedName . Substring ( 0 , decodedLastSlash ) ;
67+ var encodedDirectory = encodedName . Substring ( 0 , encodedLastSlash ) ;
68+
69+ var decodedFileName = decodedName . Substring ( decodedLastSlash ) ;
70+ var encodedFileName = encodedName . Substring ( encodedLastSlash ) ;
6571
6672 var fileName = service . RandomName ( renameMode ) . ToLowerInvariant ( ) ;
6773 if ( decodedName . EndsWith ( ".BAML" , StringComparison . OrdinalIgnoreCase ) )
@@ -78,8 +84,8 @@ public void PreRename(ConfuserContext context, INameService service, ProtectionP
7884
7985 if ( renameOk ) {
8086 foreach ( var bamlRef in references ) {
81- bamlRef . Rename ( module , decodedName , decodedNewName ) ;
82- bamlRef . Rename ( module , encodedName , encodedNewName ) ;
87+ bamlRef . Rename ( module , decodedFileName , fileName ) ;
88+ bamlRef . Rename ( module , encodedFileName , fileName ) ;
8389 }
8490 doc . DocumentName = encodedNewName ;
8591 }
@@ -349,4 +355,4 @@ void AnalyzeResources(ConfuserContext context, INameService service, ModuleDefMD
349355 context . Annotations . Set ( module , BAMLKey , wpfResInfo ) ;
350356 }
351357 }
352- }
358+ }
0 commit comments