注册卫星地图下载器2008

注册卫星地图下载器2008注册简单分析
 昨天晚上同学拿给这个软件,看一下又没加壳,又是Microsoft Visual C++ 7.0 Method2 [Debug]
很奇怪都是调试版的,就搞不清楚为什么发布的软件都用调试版的,而且有注册提示,
很容易找到关键地方,想一下类似这样的软件应该属于一两分钟的事,但是还是出现
了意想不到的事,首先软件od载入,运行后就脱离了调试器,调试器中的进程终止,
只能先运行再附加进程,关键地方下断,中断后简单跟了一下就出现了真注册吗,复制过去
正确注册,本想在计算完注册吗的地方加段代码让他自己弹出注册码,但奇怪的事又发生了,
修改软件后,它运行后还是位修改的代码,这样修改后不行,那就用运行时补丁,等他运行后,
我用ReadProcessMemory和WriteProcessMemory写进我的代码,再注册,就可以弹出注册吗了,
没有时间进行具体算法分析,反正给他能用就行了
基本分析完了。。。
//下面是软件进行注册验证的地方。。。
004156B0   .  6A FF         push    -1
004156B2   .  68 AE6C4300   push    00436CAE                         ;  SE 处理程序安装
004156B7   .  64:A1 0000000>mov     eax, dword ptr fs:[0]
004156BD   .  50            push    eax
004156BE   .  64:8925 00000>mov     dword ptr fs:[0], esp
004156C5   .  83EC 1C       sub     esp, 1C
004156C8   .  A1 FCA04400   mov     eax, dword ptr [44A0FC]
004156CD   .  53            push    ebx
004156CE   .  55            push    ebp
004156CF   .  56            push    esi
004156D0   .  57            push    edi
004156D1   .  68 F1030000   push    3F1
004156D6   .  894424 2C     mov     dword ptr [esp+2C], eax
004156DA   .  8BE9          mov     ebp, ecx
004156DC   .  E8 33EA0100   call    <jmp.&MFC71.#2657_CWnd::GetDlgIt>
004156E1   .  8D4C24 1C     lea     ecx, dword ptr [esp+1C]
004156E5   .  8BF0          mov     esi, eax
004156E7   .  FF15 18A24300 call    dword ptr [<&MFC71.#310_ATL::CSt>;  MFC71.7C173199
004156ED   .  8D4424 1C     lea     eax, dword ptr [esp+1C]
004156F1   .  33FF          xor     edi, edi
004156F3   .  50            push    eax
004156F4   .  8BCE          mov     ecx, esi
004156F6   .  897C24 38     mov     dword ptr [esp+38], edi
004156FA   .  E8 4FE60100   call    <jmp.&MFC71.#3761_CWnd::GetWindo>
004156FF   .  8D4C24 10     lea     ecx, dword ptr [esp+10]
00415703   .  51            push    ecx
00415704   .  E8 37FAFFFF   call    00415140
00415709   .  8D5424 14     lea     edx, dword ptr [esp+14]
0041570D   .  8BCC          mov     ecx, esp
0041570F   .  896424 24     mov     dword ptr [esp+24], esp
00415713   .  52            push    edx
00415714   .  C64424 3C 01  mov     byte ptr [esp+3C], 1
00415719   .  FF15 54A34300 call    dword ptr [<&MFC71.#297_ATL::CSt>;  MFC71.7C14E575
0041571F   .  8D4424 1C     lea     eax, dword ptr [esp+1C]
00415723   .  50            push    eax
00415724   .  E8 87FBFFFF   call    004152B0                         ;  这个call进行注册码计算
00415729   .  83C4 08       add     esp, 8
0041572C      50            push    eax   
  ; 这里 存放计算出来的真注册码,在这进行修改代码,可以让他弹出注册码 
  ;让他跳到我加的代码处,弹出注册码jmp 004391C6

  
省略一段代码是进行注册表操作

.
.
.

004157ED   .  85C0          test    eax, eax
004157EF   .  75 58         jnz     short 00415849
004157F1   .  50            push    eax
004157F2   .  6A 40         push    40
004157F4   .  68 B8D44300   push    0043D4B8                         ;  这里是注册成功提示框恭喜您,注册成功!
004157F9   .  C745 78 01000>mov     dword ptr [ebp+78], 1
00415800   .  E8 A5E90100   call    <jmp.&MFC71.#1123_AfxMessageBox>
00415805   .  8D4424 24     lea     eax, dword ptr [esp+24]
00415809   .  50            push    eax
0041580A   .  E8 99E20100   call    <jmp.&base.GetTitle>
0041580F   .  83C4 04       add     esp, 4
00415812   .  8BD8          mov     ebx, eax
00415814   .  C64424 34 06  mov     byte ptr [esp+34], 6
00415819   .  E8 44E60100   call    <jmp.&MFC71.#1091_AfxGetThread>
0041581E   .  85C0          test    eax, eax
00415820   .  74 0B         je      short 0041582D
00415822   .  8B10          mov     edx, dword ptr [eax]
00415824   .  8BC8          mov     ecx, eax
00415826   .  FF52 7C       call    dword ptr [edx+7C]
00415829   .  8BF0          mov     esi, eax
0041582B   .  EB 02         jmp     short 0041582F
0041582D   >  33F6          xor     esi, esi
0041582F   >  8BCB          mov     ecx, ebx
00415831   .  FF15 0CA24300 call    dword ptr [<&MFC71.#876_ATL::CSi>;  MFC71.7C158BCD
00415837   .  50            push    eax
00415838   .  8BCE          mov     ecx, esi
0041583A   .  E8 CFE80100   call    <jmp.&MFC71.#6067_CWnd::SetWindo>
0041583F   .  8D4C24 24     lea     ecx, dword ptr [esp+24]
00415843   .  FF15 08A24300 call    dword ptr [<&MFC71.#578_ATL::CSt>;  MFC71.7C1771B1
00415849   >  8D4C24 18     lea     ecx, dword ptr [esp+18]
0041584D   .  FF15 08A24300 call    dword ptr [<&MFC71.#578_ATL::CSt>;  MFC71.7C1771B1
00415853   .  85FF          test    edi, edi
00415855   .  74 07         je      short 0041585E
00415857   .  57            push    edi                              ; /hKey
00415858   .  FF15 00A04300 call    dword ptr [<&ADVAPI32.RegCloseKe>; /RegCloseKey
0041585E   >  8D4C24 20     lea     ecx, dword ptr [esp+20]
00415862   .  C64424 34 01  mov     byte ptr [esp+34], 1
00415867   .  FF15 08A24300 call    dword ptr [<&MFC71.#578_ATL::CSt>;  MFC71.7C1771B1
0041586D   .  8B45 00       mov     eax, dword ptr [ebp]
00415870   .  8BCD          mov     ecx, ebp
00415872   .  FF90 54010000 call    dword ptr [eax+154]
00415878   .  EB 0D         jmp     short 00415887
0041587A   >  57            push    edi
0041587B   .  6A 40         push    40
0041587D   .  68 94D44300   push    0043D494                         ;  这里是注册成功提示框对不起,您的注册码不正确,注册失败!
00415882   .  E8 23E90100   call    <jmp.&MFC71.#1123_AfxMessageBox>
00415887   >  8D4C24 10     lea     ecx, dword ptr [esp+10]
0041588B   .  FF15 08A24300 call    dword ptr [<&MFC71.#578_ATL::CSt>;  MFC71.7C1771B1
00415891   .  8D4C24 1C     lea     ecx, dword ptr [esp+1C]
00415895   .  FF15 08A24300 call    dword ptr [<&MFC71.#578_ATL::CSt>;  MFC71.7C1771B1
0041589B   .  8B4C24 2C     mov     ecx, dword ptr [esp+2C]
0041589F   .  64:890D 00000>mov     dword ptr fs:[0], ecx
004158A6   .  8B4C24 28     mov     ecx, dword ptr [esp+28]
004158AA   .  E8 D3EE0100   call    00434782
004158AF   .  5F            pop     edi
004158B0   .  5E            pop     esi
004158B1   .  5D            pop     ebp
004158B2   .  5B            pop     ebx
004158B3   .  83C4 28       add     esp, 28
004158B6   .  C3            retn

加入如下代码在文件空白处
004391C6    > /60            pushad
004391C7    .  6A 00         push 0                            ; /Style = MB_OK|MB_APPLMODAL
004391C9    .  6A 00         push 0                            ; |Title = NULL
004391CB    .  FF30          push dword ptr ds:[eax]           ; |Text
004391CD    .  6A 00         push 0                            ; |hOwner = NULL
004391CF    .  E8 B6739177   call USER32.MessageBoxA           ; /MessageBoxA
004391D4    .  61            popad
004391D5    .  50            push eax
004391D6    .  8D4C24 14     lea ecx,dword ptr ss:[esp+14]
004391DA    .^ E9 52C5FDFF   jmp superget.00415731
004391DF       00            db 00

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值