加密狗软件破解复制T-GOU工作室
RSS
当前位置 : 加密狗破解 > 破解方法 >

使用飞天诚信Rockey2加密狗的汽车行业销售软件破解全过程

来源:未知 作者:admin 时间:2011-06-18 14:12 浏览:

飞天诚信Rockey2加密狗破解,飞天诚信Rockey2加密狗复制,飞天诚信Rockey2加密狗解密找朝阳科技T-GOU加密狗(加密锁)破解团队。

分享某使用飞天诚信Rockey2加密狗进行加密防护的汽车行业销售软件破解全过程
这是一个国产的汽车行业销售软件,用的是飞天诚信的加密狗Rockey2,没有加密狗的情况下软件只有10天试用期和打印次数限制,过了试用期就会锁定数据库,软件基本上就废了,所以得破解它。

PEID检测为Borland Delphi 6.0 - 7.0,无壳。

用OD加载:

00992144 > $  55            push ebp   //程序入口

00992145   .  8BEC          mov ebp,esp

00992147   .  B9 05000000   mov ecx,0x5

0099214C   >  6A 00         push 0x0

0099214E   .  6A 00         push 0x0

00992150   .  49            dec ecx

00992151   .^ 75 F9         jnz short UnPack.0099214C

00992153   .  53            push ebx

00992154   .  B8 D4099900   mov eax,UnPack.009909D4

00992159   .  E8 3657A7FF   call UnPack.00407894

0099215E   .  33C0          xor eax,eax

00992160   .  55            push ebp

 

既然是Rockey2加密狗,那就直接在这个DLL上想办法了,在DLL上下好断点,运行程序,中断下来:

2732CC2C  /$  55            push ebp

2732CC2D  |.  8BEC          mov ebp,esp

2732CC2F  |.  81C4 F4FDFFFF add esp,-0x20C

2732CC35  |.  53            push ebx

2732CC36  |.  56            push esi

2732CC37  |.  33C0          xor eax,eax

2732CC39  |.  8985 F4FDFFFF mov [local.131],eax

2732CC3F  |.  BE 20FE9900   mov esi,UnPack.0099FE20

2732CC44  |.  33C0          xor eax,eax

2732CC46  |.  55            push ebp

2732CC47  |.  68 7BB64F00   push UnPack.2732CD7B

2732CC4C  |.  64:FF30       push dword ptr fs:[eax]

2732CC4F  |.  64:8920       mov dword ptr fs:[eax],esp

2732CC52  |.  68 8CB64F00   push UnPack.2732CD8C                     ; /FileName = "Rockey2.dll"

2732CC57  |.  E8 60C8F0FF   call <jmp.&kernel32.LoadLibraryA>        ; \LoadLibraryA

2732CC5C  |.  8906          mov dword ptr ds:[esi],eax               ;  Rockey2.02C30000

2732CC5E  |.  833E 00       cmp dword ptr ds:[esi],0x0

2732CC61  |.  75 07         jnz short UnPack.2732CC6A

2732CC63  |.  33DB          xor ebx,ebx

2732CC65  |.  E9 F8000000   jmp UnPack.2732CD62

2732CC6A  |>  68 98B64F00   push UnPack.2732CD98                      ; /ProcNameOrOrdinal = "RY2_Find"   //检测加密狗是否存在

2732CC6F  |.  8B06          mov eax,dword ptr ds:[esi]               ; |

2732CC71  |.  50            push eax                                 ; |hModule

2732CC72  |.  E8 75C7F0FF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress

2732CC77  |.  8B15 C8DC9900 mov edx,dword ptr ds:[0x99DCC8]          ;  UnPack.0099FD64

2732CC7D  |.  8902          mov dword ptr ds:[edx],eax

2732CC7F  |.  68 A4B64F00   push UnPack.2732CDA4                        ; /ProcNameOrOrdinal = "RY2_Open"   //打开加密狗函数,为下面的读取加密狗作准备

2732CC84  |.  8B06          mov eax,dword ptr ds:[esi]               ; |

2732CC86  |.  50            push eax                                 ; |hModule

2732CC87  |.  E8 60C7F0FF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress

2732CC8C  |.  8B15 ACE39900 mov edx,dword ptr ds:[0x99E3AC]          ;  UnPack.0099FD68

2732CC92  |.  8902          mov dword ptr ds:[edx],eax

2732CC94  |.  68 B0B64F00   push UnPack.2732CDB0                     ; /ProcNameOrOrdinal = "RY2_Close"  //读完加密狗之后,关闭加密狗函数

2732CC99  |.  8B06          mov eax,dword ptr ds:[esi]               ; |

2732CC9B  |.  50            push eax                                 ; |hModule

2732CC9C  |.  E8 4BC7F0FF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress

2732CCA1  |.  8B15 C8E79900 mov edx,dword ptr ds:[0x99E7C8]          ;  UnPack.0099FD6C

2732CCA7  |.  8902          mov dword ptr ds:[edx],eax

2732CCA9  |.  68 BCB64F00   push UnPack.2732CDBC                     ; /ProcNameOrOrdinal = "RY2_Read"  //这一个是主角,读取加密狗中的信息

2732CCAE  |.  8B06          mov eax,dword ptr ds:[esi]               ; |

2732CCB0  |.  50            push eax                                 ; |hModule

2732CCB1  |.  E8 36C7F0FF   call <jmp.&kernel32.GetProcAddress>      ; \GetProcAddress

2732CCB6  |.  8B15 B0E59900 mov edx,dword ptr ds:[0x99E5B0]          ;  UnPack.0099FD70

2732CCBC  |.  8902          mov dword ptr ds:[edx],eax

2732CCBE  |.  A1 C8DC9900   mov eax,dword ptr ds:[0x99DCC8]

2732CCC3  |.  8B00          mov eax,dword ptr ds:[eax]

2732CCC5  |.  FFD0          call eax

2732CCC7  |.  85C0          test eax,eax

2732CCC9  |.  7D 0F         jge short UnPack.2732CCDA

2732CCCB  |.  33DB          xor ebx,ebx

2732CCCD  |.  8B06          mov eax,dword ptr ds:[esi]

2732CCCF  |.  50            push eax                                 ; /hLibModule

2732CCD0  |.  E8 5FC6F0FF   call <jmp.&kernel32.FreeLibrary>         ; \FreeLibrary

2732CCD5  |.  E9 88000000   jmp UnPack.2732CD62

2732CCDA  |>  B8 D0B64F00   mov eax,UnPack.2732CDD0                  ;  ASCII "-2047161255"

2732CCDF  |.  E8 88F2F0FF   call UnPack.0040A86C

2732CCE4  |.  8D55 FC       lea edx,[local.1]

2732CCE7  |.  52            push edx

2732CCE8  |.  50            push eax

2732CCE9  |.  6A 01         push 0x1

2732CCEB  |.  A1 ACE39900   mov eax,dword ptr ds:[0x99E3AC]

2732CCF0  |.  8B00          mov eax,dword ptr ds:[eax]

2732CCF2  |.  FFD0          call eax

2732CCF4  |.  85C0          test eax,eax

2732CCF6  |.  7D 0C         jge short UnPack.2732CD04

2732CCF8  |.  33DB          xor ebx,ebx

2732CCFA  |.  8B06          mov eax,dword ptr ds:[esi]

2732CCFC  |.  50            push eax                                 ; /hLibModule

2732CCFD  |.  E8 32C6F0FF   call <jmp.&kernel32.FreeLibrary>         ; \FreeLibrary

2732CD02  |.  EB 5E         jmp short UnPack.2732CD62

2732CD04  |>  8D95 FBFDFFFF lea edx,dword ptr ss:[ebp-0x205]

2732CD0A  |.  52            push edx

2732CD0B  |.  6A 00         push 0x0

2732CD0D  |.  50            push eax

2732CD0E  |.  A1 B0E59900   mov eax,dword ptr ds:[0x99E5B0]

2732CD13  |.  8B00          mov eax,dword ptr ds:[eax]

2732CD15  |.  FFD0          call eax

2732CD17  |.  85C0          test eax,eax

2732CD19  |.  7D 0C         jge short UnPack.2732CD27

2732CD1B  |.  33DB          xor ebx,ebx

2732CD1D  |.  8B06          mov eax,dword ptr ds:[esi]

2732CD1F  |.  50            push eax                                 ; /hLibModule

2732CD20  |.  E8 0FC6F0FF   call <jmp.&kernel32.FreeLibrary>         ; \FreeLibrary

2732CD25  |.  EB 39         jmp short UnPack.2732CD60

2732CD27  |>  8D9D FBFDFFFF lea ebx,dword ptr ss:[ebp-0x205]

2732CD2D  |.  8D85 F4FDFFFF lea eax,[local.131]

2732CD33  |.  8BD3          mov edx,ebx

2732CD35  |.  E8 7A9AF0FF   call UnPack.004050B4

2732CD3A  |.  8B85 F4FDFFFF mov eax,[local.131]

2732CD40  |.  BA E4B64F00   mov edx,UnPack.2732CDE4                  ;  ASCII "quickeasyqp"

2732CD45  |.  E8 769CF0FF   call UnPack.004052C0

2732CD4A  |.  74 0C         je short UnPack.2732CD58

2732CD4C  |.  33DB          xor ebx,ebx

2732CD4E  |.  8B06          mov eax,dword ptr ds:[esi]

2732CD50  |.  50            push eax                                 ; /hLibModule

2732CD51  |.  E8 DEC5F0FF   call <jmp.&kernel32.FreeLibrary>         ; \FreeLibrary

2732CD56  |.  EB 0A         jmp short UnPack.2732CD62

2732CD58  |>  8B06          mov eax,dword ptr ds:[esi]

2732CD5A  |.  50            push eax                                 ; /hLibModule

2732CD5B  |.  E8 D4C5F0FF   call <jmp.&kernel32.FreeLibrary>         ; \FreeLibrary

2732CD60  |>  B3 01         mov bl,0x1     //加密狗破解的关键点

2732CD62  |>  33C0          xor eax,eax

2732CD64  |.  5A            pop edx

2732CD65  |.  59            pop ecx

2732CD66  |.  59            pop ecx

2732CD67  |.  64:8910       mov dword ptr fs:[eax],edx

2732CD6A  |.  68 82B64F00   push UnPack.2732CD82

2732CD6F  |>  8D85 F4FDFFFF lea eax,[local.131]

2732CD75  |.  E8 4A98F0FF   call UnPack.00404EC4

2732CD7A  \.  C3            retn
几个加密狗破解的关键函数找出来了,接下来的问题就是根据我们的目的修改程序,加密狗破解就成功了,软件的功能不再有限制,完美的破解!

深圳朝阳科技T-GOU加密狗破解团队多年来专注于加密狗复制,软件破解解密,如今已经为广大客户提供多种品牌多种型号的加密狗破解,加密狗复制,加密狗解密案例!欢迎有需要加密狗复制,加密狗解密,加密狗破解的的客户前来咨询洽谈!更多联系方式请点击导航联系我们。飞天诚信所有型号加密狗破解复制解密可以找朝阳科技!多年经验值得信赖


Tags:Rockey2加密狗
最新评论共有 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论
立即注册账号