源代码转换器tangiblesoftwaresolutions软件工具爆破学习笔记
本帖最后由 lcwxxf 于 2020-2-19 10:58 编辑“疫”情无情,吾爱有爱!
闲在家里无聊时,偶尔会写点代码,无奈功底太浅,难免会网上到处找代码,然而拿到的代码不一定是自己想要的,于是发现了 tangiblesoftwaresolutions 的系列软件。
软件介绍:
The Most Accurate and Reliable Source Code Converters
Convert between VB.NET, C#, Java, & C++, while saving countless hours of painstaking work and valuable time.
软件功能:
不同语言源代码间的相互转换
本笔记以 VB.net to Jave 软件最新版本 20.2.6为记录,其它语言转换软件修改方式基本一样。
---------------------------------------------------------------
0x1 软件查壳,初步了解 VB to Java Converter
软件为C#编写,软件启动有NAG窗口,有注册窗口,有“免费版本”标题
0x2 开始操刀
打开 Dnspy 载入EXE文件
因为要爆破,不考虑注册情况,所以直接调试分析代码
找到程序启动窗口 frmmain 调试分析得到如下结果,具体看下图
具体修改方法及作用,图片上已经做记录
接下来将免费版改为高级版本
虽然修改到此可以结束了,但是该软件会联网检查更新,有新版本会有提供框弹出,保险起见,直接修改掉
至此所有修改均完成 ,不要忘了保存修改哈
最后看一下修改后的软件运行效果图
0x3 总结
源代码转换器转换效率很快,虽然平时很少会用到,但是作者写代码非常辛苦,请尊重原作者的劳动成果,我爆破也是本着学习的目的做的笔记。
原版本学习请到官方主页上下载,由于国外网站,下载速度较慢,我已提供网盘下载,建议大家自行到网站下载学习
编贴辛苦,还望动下你发财的小手,免费评下分,谢谢
如贴子有违规,请及时告知。
本帖最后由 csjwaman 于 2020-2-19 20:03 编辑
其实貌似不要这么复杂的:
// frmMain
// Token: 0x06000516 RID: 1302 RVA: 0x00053BCC File Offset: 0x00052BCC
private static void Main(string[] args)
{
Application.EnableVisualStyles();
try
{
App._g0 = !App._g37(); //进入
}
catch
{
App._g0 = true;
}
Application.ThreadException += new Copyright_Tangible_Software_Solutions_g1951()._g1952;
frmMain.Copyright_Tangible_Software_Solutions_m21 = args;
_g1864.Copyright_Tangible_Software_Solutions_g1866 = (frmMain.Copyright_Tangible_Software_Solutions_m21.Length != 0);
Application.Run(new frmMain());
}
// Token: 0x06000018 RID: 24 RVA: 0x000025A8 File Offset: 0x000015A8
public static bool _g37()
{
if (TangibleSettings.Copyright_Tangible_Software_Solutions_g1646)
{
App._m3 = TangibleSettings.Copyright_Tangible_Software_Solutions_g1666(_g1099._g1128(), "");
if (App._m3.Length == 0)
{
App._m3 = TangibleSettings.Copyright_Tangible_Software_Solutions_g1666(_g1099._g1127(), "");
if (App._m3.Length > 0)
{
TangibleSettings._g1672(_g1099._g1128(), App._m3);
TangibleSettings._g1678(_g1099._g1127());
}
}
App._m2 = TangibleSettings.Copyright_Tangible_Software_Solutions_g1666(_g1099.Copyright_Tangible_Software_Solutions_g1126(), "missing");
if (App._m2 == "missing")
{
App._m2 = TangibleSettings.Copyright_Tangible_Software_Solutions_g1666(_g1099._g1125(), "missing");
if (App._m2 != "missing")
{
TangibleSettings._g1672(_g1099.Copyright_Tangible_Software_Solutions_g1126(), App._m2);
TangibleSettings._g1678(_g1099._g1125());
}
}
}
else
{
App._m2 = "missing";
}
if (App._m2 == "missing")
{
return false;
}
if (!App._g40(App._m2, App._m3))
{
_g1864._g1870(string.Concat(new string[]
{
_g1099.Copyright_Tangible_Software_Solutions_g1121(),
" (",
App._m2,
"). ",
_g1099.Copyright_Tangible_Software_Solutions_g1136(),
"."
}));
App.Copyright_Tangible_Software_Solutions_g36();
return false;
}
App._m4 = TangibleSettings._g1669(_g1099._g1130(), 0L);
if (App._m4 == 0L)
{
App._m4 = TangibleSettings._g1669(_g1099._g1129(), 0L);
if (App._m4 != 0L)
{
TangibleSettings._g1675(_g1099._g1130(), App._m4);
TangibleSettings._g1678(_g1099._g1129());
}
}
if (App._m4 == 0L)
{
App._m4 = TangibleSettings._g1669("Build Date on Reg Code Entry", 0L);
if (App._m4 != 0L)
{
bool flag;
bool flag2;
Copyright_Tangible_Software_Solutions_g2001._g2014(App._m2, out flag, out flag2);
if (flag2 || !flag)
{
App._m4 = DateTime.Now.Ticks;
TangibleSettings._g1675(_g1099._g1130(), App._m4);
}
TangibleSettings._g1678("Build Date on Reg Code Entry");
}
}
return !App.Copyright_Tangible_Software_Solutions_m21 && !App._g45("");//只留这行代码,其他都删除即可
}
也就是:
// Token: 0x06000018 RID: 24 RVA: 0x000025A8 File Offset: 0x000015A8
public static bool _g37()
{
return !App.Copyright_Tangible_Software_Solutions_m21 && !App._g45("");//只留这行代码,其他都删除即可
} JuncoJet 发表于 2020-2-19 11:21
还有这样的操作,.NET还能转JAVA。 窗口程序应该转不了吧
都可以的,整个工程都可以转,只是转过有些代码要自己检查下 谢谢分享 有没有C to java的啊 谢谢分享 谢谢分享源码 谢谢分享 还有这样的操作,.NET还能转JAVA。{:1_904:} 窗口程序应该转不了吧 E式丶男孩 发表于 2020-2-19 11:12
有没有C to java的啊
有C++ to jave 感谢分享