七达网这里重点给大家讲解如何手动爆破 IAR EWARM 6.x以及生成License,IAR Embedded Workbench For 8051(简称 IAR for 8051)是一款强大的嵌入式开发的软件主要用于单片机开发是一套高度精密且使用方便的嵌入式应用编程开发工具!
IAR Embedded Workbench IDE 处理:
找到common\bin\LicenseManager.exe文件,这个文件时IAR授权管理程序,每次启动IAR都会运行一下这个程序检测有没有授权,把它随便个改个名字
(PS:直接删除也可以),这样直接运行IAR IDE 会弹出一个对话框提示运行LicenseManager失败,就从这里入手。
OD直接加载IarIdePm.exe,设断点 bp MessageBoxA ,F9跑起来,断在user32.MessageBoxA,CTRL+F9 出现提示对话框,点击确定,CTRL+F9,F8 一直运行到IarIdePm.exe 代码段,发现如下代码:
显然这里是创建了一个进程运行LicenseManager.exe程序,当LicenseManager.exe程序没有找到时,进程创建失败,弹出一个提示对话框,那么直接retun了这个函数就可以了,首先向下翻,找到函数结束返回代码:
然后再向上翻,找到函数入库代码:
选定函数入口行,空格键,直接修改为函数返回代码,即: retn
这里需要注意的是,查看函数返回代码是为了保证堆栈平衡,关于堆栈平衡原理就不详细说了。
但是在OD里面修改了是没有用的,使用UltraEdit或WinHex打开IarIdePm.exe,搜索原函数入口附件十六进制数据,然后根据修改后的数据替换,
具体步骤就不阐述了,自己搜索。
这样处理之后,再直接运行IAR,就不会有弹出提示对话框了,但是IAR实质是没有破解的,当你编译一个工程时会提示:
Fatal Error[LMS001]: No license found. Use the IAR License Manager to resolve the problem.[LicenseCheck:2.12.3.454, RMS:8.5.0.0021, Feature:ARM.EW.COMPILER,
iccarm.exe 处理:
在安装目录下找到arm\bin\iccarm.exe程序,OD载入,搜索字符串 ,找到"Must request at least one license.",定位到代码行:
在函数入口下断,F9运行程序,到达断点,ALT+K打开调用堆栈窗体,层层堆栈分析,发现可疑代码:
先判断返回值eax是否为2,不为2的话ecx置0,然后判断eax是否为0 若eax=0则cl=1,若eax!=0则cl=0 最后在eax=cl返回
继续分析调用栈,发现只有此处返回1才OK,也就是说上一个函数返回值eax必须=0,
所以一开下断的函数入口改为:
F9运行程序,发现提示内部错误,重新载入,定位到刚才修改的位置,修改代码,下断,F9运行,断下,CTRL+F9多次,来到此处:
在此函数入口下断,重新载入程序,重复上面步骤,F9运行来到此处,F8单步运行,发现上图下断位置函数执行后会提示错误,
在此位置下断,重新载入程序,重复上面步骤,断在此处,F7跟入,分析后发现可疑代码:
经过多次分析,发现当此处AL=1时,程序运行成功,所以TEST上面的函数执行将AL置1即可,F7跟入两次以后找到将函数入口改为下面代码即可。
mov al,1
retc 0c
修改以上两处后发现iccarm.exe可以成功运行,且不在提示未授权,使用工具修改iccarm.exe保存
经过这个步骤后用iar打开工程,已经可以成功编译了。但是不能在线调试仿真。
七达网下载FTP服务器软件下载专区提供了最新最全面最好用的FTP服务器软件下载,其中包含有Serv-U破解版,filezilla server中文版等诸多经典的FTP服务器软件下载。...
图像其他 / 49 MB
行业软件 / 171 MB
动画制作 / 915 MB
杂类工具 / 11.5 MB
信息管理 / 46.47 MB
软件评论
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,与本站立场无关!