Instant VB V25.3.907最新版逆向
本帖最后由 zyyujq 于 2025-3-10 16:42 编辑运行环境:如 WIN11
涉及工具:如 exeinfope,dnSpy 64
教程类型:如 逆向限制,算法分析等
是否讲解思路和原理:是
以下为图文内容:Tangible Software Solutions 的程序代码转换工具集中 Instant VB 用于将 VB.NET 转换为 C#.NET 代码。
在官方网站下载最新版本:https://www.tangiblesoftwaresolutions.com/
Instant VB 程序的主文件有:
Instant VB.exe
Instant VB.dll
Instant VB Logic.dll
通过 exeinfope 检测文件,Instant VB.exe 为 C++ 程序,Instant VB.dll 和 Instant VB Logic.dll 为 .NET X64程序,文件未加密未混淆。
用 dnSpy 64 打开 Instant VB.dll 进行调试。可以逆向为高级版本(Premium Edition)。
1、按数字/字符串,搜索 Free 字符,选择点击 winMain 之 SetMainCaption(),查到如下代码
private void SetMainCaption()
{
if (_g254._g257)
{
base.Title = AppCore.CurrentProductName + " (Free Edition)";
return;
}
base.Title = AppCore.CurrentProductName;
}
代码可以看到 _g254._g257 的逻辑关系为 True 时是免费版。
2、在程序中解锁高级版界面中有 Unlock the Premium Edition,在 dnSpy 64 中搜索Unlock ,发现 winRegDetails 注册窗体:
解锁高级版代码如下:
private async void cmdUnlock_Click(object _p0, RoutedEventArgs Copyright_Tangible_Software_Solutions_p1)
{
string text = this.mskOrderNumber.Text.Trim('_').Trim();
if (text.Length == 0)
{
await _g5.Copyright_Tangible_Software_Solutions_g11(this, "Enter your order number.", TextAlignment.Center);
this.mskOrderNumber.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
}
else
{
int num;
int.TryParse(text, out num);
if (num == 0)
{
await _g5.Copyright_Tangible_Software_Solutions_g11(this, "The order number should be 5 digits.", TextAlignment.Center);
this.mskOrderNumber.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
}
else if (num < 10000 || num > 80000)
{
await _g5.Copyright_Tangible_Software_Solutions_g11(this, "Please check the order number you received after purchasing.", TextAlignment.Center);
this.mskOrderNumber.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
}
else
{
string text2 = this.txtRegCode.Text._g1813().TrimEnd('.');
if (text2.Length == 0)
{
await _g5.Copyright_Tangible_Software_Solutions_g11(this, "Enter your registration code.", TextAlignment.Center);
this.txtRegCode.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
}
else if (text2 == AppCore._g290)
{
await _g5.Copyright_Tangible_Software_Solutions_g11(this, "Enter the new registration code you received after purchasing.", TextAlignment.Center);
this.txtRegCode.Focus(NavigationMethod.Unspecified, KeyModifiers.None);
}
else if (AppCore.Copyright_Tangible_Software_Solutions_g306(text2, text))
{
this._proceed = true;
AppCore._g297(text2, text);
this._g0 = _g0.OK;
base.Close();
}
else
{
await _g5._g12(this, string.Concat(new string[]
{
_g1459._g1460(),
" (",
text2,
"). ",
_g1459.Copyright_Tangible_Software_Solutions_g1471(),
"."
}));
}
}
}
}
代码可以分析在 AppCore.Copyright_Tangible_Software_Solutions_g306(text2, text) 的逻辑关系为 True 时是高级版。
点击 AppCore.Copyright_Tangible_Software_Solutions_g306,dnSpy 64 进入此代码,在 Instant VB Logic.dll 的 AppCore 类中:
public static bool Copyright_Tangible_Software_Solutions_g306(string _p0, string Copyright_Tangible_Software_Solutions_p1)
{
return AppCore._g299(_p0, Copyright_Tangible_Software_Solutions_p1) && AppCore._g298(_p0, Copyright_Tangible_Software_Solutions_p1) && !AppCore._g293;
}
从代码中可以看出 Copyright_Tangible_Software_Solutions_g306 、AppCore._g299(_p0, Copyright_Tangible_Software_Solutions_p1)、AppCore._g298(_p0, Copyright_Tangible_Software_Solutions_p1)
都需要返回逻辑关系为 True
在 dnSpy 64 中编辑 IL 指令,使 g306、g298、g299 直接返回True ,代码如下:
private static bool _g298(string _p0, string Copyright_Tangible_Software_Solutions_p1)
{
return true;
}
private static bool _g299(string _p0, string Copyright_Tangible_Software_Solutions_p1)
{
return true;
}
public static bool Copyright_Tangible_Software_Solutions_g306(string _p0, string Copyright_Tangible_Software_Solutions_p1)
{
return true;
}
在 dnSpy 64 中保存模块,运行程序,程序可以注册成功,但存在时间效验,在 AppCore 类中查找和分析,发现 g305 是时间效验代码。
public static bool _g305
{
get
{
if (AppCore._g289)
{
if (_g2498._g2514)
{
return false;
}
long num = DateTime.Now.AddMonths(1).Ticks - DateTime.Now.Ticks;
bool flag;
bool flag2;
long num2 = _g2498._g2524(AppCore.Copyright_Tangible_Software_Solutions_g266, out flag, out flag2);
if (num2 > 0L)
{
if (AppCore._g267 == "13620" && AppCore.Copyright_Tangible_Software_Solutions_g266._g1817("84153KS"))
{
return DateTime.Now.Ticks > new DateTime(2025, 11, 4).Ticks;
}
long num3 = DateTime.Now.AddDays(1.0).Ticks - DateTime.Now.Ticks;
if (AppCore._g268 > 0L && AppCore._g268 < num2 + num)
{
if (DateTime.Now.Ticks > AppCore._g268 + AppCore._g304 + num3)
{
return true;
}
}
else if (DateTime.Now.Ticks > num2 + AppCore._g304 + num + num3)
{
return true;
}
}
else
{
if (flag)
{
return true;
}
if (AppCore._g268 > 0L)
{
if (_g2498._g2522 != DateTime.MinValue && _g2498._g2522.Ticks > AppCore._g268 + AppCore._g304 + num)
{
return true;
}
if (AppCore._g264 > AppCore._g268 + AppCore._g304 + num)
{
return true;
}
}
}
}
return false;
}
}
将时间代码 g305 编辑 IL 指令,使其直接返回False ,代码如下:
public static bool _g305
{
get
{
return false;
}
}
所有的 IL 指令编辑如下:
逻辑关系为 False 时
0 0000 ldc.i4.0
1 0001 ret
逻辑关系为 True 时
0 0000 ldc.i4.1
1 0001 ret
再次在 dnSpy 64 中保存模块,运行程序。
在注册解锁中随意输入订购单号 24128 和注册码 ChinaRedke-Crack-2025,程序注册成功,没有时间效验。程序逆向成功。
在解锁高级版界面 Unlock the Premium Edition 中置入默认注册信息:
maskedTextBox3.Name = "mskOrderNumber";
obj = maskedTextBox3;
context.AvaloniaNameScope.Register("mskOrderNumber", obj);
maskedTextBox3.TabIndex = 1;
maskedTextBox3.Mask = "25311";//将 00000 修改为自定义订购码
textBox3.Name = "txtRegCode";
obj = textBox3;
context.AvaloniaNameScope.Register("txtRegCode", obj);
textBox3.Text = "ChinaRedke-Crack-2025";//将空格填入注册码
解锁高级版界面就不要人工输入了。
关于汉化,可以使用 IL 指令编辑汉化界面显示。
Tangible Software Solutions 的其它代码转换程序逆向与此雷同,不再阐述。
C# to C++ Converter V25.3.713
C++ to C# Converter V25.3.713
C++ to Java Converter V25.3.713
C++ to Python Converter V25.3.713
CSharp to Java Converter V25.3.713
CSharp to Python Converter V25.3.713
Instant CSharpV25.2.2311
Instant VB V25.3.907
Java to C# Converter V25.3.716
Java to C++ Converter V25.3.713
Java to Python ConverterV25.3.713
补充内容 (2025-3-19 08:35):
本站删下载,提供CSDN下载:
https://download.csdn.net/download/zyyujq/90472082
CSDN博客:
https://blog.csdn.net/zyyujq/article/details/143491223
补充内容 (2025-3-19 08:36):
https://blog.csdn.net/zyyujq/article/details/143314744
https://blog.csdn.net/zyyujq/article/details/122934216
页:
[1]