- UID
- 17574
注册时间2006-7-6
阅读权限40
最后登录1970-1-1
独步武林
该用户从未签到
|
【破文标题】GeoLabARCH.exe破解手记
【破文作者】tigerisme[希望加入PYG]
【破解工具】常用PEiD,OD
【破解平台】Windows XP SP2
【软件名称】GeoLabARCH.exe
【软件大小】11.7MB
【原版下载】http://www.fj197.com/geolab/gorj.htm
【保护方式】注册码
【软件简介】
操作简单、功能实用,主要实现收文(或行文)的管理,包括:添加、修改、删除及查询、打印、分组统计等工作。具有如下特点:
1、完全用户自主设置:
设置当前表格需要打印(或显示)的表头项目(如:文件单位、收文日期、收文序号等)。
设置当前表格的表头项目(如:文件单位、收文日期、收文序号等)顺序。
设置当前表格内的数据排序规则;
设置当前表格内的数据分组规则;
设置当前表格打印(或显示)的行高列宽、表头的字体、表格的字体、表格线;
允许用户多重选取需要打印的记录;
允许设置打印的页面大小、边距、打印机进行设置;
设置急缓、密级、文件单位名称、文件字等初始项目,加快准确输入速度;
2、与Microsoft EXCEL无缝数据交流,可直接把表格内选定的数据拖放到EXCEL2000(或2003)中;
3、具有打印的预览功能,并可在预览中进行重新设置打印选项;
破解过程:
1.PEiD查看有无壳,结果没有。
2.用od加载GeoLabARCH.exe
bpx rtcMsgBox下断点命令。
f9运行下去,点击注册,出现注册对话框,填入任意假码,如“11111111111111”,f9运行,停在
005F2504 FF15 901>call dword ptr ds:[<&MSVBVM60.#595>] ,再f9则出现错误注册码提示,可以看出关键跳转就在这里。
3.分析代码
找到刚才出错的地址,向上查看,如下:
005F2212 FF15 FC1>call dword ptr ds:[<&MSVBVM60.__vbaFreeStrList>] ; MSVBVM60.__vbaFreeStrList
005F2218 83C4 0C add esp,0C
005F221B 8D4D B0 lea ecx,dword ptr ss:[ebp-50]
005F221E FF15 881>call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
005F2224 66:399D >cmp word ptr ss:[ebp-CC],bx
005F222B 6A 0D push 0D
005F222D 0F84 970>je GeoLabAr.005F23CA 这是关键跳转,把它nop掉就可以跳过出错提示那个call了
005F2233 FF15 C01>call dword ptr ds:[<&MSVBVM60.#537>] ; MSVBVM60.rtcBstrFromAnsi
005F2239 8BD0 mov edx,eax
005F223B 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
005F223E FFD6 call esi
005F2240 6A 0D push 0D
005F2242 FF15 C01>call dword ptr ds:[<&MSVBVM60.#537>] ; MSVBVM60.rtcBstrFromAnsi
005F2248 8BD0 mov edx,eax
005F224A 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005F224D FFD6 call esi
005F224F B9 04000>mov ecx,80020004
005F2254 B8 0A000>mov eax,0A
005F2259 898D 78F>mov dword ptr ss:[ebp-88],ecx
005F225F 894D 88 mov dword ptr ss:[ebp-78],ecx
005F2262 8D95 60F>lea edx,dword ptr ss:[ebp-A0]
005F2268 8D4D 90 lea ecx,dword ptr ss:[ebp-70]
005F226B 8985 70F>mov dword ptr ss:[ebp-90],eax
005F2271 8945 80 mov dword ptr ss:[ebp-80],eax
005F2274 C785 68F>mov dword ptr ss:[ebp-98],GeoLabAr.00423444
005F227E C785 60F>mov dword ptr ss:[ebp-A0],8
005F2288 FF15 301>call dword ptr ds:[<&MSVBVM60.__vbaVarDup>] ; MSVBVM60.__vbaVarDup
005F228E 8B4D D4 mov ecx,dword ptr ss:[ebp-2C]
005F2291 8B55 D8 mov edx,dword ptr ss:[ebp-28]
005F2294 898D 24F>mov dword ptr ss:[ebp-DC],ecx
005F229A 68 98334>push GeoLabAr.00423398
005F229F 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
005F22A2 895D D8 mov dword ptr ss:[ebp-28],ebx
005F22A5 895D D4 mov dword ptr ss:[ebp-2C],ebx
005F22A8 FFD6 call esi
005F22AA 50 push eax
005F22AB FF15 4C1>call dword ptr ds:[<&MSVBVM60.__vbaStrCat>] ; MSVBVM60.__vbaStrCat
005F22B1 8BD0 mov edx,eax
005F22B3 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005F22B6 FFD6 call esi
005F22B8 8B95 24F>mov edx,dword ptr ss:[ebp-DC]
005F22BE 50 push eax
005F22BF 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005F22C2 FFD6 call esi
005F22C4 50 push eax
005F22C5 FF15 4C1>call dword ptr ds:[<&MSVBVM60.__vbaStrCat>] ; MSVBVM60.__vbaStrCat
005F22CB 8BD0 mov edx,eax
005F22CD 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005F22D0 FFD6 call esi
005F22D2 50 push eax
005F22D3 68 10344>push GeoLabAr.00423410
005F22D8 FF15 4C1>call dword ptr ds:[<&MSVBVM60.__vbaStrCat>] ; MSVBVM60.__vbaStrCat
005F22DE 8945 A8 mov dword ptr ss:[ebp-58],eax
005F22E1 8D95 70F>lea edx,dword ptr ss:[ebp-90]
005F22E7 8D45 80 lea eax,dword ptr ss:[ebp-80]
005F22EA 52 push edx
005F22EB 8D4D 90 lea ecx,dword ptr ss:[ebp-70]
005F22EE 50 push eax
005F22EF 51 push ecx
005F22F0 8D55 A0 lea edx,dword ptr ss:[ebp-60]
005F22F3 6A 30 push 30
005F22F5 52 push edx
005F22F6 C745 A0 >mov dword ptr ss:[ebp-60],8
005F22FD FF15 901>call dword ptr ds:[<&MSVBVM60.#595>] 成功注册的call ; MSVBVM60.rtcMsgBox
005F2303 8D45 D4 lea eax,dword ptr ss:[ebp-2C]
005F2306 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
005F2309 50 push eax
005F230A 8D55 DC lea edx,dword ptr ss:[ebp-24]
005F230D 51 push ecx
005F230E 8D45 E0 lea eax,dword ptr ss:[ebp-20]
005F2311 52 push edx
005F2312 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005F2315 50 push eax
005F2316 8D55 E8 lea edx,dword ptr ss:[ebp-18]
005F2319 51 push ecx
005F231A 52 push edx
005F231B 6A 06 push 6
005F231D FF15 FC1>call dword ptr ds:[<&MSVBVM60.__vbaFreeStrList>] ; MSVBVM60.__vbaFreeStrList
005F2323 8D85 70F>lea eax,dword ptr ss:[ebp-90]
005F2329 8D4D 80 lea ecx,dword ptr ss:[ebp-80]
005F232C 50 push eax
005F232D 8D55 90 lea edx,dword ptr ss:[ebp-70]
005F2330 51 push ecx
005F2331 8D45 A0 lea eax,dword ptr ss:[ebp-60]
005F2334 52 push edx
005F2335 50 push eax
005F2336 6A 04 push 4
005F2338 FF15 2C1>call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005F233E 83C4 30 add esp,30
005F2341 66:C705 >mov word ptr ds:[64E05C],0FFFF
005F234A 8B0F mov ecx,dword ptr ds:[edi]
005F234C 57 push edi
005F234D FF91 B40>call dword ptr ds:[ecx+2B4]
005F2353 3BC3 cmp eax,ebx
005F2355 DBE2 fclex
005F2357 7D 12 jge short GeoLabAr.005F236B
005F2359 68 B4020>push 2B4
005F235E 68 38124>push GeoLabAr.00421238
005F2363 57 push edi
005F2364 50 push eax
005F2365 FF15 601>call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckObj>] ; MSVBVM60.__vbaHresultCheckObj
005F236B 391D 84E>cmp dword ptr ds:[64EE84],ebx
005F2371 75 10 jnz short GeoLabAr.005F2383
005F2373 68 84EE6>push GeoLabAr.0064EE84
005F2378 68 E0F74>push GeoLabAr.0041F7E0
005F237D FF15 E01>call dword ptr ds:[<&MSVBVM60.__vbaNew2>] ; MSVBVM60.__vbaNew2
005F2383 8B35 84E>mov esi,dword ptr ds:[64EE84]
005F2389 8D45 B0 lea eax,dword ptr ss:[ebp-50]
005F238C 57 push edi
005F238D 50 push eax
005F238E 8B16 mov edx,dword ptr ds:[esi]
005F2390 8995 10F>mov dword ptr ss:[ebp-F0],edx
005F2396 FF15 9C1>call dword ptr ds:[<&MSVBVM60.__vbaObjSetAddref>] ; MSVBVM60.__vbaObjSetAddref
005F239C 8B8D 10F>mov ecx,dword ptr ss:[ebp-F0]
005F23A2 50 push eax
005F23A3 56 push esi
005F23A4 FF51 10 call dword ptr ds:[ecx+10]
005F23A7 3BC3 cmp eax,ebx
005F23A9 DBE2 fclex
005F23AB 7D 0F jge short GeoLabAr.005F23BC
005F23AD 6A 10 push 10
005F23AF 68 D0F74>push GeoLabAr.0041F7D0
005F23B4 56 push esi
005F23B5 50 push eax
005F23B6 FF15 601>call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckObj>] ; MSVBVM60.__vbaHresultCheckObj
005F23BC 8D4D B0 lea ecx,dword ptr ss:[ebp-50]
005F23BF FF15 881>call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
005F23C5 E9 9E010>jmp GeoLabAr.005F2568
005F23CA 8B3D C01>mov edi,dword ptr ds:[<&MSVBVM60.#537>] ; MSVBVM60.rtcBstrFromAnsi
005F23D0 FFD7 call edi
005F23D2 8BD0 mov edx,eax
005F23D4 8D4D C0 lea ecx,dword ptr ss:[ebp-40]
005F23D7 FFD6 call esi
005F23D9 6A 0D push 0D
005F23DB FFD7 call edi
005F23DD 8BD0 mov edx,eax
005F23DF 8D4D BC lea ecx,dword ptr ss:[ebp-44]
005F23E2 FFD6 call esi
005F23E4 6A 0D push 0D
005F23E6 FFD7 call edi
005F23E8 8BD0 mov edx,eax
005F23EA 8D4D B8 lea ecx,dword ptr ss:[ebp-48]
005F23ED FFD6 call esi
005F23EF 6A 0D push 0D
005F23F1 FFD7 call edi
005F23F3 8BD0 mov edx,eax
005F23F5 8D4D B4 lea ecx,dword ptr ss:[ebp-4C]
005F23F8 FFD6 call esi
005F23FA B9 04000>mov ecx,80020004
005F23FF B8 0A000>mov eax,0A
005F2404 898D 78F>mov dword ptr ss:[ebp-88],ecx
005F240A 894D 88 mov dword ptr ss:[ebp-78],ecx
005F240D 8D95 60F>lea edx,dword ptr ss:[ebp-A0]
005F2413 8D4D 90 lea ecx,dword ptr ss:[ebp-70]
005F2416 8985 70F>mov dword ptr ss:[ebp-90],eax
005F241C 8945 80 mov dword ptr ss:[ebp-80],eax
005F241F C785 68F>mov dword ptr ss:[ebp-98],GeoLabAr.004234FC
005F2429 C785 60F>mov dword ptr ss:[ebp-A0],8
005F2433 FF15 301>call dword ptr ds:[<&MSVBVM60.__vbaVarDup>] ; MSVBVM60.__vbaVarDup
005F2439 8B45 BC mov eax,dword ptr ss:[ebp-44]
005F243C 8B4D B8 mov ecx,dword ptr ss:[ebp-48]
005F243F 8B55 C0 mov edx,dword ptr ss:[ebp-40]
005F2442 8985 1CF>mov dword ptr ss:[ebp-E4],eax
005F2448 8B45 B4 mov eax,dword ptr ss:[ebp-4C]
005F244B 898D 18F>mov dword ptr ss:[ebp-E8],ecx
005F2451 68 54344>push GeoLabAr.00423454
005F2456 8D4D E8 lea ecx,dword ptr ss:[ebp-18]
005F2459 895D C0 mov dword ptr ss:[ebp-40],ebx
005F245C 895D BC mov dword ptr ss:[ebp-44],ebx
005F245F 895D B8 mov dword ptr ss:[ebp-48],ebx
005F2462 8985 14F>mov dword ptr ss:[ebp-EC],eax
005F2468 895D B4 mov dword ptr ss:[ebp-4C],ebx
005F246B FFD6 call esi
005F246D 8B3D 4C1>mov edi,dword ptr ds:[<&MSVBVM60.__vbaStrCat>] ; MSVBVM60.__vbaStrCat
005F2473 50 push eax
005F2474 FFD7 call edi
005F2476 8BD0 mov edx,eax
005F2478 8D4D E4 lea ecx,dword ptr ss:[ebp-1C]
005F247B FFD6 call esi
005F247D 50 push eax
005F247E 68 68344>push GeoLabAr.00423468
005F2483 FFD7 call edi
005F2485 8BD0 mov edx,eax
005F2487 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005F248A FFD6 call esi
005F248C 8B95 1CF>mov edx,dword ptr ss:[ebp-E4]
005F2492 50 push eax
005F2493 8D4D DC lea ecx,dword ptr ss:[ebp-24]
005F2496 FFD6 call esi
005F2498 50 push eax
005F2499 FFD7 call edi
005F249B 8BD0 mov edx,eax
005F249D 8D4D D8 lea ecx,dword ptr ss:[ebp-28]
005F24A0 FFD6 call esi
005F24A2 8B95 18F>mov edx,dword ptr ss:[ebp-E8]
005F24A8 50 push eax
005F24A9 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005F24AC FFD6 call esi
005F24AE 50 push eax
005F24AF FFD7 call edi
005F24B1 8BD0 mov edx,eax
005F24B3 8D4D D0 lea ecx,dword ptr ss:[ebp-30]
005F24B6 FFD6 call esi
005F24B8 50 push eax
005F24B9 68 94344>push GeoLabAr.00423494
005F24BE FFD7 call edi
005F24C0 8BD0 mov edx,eax
005F24C2 8D4D CC lea ecx,dword ptr ss:[ebp-34]
005F24C5 FFD6 call esi
005F24C7 8B95 14F>mov edx,dword ptr ss:[ebp-EC]
005F24CD 50 push eax
005F24CE 8D4D C8 lea ecx,dword ptr ss:[ebp-38]
005F24D1 FFD6 call esi
005F24D3 50 push eax
005F24D4 FFD7 call edi
005F24D6 8BD0 mov edx,eax
005F24D8 8D4D C4 lea ecx,dword ptr ss:[ebp-3C]
005F24DB FFD6 call esi
005F24DD 50 push eax
005F24DE 68 A0344>push GeoLabAr.004234A0
005F24E3 FFD7 call edi
005F24E5 8D8D 70F>lea ecx,dword ptr ss:[ebp-90]
005F24EB 8945 A8 mov dword ptr ss:[ebp-58],eax
005F24EE 8D55 80 lea edx,dword ptr ss:[ebp-80]
005F24F1 51 push ecx
005F24F2 8D45 90 lea eax,dword ptr ss:[ebp-70]
005F24F5 52 push edx
005F24F6 50 push eax
005F24F7 8D4D A0 lea ecx,dword ptr ss:[ebp-60]
005F24FA 6A 10 push 10
005F24FC 51 push ecx
005F24FD C745 A0 >mov dword ptr ss:[ebp-60],8
005F2504 FF15 901>call dword ptr ds:[<&MSVBVM60.#595>] 出错提示,想办法跳过这个call ; MSVBVM60.rtcMsgBox
005F250A 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
005F250D 8D45 B8 lea eax,dword ptr ss:[ebp-48]
005F2510 52 push edx
005F2511 8D4D BC lea ecx,dword ptr ss:[ebp-44]
005F2514 50 push eax
005F2515 8D55 C0 lea edx,dword ptr ss:[ebp-40]
005F2518 51 push ecx
005F2519 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005F251C 52 push edx
005F251D 8D4D C8 lea ecx,dword ptr ss:[ebp-38]
005F2520 50 push eax
005F2521 8D55 CC lea edx,dword ptr ss:[ebp-34]
005F2524 51 push ecx
005F2525 8D45 D0 lea eax,dword ptr ss:[ebp-30]
005F2528 52 push edx
005F2529 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005F252C 50 push eax
005F252D 8D55 D8 lea edx,dword ptr ss:[ebp-28]
005F2530 51 push ecx
005F2531 8D45 DC lea eax,dword ptr ss:[ebp-24]
005F2534 52 push edx
005F2535 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005F2538 50 push eax
005F2539 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
005F253C 51 push ecx
005F253D 8D45 E8 lea eax,dword ptr ss:[ebp-18]
005F2540 52 push edx
005F2541 50 push eax
005F2542 6A 0E push 0E
005F2544 FF15 FC1>call dword ptr ds:[<&MSVBVM60.__vbaFreeStrList>] ; MSVBVM60.__vbaFreeStrList
005F254A 8D8D 70F>lea ecx,dword ptr ss:[ebp-90]
005F2550 8D55 80 lea edx,dword ptr ss:[ebp-80]
005F2553 51 push ecx
005F2554 8D45 90 lea eax,dword ptr ss:[ebp-70]
005F2557 52 push edx
005F2558 8D4D A0 lea ecx,dword ptr ss:[ebp-60]
005F255B 50 push eax
005F255C 51 push ecx
005F255D 6A 04 push 4
005F255F FF15 2C1>call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005F2565 83C4 50 add esp,50
005F2568 895D FC mov dword ptr ss:[ebp-4],ebx
005F256B 68 DE255>push GeoLabAr.005F25DE
005F2570 EB 6B jmp short GeoLabAr.005F25DD
005F2572 8D55 B4 lea edx,dword ptr ss:[ebp-4C]
005F2575 8D45 B8 lea eax,dword ptr ss:[ebp-48]
005F2578 52 push edx
005F2579 8D4D BC lea ecx,dword ptr ss:[ebp-44]
005F257C 50 push eax
005F257D 8D55 C0 lea edx,dword ptr ss:[ebp-40]
005F2580 51 push ecx
005F2581 8D45 C4 lea eax,dword ptr ss:[ebp-3C]
005F2584 52 push edx
005F2585 8D4D C8 lea ecx,dword ptr ss:[ebp-38]
005F2588 50 push eax
005F2589 8D55 CC lea edx,dword ptr ss:[ebp-34]
005F258C 51 push ecx
005F258D 8D45 D0 lea eax,dword ptr ss:[ebp-30]
005F2590 52 push edx
005F2591 8D4D D4 lea ecx,dword ptr ss:[ebp-2C]
005F2594 50 push eax
005F2595 8D55 D8 lea edx,dword ptr ss:[ebp-28]
005F2598 51 push ecx
005F2599 8D45 DC lea eax,dword ptr ss:[ebp-24]
005F259C 52 push edx
005F259D 8D4D E0 lea ecx,dword ptr ss:[ebp-20]
005F25A0 50 push eax
005F25A1 8D55 E4 lea edx,dword ptr ss:[ebp-1C]
005F25A4 51 push ecx
005F25A5 8D45 E8 lea eax,dword ptr ss:[ebp-18]
005F25A8 52 push edx
005F25A9 50 push eax
005F25AA 6A 0E push 0E
005F25AC FF15 FC1>call dword ptr ds:[<&MSVBVM60.__vbaFreeStrList>] ; MSVBVM60.__vbaFreeStrList
005F25B2 83C4 3C add esp,3C
005F25B5 8D4D B0 lea ecx,dword ptr ss:[ebp-50]
005F25B8 FF15 881>call dword ptr ds:[<&MSVBVM60.__vbaFreeObj>] ; MSVBVM60.__vbaFreeObj
005F25BE 8D8D 70F>lea ecx,dword ptr ss:[ebp-90]
005F25C4 8D55 80 lea edx,dword ptr ss:[ebp-80]
005F25C7 51 push ecx
005F25C8 8D45 90 lea eax,dword ptr ss:[ebp-70]
005F25CB 52 push edx
005F25CC 8D4D A0 lea ecx,dword ptr ss:[ebp-60]
005F25CF 50 push eax
005F25D0 51 push ecx
005F25D1 6A 04 push 4
005F25D3 FF15 2C1>call dword ptr ds:[<&MSVBVM60.__vbaFreeVarList>] ; MSVBVM60.__vbaFreeVarList
005F25D9 83C4 14 add esp,14
005F25DC C3 retn
005F25DD C3 retn
4.解决问题,把je GeoLabAr.005F23CA nop掉,运行后随意写出注册码,提示注册成功,呵呵,大功告成。
5.简单总结:找到关键跳转,分析代码,爆破掉即解决问题。
这个本人写的最认真的一篇文章,由于水平有限,请兄弟们不要笑话,这个文章网上是没有的,希望能够加入PYG,我会继续努力的!:$
[ 本帖最后由 tigerisme 于 2006-7-7 14:11 编辑 ] |
|