心野的小巢

  IT博客网 :: 首页 :: 联系 :: 聚合  :: 管理
  35 Posts :: 51 Stories :: 949 Comments :: 0 Trackbacks


1、license校验的进一步破解

通过前文的破解,AMESim可以正常运行,在加载PlanarMechanical目录下的Demo时也不会报license错误(Shooters提供的license缺少planar_mechanical_assistant模块)。但如文章最后所述,这种破解的方法有一定的不稳定因素,比如此时将license文件删除或改名,则AMESim启动时会有一空白警告跳出来。经过近几天的摸索,目前已找到一种比前面的方法要完善的破解方法。

通过分析,可以发现AMESim主程序模块许可的校验关键处在734FA0处(OD中下ReadFile断点,断下后Alt+F9返回主程序领空,不停按Ctrl+F9,并在返回处下断寻找各个模块许可校验时共同调用的函数,经过数次后可发现该处),因此,可通过修改正确模块的license为错误,查看返回值的不同来确定关键跳转处,经过层层深入的排查方式,最终找到了关键处:

007359E8:test eax,eax

007359EA:jnz short 007359F1

发现将007359EA处改为jmp short 007359F1后,即使license文件中的模块密码不正确程序仍然认为其为正确。因此用Ultra Edit打开AMESim.exe,按Ctrl+G组合键,输入地址0x3359EA,将从3359EA开始的75改EB即破解完毕。之后打开license.dat文件,任意复制其中的一个模块license,粘贴后将模块名改为planar_mechanical_assistant,再启动加载PlanarMechanical目录下的Demo,就不会报错了。

2、接口license的破解

有了上面的破解,理论上只要知道接口的Feature名称,然后填入到license文件中就能实现接口的可见,但Feature名称(即类似于上面提到的planar_mechanical_assistant这个字符串)不易获得,我试了下直接Simulink和Adams是可以的,但填入SimuCosim后,该接口仍然不可见。因此还是需要进一步破解。方法仍然类似,有了前面的734FA0断点,通过比较正确与错误license的返回值及后面的跳转来寻找爆破点。由于Shooters提供的license文件中discrete接口可用,这为快速找到关键点节省了很多时间(需注意的是包含库的Feature和单独接口的Feature校验方法并不同,本文略过)。最终找到如下处:

0048DA40:cmp dword ptr [ebp-C],0

0048DA44:je short 0048DA78

将0048DA44处改为nop,即可实现加载所有接口。因此用Ultra Edit打开AMESim.exe,按Ctrl+G组合键,输入地址0x8DA44,将从8DA44开始的74 32改9090即破解完成。保存后启动AMESim,新建一文件,点击菜单Modeling-Interface block-Create interface icon可以看到一共12个接口可供选择。

至此,AMESim V7.0a破解告一段落,主程序一共需修改2处3字节。AMELic70.dll的修改见前文。

补丁下载:

http://www.cnitblog.com/Files/torch/amesim.v7.0a-patch-new.rar


补记:通过分析,发现Shooters提供的license文件只可供建模,不能供仿真(从模块名称build_...也能看出一些端倪),而AMELic70.dll中也有本文第1条所述的校验函数,因此得到另一破解思路:将原始AMELic70.dll中的相应处进行修改(0x14C2A处75改为EB,可通过搜索搜索8b 55 1c 52 8b 45 e0 50 8b 4d进行定位),然后点仿真,看报错的是什么模块,按照本文第1条所述的方法添加该模块的license即可。

 

posted on 2008-01-26 15:19 心野 阅读(2074) 评论(8)  编辑 收藏 引用

Feedback

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-04-27 17:44 shuqy
请问打补丁的时候出现“CRC32校验失败,没有补丁任何内容”是不是说我的补丁没打上?  回复  更多评论
  

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-04-28 16:47 zhongjb
请问要与simulink联合仿真时,该怎么对matlab和amesim及系统进行设置?  回复  更多评论
  

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-04-28 20:01 心野
crc32校验失败有可能有两个原因:一是你安装的不是7.0A这个版本,另一个原因可能就是你用了其它补丁或多次用补丁,请按照说明里的指示更改文件名再试。
联合仿真的设置帮助文件里有,恕我一时半伙说不清,请照帮助指定设定即可,需要注意尽量将amesim和matlab装在根目录下(不支持有空格的路径,所以不要装在默认的program files目录下)。  回复  更多评论
  

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-05-18 15:08 stfd
你好,使用了您的补丁后,已经可以正常仿真,但Simulink、Adams等接口的许可证还是不能使用。  回复  更多评论
  

# 安装后运行出现错误提示 2008-05-29 12:40 lisi8000
提示说 环境变量错误,不能运行,不知道为什么,我没有设置环境变量啊  回复  更多评论
  

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-08-05 11:32 邵今朝
心野,你好:
我用了你的破解后,机械仿真没有问题,但是液压仿真一直报“液压许可证”错误,好像是没有安装。最初我的电脑里安装了adams,我认为是ADAMS的FLEX LICENING的问题,我打开AMESIM的LIMTOOLS,在其设置里面的参数是ADAMS的,也无法修改。我装了两次,都是同样的问题。还望心野朋友能在百忙中给予帮助。现在这里谢谢了!!热切期盼中!!
  回复  更多评论
  

# re: 再谈AMESim V7.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-08-05 17:13 心野
你没有破解好,请参考里面的说明,另外请注意版本号,留意一下破解完成后补丁的提示。  回复  更多评论
  

# re: 再谈AMESim V8.0a的破解(含Simulink、Adams等所有接口、联合仿真的破解) 2008-08-20 20:38 charlse
AMESim8.0A也出来不,能不能也帮咱们中国人破解一下!其实我觉得你挺厉害的!佩服!  回复  更多评论
  



标题  
姓名  
主页
验证码 *
内容(提交失败后,可以通过“恢复上次提交”恢复刚刚提交的内容)
 
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
[使用Ctrl+Enter键可以直接提交]
 
相关链接: