吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 14032|回复: 34
收起左侧

[原创] 一个双层壳追踪注册码的全过程

[复制链接]
heing 发表于 2010-4-30 21:35
本帖最后由 heing 于 2010-5-1 00:41 编辑

大家好!这是我第二次发表的文章,谢谢大家的支持!
下面介绍这款软件:记忆力训练软件

软件介绍: 这是一款简单易用的记忆力训练软件
这款软件的下载地址百度里查,我就不给地址了!
声明: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
不得将内容用于商业或者非法用途,否则,一切后果请用户自负。

peid查壳一下

      QQ截图未命名1.png            
查一下壳发现是ASPACK2.12的,其实它里面还有一个是老王壳!
用外部扫描一下是 ASProtect V2.X DLL -> Alexey Solodovnikov [Overlay] *


                                               


QQ截图未命名2.png


看区段有EPE,估计是老王的! 用ESP定律脱出来的是ASPROTECT 的壳!

把软件试注册一下,注意你会发现在D盘里生成一个dosame的文件夹!下面我们开始吧!
QQ截图未命名.png 这个我已经注册了。
  
该软件是通过机器码来算注册码的,我的机器码是9713454651

注意:如果OD载入,自动退出的话,要换一个OD。下面就是具体过程!
下bp GetPrivateProfileStringA
**************************************************************************
当堆栈窗口出现下面的信息:
03A9D6EC   0128C6D3  /CALL 到 GetPrivateProfileStringA 来自 krnln.0128C6CD
03A9D6F0   0040C8A3  |Section = "记忆力训练软件"
03A9D6F4   0040C325  |Key = "注册码"
03A9D6F8   013112B4  |Default = ""
03A9D6FC   03A9D720  |ReturnBuffer = 03A9D720
03A9D700   00002800  |BufSize = 2800 (10240.)
03A9D704   0024A520  \IniFileName = "D:\Dosame\Dosamesoft.p"
03A9D708   77D18734  返回到 USER32.77D18734
*********
Alt+F9返回!!!返回到程序的领空!
**************************************************************************
0128C6D3     8D5424 18                       lea edx,dword ptr ss:[esp+18]       出现假码
0128C6D7     52                                     push edx
0128C6D8     E8 3358FEFF                     call krnln.01271F10          这个call没有收获      
0128C6DD     8B8C24 2C280000           mov ecx,dword ptr ss:[esp+282C]
0128C6E4     83C4 04                             add esp,4
0128C6E7     C78424 20280000 FFFF>   mov dword ptr ss:[esp+2820],-1
0128C6F2     C74424 04 183C2E01       mov dword ptr ss:[esp+4],krnln.012E3C18
0128C6FA     8901                                 mov dword ptr ds:[ecx],eax
0128C6FC     8D4C24 04                       lea ecx,dword ptr ss:[esp+4]
0128C700     E8 7BD3FBFF                    call krnln.01249A80          这个call没有收获
0128C705     8B8C24 18280000           mov ecx,dword ptr ss:[esp+2818]
0128C70C     5E                                    pop esi
0128C70D     64:890D 00000000         mov dword ptr fs:[0],ecx
0128C714     81C4 20280000               add esp,2820
0128C71A     C3                   retn                                       直接到返回,好像要返回3-4次
********************************************************************************
当出现不在返回时,第一个CALL就是算法CALL。
00537CB2     FF35 24226701        push dword ptr ds:[1672224]
00537CB8     8D45 F4                    lea eax,dword ptr ss:[ebp-C]
00537CBB     50                             push eax
00537CBC     E8 BC000000           call 记忆力训.00537D7D             在这里F7
00537CC1     8945 F0                    mov dword ptr ss:[ebp-10],eax
00537CC4     8B5D F4                    mov ebx,dword ptr ss:[ebp-C]
00537CC7     85DB                         test ebx,ebx
********************************************************************************
进入算法CALL的标志是下面的代码:
00537D7D     55                               push ebp
00537D7E     8BEC                           mov ebp,esp
00537D80     81EC 70000000          sub esp,70
00537D86     C745 FC 00000000     mov dword ptr ss:[ebp-4],0
00537D8D     C745 F8 00000000     mov dword ptr ss:[ebp-8],0
00537D94     C745 F4 00000000     mov dword ptr ss:[ebp-C],0
00537D9B     C745 F0 00000000     mov dword ptr ss:[ebp-10],0
00537DA2     C745 EC 00000000     mov dword ptr ss:[ebp-14],0
*******************************************************
00537E40     83C4 10              add esp,10
00537E43     8945 B8              mov dword ptr ss:[ebp-48],eax
00537E46     8955 BC              mov dword ptr ss:[ebp-44],edx
00537E49     DD45 B8              fld qword ptr ss:[ebp-48]
00537E4C     DC35 2CC34000        fdiv qword ptr ds:[40C32C]
00537E52     DD5D B0              fstp qword ptr ss:[ebp-50]
00537E55     68 01060080          push 80000601
00537E5A     FF75 B4              push dword ptr ss:[ebp-4C]
00537E5D     FF75 B0              push dword ptr ss:[ebp-50]
00537E60     68 01000000          push 1
00537E65     BB 60000000          mov ebx,60
00537E6A     E8 89A20200          call 记忆力训.005620F8
00537E8E     83C4 10              add esp,10
00537E91     8945 BC              mov dword ptr ss:[ebp-44],eax    机器码变为"1079272739" ,这是(我的机器码/9)得的数!
00537E94     68 01030080          push 80000301
********************************************************************************
经过一系列的浮点运算~~~发现这个地方老是和假码对比!!!
0053832D     8B5D 08              mov ebx,dword ptr ss:[ebp+8]
00538330     8B03                 mov eax,dword ptr ds:[ebx]    这里有可疑!
00538332     85C0                 test eax,eax
00538334     75 05                jnz short 记忆力训.0053833B
00538336     B8 CAC24000          mov eax,记忆力训.0040C2CA
*******************************************************
下面是我找到的注册码信息:

堆栈 ds:[0012F0C0]=039A61F0, (ASCII "1111111111")
eax=0024A468, (ASCII "988")
**********************************************************
eax=039A6598, (ASCII "266027380")
堆栈 ss:[0012F068]=039A6598, (ASCII "266027380")
**********************************************************
堆栈 ds:[0012F0C0]=039A61F0, (ASCII "1111111111")
eax=039A6598, (ASCII "187695")
**********************************************************
堆栈 ss:[0012F068]=039A6598, (ASCII "33257")
eax=039A6598, (ASCII "33257")
**********************************************************
堆栈 ss:[0012F080]=039A6518, (ASCII "3325")
ebx=039A64F8
**********************************************************
堆栈 ss:[0012F07C]=039A24F8, (ASCII "5320")
ebx=039A6518
**********************************************************
堆栈 ss:[0012F078]=039A6558, (ASCII "18")
ebx=039A24F8
堆栈 ss:[0012F074]=039A6578, (ASCII "7695")
ebx=039A6558
**********************************************************
机器码:9713454651
注册码:988266027380 187695 33257 5320   


  软件注册了!

其实我对这款软件的兴趣是他的第二个软件!
QQ截图未命名5.png
方法是差不多的,但是要返回下 bp GetPrivateProfileStringA 要找到恰当的返回时机!
还有那个算法CALL是retn 3-4后的第二个CALL。注意分析就行~呵呵~

晕.png

晕哦!DEMO版~~悲剧
这软件的作者还留一手啊~~~

下面我把第一破解的软件的分析过程上传上来!~




记忆力训练软件(分析一).txt (6.23 KB, 下载次数: 18)
QQ截图未命名2.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

YoungBai 发表于 2014-6-4 20:47
不要怪我挖坟啊.前段时间也是分析这个软件.头都大了.后来直接放弃了.看到有人说论坛有人写过分析.一直没找到.今天偶然又遇到这个软件公司另外一个软件.然后就找楼主的贴了.楼主分析的很细致.感谢分享.
zdix 发表于 2010-4-30 22:16
 楼主| heing 发表于 2010-4-30 22:22
下面我把这软件的分析结果发一下!我把它们都打包吧!免得浪费大家的CB~

两个软件分析的过程.rar (5.47 KB, 下载次数: 41)


那个分析第二软件的时候,注意那个中间那部分注册码,那部分好像放到后面的。

希望高手给我分析一下那个算法是怎么搞来的?

谢谢大家!~
405817530 发表于 2010-5-1 00:55
这软件有什么用啊???
 楼主| heing 发表于 2010-5-1 01:15
纯粹是学习的目的~ 我研究第一个软件的目的是就了破解第二的,本着想一起破解算了。
第二个软件可能有点用吧~~希望大鸟提一下意见~
Hmily 发表于 2010-5-1 01:48
带壳调试不错!第一篇主题帖加精鼓励!
新颖轻 发表于 2010-5-1 10:47
这回又学到了好东西!!谢谢楼主分享!
 楼主| heing 发表于 2010-5-1 11:06
谢谢大家的支持与鼓励~ 我虽然弄清了算法的过程,但是还是弄不清其中的95是什么条件才相乘的?
ssjian 发表于 2010-5-1 19:24
学习了,看来想学破解还得回去把以前学的汇编在再重学边
zeknight 发表于 2010-5-1 19:38
本帖最后由 zeknight 于 2010-5-1 19:46 编辑

我晕~~~原来楼主和我关心的是一样的啊!!

我也尝试破解这款软件~~不过在脱壳的时候遇到麻烦~

能详细的描述一下你脱壳的过程吗??
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-18 03:47

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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