IAR Embedded Workbench 8051破解注册+授权文件图文教程(附注册机)

所属分类: 软件教程 / 编程开发 阅读数: 1458
收藏 0 赞 0 分享

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

一、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."

四、授权文件注册

License下载地址:https://www.jb51.net/softs/537080.html

文件夹 授权程序
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程序。

更多精彩内容其他人还在看

parse_url函数解析

  描述  array parse_url ( string url )      此函数返回一个关联数组,包含现有 URL 的各种组成部分。如果缺少了其中的某一个,则不会为这个组成部分创建数组项。组成部分为:      scheme - ...
收藏 0 赞 0 分享

visualstudio2019怎么连接并使用VSTS?

visualstudio2019怎么连接并使用VSTS?visual studio 2019使用的时候,想要连接visual studio team service,该怎么操作呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

vscode怎么规范代码? vscode代码格式化的教程

vscode怎么规范代码?vscode编程开发的时候,发现代码很轮,想要自动格式化代码,该怎么操作呢?下面我们就来看看vscode代码格式化的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

Sublime Text英文字母大小写怎么切换?

Sublime Text英文字母大小写怎么切换?Sublime Text中编程开发的时候,想要切换英文大小写,该怎么切换呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

CodeBlocks(vc开发工具)的入门使用教程

今天起我们将加大对其他编译器学习的支持,对于训练场中的题目,我们极力建议大家以CodeBlocks作为编程工具,因为VC6的种种问题及与训练场判题系统标准的不符,导致不少新同学被坑不少
收藏 0 赞 0 分享

Sublime代码编辑器怎么重新打开编码?

Sublime代码编辑器怎么重新打开编码?Sublime代码编辑器之前变价的编码想要打开,该怎么打开呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

vb怎么将年表分成四份季度表?

vb怎么将年表分成四份季度表?visual basic中的一个表想要分成多分表,该怎么实现呢?我们可以使用代码实现,下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

VB怎么编写给表格快速添加批注的代码?

VB怎么编写给表格快速添加批注的代码?想要给表格中的数据添加批注,我们可以使用vb代码来实现,下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

UltraEdit怎么修改选中文本的颜色?

UltraEdit怎么修改选中文本的颜色?UltraEdit编程开发的时候,想要修改文本的颜色,该怎么修改选中文本的颜色呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享

ueditor编辑器怎么修改复制粘贴文档源代码的字体?

ueditor编辑器怎么修改复制粘贴文档源代码的字体?ueditor复制来的代码想要编辑一下,该怎么设置代码字体大小呢?下面我们就来看看详细的教程,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多