内容简介:本文主要研究如何对iarewarm6进行手工爆破。并生成许可证。第一个目的是和大家分享,第二个是记录过程,以便将来应对IAR的更新。二是如果有专家看了会指出不足之处IAREmbeddedWorkbench8051破解注册...
本文重点阐述了如何手动爆破IAR EWARM6.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.kafan.cn/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程序。
Win7系统启动程序失败,错误提示无法启动此程序,因为计算机丢失UxTheme.dll那么如何解决这Win7系统启动程序失败提示“计算机中丢失UxTheme.dll”解决方法个问题呢?接下来,我们将解释具体的解决...
防病毒软件几乎是每台计算机所必需的。随着计算机技术的不断进步,几乎每个使用计算机的人都遇到过计杀毒软件要慎用!分享杀毒软件的几个误区算机病毒。因此,杀毒软件是不可或缺的。然而...
支付宝是一个流行的第三方支付平台,为大家提供电子支付服务。使用过支付宝的朋友都知道,余额宝是支付宝的热门服务平台,受到很多用户的喜爱。不过,不少怎么查看支付宝中邀请成功后得...
没有必要付出租车费。今年上半年,出租车软件的补贴大战仍记忆犹新。此后,陆续推出红包反馈,不断提高旅客的热情。现在,快速出租车司机正在尝试一种新的补贴形式。过来看看!据报道,...
蓝光u-bao制作工具是一款可以赚钱的系统启动盘。本产品可以帮助小白种用户轻松安装系统,因此从现蓝光U宝制作工具怎么使用?蓝光U宝制作工具使用图文教程在起他们将不再寻求帮助。最重要的是...
QQ超市加工厂是QQ超市新推出的网上产品。玩家可以在地图上打开具有关卡的加工厂,并在加工厂获得利润。由于加工厂位置有限,玩家可以通过抢夺获得座位。打开QQ超市游戏,如果你qq超市加工厂...
为什么我们需要性能测试工具?我们都知道正则表达式是用来搜索和查找的,没有字符串搜索快!并且性能被几何倍数降低。那么为什么正则表达式比字符串搜索慢呢。让我们看一下正则表达式的...
一些合作伙伴将使用CAD软件来工作。工作时,他们可能需要切换到其他模式。下班后,如果你想回到经典模式,但你不知道如何切换,我想介绍给你。具体电脑cad2018的经典模式怎么切换内容如下:...
一些小伙伴在使用Windows10系统的电脑时,为了自己的电脑安全,所以想设置电脑账户的锁定门槛,但不知道怎么在Windows10将计算机账户锁定阈值设置出如何设置,那么小编就为大家介绍一下吧。具...
如何在Huya live studio中打开视频?如何录制现场视频?1录制前,请设置保存目录。2打开直播,点击录制功能按钮。三。再次虎牙直播间怎么开点击录制功能按钮或停止直播停止录制。...