2013-06-21 6 views
0

이후로 Java로 변환해야하는 약간의 로그 난독 처리 프로그램이 생성 된 개발자가 있습니다.C# XOR을 Java로 변환하는 데 도움이 필요합니다.

모든 문자 항목 (255)에 의해 배타적 논리합을 취하는 한, 여기에 de'obfuscation 코드 조각 나는 자바에 C#을에서이 Conversions.ToString(Strings.Chr(Strings.Asc(@string)^255));을 변환해야

char[] array = text.ToCharArray(); 
for (int i = 0; i < array.Length; i++){ 
    char @string = array[i]; 
    text2 += Conversions.ToString(Strings.Chr(Strings.Asc(@string)^255)); 
} 
streamWriter.WriteLine(text2); 

입니다. 문제는 java에서 ascii 문자가> 255 인 경우 문자를 올바르게 디코딩하지 않는 것입니다. 여기

String e = "ÃÎÌËÁßÍÏÎÌÐÏÉÐÎÌßÎÊÒÌÈÒÌÇßÓœž“ÏÑ–‘™Áß‘ŠÎÏÈÈËÑ‘ŠŒ–šÑœ’ß™ÅßÏÌÌÉ"; 
    String sOut1 = ""; 
    String sOut2 = "'"; 
    char[] cArray = e.toCharArray(); 
    for(int index = 0; index < cArray.length; index++){ 
     int before = ((int) cArray[index]); 
     int after = before^255; 
     char s = ((char) after); 
     sOut1 += cArray[index]; 
     sOut2 += Character.toString(s); 
     System.out.println("1: " + cArray[index] + 
          " 2: " + Integer.toString(before) + 
          " 3: " + Integer.toString(after) + 
          " 4: " + Character.toString(s) 

       ); 


    } 
    System.out.println(sOut1); 
    System.out.println(sOut2); 

내 자바 코드를 출력한다 : 여기서 일례이다

ÃÎÌËÁßÍÏÎÌÐÏÉÐÎÌßÎÊÒÌÈÒÌÇßÓœž“ÏÑ–‘™Áß‘ŠÎÏÈÈËÑ‘ŠŒ–šÑœ’ß™ÅßÏÌÌÉ 

'< 134> 2013년 6월 13일 15-37-38 < ⃣oƬƁ⃣0.⃬⃧⇝o> ⃧Ɵ10774 .⃧Ɵƭp⃬rƞ.Ƭo⃦ p⇝

지원과 도움을 주셔서 감사합니다.

+2

? 그것들은 프레임 워크 유형처럼 들리지 않습니다 ... –

+0

어쩌면 당신은 String.getBytes ("ISO-8859-1")와 새로운 문자열 (byte [], "ISO-8859-1")을 찾고 있습니다 –

답변

-1

Java 문자의 하위 8 비트 만 가져 오십시오.

char tmp&=255; 

또는 나머지 연산자를 사용하여 마스크 : 당신은 마스크에 의해 그렇게 할 수

는`Strings`와`Conversions` 무엇
char tmp=tmp%255; 
+0

Ermir, is 어쨌든 저에게 더 많은 정보를 알려주시겠습니까? 감사 – golgiapparatus

관련 문제