首页
社区
课程
招聘
[求助]帮忙看看这段程序的关键在哪里?
2004-11-26 13:21 4327

[求助]帮忙看看这段程序的关键在哪里?

2004-11-26 13:21
4327
谢谢。。

004B0310   55                     push    ebp
004B0311   8BEC                   mov     ebp, esp
004B0313   B909000000             mov     ecx, $00000009
004B0318   6A00                   push    $00
004B031A   6A00                   push    $00
004B031C   49                     dec     ecx
004B031D   75F9                   jnz     004B0318
004B031F   53                     push    ebx
004B0320   56                     push    esi
004B0321   57                     push    edi
004B0322   8945FC                 mov     [ebp-$04], eax
004B0325   33C0                   xor     eax, eax
004B0327   55                     push    ebp

* Possible String Reference to: '轶4?氅_^[?]?
|
004B0328   683C064B00             push    $004B063C

***** TRY
|
004B032D   64FF30                 push    dword ptr fs:[eax]
004B0330   648920                 mov     fs:[eax], esp

* Reference to pointer to GlobalVar_004C4049
|
004B0333   A188264C00             mov     eax, dword ptr [$004C2688]
004B0338   803800                 cmp     byte ptr [eax], $00
004B033B   741A                   jz      004B0357
004B033D   6A00                   push    $00
004B033F   668B0D4C064B00         mov     cx, word ptr [$004B064C]
004B0346   B202                   mov     dl, $02

* Possible String Reference to: '环球卫星网络电视 已经注册。谢谢!'
|
004B0348   B858064B00             mov     eax, $004B0658

|
004B034D   E8BAE1F7FF             call    0042E50C
004B0352   E988020000             jmp     004B05DF
004B0357   8D55F0                 lea     edx, [ebp-$10]

* Reference to Form2
|
004B035A   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B035D   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B0363   E81426F9FF             call    0044297C
004B0368   837DF000               cmp     dword ptr [ebp-$10], +$00
004B036C   741E                   jz      004B038C
004B036E   8D55EC                 lea     edx, [ebp-$14]

* Reference to Form2
|
004B0371   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B0374   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B037A   E8FD25F9FF             call    0044297C
004B037F   8B45EC                 mov     eax, [ebp-$14]

* Reference to: System.@LStrLen(String):Integer;
|           or: System.@DynArrayLength;
|           or: System.DynArraySize(Pointer):Integer;
|           or: Variants.DynArraySize(Pointer):Integer;
|
004B0382   E8E93FF5FF             call    00404370
004B0387   83F808                 cmp     eax, +$08
004B038A   7E30                   jle     004B03BC

* Possible String Reference to: ' 注册码无效。'
|
004B038C   B884064B00             mov     eax, $004B0684

* Reference to: Dialogs.ShowMessage(AnsiString);
|
004B0391   E86EE2F7FF             call    0042E604

* Reference to Form2
|
004B0396   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B0399   8B8000030000           mov     eax, [eax+$0300]
004B039F   33D2                   xor     edx, edx

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004B03A1   E80626F9FF             call    004429AC

* Reference to Form2
|
004B03A6   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B03A9   8B8000030000           mov     eax, [eax+$0300]
004B03AF   8B10                   mov     edx, [eax]

* Possible reference to virtual method TLabeledEdit.OFFS_00C4
|
004B03B1   FF92C4000000           call    dword ptr [edx+$00C4]
004B03B7   E923020000             jmp     004B05DF
004B03BC   8D45E4                 lea     eax, [ebp-$1C]
004B03BF   50                     push    eax
004B03C0   8D55E0                 lea     edx, [ebp-$20]

* Reference to Form2
|
004B03C3   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.w2 : TLabeledEdit
|
004B03C6   8B8008030000           mov     eax, [eax+$0308]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B03CC   E8AB25F9FF             call    0044297C
004B03D1   8B45E0                 mov     eax, [ebp-$20]
004B03D4   B906000000             mov     ecx, $00000006
004B03D9   BA01000000             mov     edx, $00000001

* Reference to: System.@LStrCopy;
|
004B03DE   E8ED41F5FF             call    004045D0
004B03E3   8B4DE4                 mov     ecx, [ebp-$1C]
004B03E6   8D45E8                 lea     eax, [ebp-$18]

* Possible String Reference to: '0x'
|
004B03E9   BA9C064B00             mov     edx, $004B069C

* Reference to: System.@LStrCat3;
|
004B03EE   E8C93FF5FF             call    004043BC
004B03F3   8B45E8                 mov     eax, [ebp-$18]

* Reference to: SysUtils.StrToInt(AnsiString):Integer;
|
004B03F6   E81D89F5FF             call    00408D18
004B03FB   8BF0                   mov     esi, eax
004B03FD   33C0                   xor     eax, eax
004B03FF   55                     push    ebp
004B0400   6896054B00             push    $004B0596

***** TRY
|
004B0405   64FF30                 push    dword ptr fs:[eax]
004B0408   648920                 mov     fs:[eax], esp
004B040B   8D55DC                 lea     edx, [ebp-$24]

* Reference to Form2
|
004B040E   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B0411   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B0417   E86025F9FF             call    0044297C
004B041C   8B45DC                 mov     eax, [ebp-$24]

* Reference to: SysUtils.StrToInt(AnsiString):Integer;
|
004B041F   E8F488F5FF             call    00408D18
004B0424   8BD8                   mov     ebx, eax
004B0426   8BC3                   mov     eax, ebx
004B0428   2BC6                   sub     eax, esi
004B042A   3B05CC204C00           cmp     eax, [$004C20CC]
004B0430   7459                   jz      004B048B

* Possible String Reference to: ' 你输入的注册码 '
|
004B0432   68A8064B00             push    $004B06A8
004B0437   8D55D4                 lea     edx, [ebp-$2C]

* Reference to Form2
|
004B043A   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B043D   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B0443   E83425F9FF             call    0044297C
004B0448   FF75D4                 push    dword ptr [ebp-$2C]

* Possible String Reference to: ' 不正确。'
|
004B044B   68C4064B00             push    $004B06C4
004B0450   8D45D8                 lea     eax, [ebp-$28]
004B0453   BA03000000             mov     edx, $00000003

* Reference to: System.@LStrCatN;
|
004B0458   E8D33FF5FF             call    00404430
004B045D   8B45D8                 mov     eax, [ebp-$28]

* Reference to: Dialogs.ShowMessage(AnsiString);
|
004B0460   E89FE1F7FF             call    0042E604

* Reference to Form2
|
004B0465   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B0468   8B8000030000           mov     eax, [eax+$0300]
004B046E   33D2                   xor     edx, edx

* Reference to: Controls.TControl.SetText(TControl;TCaption);
|
004B0470   E83725F9FF             call    004429AC

* Reference to Form2
|
004B0475   8B45FC                 mov     eax, [ebp-$04]

* Reference to control TForm2.ed2 : TLabeledEdit
|
004B0478   8B8000030000           mov     eax, [eax+$0300]
004B047E   8B10                   mov     edx, [eax]

* Possible reference to virtual method TLabeledEdit.OFFS_00C4
|
004B0480   FF92C4000000           call    dword ptr [edx+$00C4]
004B0486   E901010000             jmp     004B058C
004B048B   8D55F4                 lea     edx, [ebp-$0C]
004B048E   A1D0204C00             mov     eax, dword ptr [$004C20D0]
004B0493   03C3                   add     eax, ebx

* Reference to: SysUtils.IntToStr(Integer):AnsiString;overload;
|
004B0495   E85E86F5FF             call    00408AF8
004B049A   8D55C8                 lea     edx, [ebp-$38]

* Reference to pointer to GlobalVar_004C3BE0
|
004B049D   A184254C00             mov     eax, dword ptr [$004C2584]
004B04A2   8B00                   mov     eax, [eax]

* Reference to: DdeMan.TDdeMgr.GetExeName(TDdeMgr):AnsiString;
|           or: Forms.TApplication.GetExeName(TApplication):AnsiString;
|
004B04A4   E85B29FBFF             call    00462E04
004B04A9   8B45C8                 mov     eax, [ebp-$38]
004B04AC   8D55CC                 lea     edx, [ebp-$34]

* Reference to: SysUtils.ExtractFilePath(AnsiString):AnsiString;
|
004B04AF   E8548DF5FF             call    00409208
004B04B4   FF75CC                 push    dword ptr [ebp-$34]

* Possible String Reference to: 'set'
|
004B04B7   68D8064B00             push    $004B06D8
004B04BC   FF75F4                 push    dword ptr [ebp-$0C]

* Possible String Reference to: '.ini'
|
004B04BF   68E4064B00             push    $004B06E4
004B04C4   8D45D0                 lea     eax, [ebp-$30]
004B04C7   BA04000000             mov     edx, $00000004

* Reference to: System.@LStrCatN;
|
004B04CC   E85F3FF5FF             call    00404430
004B04D1   8B4DD0                 mov     ecx, [ebp-$30]
004B04D4   B201                   mov     dl, $01

* Reference to class TIniFile
|
004B04D6   A1105C4300             mov     eax, dword ptr [$00435C10]

* Reference to: IniFiles.TCustomIniFile.Create(TCustomIniFile;boolean;AnsiString);
|
004B04DB   E8E057F8FF             call    00435CC0
004B04E0   8945F8                 mov     [ebp-$08], eax
004B04E3   33C0                   xor     eax, eax
004B04E5   55                     push    ebp

* Possible String Reference to: '?5?腽j'
|
004B04E6   681B054B00             push    $004B051B

***** TRY
|
004B04EB   64FF30                 push    dword ptr fs:[eax]
004B04EE   648920                 mov     fs:[eax], esp
004B04F1   6A01                   push    $01

* Possible String Reference to: 'Reg'
|
004B04F3   B9F4064B00             mov     ecx, $004B06F4

* Possible String Reference to: 'Option'
|
004B04F8   BA00074B00             mov     edx, $004B0700
004B04FD   8B45F8                 mov     eax, [ebp-$08]
004B0500   8B18                   mov     ebx, [eax]

* Reference to method TIniFile.WriteBool(string,string,Boolean)
|
004B0502   FF5314                 call    dword ptr [ebx+$14]
004B0505   33C0                   xor     eax, eax
004B0507   5A                     pop     edx
004B0508   59                     pop     ecx
004B0509   59                     pop     ecx
004B050A   648910                 mov     fs:[eax], edx

****** FINALLY
|
004B050D   6822054B00             push    $004B0522
004B0512   8B45F8                 mov     eax, [ebp-$08]

* Reference to: System.TObject.Free(TObject);
|
004B0515   E8462EF5FF             call    00403360
004B051A   C3                     ret

* Reference to: System.@HandleFinally;
|
004B051B   E99435F5FF             jmp     00403AB4
004B0520   EBF0                   jmp     004B0512

****** END
|
004B0522   6A00                   push    $00
004B0524   668B0D4C064B00         mov     cx, word ptr [$004B064C]
004B052B   B202                   mov     dl, $02

* Possible String Reference to: '注册成功。谢谢你支持我们!'
|
004B052D   B810074B00             mov     eax, $004B0710

|
004B0532   E8D5DFF7FF             call    0042E50C
004B0537   48                     dec     eax
004B0538   7552                   jnz     004B058C

* Reference to TForm1 instance
|
004B053A   A114274C00             mov     eax, dword ptr [$004C2714]
004B053F   8B00                   mov     eax, [eax]

* Reference to: Forms.TCustomForm.Close(TCustomForm);
|
004B0541   E8F6EAFAFF             call    0045F03C
004B0546   6A01                   push    $01
004B0548   6A00                   push    $00
004B054A   6A00                   push    $00
004B054C   8D55C0                 lea     edx, [ebp-$40]

* Reference to pointer to GlobalVar_004C3BE0
|
004B054F   A184254C00             mov     eax, dword ptr [$004C2584]
004B0554   8B00                   mov     eax, [eax]

* Reference to: DdeMan.TDdeMgr.GetExeName(TDdeMgr):AnsiString;
|           or: Forms.TApplication.GetExeName(TApplication):AnsiString;
|
004B0556   E8A928FBFF             call    00462E04
004B055B   8B45C0                 mov     eax, [ebp-$40]
004B055E   8D55C4                 lea     edx, [ebp-$3C]

* Reference to: SysUtils.ExtractFilePath(AnsiString):AnsiString;
|
004B0561   E8A28CF5FF             call    00409208
004B0566   8D45C4                 lea     eax, [ebp-$3C]

* Possible String Reference to: '001卫星网络电视.exe'
|
004B0569   BA34074B00             mov     edx, $004B0734

* Reference to: System.@LStrCat;
|
004B056E   E8053EF5FF             call    00404378
004B0573   8B45C4                 mov     eax, [ebp-$3C]

* Reference to: System.@LStrToPChar(String):PAnsiChar;
|
004B0576   E8F53FF5FF             call    00404570
004B057B   50                     push    eax
004B057C   6A00                   push    $00

* Reference to Form2
|
004B057E   8B45FC                 mov     eax, [ebp-$04]

* Reference to: QForms.TCustomForm.GetClientHandle(TCustomForm):QWorkspaceH;
|
004B0581   E8168CF9FF             call    0044919C
004B0586   50                     push    eax

* Reference to: shell32.ShellExecuteA()
|
004B0587   E83CBDF7FF             call    0042C2C8
004B058C   33C0                   xor     eax, eax
004B058E   5A                     pop     edx
004B058F   59                     pop     ecx
004B0590   59                     pop     ecx
004B0591   648910                 mov     fs:[eax], edx
004B0594   EB49                   jmp     004B05DF

* Reference to: System.@HandleOnException;
|
004B0596   E99133F5FF             jmp     0040392C
004B059B   0100                   add     [eax], eax
004B059D   0000                   add     [eax], al
004B059F   E47D                   in      al, $7D
004B05A1   40                     inc     eax
004B05A2   00A7054B0068           add     [edi+$68004B05], ah
004B05A8   A806                   test    al, $06
004B05AA   4B                     dec     ebx
004B05AB   008D55B88B45           add     [ebp+$458BB855], cl
004B05B1   FC                     cld

* Reference to control ed2 : TLabeledEdit
|
004B05B2   8B8000030000           mov     eax, [eax+$0300]

* Reference to: Controls.TControl.GetText(TControl):TCaption;
|
004B05B8   E8BF23F9FF             call    0044297C
004B05BD   FF75B8                 push    dword ptr [ebp-$48]

* Possible String Reference to: ' 不正确。'
|
004B05C0   68C4064B00             push    $004B06C4
004B05C5   8D45BC                 lea     eax, [ebp-$44]
004B05C8   BA03000000             mov     edx, $00000003

* Reference to: System.@LStrCatN;
|
004B05CD   E85E3EF5FF             call    00404430
004B05D2   8B45BC                 mov     eax, [ebp-$44]

* Reference to: Dialogs.ShowMessage(AnsiString);
|
004B05D5   E82AE0F7FF             call    0042E604

* Reference to: System.@DoneExcept;
|
004B05DA   E88935F5FF             call    00403B68

****** END
|
004B05DF   33C0                   xor     eax, eax
004B05E1   5A                     pop     edx
004B05E2   59                     pop     ecx
004B05E3   59                     pop     ecx
004B05E4   648910                 mov     fs:[eax], edx

****** FINALLY
|

* Possible String Reference to: '_^[?]?
|
004B05E7   6843064B00             push    $004B0643
004B05EC   8D45B8                 lea     eax, [ebp-$48]

* Reference to: System.@LStrClr(void;void);
|
004B05EF   E8BC3AF5FF             call    004040B0
004B05F4   8D45BC                 lea     eax, [ebp-$44]
004B05F7   BA06000000             mov     edx, $00000006

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
004B05FC   E8D33AF5FF             call    004040D4
004B0601   8D45D4                 lea     eax, [ebp-$2C]

* Reference to: System.@LStrClr(void;void);
|
004B0604   E8A73AF5FF             call    004040B0
004B0609   8D45D8                 lea     eax, [ebp-$28]

* Reference to: System.@LStrClr(void;void);
|
004B060C   E89F3AF5FF             call    004040B0
004B0611   8D45DC                 lea     eax, [ebp-$24]
004B0614   BA03000000             mov     edx, $00000003

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
004B0619   E8B63AF5FF             call    004040D4
004B061E   8D45E8                 lea     eax, [ebp-$18]

* Reference to: System.@LStrClr(void;void);
|
004B0621   E88A3AF5FF             call    004040B0
004B0626   8D45EC                 lea     eax, [ebp-$14]
004B0629   BA02000000             mov     edx, $00000002

* Reference to: System.@LStrArrayClr(void;void;Integer);
|
004B062E   E8A13AF5FF             call    004040D4
004B0633   8D45F4                 lea     eax, [ebp-$0C]

* Reference to: System.@LStrClr(void;void);
|
004B0636   E8753AF5FF             call    004040B0
004B063B   C3                     ret

* Reference to: System.@HandleFinally;
|
004B063C   E97334F5FF             jmp     00403AB4
004B0641   EBA9                   jmp     004B05EC

****** END
|
004B0643   5F                     pop     edi
004B0644   5E                     pop     esi
004B0645   5B                     pop     ebx
004B0646   8BE5                   mov     esp, ebp
004B0648   5D                     pop     ebp
004B0649   C3                     ret

[培训]科锐软件逆向50期预科班报名即将截止,速来!!! 50期正式班报名火爆招生中!!!

收藏
免费 1
打赏
分享
最新回复 (14)
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great1234 2004-11-26 13:28
2
0
你还不如把整个程序贴上来!

关键是004B033B   741A                   jz      004B0357
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-11-26 13:29
3
0
如果你想爆破,关键在 004B033B 的 jz  :p
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风魔 2004-11-26 13:49
4
0
请问如何判断是不是关键?算法应该是放在那个call?
如果要爆破的话应该怎么弄?
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-11-26 13:56
5
0
* Reference to pointer to GlobalVar_004C4049
|
004B0333   A188264C00             mov     eax, dword ptr [$004C2688]
004B0338   803800                 cmp     byte ptr [eax], $00
004B033B   741A                   jz      004B0357            // 如果 eax 等于 0,便会跳到 004B0357
004B033D   6A00                   push    $00
004B033F   668B0D4C064B00         mov     cx, word ptr [$004B064C]
004B0346   B202                   mov     dl, $02

* Possible String Reference to: '环球卫星网络电视 已经注册。谢谢!'   // <-----  成功信息
|
004B0348   B858064B00             mov     eax, $004B0658              // 把成功信息放到 eax

|
004B034D   E8BAE1F7FF             call    0042E50C                    //  呼叫显示成功信息的部分
004B0352   E988020000             jmp     004B05DF                    //  显示信息后,用 jmp 离开
004B0357   8D55F0                 lea     edx, [ebp-$10]              //  这里,是通往失败的大门

* Reference to Form2
|
004B035A   8B45FC                 mov     eax, [ebp-$04]

如果要爆破,当然要用工具把 jz 修改成 jnz (jump if not zero)
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风魔 2004-11-26 14:08
6
0
爆破用什么工具修改比较好

我看过一些资料,爆破好像修改的都是数字,没有jz
是不是jz转换成什么。。。

不好意思啊,我什么都不懂
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-11-26 14:12
7
0
hiew
http://www.pediy.com/tools/Editors/HIEW/Hiewv6.81.rar

切换至 asm 模式,可以编辑汇编指令
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风魔 2004-11-26 14:24
8
0
谢谢,爆破我明白了。

对了,如果要找那个算法应该怎么弄?查注册码?
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-11-26 14:31
9
0
设断点拦截检查注册码的地方
例如,要拦截程序检字符串,便在GetWindowTextA 下断点

你的程序检查 004C2688 的值是否 0  (看 004B0333 那一行)
你可以在整个程序里搜寻与 004C2688 有关系的地方,查看那里怎样改变 004C2688 的值,或是在 004C2688 设硬件断点
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风魔 2004-11-26 14:48
10
0
你好,我刚用你给的工具爆破,可是我用他goto到004B033B总是提示超出文件。。是不是我用dede反编译出来的地址跟用hiew的地址不一样的?
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
riijj 7 2004-11-26 15:37
11
0
你在 hiew 输入的位置是档案中的 offset 位置,而不是运行时的位置

你试查出它在档案中的 offset,再试试

如果是 004B033B 的话,你试试用B033B
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
风魔 2004-11-26 15:47
12
0
谢谢,找到了

我再学学怎么找注册码,谢谢啊
雪    币: 203
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fireball 2004-11-26 23:55
13
0
最初由 riijj 发布
你在 hiew 输入的位置是档案中的 offset 位置,而不是运行时的位置

你试查出它在档案中的 offset,再试试

如果是 004B033B 的话,你试试用B033B
你运气真好,碰到个热心的,我的贴发出几天了都没什么人回
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
rainolt 2004-11-27 08:28
14
0
我也是呀,前几我请教爆破一个软件,还被人说成来要破解,只好自己搞了,结果去www.popbase.net看上面的破解录像,我很快找到了注册码了!看破解录像真的提高很快!
雪    币: 519
活跃值: (1223)
能力值: ( LV12,RANK:650 )
在线值:
发帖
回帖
粉丝
RoBa 16 2004-11-27 09:13
15
0
最初由 fireball 发布
你运气真好,碰到个热心的,我的贴发出几天了都没什么人回


You are both lucky to have a forum to communicate.
Please remember,learn by yourself, depend on yourself, don't ask any questions until you think you have read enough.
游客
登录 | 注册 方可回帖
返回