首页
社区
课程
招聘
[调查]你为什么对破解感兴趣?
发表于: 2007-2-27 10:25 15791

[调查]你为什么对破解感兴趣?

2007-2-27 10:25
15791
可以赚钱:
可以在人前炫耀:
可以学到技术:
可以免费使用软件:
没有什么原因:
为什么对破解感兴趣?

呵呵,我学习破解最开始是因为精灵画笔,找了很多注册机都不能用
后来在看雪看到了胖大兵的破解文章,模仿着竟然给破解了
对破解也就发生了兴趣


附:当年的那篇文章,很适合新手学习

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.



[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (51)
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
2
追求一种美就像喜欢一个人样!

就像你不知道树叶什么时候变黄,
婴儿什么时候长出第一颗牙来,
你什么时候会爱上一个人!

当你知道爱上了一个人的时候,其实你已经爱得很深了,爱了很久了!
如果这个时候问你当初为什么爱她,你根本无法回答,因为当初你刚爱上她的时候,你还不知道你爱上了她!

爱是一种感觉,没有什么理由,追求也是如此!
2007-2-27 11:11
0
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
3
不能多选啊。。。
2007-2-27 11:21
0
雪    币: 146
活跃值: (33)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
4
如果非要选择一个答案,应该是炫耀多一点
开始的时候,经常拿个od在寝室装模做样,
可是没有一个人效仿,现在想起来,觉得自己真bt啊
2007-2-27 11:36
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
5
没什么原因
2007-2-27 11:37
0
雪    币: 253
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
6
可以学技术,也有可以免费使用软件
2007-2-27 11:39
0
雪    币: 846
活跃值: (221)
能力值: (RANK:570 )
在线值:
发帖
回帖
粉丝
7
缘分
2007-2-27 13:02
0
雪    币: 331
活跃值: (56)
能力值: ( LV13,RANK:410 )
在线值:
发帖
回帖
粉丝
8
强奸的感觉
2007-2-27 13:38
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
9
是爱呵MM强奸是什么样的感觉?
2007-2-27 13:45
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
最初由 fonge 发布
追求一种美就像喜欢一个人样!


就像你不知道树叶什么时候变黄,
婴儿什么时候长出第一颗牙来,
........


经典啊
2007-2-27 14:05
0
雪    币: 263
活跃值: (10)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
11
最初由 Isaiah 发布
强奸的感觉

这种感觉才叫经典!
2007-2-27 14:13
0
雪    币: 212
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
不能破的时候就是--被强奸的感觉。。。

痛苦啊。。。
那时候叫天天不应叫地地不灵啊。。。
来看雪发个贴求教都没人理的时候。。。
唉唉。。。
2007-2-27 16:08
0
雪    币: 470
活跃值: (662)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
强盗对啥感兴趣?嫖客对啥感兴趣?回答好了就很容易回答上面的问题!!!
2007-2-27 16:12
0
雪    币: 2074
活跃值: (262)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
14
话题已飞到天上去了~~~ 
2007-2-27 17:04
0
雪    币: 8599
活跃值: (5065)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
15
因为只想随心所欲...
2007-2-27 18:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
追求一种数学美~~~!
2007-2-27 18:26
0
雪    币: 314
活跃值: (10)
能力值: ( LV12,RANK:570 )
在线值:
发帖
回帖
粉丝
17
在这个繁忙的年代里,crack是一种寄托!
2007-2-27 18:32
0
雪    币: 246
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
18
引用

追求一种美就像喜欢一个人样!

就像你不知道树叶什么时候变黄,
婴儿什么时候长出第一颗牙来,
你什么时候会爱上一个人!

当你知道爱上了一个人的时候,其实你已经爱得很深了,爱了很久了!
如果这个时候问你当初为什么爱她,你根本无法回答,因为当初你刚爱上她的时候,你还不知道你爱上了她!

爱是一种感觉,没有什么理由,追求也是如此!转载原创帖请注明出自看雪论坛pediy.com,本贴地址请保留:http://bbs.pediy.com/showthread.php?s=&threadid=40213
同意啊
2007-2-27 20:49
0
雪    币: 158
活跃值: (43)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
19
应该有多选嘛..
2007-2-27 23:01
0
雪    币: 2074
活跃值: (262)
能力值: ( LV9,RANK:220 )
在线值:
发帖
回帖
粉丝
20
对这个论坛系统不熟悉,所以没有多选,那位斑竹有时间帮忙改一下吧
2007-2-27 23:34
0
雪    币: 19
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
最初由 scship 发布
不能破的时候就是--被强奸的感觉。。。

痛苦啊。。。
那时候叫天天不应叫地地不灵啊。。。
来看雪发个贴求教都没人理的时候。。。
........


仁兄和我一样感受~~~~~~~~~~~~~~~
2007-2-28 00:40
0
雪    币: 200
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
我选择1

可以赚钱.
2007-2-28 09:24
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
不能上网的时候,就玩玩。
2007-2-28 12:17
0
雪    币: 333
活跃值: (40)
能力值: ( LV9,RANK:730 )
在线值:
发帖
回帖
粉丝
24
没什么原因,就是好玩。象玩游戏一样打发时间。
2007-2-28 15:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
选前面四个~
2007-2-28 17:14
0
游客
登录 | 注册 方可回帖
返回
//