首页
社区
课程
招聘
[原创]windows下dos窗口程序的破解(涉及浮点汇编指令问题)
2004-12-29 12:10 11769

[原创]windows下dos窗口程序的破解(涉及浮点汇编指令问题)

2004-12-29 12:10
11769
收藏
点赞7
打赏
分享
最新回复 (33)
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwert 2005-1-6 15:25
26
0
1、启动TRW2000
2、装入C2.exe
3、CTRL+N调出TRW2000

    Success!
    Loading plug c:\TRW2000\sys\STACK.sys
    Loading plug c:\TRW2000\sys\LOG2.sys

4、在命令行输入 BPX 00401663
5、按F5返回

再点右下角TRW标志图标
6、点LOAD按钮
7、trw2000启动

8、按F10几次   6次
9、返回DOS窗口
10、输入名字:fengfeng
11、TRW中断
12、按F10几次   1次
13、返回DOS窗口
14、输入密码:78787878
15、TRW中断,分析正式开始

16、按F10

    来到0167:004016CA  下deax  看到正确注册码905969664-x019871

    来到0167:004016D4  下deax  看到假的注册码78787878

17、ok!
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwert 2005-1-6 15:49
27
0
楼主,你好!

根据你的在DOS下程序的破解方法,我对我的老程序(你也曾建议过的)重新拿起,发现还是不行。
http://bbs.pediy.com/showthread.php?s=&threadid=8901
请楼主帮助看看,应该怎么做才对?

你说:
可以这样处理试试!
先用W32Dasm反汇编,找到读取密码的那一句,记下地址,然后用TRW2000 load 该程序,进入程序后用CTRL+PGDN往后翻页,找到读取密码的那个地址,设置断点,然后就可以追进去看看程序是怎么处理密码的!
可以试试看

字符串更本没有可读性文字呀

怪呀!

雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwert 2005-1-6 17:00
28
0
程序为:

我根据楼主的意思,试验了好多次。

我注重破解的过程。

其实该程序的正确密码为:239449359

我是这样操作的:

1、运行TRW2000
2、输入文件名 c:\2004.exe
3、从右下角调出TRW2000,点LOAD进入
4、通过多次分析,直接输入
   G 004015DC
5、来到了DOS界面的程序运行状态,按1,再回车
6、提示:<请输入您的验证密码,898989按回车>
   输入假的密码:89898989  回车
7、来到TRW下

   有这么一段:

   * Possible StringData Ref from Code Obj ->"檐
"
                                  |
:004015C8 680F104000              push 0040100F
:004015CD 68C4804200              push 004280C4
:004015D2 B958CA4200              mov ecx, 0042CA58
:004015D7 E804170000              call 00402CE0
:004015DC 8BC8                    mov ecx, eax
:004015DE E822FAFFFF              call 00401005
:004015E3 8D4DAC                  lea ecx, dword ptr [ebp-54]
:004015E6 51                      push ecx
:004015E7 B908CA4200              mov ecx, 0042CA08
:004015EC E87F0D0000              call 00402370              ;来到此处,按F8追入,看下面
:004015F1 6A00                    push 00000000
:004015F3 E8D8380000              call 00404ED0

===========

* Referenced by a CALL at Addresses:
|:0040116B   , :004011B7   , :004015BC   , :004015EC   , :004016CD   
|
:00402370 55                      push ebp                      ;来到这里
:00402371 8BEC                    mov ebp, esp
:00402373 83EC10                  sub esp, 00000010
:00402376 894DF0                  mov dword ptr [ebp-10], ecx
:00402379 6A00                    push 00000000
:0040237B 8B4DF0                  mov ecx, dword ptr [ebp-10]
:0040237E E8EDFDFFFF              call 00402170                 
:00402383 85C0                    test eax, eax                 ;判断密码不对,就玩完,提示“密码错误!”
:00402385 0F8448010000            je 004024D3
:0040238B 8B45F0                  mov eax, dword ptr [ebp-10]
:0040238E 8B08                    mov ecx, dword ptr [eax]
:00402390 8B5104                  mov edx, dword ptr [ecx+04]
:00402393 8B45F0                  mov eax, dword ptr [ebp-10]
:00402396 8B4C1030                mov ecx, dword ptr [eax+edx+30]
:0040239A 83E901                  sub ecx, 00000001
:0040239D 894DF4                  mov dword ptr [ebp-0C], ecx
:004023A0 8B55F0                  mov edx, dword ptr [ebp-10]
:004023A3 8B02                    mov eax, dword ptr [edx]
:004023A5 8B4804                  mov ecx, dword ptr [eax+04]
:004023A8 8B55F0                  mov edx, dword ptr [ebp-10]
:004023AB C7440A3000000000        mov [edx+ecx+30], 00000000
:004023B3 837D0800                cmp dword ptr [ebp+08], 00000000
:004023B7 7526                    jne 004023DF
:004023B9 8B45F0                  mov eax, dword ptr [ebp-10]
:004023BC 8B08                    mov ecx, dword ptr [eax]
:004023BE 8B5104                  mov edx, dword ptr [ecx+04]
:004023C1 8B45F0                  mov eax, dword ptr [ebp-10]
:004023C4 8B4C1008                mov ecx, dword ptr [eax+edx+08]
:004023C8 83C902                  or ecx, 00000002
:004023CB 8B55F0                  mov edx, dword ptr [ebp-10]
:004023CE 8B02                    mov eax, dword ptr [edx]
:004023D0 8B5004                  mov edx, dword ptr [eax+04]
:004023D3 8B45F0                  mov eax, dword ptr [ebp-10]
:004023D6 894C1008                mov dword ptr [eax+edx+08], ecx
:004023DA E9EC000000              jmp 004024CB

* Referenced by a (U)nconditional or (C)onditional Jump at Address:

请教怎么判断正确密码?

假如楼主能写出教程就好了。
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great1234 2005-1-6 17:02
29
0
最好不要把注册机的exe放上来---------这是坛主kanxue同志的精神.
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
笑对人生 2005-1-6 17:29
30
0
OK,已学习!WINXP下用W32DASM和OD通过!
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwert 2005-1-7 18:56
31
0
请SubtWay+0帮助看看,盼指教
雪    币: 223
活跃值: (105)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
SubtWay+0 2 2005-1-9 19:10
32
0
该程序我已研究了,给你个提示:
输入密码:78787878,在TRW中下
s 167:0 l ffffffff '78787878'进行搜索,找到的第一个地址为:66fda4,下bpm 66fda4,然后再按F5就能中断,之后就是一段读取密码的具体数据操作流程
雪    币: 209
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
qwert 2005-1-9 21:08
33
0
我试试,十分感谢。
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
六翼£天使 2005-1-10 10:27
34
0
学习学习
是个好教材
游客
登录 | 注册 方可回帖
返回