本用 ILSpy 反编译后,混淆代码已经出现了,但是如果那些乱码没办法解决,请教哪位大侠帮忙看看啊,似乎是字符串混淆,试了很多办法没能破解。
ScanType scanType = new ScanType { barcode = this.BarcodeCodeText.get_Text(), noscan = Setting.Method_00("奨", a_) }; PhoneApplicationService.get_Current().get_State().set_Item(Setting.Method_00("㩨ࡪ౬Ů╰ੲմቶ", a_), scanType); base.get_NavigationService().Navigate(new Uri(Setting.Method_00("䙨㭪౬ᑰr婴⑶᩸᩺፼㵾햌ﲐメ몔�漢列쾠쒢욦�寧좬�쒰�솴馶솸�킼펾", a_), 2)); num = 9; continue;
从反编译的代码上来看,Setting.Method_00是一个字符串加密程序。看看能反编译这个函数不?
这个函数这个函数应该是个静态函数,通过提取这个函数和变量 a_ (我觉得这个应该是个常量,找找在哪儿赋值的) 运算还原原始字符串。
参考 http://www.cnblogs.com/2018/archive/2010/05/14/1735781.html 使用其他的工具试试
谢谢,常见的几种工具都试过了,别的代码能成功了,唯独文中贴出来的一串字符不行,也是最关键的地方,不知他们用了什么办法
@灰身: 看看二进制,估计是别的编码吧,如Base64,UTF-8啥的,根据内码和界面的汉字对照看看
谢谢各位能来回答,是很好的精神上支持,终于总算解开了,用这段代码:
1 internal static string peek(string text, int value) 2 { 3 char[] array = text.ToCharArray(); 4 int num = checked((((int)(((unchecked(590482263u + 0u + 0u) | 0u) << 0 >> 0) - 0u) >> 0) + 0 >> 0 << 0) - 0) + value; 5 int m, n; 6 if ((n = (m = 0)) < 1) 7 { 8 while (true) 9 { 10 int num2; 11 int expr = num2 = n; 12 char[] args = array; 13 int arg = num2; 14 char expr2 = array[num2]; 15 byte b = (byte)((int)(expr2 & 'ÿ') ^ num++); 16 byte b2 = (byte)((int)(expr2 >> 8) ^ num++); 17 byte arg2 = b2; 18 b2 = b; 19 b = arg2; 20 args[arg] = (char)((int)b2 << 8 | (int)b); 21 m = expr + 1; 22 if ((n = m) >= array.Length) 23 { 24 break; 25 } 26 } 27 } 28 return string.Intern(new string(array)); 29 }
高手 你是怎么解开的?能共享下吗?