转自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. mysql数据库时间、字符串类型互转

    时间格式转换: select DATE_FORMAT(NOW(),"%y-%m-%d %H:%i:%s") 字符串转时间: select STR_TO_DATE("201 ...

  2. 移动端Web页面问题

    1.安卓浏览器看背景图片,有些设备会模糊.   用同等比例的图片在PC机上很清楚,但是手机上很模糊,原因是什么呢? 经过研究,是devicePixelRatio作怪,因为手机分辨率太小,如果按照分辨率 ...

  3. Unity3D题目,Unity中利用GUI输出九九乘法表

    网上看到的这题,下面贴出源代码 using UnityEngine;using System.Collections; public class c99 : MonoBehaviour//C#脚本名: ...

  4. 20160416--javaweb之国际化

    一:国际化1.国际化的概念:一款软件希望不同的国家和地区的使用者都可以使用,这个时候软件中的一些内容和数据需要根据用户地区信息不同而展示成不同的样子. 2.国际化的组成部分: (1)页面中固定文本元素 ...

  5. php模板引擎

    http://baike.baidu.com/link?url=HmXfdJBv3zpCdnZPeaSmZmqDBHlyTBnz9Rmb5it-jf1_NLHfaku6_i8ssUYbnaTQEBD4 ...

  6. Codevs 1191 数轴染色

    1191 数轴染色 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 在一条数轴上有N个点,分别是1-N.一开始所有的点都被染成黑色. ...

  7. 初学c++

    今天在计蒜客中学习了c++的语句编写方法.因为之前编程时候用的都是c,所以第一次看到c++的部分代码还是有点迷茫忙的. 初次接触c++,我学习到了c++中变量的定义以及输入输出. 代码如下: #inc ...

  8. (LightOJ 1004) Monkey Banana Problem 简单dp

    You are in the world of mathematics to solve the great "Monkey Banana Problem". It states ...

  9. ASP.NET缓存 Cache

    缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多 ...

  10. 使用sqlmap注入DVWA的SQL Injection菜单

    1 使用sqlmap注入DVWA的SQL Injection菜单 本教程中的登陆地址:http://192.168.0.112/dvwa/login.php 1.1 获取cookie信息 1) 使用a ...