转自IAR Embedded Workbench 破解方法+工具+授权文件

本文重点阐述了如何手动爆破 IAR EWARM 6.x以及生成License,目的一是和大家分享下,二是自己记录下过程,以便应付日后IAR更新,二是若有高手过目,请指正下不足之处。

EWARM-CD:http://pan.baidu.com/share/link?uk=3842212607&shareid=1472767783

EWAVR-CD:http://pan.baidu.com/share/link?uk=3842212607&shareid=1472767783

EW430-CD:http://pan.baidu.com/share/link?uk=3842212607&shareid=1472767783

EWSTM8-CD:http://pan.baidu.com/share/link?uk=3842212607&shareid=1472767783

EW8051-CD:http://pan.baidu.com/share/link?uk=3842212607&shareid=1472767783

一、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打开工程,已经可以成功编译了。但是不能在线调试仿真。

三、仿真动态库处理

IAR EWARM共支持多种在线仿真,在安装目录下arm\bin下能找到对应的动态库,经过分析发现,只有以下几个动态库检测授权状态:

armangel.dll Angel
armgdbserv.dll GDB Server
armjet.dll I-jet
armjlink.dll J-Link/J-Trace
armjtag.dll JTAGE
armlmiftdi.dll TI Stellaris
armrdi.dll RDI
armrom.dll ROM-Monitor
armsim2.dll Simulator
armXDS100.dll TI XDS100

以上几个动态库只需安装第二步骤处理,修改第一处位置即可,关键字符串"Must request at least one license."

经过这个步骤后,iar就可以在线仿真调试了。

三、ilinkarm.exe处理

经过仔细检查,发现arm\bin\linkarm.exe此文件也有授权检验,检验方法很简单,OD载入,搜索字符串,查找"License"。

此文件内找到以下可疑字符串:"This product is not licensed for MISRA C checking"

爆破方法和上一个步骤相同,修改一处即可,关键字符串"Must request at least one license."

四、处理工具

IAR Embedded Workbench for ARM 6.50.2 破解补丁http://download.csdn.net/detail/chivalrys/5051334

IAR Embedded Workbench for ARM 6.50.3 破解补丁http://download.csdn.net/detail/chivalrys/5134248

IAR Embedded Workbench for ARM 6.50.5 破解补丁http://download.csdn.net/detail/chivalrys/5319261

IAR Embedded Workbench for ARM 6.50.6 破解补丁http://download.csdn.net/detail/chivalrys/5522721

IAR Embedded Workbench for ARM 6.60.1 破解补丁http://download.csdn.net/detail/chivalrys/5682951

IAR Embedded Workbench for ARM 6.70.1 破解补丁http://download.csdn.net/detail/chivalrys/5682951

IAR Embedded Workbench for ARM 6.70.2 破解补丁http://download.csdn.net/detail/chivalrys/5682951

IAR Embedded Workbench for ARM 6.70.3 破解补丁http://download.csdn.net/detail/chivalrys/5682951

以上处理方式目前可用,仍在测试中,暂未发现bug。

五、授权文件注册









文件夹 授权程序
430  IAR Embedded Workbench for Texas Instruments 430 5.60
8051  IAR Embedded Workbench for 8051 8.30
ARM IAR Embedded Workbench for ARM 6.70
AVR  IAR Embedded Workbench for Atmel AVR 6.30
STM8  IAR Embedded Workbench for STMicroelectronics STM8 1.42


复制相应的文件夹到指定的目录内:
XP: C:\Documents and Settings\All Users\Application Data\IARSystems\LicenseManagement\LicensePackages\
WIN7:C:\ProgramData\IARSystems\LicenseManagement\LicensePackages\
若路径不存在,则手动创建路径。
使用License授权不需要Patch程序。

感谢一位叫“雷锋”的网友提供正版软件,从而获取到 EWARM-protected-library-src.exe 解压密码:L7h3d1m6

IAR Embedded Workbench 破解方法+工具+授权文件的更多相关文章

  1. IAR Embedded Workbench for ARM 6.50.6 & 6.60.1 破解补丁

    IAR EWARM 6.50.6 & 6.60.1 破解 破解原理和方法见:http://blog.csdn.net/chivalrys/article/details/8564568 IAR ...

  2. IAR Embedded Workbench IDE 显示行号

    第一次使用IAR Embedded Workbench IDE,默认设置是不现实代码行号的.显示代码行号方法如下:首先选择“Tools”菜单项,打开“IDE Option”对话框,然后在树状图中选择“ ...

  3. 【转】IAR Embedded Workbench for ARM 8.22.1 基础使用教程

    @2018-12-15 [小记] IAR Embedded Workbench for ARM 8.22.1 基础使用教程

  4. IAR Embedded Workbench for ARM 8.22.1 基础使用教程

    面向尚未熟悉且初次使用该软件的新手(比如我...) 1.建立新工作区 File-->>New Workspace 2.建立新项目 1) Project-->>Create Ne ...

  5. IAR EW8051-8.10.4安装及破解方法

    第一步:获取破解license 1: 点击桌面左下角“开始”按钮,找到cmd.exe,右键创建cmd.exe 快捷方式到桌面: ————如果是windows7 ,请右键点击cmd.exe 快捷图标,点 ...

  6. IAR MSP430怎么破解?IAR for MSP430安装注册破解激活图文详细教程

      IAR for MSP430全称IAR Embedded Workbench for MSP430,是一款功能强大的专业集成开发环境,软件包括项目管理.配置开发环境.创建编译器.定制具体编程方案等 ...

  7. Keil MDK 和 IAR 两款ARM开发工具区别比较

    首先要说明,没有那款开发工具是万能的,也没有那款工具在所有方面都具有绝对优势.对于Keil MDK-ARM和IAR两款工具择,可以根据自己的习惯来选择,而不应该在使用其中的一款时贬低另外一款,或者总是 ...

  8. 卡巴斯基2017激活教程_卡巴斯基2017用授权文件KEY激活的方法

    原创:天诺时空 更新时间:2016-11-09   2016年9月7日,卡巴斯基2017版全新上市,卡巴斯基依旧为大家奉上满足您所有需求的安全软件产品,为不同年龄层.不同人群给予全方位保护,同时延续卡 ...

  9. ios开发者创建app应用开发授权文件 实战方法:

    收到apple邮件成为合法的开发者后,进入https://developer.apple.com/account/ios/profile/profileList.action页面 总的有4步操作: 1 ...

随机推荐

  1. r2d_01

  2. 集合练习——Map部分

    练习: 输入诗的名称查询出诗的内容,当输入exit时,退出程序,“春晓”,“静夜思”,“鹅”. package CollectionPart; public class Poetry { privat ...

  3. sublime Text 3 Package Control 安装代码

    ctrl+`,调出控制台,输入一下代码,回车,重启软件即可. import urllib.request,os; pf = 'Package Control.sublime-package'; ipp ...

  4. ffmpeg之yuv2rgb_c_24_rgb

    YUV2RGBFUNC(yuv2rgb_c_24_rgb, uint8_t, ) LOADCHROMA(); PUTRGB24(dst_1, py_1, ); PUTRGB24(dst_2, py_2 ...

  5. SqlMgmt sql2008报错

    标题: Microsoft SQL Server Management Studio------------------------------ 无法显示请求的对话框. --------------- ...

  6. jQuery滑过头像图片展示个人信息效果

    这是一款经典的jQuery图片插件,同时,也可以是一款jQuery提示框插件.这款jQuery插件的功能是当你把鼠标滑过头像图片缩略图时,即可弹出头像对应用户的详细个人信息,弹出的标签虽然不大,但是还 ...

  7. hibernate篇章一

    我只想说一句话FUCK! 昨晚查了一晚上资料. 今早细致勃勃的准备搭建环境,早上到现在失败!失败!失败!蛋疼 有兴趣的可以试试.我暂时搁置,去做分页了 有兴趣需要相关资料的可以查阅我的微博java66 ...

  8. RabbitMQ 原文译05--Topics

    在之前的系统中,我们改进了我们的日志系统,我们使用direct 交换机代替fanout交换机,可以实现选择性的接受日志. 虽然使用direct 交换机改进了我们的系统,但是对于多种条件的判断,依然存在 ...

  9. angularjs + springmvc 上传和下载

    jsp: <form ng-submit="uploadFile()" class="form-horizontal" enctype="mul ...

  10. SetTimer的使用

    SetTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器.计时器属于系统资源,使用完应及时销毁. SetTimer的函数原型如下:UINT_PTR SetTimer( HWND ...