-
-
[求助]FlexNet 11.1x 可过ECC,现在卡重复自校验上_-_。
-
发表于:
2017-12-23 06:58
6236
-
[求助]FlexNet 11.1x 可过ECC,现在卡重复自校验上_-_。
起因:
因个人业余研究工法,需要用国外顶尖软件和开源程序比对成果精度,因囊中羞涩就考虑试着自己解一下。
进展:
1、经查程序是FlexNet 11.14 ECC保护 ----> 通过ECC Patch解决
2、许可证文件 ----- > 已成功伪造,程序识别。
问题:
在执行具体解算功能时,会提示被文件修改,不看不知道一看吓一跳,几乎每个文件都有自校验,每个文件中有至少3处自校验。 -_-"
我也是醉了
我能力不行,没有看懂自校验算法。对于前几处调用,通过直接改返回值顺利过关。但是,最后一处,搞不懂怎么改了。如下图:
int __cdecl sub_10088D50(const char *a1)
{
void *v1; // eax
// 中间省略
*((_DWORD *)v36 - 20) = v33;
*((_DWORD *)v36 - 19) = v34 + HIDWORD(v33);
return sub_10088C90(); // <--- 没懂搞懂如何修改
}
sub_10088C90()代码如下:
void sub_10088C90()
{
if ( dword_1066B3E0 )
{
memset(dword_1066B3E0, 0, dword_102F5444);
operator delete[](dword_1066B3E0);
dword_1066B3E0 = 0;
}
if ( dword_1066B3EC )
{
memset(dword_1066B3EC, 0, dword_102F554C);
operator delete[](dword_1066B3EC);
dword_1066B3EC = 0;
}
if ( dword_1066B3E8 )
{
memset(dword_1066B3E8, 0, dword_102F5550);
operator delete[](dword_1066B3E8);
dword_1066B3E8 = 0;
}
if ( dword_1066B3E4 )
{
memset(dword_1066B3E4, 0, dword_102F549C);
operator delete[](dword_1066B3E4);
dword_1066B3E4 = 0;
}
}
如果您有时间,恳请帮助我一下。谢谢。
(附件为:
10088D50部分完整伪代码)
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课