吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4424|回复: 7
收起左侧

[分享] 这里有些不解,请大牛们指导下。

[复制链接]
xujunlin5588 发表于 2009-6-20 15:57
最近小弟在破一个外国软件,可是怎么也破不了。不解了2个星期,请大牛指导一下。
这个软件是加了穿山甲壳的,不过已经用脱壳机脱掉了。没壳。是C++写成。

运行后,期限已经满了,要求注册。
我用OD载入后,按常规找字符串,可是怎么也找不到提示错误的字符串。(包括 ASCLL,UNI)
然后我就把OD暂停,去找调用函数找到了以下的东东:

00417C50   .  64:A1 0000000>mov eax,dword ptr fs:[0]  // 段首
00417C56   .  6A FF         push -1
00417C58   .  68 40364500   push ASFConve.00453640
00417C5D   .  50            push eax
00417C5E   .  64:8925 00000>mov dword ptr fs:[0],esp
00417C65   .  83EC 08       sub esp,8
00417C68   .  56            push esi
00417C69   .  8BF1          mov esi,ecx
00417C6B   .  8B46 64       mov eax,dword ptr ds:[esi+64]
00417C6E   .  8B4E 60       mov ecx,dword ptr ds:[esi+60]
00417C71   .  50            push eax
00417C72   .  51            push ecx
00417C73   .  E8 B8070000   call ASFConve.00418430     //我怀疑是这个Call出问题
00417C78   .  83C4 08       add esp,8
00417C7B   .  85C0          test eax,eax                          //跳的条件是eax不等于0
00417C7D   .  0F85 82000000 jnz ASFConve.00417D05                    ;  (Initial CPU selection)   //这个跳很明显是没跳的。
00417C83   .  A1 3C974600   mov eax,dword ptr ds:[46973C]
00417C88   .  894424 08     mov dword ptr ss:[esp+8],eax             ;  (初始 cpu 选择)
00417C8C   .  68 30EF0000   push 0EF30                               ; /Arg1 = 0000EF30
00417C91   .  8D4C24 0C     lea ecx,dword ptr ss:[esp+C]             ; |
00417C95   .  C74424 18 000>mov dword ptr ss:[esp+18],0              ; |
00417C9D   .  E8 50DD0200   call ASFConve.004459F2                   ; \ASFConve.004459F2
00417CA2   .  8B0D 3C974600 mov ecx,dword ptr ds:[46973C]            ;  ASFConve.00469750
00417CA8   .  894C24 04     mov dword ptr ss:[esp+4],ecx
00417CAC   .  68 44EF0000   push 0EF44                               ; /Arg1 = 0000EF44
00417CB1   .  8D4C24 08     lea ecx,dword ptr ss:[esp+8]             ; |
00417CB5   .  C64424 18 01  mov byte ptr ss:[esp+18],1               ; |
00417CBA   .  E8 33DD0200   call ASFConve.004459F2                   ; \ASFConve.004459F2
00417CBF   .  8B5424 08     mov edx,dword ptr ss:[esp+8]
00417CC3   .  8B4424 04     mov eax,dword ptr ss:[esp+4]
00417CC7   .  6A 30         push 30
00417CC9   .  52            push edx
00417CCA   .  50            push eax
00417CCB   .  8BCE          mov ecx,esi
00417CCD   .  E8 C1C60200   call ASFConve.00444393                   ;  提示错误
00417CD2   .  8D4C24 04     lea ecx,dword ptr ss:[esp+4]
00417CD6   .  C64424 14 00  mov byte ptr ss:[esp+14],0
00417CDB   .  E8 83A40200   call ASFConve.00442163

我进去了那个CALL,是以下的代码:

00418430  /$  53            push ebx                                 ;  ASFConve.00417C50
00418431  |.  55            push ebp
00418432  |.  8B6C24 0C     mov ebp,dword ptr ss:[esp+C]
00418436  |.  56            push esi
00418437  |.  85ED          test ebp,ebp
00418439  |.  57            push edi
0041843A  |.  74 51         je short ASFConve.0041848D
0041843C  |.  807D 00 00    cmp byte ptr ss:[ebp],0
00418440  |.  74 4B         je short ASFConve.0041848D
00418442  |.  8B7C24 18     mov edi,dword ptr ss:[esp+18]
00418446  |.  85FF          test edi,edi
00418448  |.  74 43         je short ASFConve.0041848D
0041844A  |.  803F 00       cmp byte ptr ds:[edi],0
0041844D  |.  74 3E         je short ASFConve.0041848D
0041844F  |.  68 EC914600   push ASFConve.004691EC                   ; /armaccess.dll
00418454  |.  33DB          xor ebx,ebx                              ; |
00418456  |.  FF15 64634500 call dword ptr ds:[<&KERNEL32.LoadLibrar>; \LoadLibraryA
0041845C  |.  8BF0          mov esi,eax
0041845E  |.  85F6          test esi,esi
00418460  |.  74 2B         je short ASFConve.0041848D               ;  
00418462  |.  68 FC914600   push ASFConve.004691FC                   ; /installkey
00418467  |.  56            push esi                                 ; |hModule
00418468  |.  FF15 68634500 call dword ptr ds:[<&KERNEL32.GetProcAdd>; \GetProcAddress
0041846E  |.  85C0          test eax,eax
00418470  |.  74 0D         je short ASFConve.0041847F
00418472  |.  57            push edi
00418473  |.  55            push ebp
00418474  |.  FFD0          call eax
00418476  |.  84C0          test al,al
00418478  |.  74 05         je short ASFConve.0041847F
0041847A  |.  BB 01000000   mov ebx,1
0041847F  |>  56            push esi                                 ; /hLibModule
00418480  |.  FF15 60634500 call dword ptr ds:[<&KERNEL32.FreeLibrar>; \FreeLibrary
00418486  |.  5F            pop edi
00418487  |.  5E            pop esi
00418488  |.  8BC3          mov eax,ebx
0041848A  |.  5D            pop ebp
0041848B  |.  5B            pop ebx
0041848C  |.  C3            retn
0041848D  |>  5F            pop edi
0041848E  |.  5E            pop esi
0041848F  |.  5D            pop ebp
00418490  |.  33C0          xor eax,eax
00418492  |.  5B            pop ebx
00418493  \.  C3            retn

我本想看哪个可以改,使eax为1,可是怎么找也找不到。追了很久也是没用。该怎么办。
软件的地址我奉上,里面的die那个是脱壳的,另外那个是没脱的,想练手的可以练下。
http://d.namipan.com/d/181549977 ... 38bb0a6084474503a00

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

CHHSun 发表于 2009-6-20 17:46
本帖最后由 CHHSun 于 2009-6-20 17:52 编辑

带着壳吧,有点向重启验证的。下bp MessageBoxExA,输入假码断下后,向下找到004开头的
到这里吧
0012E080  |00417C50  ASFConve.00417C50 回车进入。查找字符串,
0012E084  |01FEE9A8  ASCII "Registration"
0012E088  |00260780
0012E08C  |01FEE9A8  ASCII "Registration"

找到字符,
004182AA   push ASFConve.004691CC                    USERNAME   在这双击进入找到段首。
004182C4   push ASFConve.004691C4                    DEFAULTUSERNAME
0041836B   push ASFConve.004691D8                    USERKEYVerifyKey

在段首下硬件执行断点。重载程序,过一个RETN后,来到关键是地方
0040116E    85C0            test eax,eax
00401170    74 07           je short ASFConve.00401179   关键,不跳就成。
00401172    8BFB            mov edi,ebx
00401174    E9 DC000000     jmp ASFConve.00401255
00401179    E8 22730100     call ASFConve.004184A0
0040117E    3BC6            cmp eax,esi
 楼主| xujunlin5588 发表于 2009-6-20 18:41
谢谢楼上的,请问我的思路是不是很有问题啊?
我之前脱壳后下过bp MessageBoxExA了。可是始终都不行。
认真的学习. 发表于 2009-6-20 18:53
说的啥呢  我咋就一点都看不懂呢  我是个菜鸟  还是学习脱壳呢  - -.
 楼主| xujunlin5588 发表于 2009-6-20 19:55
谢谢CHHsun。搞好了。只怪我太笨了。
还要努力学习。但我不明白为什么那个je不跳就成。弄不明白啊。
明次 发表于 2009-6-20 20:33
学习了....
CHHSun 发表于 2009-6-20 21:24
谢谢CHHsun。搞好了。只怪我太笨了。
还要努力学习。但我不明白为什么那个je不跳就成。弄不明白啊。
xujunlin5588 发表于 2009-6-20 19:55

实际上我也是乱改的。[s:50]
iy0507 发表于 2009-6-20 22:25
[s:353]学习了~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-30 08:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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