首页 实用电脑技术实例-0612

实用电脑技术实例-0612

举报
开通vip

实用电脑技术实例-0612 破解技术实例0612-一个易语言程序的算法分析 标 题: 一个易语言程序的算法分析 作 者: 河边渔者 详细信息: 【文章标题】: 一个易语言程序的算法分析 【文章作者】: 河边渔者 【作者邮箱】: jwchlj.8256@163.com 【软件名称】: 微平精彩按钮设计2.0版 【软件大小】: 791k 【下载地址】: 网上有的是,包括已破解的 【加壳方式】: UPX 0.89.6 - 1.02 / 1.05 - 1.24 ...

实用电脑技术实例-0612
破解技术实例0612-一个易语言程序的算法分析 标 题: 一个易语言程序的算法分析 作 者: 河边渔者 详细信息: 【文章标题】: 一个易语言程序的算法分析 【文章作者】: 河边渔者 【作者邮箱】: jwchlj.8256@163.com 【软件名称】: 微平精彩按钮设计2.0版 【软件大小】: 791k 【下载地址】: 网上有的是,包括已破解的 【加壳方式】: UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay] 【保护方式】: 硬件代码、注册码 【编写语言】: 易语言 【使用工具】: OD、W32asm、计算器 【操作平台】: Windows XP 【软件介绍】: 利用它能设计出精美的图形按钮图片 【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教! --------------------------------------------------------------------------- ----- 【详细过程】 再次声明: 1. 该软件为免费注册,作者要求注册是为了调查了解软件使用情况,因此 ,嘿嘿……网上破解版有的是,不是我干的; 2. 该软件在我机子上早就有,用来做些素材,刚开始拿它没法,后来学了些 破解小技术就爆破了,总感觉找不出注册码来是一缺憾,于是有此一文; 3. 没有搜索过论坛上是否有该软件的分析文章(起码我没看到),如有雷 同,纯属巧合,不要说我那个啊! 4. 有什么不当之处,还望各位看官一定批评指正,不胜感激! 过程: 1. 查壳:用Peid查为UPX 0.89.6 - 1.02 / 1.05 - 1.24 -> Markus & Laszlo [Overlay],弱!人家说了是免费注册,可能不太重视保护,便宜咱一头疙 瘩! 2. 脱壳:用UPXShell完美脱干净后大约有1.01M,再Peid查为Microsoft Visual C++ 6.0 [Overlay],后来才知道上当了!伪装的!据说易语言的软件经常伪装成 Visual C++,这一点也与易语言的特点和Peid的查壳方式有关,怪不得谁 ! 3. OD载入,满是异常,要shift+f7/f8/f9才能通过,干脆到菜单->选项->调 试设置->异常中,全勾上,没事了!程序停在00403831处。 先搜索字符串,没找到可用信息,可明明随便输入时有出错提示,好办 ,第一:命令行输入bp MessageBoxExA下断;第二,OllyICE自带插件下断,两种都行。 我用bp MessageBoxExA下断,f9运行输入注册名hebian,注册码2323,此时可 看到硬件代码为2709578161,点“确定”,成功断在77D5057D处,是 user32系统领空, 看堆栈中已经有了出错提示,alt+f9,出现注册错误信息,点“确定 ”,到达1005a7d6处,再alt+f9共27次(挺熟的,为什么又是27次?)回到 程序领空00445a83处, 再搜索字符串,好啊,全出来了,找到这句“注册失败,请检查用户名与 注册码是否正确。”双击到达00445a6f,冤枉,就在刚才的00445a83上面! 往上翻翻,这一部分的开头是00445a50,可看不到它是从哪儿蹦来的,好 办,祭出法宝W32asm立即就看到它是从0044571d处je来,看来OD和 W32asm各有专长嘛,要让它们 物尽其用,当然也许是我OD用的不熟。回到OD,找到这行,再往上翻 ,在004452e2处重新下断,删掉刚才的断点。重新开始,成功断在 004452e2处。 下面长篇大论开始喽! 004452E2 55 PUSH EBP ;断点在这儿 004452E3 8BEC MOV EBP,ESP 004452E5 81EC A0000000 SUB ESP,0A0 004452EB 68 00000000 PUSH 0 004452F0 BB 40060000 MOV EBX,640 004452F5 E8 80940000 CALL 微平精彩.0044E77A 004452FA 83C4 04 ADD ESP,4 004452FD 6A FF PUSH -1 004452FF 6A 08 PUSH 8 00445301 68 9B030116 PUSH 1601039B 00445306 68 93030152 PUSH 52010393 0044530B E8 76940000 CALL 微平精彩.0044E786 ; 呼出假码 00445310 83C4 10 ADD ESP,10 ; 下面挺长一段是一些准备工作 00445313 8945 FC MOV DWORD PTR SS:[EBP-4],EAX 00445316 68 04000080 PUSH 80000004 0044531B 6A 00 PUSH 0 0044531D 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 00445320 85C0 TEST EAX,EAX 00445322 75 05 JNZ SHORT 微平精彩.00445329 00445324 B8 44924000 MOV EAX,微平精彩.00409244 00445329 50 PUSH EAX 0044532A 68 01000000 PUSH 1 0044532F BB 64010000 MOV EBX,164 00445334 E8 41940000 CALL 微平精彩.0044E77A 00445339 83C4 10 ADD ESP,10 0044533C 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX 0044533F 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX 00445342 8B5D FC MOV EBX,DWORD PTR SS:[EBP-4] 00445345 85DB TEST EBX,EBX 00445347 74 09 JE SHORT 微平精彩.00445352 00445349 53 PUSH EBX 0044534A E8 31940000 CALL 微平精彩.0044E780 0044534F 83C4 04 ADD ESP,4 00445352 68 01030080 PUSH 80000301 00445357 6A 00 PUSH 0 00445359 68 06000000 PUSH 6 0044535E 68 01000000 PUSH 1 00445363 BB 20060000 MOV EBX,620 00445368 E8 0D940000 CALL 微平精彩.0044E77A 0044536D 83C4 10 ADD ESP,10 00445370 8945 E8 MOV DWORD PTR SS:[EBP-18],EAX 00445373 8955 EC MOV DWORD PTR SS:[EBP-14],EDX 00445376 894D F0 MOV DWORD PTR SS:[EBP-10],ECX 00445379 68 01030080 PUSH 80000301 0044537E 6A 00 PUSH 0 00445380 68 0A000000 PUSH 0A 00445385 8B4D F0 MOV ECX,DWORD PTR SS:[EBP-10] 00445388 81F9 05000080 CMP ECX,80000005 0044538E 74 0D JE SHORT 微平精彩.0044539D 00445390 68 05000000 PUSH 5 00445395 E8 F2930000 CALL 微平精彩.0044E78C 0044539A 83C4 04 ADD ESP,4 0044539D 68 05000080 PUSH 80000005 004453A2 6A 00 PUSH 0 004453A4 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18] 004453A7 85C0 TEST EAX,EAX 004453A9 75 05 JNZ SHORT 微平精彩.004453B0 004453AB B8 85924000 MOV EAX,微平精彩.00409285 004453B0 50 PUSH EAX 004453B1 68 02000000 PUSH 2 004453B6 BB 9C010000 MOV EBX,19C 004453BB E8 BA930000 CALL 微平精彩.0044E77A ; 出现数值2709541563,不是硬件代码,但显然与硬件有关 004453C0 83C4 1C ADD ESP,1C ; 难道是它算出的机器码?下面它要参 与运算 004453C3 8945 DC MOV DWORD PTR SS:[EBP-24],EAX ; 下面又是一 些简单设置,没意思 004453C6 8955 E0 MOV DWORD PTR SS:[EBP-20],EDX 004453C9 894D E4 MOV DWORD PTR SS:[EBP-1C],ECX 004453CC 8B5D E8 MOV EBX,DWORD PTR SS:[EBP-18] 004453CF 85DB TEST EBX,EBX 004453D1 74 09 JE SHORT 微平精彩.004453DC 004453D3 53 PUSH EBX 004453D4 E8 A7930000 CALL 微平精彩.0044E780 004453D9 83C4 04 ADD ESP,4 004453DC 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C] 004453DF 8B55 E0 MOV EDX,DWORD PTR SS:[EBP-20] 004453E2 8B45 DC MOV EAX,DWORD PTR SS:[EBP-24] 004453E5 81F9 04000080 CMP ECX,80000004 004453EB 75 0B JNZ SHORT 微平精彩.004453F8 004453ED 85C0 TEST EAX,EAX 004453EF 75 18 JNZ SHORT 微平精彩.00445409 004453F1 B8 44924000 MOV EAX,微平精彩.00409244 004453F6 EB 11 JMP SHORT 微平精彩.00445409 004453F8 81F9 05000080 CMP ECX,80000005 004453FE 75 09 JNZ SHORT 微平精彩.00445409 00445400 85C0 TEST EAX,EAX 00445402 75 05 JNZ SHORT 微平精彩.00445409 00445404 B8 85924000 MOV EAX,微平精彩.00409285 00445409 51 PUSH ECX 0044540A 52 PUSH EDX 0044540B 50 PUSH EAX 0044540C 68 01000000 PUSH 1 00445411 BB 64010000 MOV EBX,164 00445416 E8 5F930000 CALL 微平精彩.0044E77A 0044541B 83C4 10 ADD ESP,10 0044541E 8945 D4 MOV DWORD PTR SS:[EBP-2C],EAX 00445421 8955 D8 MOV DWORD PTR SS:[EBP-28],EDX 00445424 8B4D E4 MOV ECX,DWORD PTR SS:[EBP-1C] 00445427 81F9 04000080 CMP ECX,80000004 0044542D 74 0C JE SHORT 微平精彩.0044543B 0044542F 81F9 05000080 CMP ECX,80000005 00445435 0F85 10000000 JNZ 微平精彩.0044544B 0044543B 8B5D DC MOV EBX,DWORD PTR SS:[EBP-24] 0044543E 85DB TEST EBX,EBX 00445440 74 09 JE SHORT 微平精彩.0044544B 00445442 53 PUSH EBX 00445443 E8 38930000 CALL 微平精彩.0044E780 ; 下面开始一些数学 运算,倒来倒去的 00445448 83C4 04 ADD ESP,4 0044544B DD45 F4 FLD QWORD PTR SS:[EBP-C] ; 把假码2323装入st0 0044544E DC45 D4 FADD QWORD PTR SS:[EBP-2C] ; 2709541563+2323=2709543886 00445451 DD5D CC FSTP QWORD PTR SS:[EBP-34] ; 2709543886送 入st0 00445454 6A FF PUSH -1 00445456 6A 08 PUSH 8 00445458 68 9D030116 PUSH 1601039D 0044545D 68 93030152 PUSH 52010393 00445462 E8 1F930000 CALL 微平精彩.0044E786 ; 呼出注册名 00445467 83C4 10 ADD ESP,10 0044546A 8945 C8 MOV DWORD PTR SS:[EBP-38],EAX 0044546D 6A 00 PUSH 0 0044546F 6A 00 PUSH 0 00445471 6A 00 PUSH 0 00445473 68 04000080 PUSH 80000004 00445478 6A 00 PUSH 0 0044547A 8B45 C8 MOV EAX,DWORD PTR SS:[EBP-38] 0044547D 85C0 TEST EAX,EAX 0044547F 75 05 JNZ SHORT 微平精彩.00445486 00445481 B8 44924000 MOV EAX,微平精彩.00409244 00445486 50 PUSH EAX 00445487 68 02000000 PUSH 2 0044548C BB 44010000 MOV EBX,144 00445491 E8 E4920000 CALL 微平精彩.0044E77A ; 取注册名的第一个 字符h的16进制68 00445496 83C4 1C ADD ESP,1C 00445499 8945 C4 MOV DWORD PTR SS:[EBP-3C],EAX 0044549C 8B5D C8 MOV EBX,DWORD PTR SS:[EBP-38] 0044549F 85DB TEST EBX,EBX 004454A1 74 09 JE SHORT 微平精彩.004454AC 004454A3 53 PUSH EBX 004454A4 E8 D7920000 CALL 微平精彩.0044E780 004454A9 83C4 04 ADD ESP,4 004454AC DB45 C4 FILD DWORD PTR SS:[EBP-3C] ; 68h的十进制数值 104装入st0 004454AF DD5D BC FSTP QWORD PTR SS:[EBP-44] ; 存入st7备用 004454B2 DD45 BC FLD QWORD PTR SS:[EBP-44] 004454B5 DC05 4E954000 FADD QWORD PTR DS:[40954E] ; 104+固定数值852=956 004454BB DD5D BC FSTP QWORD PTR SS:[EBP-44] ; 956装入st0 004454BE DD45 BC FLD QWORD PTR SS:[EBP-44] 004454C1 DC0D 56954000 FMUL QWORD PTR DS:[409556] ; 956*37=35372放入st0 004454C7 DD5D B4 FSTP QWORD PTR SS:[EBP-4C] ; 备用 004454CA 6A FF PUSH -1 004454CC 6A 08 PUSH 8 004454CE 68 9D030116 PUSH 1601039D 004454D3 68 93030152 PUSH 52010393 004454D8 E8 A9920000 CALL 微平精彩.0044E786 004454DD 83C4 10 ADD ESP,10 004454E0 8945 B0 MOV DWORD PTR SS:[EBP-50],EAX 004454E3 68 04000080 PUSH 80000004 004454E8 6A 00 PUSH 0 004454EA 8B45 B0 MOV EAX,DWORD PTR SS:[EBP-50] 004454ED 85C0 TEST EAX,EAX 004454EF 75 05 JNZ SHORT 微平精彩.004454F6 004454F1 B8 44924000 MOV EAX,微平精彩.00409244 004454F6 50 PUSH EAX 004454F7 68 01000000 PUSH 1 004454FC BB 30010000 MOV EBX,130 00445501 E8 74920000 CALL 微平精彩.0044E77A ; 取注册名位数6 00445506 83C4 10 ADD ESP,10 00445509 8945 AC MOV DWORD PTR SS:[EBP-54],EAX 0044550C 8B5D B0 MOV EBX,DWORD PTR SS:[EBP-50] 0044550F 85DB TEST EBX,EBX 00445511 74 09 JE SHORT 微平精彩.0044551C 00445513 53 PUSH EBX 00445514 E8 67920000 CALL 微平精彩.0044E780 00445519 83C4 04 ADD ESP,4 0044551C 6A FF PUSH -1 0044551E 6A 08 PUSH 8 00445520 68 9D030116 PUSH 1601039D 00445525 68 93030152 PUSH 52010393 0044552A E8 57920000 CALL 微平精彩.0044E786 0044552F 83C4 10 ADD ESP,10 00445532 8945 A8 MOV DWORD PTR SS:[EBP-58],EAX 00445535 68 01030080 PUSH 80000301 0044553A 6A 00 PUSH 0 0044553C FF75 AC PUSH DWORD PTR SS:[EBP-54] 0044553F 68 04000080 PUSH 80000004 00445544 6A 00 PUSH 0 00445546 8B45 A8 MOV EAX,DWORD PTR SS:[EBP-58] 00445549 85C0 TEST EAX,EAX 0044554B 75 05 JNZ SHORT 微平精彩.00445552 0044554D B8 44924000 MOV EAX,微平精彩.00409244 00445552 50 PUSH EAX 00445553 68 02000000 PUSH 2 00445558 BB 44010000 MOV EBX,144 0044555D E8 18920000 CALL 微平精彩.0044E77A ; 取注册名最后一个 字符n的16进制数值6e 00445562 83C4 1C ADD ESP,1C 00445565 8945 A4 MOV DWORD PTR SS:[EBP-5C],EAX 00445568 8B5D A8 MOV EBX,DWORD PTR SS:[EBP-58] 0044556B 85DB TEST EBX,EBX 0044556D 74 09 JE SHORT 微平精彩.00445578 0044556F 53 PUSH EBX 00445570 E8 0B920000 CALL 微平精彩.0044E780 00445575 83C4 04 ADD ESP,4 00445578 DB45 A4 FILD DWORD PTR SS:[EBP-5C] ; 6e的十进制数值 110放入st0 0044557B DD5D 9C FSTP QWORD PTR SS:[EBP-64] 0044557E DD45 9C FLD QWORD PTR SS:[EBP-64] 00445581 DC0D 5E954000 FMUL QWORD PTR DS:[40955E] ; 110*51=5610 00445587 DD5D 9C FSTP QWORD PTR SS:[EBP-64] ; 备用 0044558A 68 01030080 PUSH 80000301 0044558F 6A 00 PUSH 0 00445591 68 0D000000 PUSH 0D 00445596 68 01000000 PUSH 1 0044559B BB 20060000 MOV EBX,620 004455A0 E8 D5910000 CALL 微平精彩.0044E77A ; 取固定数值2680 004455A5 83C4 10 ADD ESP,10 004455A8 8945 90 MOV DWORD PTR SS:[EBP-70],EAX 004455AB 8955 94 MOV DWORD PTR SS:[EBP-6C],EDX 004455AE 894D 98 MOV DWORD PTR SS:[EBP-68],ECX 004455B1 6A FF PUSH -1 004455B3 6A 08 PUSH 8 004455B5 68 99030116 PUSH 16010399 004455BA 68 93030152 PUSH 52010393 004455BF E8 C2910000 CALL 微平精彩.0044E786 ; 呼出硬件代码2709578161,注意,与上面那个不同 004455C4 83C4 10 ADD ESP,10 004455C7 8945 8C MOV DWORD PTR SS:[EBP-74],EAX 004455CA 68 04000080 PUSH 80000004 004455CF 6A 00 PUSH 0 004455D1 8B45 8C MOV EAX,DWORD PTR SS:[EBP-74] 004455D4 85C0 TEST EAX,EAX 004455D6 75 05 JNZ SHORT 微平精彩.004455DD 004455D8 B8 44924000 MOV EAX,微平精彩.00409244 004455DD 50 PUSH EAX 004455DE 68 01000000 PUSH 1 004455E3 BB 64010000 MOV EBX,164 004455E8 E8 8D910000 CALL 微平精彩.0044E77A 004455ED 83C4 10 ADD ESP,10 004455F0 8945 84 MOV DWORD PTR SS:[EBP-7C],EAX 004455F3 8955 88 MOV DWORD PTR SS:[EBP-78],EDX 004455F6 8B5D 8C MOV EBX,DWORD PTR SS:[EBP-74] 004455F9 85DB TEST EBX,EBX 004455FB 74 09 JE SHORT 微平精彩.00445606 004455FD 53 PUSH EBX 004455FE E8 7D910000 CALL 微平精彩.0044E780 00445603 83C4 04 ADD ESP,4 00445606 DD45 84 FLD QWORD PTR SS:[EBP-7C] ; 硬件代码作为实数 装入st0 00445609 DC0D 66954000 FMUL QWORD PTR DS:[409566] ; 2709578161*31=83996922991 0044560F DD9D 7CFFFFFF FSTP QWORD PTR SS:[EBP-84] 00445615 DD45 B4 FLD QWORD PTR SS:[EBP-4C] 00445618 DC45 9C FADD QWORD PTR SS:[EBP-64] ; 35372+5610=40982 0044561B 8B4D 98 MOV ECX,DWORD PTR SS:[EBP-68] 0044561E 8B55 94 MOV EDX,DWORD PTR SS:[EBP-6C] 00445621 8B45 90 MOV EAX,DWORD PTR SS:[EBP-70] 00445624 81F9 01010080 CMP ECX,80000101 0044562A 75 07 JNZ SHORT 微平精彩.00445633 0044562C 25 FF000000 AND EAX,0FF 00445631 EB 2F JMP SHORT 微平精彩.00445662 00445633 81F9 01020080 CMP ECX,80000201 00445639 75 03 JNZ SHORT 微平精彩.0044563E 0044563B 98 CWDE 0044563C EB 24 JMP SHORT 微平精彩.00445662 0044563E 8985 74FFFFFF MOV DWORD PTR SS:[EBP-8C],EAX 00445644 81F9 01030080 CMP ECX,80000301 0044564A 74 1C JE SHORT 微平精彩.00445668 0044564C 81F9 01040080 CMP ECX,80000401 00445652 75 1C JNZ SHORT 微平精彩.00445670 00445654 8995 78FFFFFF MOV DWORD PTR SS:[EBP-88],EDX 0044565A DFAD 74FFFFFF FILD QWORD PTR SS:[EBP-8C] 00445660 EB 33 JMP SHORT 微平精彩.00445695 00445662 8985 74FFFFFF MOV DWORD PTR SS:[EBP-8C],EAX 00445668 DB85 74FFFFFF FILD DWORD PTR SS:[EBP-8C] ; 2680h的十进制数值9856装入st0 0044566E EB 25 JMP SHORT 微平精彩.00445695 00445670 81F9 01050080 CMP ECX,80000501 00445676 75 08 JNZ SHORT 微平精彩.00445680 00445678 D985 74FFFFFF FLD DWORD PTR SS:[EBP-8C] 0044567E EB 15 JMP SHORT 微平精彩.00445695 00445680 81F9 01060080 CMP ECX,80000601 00445686 74 1F JE SHORT 微平精彩.004456A7 00445688 68 02000000 PUSH 2 0044568D E8 FA900000 CALL 微平精彩.0044E78C 00445692 83C4 04 ADD ESP,4 00445695 DD9D 74FFFFFF FSTP QWORD PTR SS:[EBP-8C] 0044569B 8B85 74FFFFFF MOV EAX,DWORD PTR SS:[EBP-8C] 004456A1 8B95 78FFFFFF MOV EDX,DWORD PTR SS:[EBP-88] 004456A7 8985 74FFFFFF MOV DWORD PTR SS:[EBP-8C],EAX 004456AD 8995 78FFFFFF MOV DWORD PTR SS:[EBP-88],EDX 004456B3 DC85 74FFFFFF FADD QWORD PTR SS:[EBP-8C] ; 40982+9856=50838 004456B9 DC85 7CFFFFFF FADD QWORD PTR SS:[EBP-84] ; 50838+83996922991=83996973829 004456BF DD9D 6CFFFFFF FSTP QWORD PTR SS:[EBP-94] ; 备用 004456C5 8B4D 98 MOV ECX,DWORD PTR SS:[EBP-68] 004456C8 81F9 04000080 CMP ECX,80000004 004456CE 74 0C JE SHORT 微平精彩.004456DC 004456D0 81F9 05000080 CMP ECX,80000005 004456D6 0F85 10000000 JNZ 微平精彩.004456EC 004456DC 8B5D 90 MOV EBX,DWORD PTR SS:[EBP-70] 004456DF 85DB TEST EBX,EBX 004456E1 74 09 JE SHORT 微平精彩.004456EC 004456E3 53 PUSH EBX 004456E4 E8 97900000 CALL 微平精彩.0044E780 004456E9 83C4 04 ADD ESP,4 004456EC DD85 6CFFFFFF FLD QWORD PTR SS:[EBP-94] ; 83996973829装入st0处 004456F2 DC25 6E954000 FSUB QWORD PTR DS:[40956E] ; 83996973829-6566985=83990406844 004456F8 DD9D 64FFFFFF FSTP QWORD PTR SS:[EBP-9C] 004456FE DD45 CC FLD QWORD PTR SS:[EBP-34] 00445701 DCA5 64FFFFFF FSUB QWORD PTR SS:[EBP-9C] ; 2709543886-83990406844=-81280862958 00445707 D9E4 FTST 00445709 DFE0 FSTSW AX ; 保存fst的值3900到AX 0044570B F6C4 01 TEST AH,1 ; 测试ah=39与1是否相等 0044570E 74 02 JE SHORT 微平精彩.00445712 ; 相等则跳,这儿应该跳 ,因此这儿也是一爆破点 00445710 D9E0 FCHS ; 上面的负数变为正数 00445712 DC1D 76954000 FCOMP QWORD PTR DS:[409576] ; 比较81280862958与0,不等则fst赋0 00445718 DFE0 FSTSW AX ; 0保存到eax 0044571A F6C4 41 TEST AH,41 ; 比较ah与41是否相等,影响标志位 0044571D 0F84 2D030000 JE 微平精彩.00445A50 ; 跳向失败,爆破点 之一 …………省略若干行,估计是与功能有关,没有追 0044593D 6A 00 PUSH 0 0044593F 68 7E954000 PUSH 微平精彩.0040957E ; 微平精彩按钮设计 v2.0版 (注册版) 00445944 6A FF PUSH -1 00445946 6A 08 PUSH 8 00445948 68 00000106 PUSH 6010000 0044594D 68 01000152 PUSH 52010001 00445952 E8 3B8E0000 CALL 微平精彩.0044E792 00445957 83C4 18 ADD ESP,18 0044595A 68 01030080 PUSH 80000301 0044595F 6A 00 PUSH 0 00445961 68 03000000 PUSH 3 00445966 68 01000000 PUSH 1 0044596B BB 20060000 MOV EBX,620 00445970 E8 058E0000 CALL 微平精彩.0044E77A 00445975 83C4 10 ADD ESP,10 00445978 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX 0044597B 8955 F8 MOV DWORD PTR SS:[EBP-8],EDX 0044597E 894D FC MOV DWORD PTR SS:[EBP-4],ECX 00445981 8B4D FC MOV ECX,DWORD PTR SS:[EBP-4] 00445984 81F9 04000080 CMP ECX,80000004 0044598A 74 0D JE SHORT 微平精彩.00445999 0044598C 68 05000000 PUSH 5 00445991 E8 F68D0000 CALL 微平精彩.0044E78C 00445996 83C4 04 ADD ESP,4 00445999 6A 00 PUSH 0 0044599B FF75 F4 PUSH DWORD PTR SS:[EBP-C] 0044599E 6A FF PUSH -1 004459A0 6A 08 PUSH 8 004459A2 68 A0030116 PUSH 160103A0 004459A7 68 93030152 PUSH 52010393 004459AC E8 E18D0000 CALL 微平精彩.0044E792 004459B1 83C4 18 ADD ESP,18 004459B4 8B5D F4 MOV EBX,DWORD PTR SS:[EBP-C] 004459B7 85DB TEST EBX,EBX 004459B9 74 09 JE SHORT 微平精彩.004459C4 004459BB 53 PUSH EBX 004459BC E8 BF8D0000 CALL 微平精彩.0044E780 004459C1 83C4 04 ADD ESP,4 004459C4 6A 00 PUSH 0 004459C6 68 00000000 PUSH 0 004459CB 6A FF PUSH -1 004459CD 6A 05 PUSH 5 004459CF 68 97030116 PUSH 16010397 004459D4 68 93030152 PUSH 52010393 004459D9 E8 B48D0000 CALL 微平精彩.0044E792 004459DE 83C4 18 ADD ESP,18 004459E1 6A 00 PUSH 0 004459E3 6A 00 PUSH 0 004459E5 6A 00 PUSH 0 004459E7 68 01030080 PUSH 80000301 004459EC 6A 00 PUSH 0 004459EE 68 00000000 PUSH 0 004459F3 68 04000080 PUSH 80000004 004459F8 6A 00 PUSH 0 004459FA 68 4B964000 PUSH 微平精彩.0040964B ; 你已成功注册了该 软件,非常感谢您的注册! 004459FF 68 03000000 PUSH 3 00445A04 BB 00030000 MOV EBX,300 00445A09 E8 6C8D0000 CALL 微平精彩.0044E77A 00445A0E 83C4 28 ADD ESP,28 00445A11 6A 00 PUSH 0 00445A13 68 46964000 PUSH 微平精彩.00409646 ; 确定 00445A18 6A FF PUSH -1 00445A1A 6A 0A PUSH 0A 00445A1C 68 96030116 PUSH 16010396 00445A21 68 93030152 PUSH 52010393 00445A26 E8 678D0000 CALL 微平精彩.0044E792 00445A2B 83C4 18 ADD ESP,18 00445A2E 6A 00 PUSH 0 00445A30 68 01000000 PUSH 1 00445A35 6A FF PUSH -1 00445A37 6A 05 PUSH 5 00445A39 68 A4030116 PUSH 160103A4 00445A3E 68 93030152 PUSH 52010393 00445A43 E8 4A8D0000 CALL 微平精彩.0044E792 00445A48 83C4 18 ADD ESP,18 00445A4B E9 36000000 JMP 微平精彩.00445A86 00445A50 68 04000080 PUSH 80000004 00445A55 6A 00 PUSH 0 00445A57 68 75964000 PUSH 微平精彩.00409675 ; 注册失败 00445A5C 68 01030080 PUSH 80000301 00445A61 6A 00 PUSH 0 00445A63 68 10000000 PUSH 10 00445A68 68 04000080 PUSH 80000004 00445A6D 6A 00 PUSH 0 00445A6F 68 7E964000 PUSH 微平精彩.0040967E ; 注册失败,请检查 用户名与注册码是否正确。 00445A74 68 03000000 PUSH 3 00445A79 BB 00030000 MOV EBX,300 00445A7E E8 F78C0000 CALL 微平精彩.0044E77A 00445A83 83C4 28 ADD ESP,28 ; (初始 cpu 选择) 00445A86 8BE5 MOV ESP,EBP 00445A88 5D POP EBP 00445A89 C3 RETN 注册码计算方法: 1. 取第一次得到的像是硬件代码的2709541563与假码2323相加得到 2709543886; 2. 取注册名hebian的第一位字符h的16进制数值68转成十进制104与固定数 852相加得到956,再用956乘37得到35372,即(104+852)*37=35372; 3. 取注册名hebian的最后一位字符n的16进制数值6e转成十进制110与 51相乘得到5610,即110*51=5610; 4. 把35372与5610相加得到40982,取固定数2680h的十进制数值9856与 40982相加得到50838,即9856+(35372+5610)=50838; 5. 取硬件代码2709578161与31相乘得到83996922991,即 2709578161*31=83996922991,把上面得到的50838与83996922991相加 得到83996973829, 再用83996973829减去固定数6566985得到83990406844,即 83996973829-6566985=83990406844; 6. 用第一步得到的2709543886减去83990406844,若结果为0则注册成 功! 7. 了解了程序是如何处理我们输入的数据的,真码的计算也就简单了! 不妨设真码为X,则可得方程为 2709541563+X-83990406844=0 解得X=83990406844-2709541563=81280865281 那位看官说了,这么简单怎么还方程方程的?不瞒您说,最后算真码时 ,一不小心算错了两次。你说什么?让我到小学再深造深造,不要啊……我跑 ! 重新来一遍,输入注册名hebian,输入注册码81280865281,弹出倍亲 切的成功窗口“你已成功注册了该软件,非常感谢您的注册!”耶……爽吧! 下面再说一说爆破的方法,有人说了,你都找到注册码了还弄什么爆破干 嘛?我第一次破这个程序是用的爆破方法,因此念念不忘,同时写出来也为共 享。 从上面的分析过程可以知道,关键点在0044571D /0F84 2D030000 JE 微 平精彩.00445A50 ; 跳向失败,爆破点之一 把这儿改成JNE,就会弹出正确注册的窗口,但标题栏仍然显示为“未注 册”,同时功能仍然受制,应该同时再改两个地方 爆破点2 00443C9D /0F85 35000000 JNE 微平精彩.00443CD8 改为00443C9D /0F84 35000000 JE 微平精彩.00443CD8
本文档为【实用电脑技术实例-0612】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_554469
暂无简介~
格式:pdf
大小:195KB
软件:PDF阅读器
页数:0
分类:文学
上传时间:2012-06-20
浏览量:27