精灵画笔之大天使---破文
软件名称:精灵画笔之大天使V3.82
发布公司:珠海优软电脑有限公司
软件分类:图形图像
发布日期:2002.07.16
文件大小:14,356K
版本:V3.82
语言:中文简体
应用平台:Win 95/98/NT/2000
软件简介:精灵画笔系列软件拥有功能卓越的各种绘画工具,不仅可以创作出与常规画法一样的作品,最有用的就是可以制作出常规情况下无法实现的作品,比如同时使用油画和水彩画的技巧,在油画中实现透明技巧等。由于随时可以Undo,并且可以使用橡皮擦,创作国画更加得心应手,完全改变国画需要一气呵成的创作方法。优软对自己产品的要求近乎苛求,绝不好大喜功,我们在细节的地方体现对您的服务:风格独特操作方便的用户界面,第一等流畅平滑自然的绘画线条,对压力感应绘图板,立体声卡,扫描仪,数码相机等设备的出色支持,让您充分享受现代化绘画创作的乐趣。精灵画笔之大天使提供了包括铅笔,油画笔,水彩笔,素描碳棒,粉笔,喷绘笔等多种自然效果绘画工具。可提供多达 20 步的回溯返回功能,所以不用再害怕犯错。中英合一版自适应同时支持中文简体,中文繁体,英文操作系统。更新的教学文件格式,制作出的教学文件尺寸更加精简,功能更强大,性能更加稳定,向下兼容 2.0格式。新增对再次创作功能的支持,大作品可以分多次录制完成,摆脱原来制作绘画教学课程要求一气呵成的噩梦。教学录制功能跟多步 Undo/Redo 配合,制作完美教程。自定义画纸尺寸。提供作品缩放,裁减功能。支持视图缩放,帮你精雕细刻,缩微图观察视窗让你随时把握全局。基于优软 Zero GDI 4.0 的用户界面提供风格与众不同的 3D 视窗界面,同时又保留标准视窗界面的便捷操作方式,如鼠标右键菜单,浮动工具窗口等。一如既往支持国际手写绘画笔标准 WINTAB,轻松支持压力感应手写笔,新版本更可以自由设定压感方式风格。特色笔尖风格设定,任意定制需要的笔尖大小,圆率,倾斜角度,边缘模糊度,步长。读入输出支持多种常用图像文件格式画册图片。支持文字,语音注释.新增幻灯制作演示功能 ,不用打印也可以轻松展示作品。
下载网址:http://www.eusoftware.com
注册金额:
pj人:胖大兵[DFCG]
使用工具:侦测壳类:fi2.5,PEid0.8中文版
反编译:w32dasm黄金版中文版
动态调试:trw2000 for win98 ,Ollydbg中文版v1.04
特殊工具:笔和纸 :-)
过程:首先安装软件,安装程序是一个文件,正常安装。
首先执行程序,程序执行后会跳出一个注册窗口,有一个8位的机器码和一个有四段,每段填4个字符的文本框,填写注册号码的。随便填写以后点确定,出现“注册码错误,请重新输入”的对话框!(呵呵,还好有提示)点==》帮助==》关于,里面的信息有序列号:未注册的显示。基本情况就是这些了。
晚上的心情不好,女友叶子今天生日,可是打电话,她不接。呵呵!就拿你开刀了。
先用侦测壳的软件,看是否加壳。使用fi2.5,PEid0.8中文版两种软件发现,没有加密,加壳。哈哈。不会吧,对我这么好。软件是用Microsoft Visual C++ 6.0写的!怎么这两天pj的程序都是用这个写的啊。
没有加密的话,用反编译看看,用w32dasm黄金版中文版加载程序,点串式参考,有很多的字符串,可就是没有提示注册失败和成功的串式,看来程序中出现的对话框是动态生成的。可是我找到了这样的字符串
"PP"
"Prev_File"
"ProductId"
"projectrc"
"Question"
"r"
"RECORD QUALITY"
"REDEYE_PRESS_STYLUS_EXPOSE"
"REDEYE_PRESS_STYLUS_SIZE"
"refresh_screen_event"
"Register"《=====================找到的。
"res\album\album.img"
"res\album\cover.img"
"res\album\downdown.pcx"
"res\album\downup.pcx"
"res\album\leftdown.pcx"
"res\album\leftup.pcx"
双击来到
:00451982 6A00 push 00000000
:00451984 6800154500 push 00451500
:00451989 50 push eax
* Possible StringData Ref from Data Obj ->"Register"〈==================来到这里
|
:0045198A 6828B54900 push 0049B528
:0045198F 51 push ecx
* Reference To: USER32.DialogBoxParamA, Ord:0093h
|
:00451990 FF1510144900 Call dword ptr [00491410]
:00451996 85C0 test eax, eax
:00451998 56 push esi
:00451999 740F je 004519AA
:0045199B E8E01DFFFF call 00443780
:004519A0 83C404 add esp, 00000004
然后继续使用我拿手的Ollydbg中文版v1.04,加载,下断点,发现这个是生成注册对话框的部分,并不是我需要的,也不是比较注册码的地方。
既然不能通过静态编译看到关键的部分,难道就没有办法了吗。当然不是,于是我重新启动计算机,来到win98下面,刚才所有的操作都是在win2000下。
执行trw2000 for win98,然后执行精灵画笔之大天使,填好假的注册码,然后Ctrl+N,呼出trw,现在程序的当前领空并不是精灵画笔,老步骤。bc *,pmodule,点F12一次以后就出现了注册错误的对话框。重新重复上面的步骤,pmodule以后不点f12了。点f10,记下这个时候的代码地址。程序没有几步,就执行到了注册失败的地方!
好现在我们换工具,换回Ollydbg中文版v1.04。
可能有朋友会问,为什么要换呢。可以用trw跟的啊。我也知道可以,但是我一直不喜欢使用trw,要频繁的键入命令行,所有的寄存器都不明显。而Ollydbg中文版v1.04我就比较喜欢了!
Ollydbg中文版v1.04加载程序以后,刚才我们用TRW得到的代码地址就可以用到了!转到刚才的地址,执行程序,填好加注册码,点确定,程序就被Ollydbg中文版v1.04中断了。
中断的地址,当然不是我们在TRW中得到的,我想前移动了十几行,为什么呢。因为在Ollydbg的代码的显示区域的右边,有一些提示,比如
004515B0 . 53 PUSH EBX ; ||hWnd
004515B1 . FFD5 CALL EBP ; |\GetDlgItem
004515B3 . 8B35 64144>MOV ESI,DWORD PTR DS:[<&USER32.>; |
004515B9 . 50 PUSH EAX ; |hWnd
004515BA . FFD6 CALL ESI ; \GetWindowTextA
004515BC . 8D4424 10 LEA EAX,DWORD PTR SS:[ESP+10]
004515C0 . 6A 05 PUSH 5 ; /Count = 5
004515C2 . 50 PUSH EAX ; |Buffer
004515C3 . 68 EF03000>PUSH 3EF ; |/ControlID = 3EF (1007.)
004515C8 . 53 PUSH EBX ; ||hWnd
004515C9 . FFD5 CALL EBP ; |\GetDlgItem
004515CB . 50 PUSH EAX ; |hWnd
004515CC . FFD6 CALL ESI ; \GetWindowTextA
004515CE . 8D7C24 10 LEA EDI,DWORD PTR SS:[ESP+10]
004515D2 . 83C9 FF OR ECX,FFFFFFFF
004515D5 . 33C0 XOR EAX,EAX
004515D7 . 8D5424 18 LEA EDX,DWORD PTR SS:[ESP+18]
上面代码右边的部分,熟悉编程的人,可以看出,这是冲某个句柄为什么的某个控件上getwindowtexta,这个大家应该很熟悉,是从文本框得到文本。上面还有很多。那我们在输入注册号码的时候是一个四段的信息,所以我们想应该有四个,所以我向上面移动了一些。
从中断的地方,到下面程序依次把输入的信息读入,然后连在一起
我输入的是1234-5678-abcd-eftg
004516A2 . 8BF7 MOV ESI,EDI
004516A4 . 8BE9 MOV EBP,ECX
004516A6 . 8BFA MOV EDI,EDX
004516A8 . 83C9 FF OR ECX,FFFFFFFF
004516AB . F2:AE REPNE SCAS BYTE PTR ES:[EDI]
004516AD . 8BCD MOV ECX,EBP
004516AF . 4F DEC EDI
004516B0 . C1E9 02 SHR ECX,2
004516B3 . F3:A5 REP MOVS DWORD PTR ES:[EDI],DWO>
004516B5 . 8BCD MOV ECX,EBP
004516B7 . 8D8424 A40>LEA EAX,DWORD PTR SS:[ESP+A4]
004516BE . 83E1 03 AND ECX,3
004516C1 . 50 PUSH EAX
004516C2 . F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE>
004516C4 . 8D4C24 1C LEA ECX,DWORD PTR SS:[ESP+1C]<=========到这里我们可以看到寄存器edx中是“12345678abcdeftg”
继续
004516C9 . E8 12AFFEF>CALL NUPAINT4.0043C5E0〈=============关键call,计算真正注册码!
004516CE . 83C4 08 ADD ESP,8
004516D1 . 85C0 TEST EAX,EAX
004516D3 . 5D POP EBP
004516D4 . 75 50 JNZ SHORT NUPAINT4.00451726
004516D6 . A1 5C524A0>MOV EAX,DWORD PTR DS:[4A525C]
004516DB . 8B35 78144>MOV ESI,DWORD PTR DS:[<&USER32.>
跟进关键CALL
0043C5E0 /$ 83EC 28 SUB ESP,28
0043C5E3 |. 33C0 XOR EAX,EAX
0043C5E5 |. 53 PUSH EBX
0043C5E6 |. 894424 04 MOV DWORD PTR SS:[ESP+4],EAX
0043C5EA |. 56 PUSH ESI
0043C5EB |. 894424 0C MOV DWORD PTR SS:[ESP+C],EAX
0043C5EF |. 57 PUSH EDI
0043C5F0 |. 8B7C24 3C MOV EDI,DWORD PTR SS:[ESP+3C]
0043C5F4 |. 894424 14 MOV DWORD PTR SS:[ESP+14],EAX
0043C5F8 |. 894424 18 MOV DWORD PTR SS:[ESP+18],EAX
0043C5FC |. 83C9 FF OR ECX,FFFFFFFF
0043C5FF |. F2:AE REPNE SCAS BYTE PTR ES:[EDI]
0043C601 |. F7D1 NOT ECX
0043C603 |. 2BF9 SUB EDI,ECX
0043C605 |. 884424 1C MOV BYTE PTR SS:[ESP+1C],AL
0043C609 |. 8D5424 0C LEA EDX,DWORD PTR SS:[ESP+C]
0043C60D |. 8BC1 MOV EAX,ECX
0043C60F |. 8BF7 MOV ESI,EDI
0043C611 |. 8BFA MOV EDI,EDX
0043C613 |. C1E9 02 SHR ECX,2
0043C616 |. F3:A5 REP MOVS DWORD PTR ES:[EDI],DWO>
0043C618 |. 8BC8 MOV ECX,EAX
0043C61A |. 33C0 XOR EAX,EAX
0043C61C |. 83E1 03 AND ECX,3
0043C61F |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE>
0043C621 |. 8D7C24 0C LEA EDI,DWORD PTR SS:[ESP+C]
0043C625 |. 83C9 FF OR ECX,FFFFFFFF
0043C628 |. F2:AE REPNE SCAS BYTE PTR ES:[EDI]
0043C62A |. F7D1 NOT ECX
0043C62C |. 49 DEC ECX
0043C62D |. 8BD1 MOV EDX,ECX
0043C62F |. 83FA 0C CMP EDX,C
0043C632 |. 7E 05 JLE SHORT NUPAINT4.0043C639
0043C634 |. BA 0C00000>MOV EDX,C
0043C639 |> 33C0 XOR EAX,EAX
0043C63B |. 85D2 TEST EDX,EDX
0043C63D |. 7E 1C JLE SHORT NUPAINT4.0043C65B
0043C63F |> 33C9 XOR ECX,ECX*
0043C641 |. 8A4C04 0C MOV CL,BYTE PTR SS:[ESP+EAX+C]*
0043C645 |. 81E1 07000>AND ECX,80000007*
0043C64B |. 79 05 JNS SHORT NUPAINT4.0043C652*
0043C64D |. 49 DEC ECX*
0043C64E |. 83C9 F8 OR ECX,FFFFFFF8*
0043C651 |. 41 INC ECX*
0043C652 |> 884C04 0C MOV BYTE PTR SS:[ESP+EAX+C],CL*
0043C656 |. 40 INC EAX*
0043C657 |. 3BC2 CMP EAX,EDX*
0043C659 |.^7C E4 JL SHORT NUPAINT4.0043C63F*
0043C65B |> BF 1CB1490>MOV EDI,NUPAINT4.0049B11C ; ASCII "WIZBKI01AAE1G1AL"
0043C660 |. 83C9 FF OR ECX,FFFFFFFF
在打*号的地方,程序依次取机器码进行运算,最后得到中间号码"WIZBKI01AAE1G1AL",开始以为是真的注册码,后面发现并不是,所以继续跟踪。向下。
0043C675 |. C1E9 02 SHR ECX,2
0043C678 |. F3:A5 REP MOVS DWORD PTR ES:[EDI],DWO>
0043C67A |. 8BC8 MOV ECX,EAX
0043C67C |. 33C0 XOR EAX,EAX
0043C67E |. 83E1 03 AND ECX,3
0043C681 |. 85D2 TEST EDX,EDX
0043C683 |. F3:A4 REP MOVS BYTE PTR ES:[EDI],BYTE>
0043C685 |. 7E 15 JLE SHORT NUPAINT4.0043C69C
0043C687 |> 8A88 20B14>MOV CL,BYTE PTR DS:[EAX+49B120]
0043C68D |. 8A5C04 0C MOV BL,BYTE PTR SS:[ESP+EAX+C]
0043C691 |. 02CB ADD CL,BL
0043C693 |. 884C04 24 MOV BYTE PTR SS:[ESP+EAX+24],CL
0043C697 |. 40 INC EAX
0043C698 |. 3BC2 CMP EAX,EDX
0043C69A |.^7C EB JL SHORT NUPAINT4.0043C687
0043C69C |> 8D5424 20 LEA EDX,DWORD PTR SS:[ESP+20]〈======程序在在这里有所调整,真正的注册码。
到此程序pj.
小结:程序使用明码比较。比较简单。
注册:使用keymake173制作注册j
点f8 制作另类注册j,在0043C6D1中断,中断1次,第一个代码为8A,长度为2,内存模式EAX.
相关视频
相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么
热门文章 去除winrar注册框方法
最新文章
比特币病毒怎么破解 比去除winrar注册框方法
华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据
人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程
查看所有0条评论>>