飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 2087|回复: 6

[07版] 标志位暴破文三

[复制链接]

该用户从未签到

发表于 2007-4-14 17:45:10 | 显示全部楼层 |阅读模式
SPX Bundle = Instant Screen Capture + Graphic Editor + Studio
File Version  5.0,2.0,2.1
File Size : aprox 7.02MB
OS : Windows 9x/NT/ME/2000/XP/2003

软件介绍:
      SPX Bundle是Instant Screen Capture + Graphic Editor + Studio三款工具的集合包.SPXInstantScreenCapture是一个功能强大的屏幕图像捕捉程序,支持鼠标和快捷键两种捕捉方式,支持任意图形,长方形,窗口,整个桌面四种捕捉范围,捕捉后的图片可以直接复制到剪贴板,保存为文件,用Email发给朋友,通过内置的FTP软件上传到网站,发送给图像编辑工具进行编辑修改,或者发送给打印机或者传真机,程序还具有在设定的时间间隔内连续捕捉和对捕捉的图片进行发大缩小的功能。Graphic Editor 的图片的编辑修改工具. SPX Studio则可以为我们截取的图片添加文字说明.

Homepage:http://www.moodysoft.com/download.html
Download:http://www.moodysoft.com/spx/spxsetup.exe


输入注册信息:
User Name: Nisy
ProductID: ChinaPYG

下PB MessageBoxA 断点 或是 搜索ASCII关键字符均可。

004A75F4=004A75F4 (ASCII "Thank you for registering ")
004A761C=004A761C (ASCII "Invalid User Name or Product ID. Please try again.")


004CBA97  |.  FF93 38030000 call    dword ptr [ebx+338]         ;  我们在此下断,F7跟进分析
004CBA9D  |.  84C0          test    al, al                                    ;  标志位比较
004CBA9F  |.  74 65         je      short 004CBB06                      ;  关键跳转 AL返回值为0则跳向注册失败
004CBAA1  |.  6A 30         push    30
004CBAA3  |.  8D55 E8       lea     edx, dword ptr [ebp-18]
004CBAA6  |.  A1 1C074F00   mov     eax, dword ptr [4F071C]
004CBAAB  |.  8B00          mov     eax, dword ptr [eax]
004CBAAD  |.  E8 2A00FAFF   call    0046BADC
004CBAB2  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
004CBAB5  |.  E8 1E90F3FF   call    00404AD8
004CBABA  |.  50            push    eax
004CBABB  |.  68 C8BB4C00   push    004CBBC8                         ;  thank you for registering


F7跟进算法CALL

004CB278  /$  55            push    ebp
004CB279  |.  8BEC          mov     ebp, esp
004CB27B  |.  6A 00         push    0
004CB27D  |.  6A 00         push    0
004CB27F  |.  6A 00         push    0

…………
…………

004CB37E  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
004CB381  |.  8B55 EC       mov     edx, dword ptr [ebp-14]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0        sete    al                                        ;  这里对AL标志位进行修改
004CB38C  |.  8843 34       mov     byte ptr [ebx+34], al            ;  将AL数值放[ebx+34]中
004CB38F  |.  807B 34 00    cmp     byte ptr [ebx+34], 0           ;  [ebx+34]的数值与0比较
004CB393  |.  74 34         je      short 004CB3C9                       ;  [ebx+34]为0则跳走
004CB395  |.  8D43 40       lea     eax, dword ptr [ebx+40]
004CB398  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
004CB39B  |.  B9 FF000000   mov     ecx, 0FF
004CB3A0  |.  E8 1795F3FF   call    004048BC
004CB3A5  |.  8D83 40010000 lea     eax, dword ptr [ebx+140]
004CB3AB  |.  8B55 F8       mov     edx, dword ptr [ebp-8]
004CB3AE  |.  B9 FF000000   mov     ecx, 0FF
004CB3B3  |.  E8 0495F3FF   call    004048BC
004CB3B8  |.  807D 08 00    cmp     byte ptr [ebp+8], 0
004CB3BC  |.  74 07         je      short 004CB3C5
004CB3BE  |.  8BC3          mov     eax, ebx
004CB3C0  |.  E8 0B020000   call    004CB5D0
004CB3C5  |>  C645 F7 01    mov     byte ptr [ebp-9], 1
004CB3C9  |>  33C0          xor     eax, eax                               ;  EAX清零
004CB3CB  |.  5A            pop     edx
004CB3CC  |.  59            pop     ecx
004CB3CD  |.  59            pop     ecx
004CB3CE  |.  64:8910       mov     dword ptr fs:[eax], edx
004CB3D1  |.  68 F8B34C00   push    004CB3F8
004CB3D6  |>  8D45 E4       lea     eax, dword ptr [ebp-1C]
004CB3D9  |.  BA 04000000   mov     edx, 4
004CB3DE  |.  E8 6992F3FF   call    0040464C
004CB3E3  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
004CB3E6  |.  BA 02000000   mov     edx, 2
004CB3EB  |.  E8 5C92F3FF   call    0040464C
004CB3F0  \.  C3            retn
004CB3F1   .^\E9 B68BF3FF   jmp     00403FAC
004CB3F6   .^ EB DE         jmp     short 004CB3D6
004CB3F8   .  8A45 F7       mov     al, byte ptr [ebp-9]             ;  通过上文的学习,我们知道我们这里是设置AL标志位的一个关键点
004CB3FB   .  5F            pop     edi
004CB3FC   .  5E            pop     esi
004CB3FD   .  5B            pop     ebx
004CB3FE   .  8BE5          mov     esp, ebp
004CB400   .  5D            pop     ebp
004CB401   .  C2 0400       retn    4


我们先来总结一下之前学到的标志位暴破修改思路:

01.
mov al,1         ;直接对AL赋值为1
retn               ;返回时 AL值为1

02.
xor     eax, eax  ;EAX清零
inc     eax         ;EAX加1
retn                ;返回时 AL值为1


而这个软件是sete语句设置了AL标志位,sete语句作用如下(感谢飘云对sete的讲解)

mov     eax, dword ptr [ebp-8]  //参数1
mov     edx, dword ptr [ebp-C]  //参数2
call       00405194                //关键比较
sete     al                      //参数1=参数2--->>设置al=1  否则al=0

根据该语句的所以我们就有如下的修改方案:
修改方案1

004CB37E  |.  8B45 F0         mov     eax, dword ptr [ebp-10]  //参数1  [ebp-10]修改为[ebp-14]
004CB381  |.  8B55 EC         mov     edx, dword ptr [ebp-14]  //参数2  或[ebp-14]修改为[ebp-10]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0          sete    al


修改方案2

004CB37E  |.  8B45 F0         mov     eax, dword ptr [ebp-10]
004CB381  |.  8B55 EC         mov     edx, dword ptr [ebp-14]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0          sete    al             //将sete al 修改为setne al (sete al  //参数1=参数2--->>al=0 否则al=1)<感谢rayicy补充>

修改方案3:

004CB37E  |.  8B45 F0         mov     eax, dword ptr [ebp-10]
004CB381  |.  8B55 EC         mov     edx, dword ptr [ebp-14]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0          sete    al            //将sete al 修改为:mov al,1


软件的注册信息保存在:C:\WINDOWS\system32\odbc32.crc  这个文件中,我们删除该文件后继续分析。

如果我们不修改sete对标志位的修改,用之前我们学到的标志位暴破是否可行.我们就从CALL尾部的这个赋值语句入手:
004CB3F8   .  8A45 F7       mov     al, byte ptr [ebp-9]

软件在此进行了AL标志位的赋值。我们把这里修改为mov  al, 1 保存文件后,运行,发现软件仍然弹出对话框窗口。Why?我们OD载入该文件,在004CB37E算法CALL这下断继续分析。软件启动时再次调用算法CALL来判断软件保存的注册信息是否正确,我们F8单步一路向下。


004CB597   .  84C0          test    al, al                           ;  退出算法CALL后来到这里:
004CB599   .  75 08         jnz     short 004CB5A3
004CB59B   .  8B45 FC       mov     eax, dword ptr [ebp-4]
004CB59E   .  E8 2D000000   call    004CB5D0
004CB5A3   >  33C0          xor     eax, eax
004CB5A5   .  5A            pop     edx
004CB5A6   .  59            pop     ecx
004CB5A7   .  59            pop     ecx
004CB5A8   .  64:8910       mov     dword ptr fs:[eax], edx
004CB5AB   .  68 C5B54C00   push    004CB5C5
004CB5B0   >  8D45 F4       lea     eax, dword ptr [ebp-C]
004CB5B3   .  BA 02000000   mov     edx, 2
004CB5B8   .  E8 8F90F3FF   call    0040464C
004CB5BD   .  C3            retn
004CB5BE   .^ E9 E989F3FF   jmp     00403FAC
004CB5C3   .^ EB EB         jmp     short 004CB5B0
004CB5C5   .  5F            pop     edi
004CB5C6   .  5E            pop     esi
004CB5C7   .  5B            pop     ebx
004CB5C8   .  8BE5          mov     esp, ebp
004CB5CA   .  5D            pop     ebp                              ;  0012FDEC
004CB5CB   .  C3            retn

004CAFDF  |.  807B 34 00    cmp     byte ptr [ebx+34], 0             ;  返回到这里
004CAFE3  |.  0F85 9F010000 jnz     004CB188                           ;  这里跳走则注册成功
004CAFE9  |.  83BB 50020000>cmp     dword ptr [ebx+250], 0
004CAFF0  |.  74 0A         je      short 004CAFFC

软件启动时候经过算法CALL,除了判断注册码是否正确,还返回了[ebx+34]的数值,如果[ebx+34]等于1则不弹出注册对话框,而[ebx+34]这个数值又是从何而来呢?我们再回来看下sete设置标志位时候的动作:

004CB37E  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
004CB381  |.  8B55 EC       mov     edx, dword ptr [ebp-14]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0        sete    al                                        ;  这里对AL标志位进行修改
004CB38C  |.  8843 34       mov     byte ptr [ebx+34], al            ;  将AL数值放[ebx+34]中  // 呵呵,以来是这里对[ebx+34]进行了赋值
004CB38F  |.  807B 34 00    cmp     byte ptr [ebx+34], 0           ;  [ebx+34]的数值与0比较
004CB393  |.  74 34         je      short 004CB3C9                       ;  [ebx+34]为0则跳走

那我们将这样修改是否可行?
修改第1处:

004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0        sete    al                              
004CB38C  |.  8843 34       mov     byte ptr [ebx+34], al            
004CB38F  |.  807B 34 00    cmp     byte ptr [ebx+34], 0            
004CB393  |.  74 34         je      short 004CB3C9                   ;  把这里NOP掉 使其实现对[ebp-9]的赋值和向系统写入注册信息。   

修改第2处:

004CAFDF  |.  807B 34 00    cmp     byte ptr [ebx+34], 0             ;  退出上一个retn后返回到这里(这里将0修改为1)
004CAFE3  |.  0F85 9F010000 jnz     004CB188                           ;  这里跳走则注册成功 (或是这里将jnz修改为jz)

然后我们运行软件,看到软件还有Buy Now的选项,为什么?


这说明[ebx+34]的数值在其他地方还做了检验。所以如果我们暴破的话就要对[ebx+34]做做手脚。我这里有一种思路,仅供大家参考。

004CB37E  |.  8B45 F0        mov     eax, dword ptr [ebp-10]
004CB381  |.  8B55 EC        mov     edx, dword ptr [ebp-14]
004CB384  |.  E8 9B96F3FF   call    00404A24
004CB389  |.  0F94C0         sete    al
004CB38C  |.  8843 34        mov     byte ptr [ebx+34], al
004CB38F  |.  807B 34 00    cmp     byte ptr [ebx+34], 0
004CB393      90               nop                                            ;  第1处修改:这里我们NOP掉
004CB394      90               nop
004CB395  |.  8D43 40       lea     eax, dword ptr [ebx+40]
004CB398  |.  8B55 FC       mov     edx, dword ptr [ebp-4]
004CB39B  |.  B9 FF000000   mov     ecx, 0FF
004CB3A0  |.  E8 1795F3FF   call    004048BC
004CB3A5  |.  8D83 40010000 lea     eax, dword ptr [ebx+140]
004CB3AB  |.  8B55 F8          mov     edx, dword ptr [ebp-8]
004CB3AE  |.  B9 FF000000   mov     ecx, 0FF
004CB3B3  |.  E8 0495F3FF   call    004048BC
004CB3B8  |.  807D 08 00     cmp     byte ptr [ebp+8], 0
004CB3BC  |.  74 07             je      short 004CB3C5                 ;  这里千万不能跳,WHY/?
004CB3BE  |.  8BC3              mov     eax, ebx
004CB3C0  |.  E8 0B020000   call    004CB5D0                        ;  这个CALL向系统写入我们输入的注册信息(F7跟进看看就明白了)
004CB3C5  |>  C643 34 01    mov     byte ptr [ebx+34], 1       ;  第2处修改:我们在这里将1赋值给[ebx+34] 呵呵
004CB3C9  |>  33C0          xor     eax, eax
004CB3CB  |.  5A            pop     edx
004CB3CC  |.  59            pop     ecx
004CB3CD  |.  59            pop     ecx
004CB3CE  |.  64:8910       mov     dword ptr fs:[eax], edx
004CB3D1  |.  68 F8B34C00   push    004CB3F8
004CB3D6  |>  8D45 E4       lea     eax, dword ptr [ebp-1C]
004CB3D9  |.  BA 04000000   mov     edx, 4
004CB3DE  |.  E8 6992F3FF   call    0040464C
004CB3E3  |.  8D45 F8       lea     eax, dword ptr [ebp-8]
004CB3E6  |.  BA 02000000   mov     edx, 2
004CB3EB  |.  E8 5C92F3FF   call    0040464C
004CB3F0  \.  C3            retn
004CB3F1   .^ E9 B68BF3FF   jmp     00403FAC
004CB3F6   .^ EB DE         jmp     short 004CB3D6
004CB3F8   .  B0 01         mov     al, 1                                   ;  第3处修改:这里对AL赋值为1
004CB3FA   .  90            nop
004CB3FB   .  5F            pop     edi
004CB3FC   .  5E            pop     esi
004CB3FD   .  5B            pop     ebx
004CB3FE   .  8BE5          mov     esp, ebp
004CB400   .  5D            pop     ebp
004CB401   .  C2 0400       retn    4





补充上暴破思路三:菜儿对Instant Screen Capture 绿色版的暴破:

1.修改以下三处即可暴破:

004CB0F1  |. /EB 25         JMP SHORT spx.004CB118
004CB0F3  |> |4F            DEC EDI
004CB0F4  |. |75 12         JNZ SHORT spx.004CB108
004CB0F6  |. |BA 30B24C00   MOV EDX,spx.004CB230                     ;  1 day remaining.
004CB0FB  |. |8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
004CB101  |. |E8 9609F8FF   CALL spx.0044BA9C
004CB106  |. |EB 10         JMP SHORT spx.004CB118
004CB108  |> |BA 4CB24C00   MOV EDX,spx.004CB24C                     ;  0 days remaining.
004CB10D  |. |8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
004CB113  |. |E8 8409F8FF   CALL spx.0044BA9C
004CB118  |> \83BB 50020000>CMP DWORD PTR DS:[EBX+250],0
004CB11F  |.  75 56         JNZ SHORT spx.004CB177
004CB121  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
004CB127  |.  8B40 68       MOV EAX,DWORD PTR DS:[EAX+68]
004CB12A  |.  8A15 60B24C00 MOV DL,BYTE PTR DS:[4CB260]
004CB130  |.  E8 EBD1F5FF   CALL spx.00428320
004CB135  |.  BA 6CB24C00   MOV EDX,spx.004CB26C                     ;  close
004CB13A  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
004CB140  |.  E8 5709F8FF   CALL spx.0044BA9C
004CB145  |.  8B86 04030000 MOV EAX,DWORD PTR DS:[ESI+304]
004CB14B  |.  8B40 68       MOV EAX,DWORD PTR DS:[EAX+68]
004CB14E  |.  8A15 74B24C00 MOV DL,BYTE PTR DS:[4CB274]
004CB154  |.  E8 C7D1F5FF   CALL spx.00428320
004CB159  |.  66:BA 0100    MOV DX,1
004CB15D  |.  8B86 04030000 MOV EAX,DWORD PTR DS:[ESI+304]
004CB163  |.  E8 B071F8FF   CALL spx.00452318
004CB168  |.  66:BA 0200    MOV DX,2
004CB16C  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
004CB172  |.  E8 A171F8FF   CALL spx.00452318
004CB177  |>  8BC6          MOV EAX,ESI
004CB179  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
004CB17B  |.  FF92 E8000000 CALL DWORD PTR DS:[EDX+E8]      nop去掉注册对话框   


0041F1F0  |. /75 41         JNZ SHORT spx.0041F233        nop去掉(让时间永远是15天)
0041F1F2  |. |8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
0041F1F5  |. |8BC6          MOV EAX,ESI
0041F1F7  |. |E8 909FFEFF   CALL spx.0040918C
0041F1FC  |. |8BC8          MOV ECX,EAX
0041F1FE  |. |33D2          XOR EDX,EDX
0041F200  |. |8BC3          MOV EAX,EBX
0041F202  |. |E8 BDFEFFFF   CALL spx.0041F0C4
0041F207  |. |837B 04 00    CMP DWORD PTR DS:[EBX+4],0
0041F20B  |. |7D 65         JGE SHORT spx.0041F272
0041F20D  |. |8975 F4       MOV DWORD PTR SS:[EBP-C],ESI
0041F210  |. |C645 F8 0B    MOV BYTE PTR SS:[EBP-8],0B
0041F214  |. |8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
0041F217  |. |50            PUSH EAX
0041F218  |. |6A 00         PUSH 0
0041F21A  |. |8B0D D8074F00 MOV ECX,DWORD PTR DS:[4F07D8]            ;  spx.0041849C
0041F220  |. |B2 01         MOV DL,1
0041F222  |. |A1 2C964100   MOV EAX,DWORD PTR DS:[41962C]
0041F227  |. |E8 00D6FEFF   CALL spx.0040C82C
0041F22C  |. |E8 B34DFEFF   CALL spx.00403FE4
0041F231  |. |EB 3F         JMP SHORT spx.0041F272
0041F233  |> \0FB7D7        MOVZX EDX,DI
0041F236  |.  8BC6          MOV EAX,ESI
0041F238  |.  E8 CF9EFEFF   CALL spx.0040910C


004CC22F      83BB 3C030000>CMP DWORD PTR DS:[EBX+33C],0   改为:CMP DWORD PTR DS:[EBX+33C],1 去掉关于的注册框
004CC236   .  0F84 DC000000 JE spx.004CC318
004CC23C      83BB 40030000>CMP DWORD PTR DS:[EBX+340],0   改为:CMP DWORD PTR DS:[EBX+33C],1 去掉关于的注册框
004CC243   .  0F84 CF000000 JE spx.004CC318
004CC249   .  33D2          XOR EDX,EDX
004CC24B   .  8B83 30030000 MOV EAX,DWORD PTR DS:[EBX+330]
004CC251   .  E8 36F7F7FF   CALL spx.0044B98C
004CC256   .  BA 24C34C00   MOV EDX,spx.004CC324                     ;  this product is licensed.
004CC25B   .  8B83 20030000 MOV EAX,DWORD PTR DS:[EBX+320]
004CC261   .  E8 36F8F7FF   CALL spx.0044BA9C

2.制作绿色版,让软件自显注册信息.

本想从最下方找一个空地,结果那个地址还有用,这里就偷个懒,修改软件用不到的数据了:

004CB0F6  |.  BA 30B24C00   mov     edx, 004CB230                    ;  1 day remaining.
004CB0FB  |.  8B86 FC020000 mov     eax, dword ptr [esi+2FC]
004CB101  |.  E8 9609F8FF   call    0044BA9C
004CB106  |.  EB 10         jmp     short 004CB118
004CB108  |>  BA 4CB24C00   mov     edx, 004CB24C                    ;  0 days remaining.

004CB230 把这里的数据修改为 ChinaPYG
004CB24C 把这里的数据修改为 Bbs.ChinaPYG.Com

然后使其赋值:

004CC22F      C783 3C030000>mov     dword ptr [ebx+33C], 004CB230    ;  ASCII "ChinaPYG       "
004CC239      90            nop
004CC23A      90            nop
004CC23B      90            nop
004CC23C      C783 40030000>mov     dword ptr [ebx+340], 004CB24C    ;  ASCII "Bbs.ChinaPYG.Com"
004CC246      90            nop
004CC247      90            nop
004CC248      90            nop

3.去掉Buy Now 的选项

分析应该是软件开始调用算法CALL时候对AL数值的问题和[ebx+32]数值的问题

故再添加以下修改:

004CB2DA  |.  C643 34 01    mov     byte ptr [ebx+34], 1

如此一来软件连向系统写入注册信息都懒的去做了,完美暴破绿色版,呵呵~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入我们

x
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-4-14 17:47:56 | 显示全部楼层
菜儿做过 汉化版的完美暴破  能否把最新版的暴破简单分析下~~
PYG19周年生日快乐!

该用户从未签到

 楼主| 发表于 2007-4-15 09:40:25 | 显示全部楼层
终于搞定 累死我了~~ 这二种修改方法琢磨了好长时间~~

哎 这软件的设计思路就是为这个教程而设计的 天衣无缝呀~~
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-2-21 15:52
  • 签到天数: 30 天

    [LV.5]常住居民I

    发表于 2007-4-15 09:44:25 | 显示全部楼层
    下载来跟踪一下!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-4-15 14:17:26 | 显示全部楼层
    Spx抓图软件..分析了下...

    004CB0F1  |. /EB 25         JMP SHORT spx.004CB118
    004CB0F3  |> |4F            DEC EDI
    004CB0F4  |. |75 12         JNZ SHORT spx.004CB108
    004CB0F6  |. |BA 30B24C00   MOV EDX,spx.004CB230                     ;  1 day remaining.
    004CB0FB  |. |8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
    004CB101  |. |E8 9609F8FF   CALL spx.0044BA9C
    004CB106  |. |EB 10         JMP SHORT spx.004CB118
    004CB108  |> |BA 4CB24C00   MOV EDX,spx.004CB24C                     ;  0 days remaining.
    004CB10D  |. |8B86 FC020000 MOV EAX,DWORD PTR DS:[ESI+2FC]
    004CB113  |. |E8 8409F8FF   CALL spx.0044BA9C
    004CB118  |> \83BB 50020000>CMP DWORD PTR DS:[EBX+250],0
    004CB11F  |.  75 56         JNZ SHORT spx.004CB177
    004CB121  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
    004CB127  |.  8B40 68       MOV EAX,DWORD PTR DS:[EAX+68]
    004CB12A  |.  8A15 60B24C00 MOV DL,BYTE PTR DS:[4CB260]
    004CB130  |.  E8 EBD1F5FF   CALL spx.00428320
    004CB135  |.  BA 6CB24C00   MOV EDX,spx.004CB26C                     ;  close
    004CB13A  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
    004CB140  |.  E8 5709F8FF   CALL spx.0044BA9C
    004CB145  |.  8B86 04030000 MOV EAX,DWORD PTR DS:[ESI+304]
    004CB14B  |.  8B40 68       MOV EAX,DWORD PTR DS:[EAX+68]
    004CB14E  |.  8A15 74B24C00 MOV DL,BYTE PTR DS:[4CB274]
    004CB154  |.  E8 C7D1F5FF   CALL spx.00428320
    004CB159  |.  66:BA 0100    MOV DX,1
    004CB15D  |.  8B86 04030000 MOV EAX,DWORD PTR DS:[ESI+304]
    004CB163  |.  E8 B071F8FF   CALL spx.00452318
    004CB168  |.  66:BA 0200    MOV DX,2
    004CB16C  |.  8B86 00030000 MOV EAX,DWORD PTR DS:[ESI+300]
    004CB172  |.  E8 A171F8FF   CALL spx.00452318
    004CB177  |>  8BC6          MOV EAX,ESI
    004CB179  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
    004CB17B  |.  FF92 E8000000 CALL DWORD PTR DS:[EDX+E8]      nop去掉注册对话框   






    0041F1F0  |. /75 41         JNZ SHORT spx.0041F233        nop去掉(让时间永远是15天)
    0041F1F2  |. |8B55 08       MOV EDX,DWORD PTR SS:[EBP+8]
    0041F1F5  |. |8BC6          MOV EAX,ESI
    0041F1F7  |. |E8 909FFEFF   CALL spx.0040918C
    0041F1FC  |. |8BC8          MOV ECX,EAX
    0041F1FE  |. |33D2          XOR EDX,EDX
    0041F200  |. |8BC3          MOV EAX,EBX
    0041F202  |. |E8 BDFEFFFF   CALL spx.0041F0C4
    0041F207  |. |837B 04 00    CMP DWORD PTR DS:[EBX+4],0
    0041F20B  |. |7D 65         JGE SHORT spx.0041F272
    0041F20D  |. |8975 F4       MOV DWORD PTR SS:[EBP-C],ESI
    0041F210  |. |C645 F8 0B    MOV BYTE PTR SS:[EBP-8],0B
    0041F214  |. |8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    0041F217  |. |50            PUSH EAX
    0041F218  |. |6A 00         PUSH 0
    0041F21A  |. |8B0D D8074F00 MOV ECX,DWORD PTR DS:[4F07D8]            ;  spx.0041849C
    0041F220  |. |B2 01         MOV DL,1
    0041F222  |. |A1 2C964100   MOV EAX,DWORD PTR DS:[41962C]
    0041F227  |. |E8 00D6FEFF   CALL spx.0040C82C
    0041F22C  |. |E8 B34DFEFF   CALL spx.00403FE4
    0041F231  |. |EB 3F         JMP SHORT spx.0041F272
    0041F233  |> \0FB7D7        MOVZX EDX,DI
    0041F236  |.  8BC6          MOV EAX,ESI
    0041F238  |.  E8 CF9EFEFF   CALL spx.0040910C




    004CC22F      83BB 3C030000>CMP DWORD PTR DS:[EBX+33C],0   改为:CMP DWORD PTR DS:[EBX+33C],1 去掉关于的注册框
    004CC236   .  0F84 DC000000 JE spx.004CC318
    004CC23C      83BB 40030000>CMP DWORD PTR DS:[EBX+340],0   改为:CMP DWORD PTR DS:[EBX+33C],1 去掉关于的注册框
    004CC243   .  0F84 CF000000 JE spx.004CC318
    004CC249   .  33D2          XOR EDX,EDX
    004CC24B   .  8B83 30030000 MOV EAX,DWORD PTR DS:[EBX+330]
    004CC251   .  E8 36F7F7FF   CALL spx.0044B98C
    004CC256   .  BA 24C34C00   MOV EDX,spx.004CC324                     ;  this product is licensed.
    004CC25B   .  8B83 20030000 MOV EAX,DWORD PTR DS:[EBX+320]
    004CC261   .  E8 36F8F7FF   CALL spx.0044BA9C

    [ 本帖最后由 菜儿 于 2007-4-15 14:24 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2007-4-15 14:54:47 | 显示全部楼层
    原帖由 菜儿 于 2007-4-15 14:17 发表
    Spx抓图软件..分析了下...

    004CB0F1  |. /EB 25         JMP SHORT spx.004CB118
    004CB0F3  |> |4F            DEC EDI
    004CB0F4  |. |75 12         JNZ SHORT spx.004CB108
    004CB0F6  |. |BA 30B24C00  ...



    可以找个地址 把Name 和 ID 写进去,点击about的时候就可以出现我们想要的注册信息~

    正在思考解决方案~~ /:03
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2007-4-15 15:28:00 | 显示全部楼层
    原帖由 Nisy 于 2007-4-15 14:54 发表



    可以找个地址 把Name 和 ID 写进去,点击about的时候就可以出现我们想要的注册信息~

    正在思考解决方案~~ /:03




    先赋值:
    本想从最下方找一个空地,结果那个地址还有用,那就只好修改软件用不到的数据了:

    004CB0F6  |.  BA 30B24C00   mov     edx, 004CB230                    ;  1 day remaining.
    004CB0FB  |.  8B86 FC020000 mov     eax, dword ptr [esi+2FC]
    004CB101  |.  E8 9609F8FF   call    0044BA9C
    004CB106  |.  EB 10         jmp     short 004CB118
    004CB108  |>  BA 4CB24C00   mov     edx, 004CB24C                    ;  0 days remaining.

    004CB230 把这里的数据修改为 ChinaPYG
    004CB24C 把这里的数据修改为 Bbs.ChinaPYG.Com

    然后使其赋值:

    004CC22F      C783 3C030000>mov     dword ptr [ebx+33C], 004CB230    ;  ASCII "ChinaPYG       "
    004CC239      90            nop
    004CC23A      90            nop
    004CC23B      90            nop
    004CC23C      C783 40030000>mov     dword ptr [ebx+340], 004CB24C    ;  ASCII "Bbs.ChinaPYG.Com"
    004CC246      90            nop
    004CC247      90            nop
    004CC248      90            nop

    这样软件就显示出注册信息了~~ 不过,软件又出现了Buy Now 的选项,继续研究~~

    菜儿提供的方法此处也显示了Buy Now 的选项,所以我分析应该是软件开始调用算法CALL时候对AL数值的问题和[ebx=32]数值的问题

    故再添加以下修改: 具体是哪一处出的问题 正在研究中  hehe  搞定了 修改如下

    004CB2DA  |.  C643 34 01    mov     byte ptr [ebx+34], 1

    因为是否出现Buy Now 的选项,一定是[ebx+34]数值出现的问题~~   这样一来,软件连向系统写入注册信息都懒的去做了 /:03  

    [ebx+34]在哪做的比较,我再找找看~~

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表