吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6486|回复: 5
收起左侧

一重启验证的国外软件爆破手记

[复制链接]
淫乱一世纪 发表于 2008-4-27 09:29
【文章标题】: 一重启验证的国外软件
【文章作者】: 淫乱一世纪
【作者邮箱】: 保密
【作者主页】: 无
【作者QQ号】: 保密
【软件名称】: Amor Screen Capture V2.0.6
【软件大小】: 1312 KB
【下载地址】: http://www.skycn.com/soft/27310.html
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【保护方式】: 检测调试器?
【编写语言】: delphi
【使用工具】: od peid loadpe impr
【操作平台】: winxp sp2
【软件介绍】: 无
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
一、探测
PEid查壳:ASPack 2.12 -> Alexey Solodovnikov
用工具脱或者手动脱,手动需要查找IAT。
因为是压缩,这里不说明了!

运行脱完壳后的程序 弹出要求注册
估计是重启验证方式
点“Register”
输入name:piaohun和code:123456
确定
关闭程序,发现程序目录无什么可疑的文件,没有藏码的地方
搜索注册表看看,打开注册表 搜索 piaohun
搜索到 UserName处,好 记得这个

二、调试破解
OD载入程序 搜索ASCII码字符串 搜索UserName 共发现2处

Ultra 字符串参考,项目 2934
  地址=00551D8D
  反汇编=mov edx,unpacked.00551E4C
  文本字符串=username

Ultra 字符串参考,项目 3260
  地址=0056027A
  反汇编=mov edx,unpacked.005605F8
  文本字符串=username
分别在附近 特别是跳转类下断。。
发现只断在0056027A处的username

00560271  /0F84 8D020000  je unpacked.00560504 //我断在这
00560277  |8D4D E8     lea ecx,dword ptr ss:[ebp-18]
0056027A  |BA F8055600   mov edx,unpacked.005605F8        ; username
0056027F  |8BC7      mov eax,edi

单步往下走。这个程序有点怪。。键盘上的F5 F8之类操作无效,检测调试器了????

用OD的单步往下走



005603BF  8338 00     cmp dword ptr ds:[eax],0 //判断用户名是否为空
005603C2  0F84 90000000  je unpacked.00560458 //是则跳
005603C8  A1 90CD5600   mov eax,dword ptr ds:[56CD90]
005603CD  8338 00     cmp dword ptr ds:[eax],0 //判断密码是否未空
005603D0  0F84 82000000  je unpacked.00560458 //是则跳
005603D6  BA 30AB5700   mov edx,unpacked.0057AB30
005603DB  B8 1C065600   mov eax,unpacked.0056061C        ; ASCII "1338473248615233847161027134999812086615"
005603E0  E8 9FE5FFFF   call unpacked.0055E984
005603E5  BA 2CAB5700   mov edx,unpacked.0057AB2C
005603EA  B8 50065600   mov eax,unpacked.00560650        ; ASCII "280621483466251791062456784354519246719413"
005603EF  E8 90E5FFFF   call unpacked.0055E984
005603F4  B8 20AB5700   mov eax,unpacked.0057AB20
005603F9  8B15 F4CC5600  mov edx,dword ptr ds:[56CCF4]      ; unpacked.0057AABC
005603FF  8B12      mov edx,dword ptr ds:[edx]
00560401  E8 AE3DEAFF   call unpacked.004041B4
00560406  8D55 C8     lea edx,dword ptr ss:[ebp-38]
00560409  A1 90CD5600   mov eax,dword ptr ds:[56CD90]
0056040E  8B00      mov eax,dword ptr ds:[eax]
00560410  E8 2B7FEAFF   call unpacked.00408340
00560415  8B45 C8     mov eax,dword ptr ss:[ebp-38]
00560418  8D55 CC     lea edx,dword ptr ss:[ebp-34]
0056041B  E8 840FFFFF   call unpacked.005513A4
00560420  8B55 CC     mov edx,dword ptr ss:[ebp-34]
00560423  B8 28AB5700   mov eax,unpacked.0057AB28
00560428  E8 873DEAFF   call unpacked.004041B4
0056042D  68 24AB5700   push unpacked.0057AB24
00560432  8B0D 2CAB5700  mov ecx,dword ptr ds:[57AB2C]
00560438  8B15 30AB5700  mov edx,dword ptr ds:[57AB30]
0056043E  A1 28AB5700   mov eax,dword ptr ds:[57AB28]
00560443  E8 80F6FFFF   call unpacked.0055FAC8
00560448  A1 90CD5600   mov eax,dword ptr ds:[56CD90]
0056044D  8B15 24AB5700  mov edx,dword ptr ds:[57AB24]
00560453  E8 5C3DEAFF   call unpacked.004041B4
00560458  A1 20AB5700   mov eax,dword ptr ds:[57AB20]
0056045D  8B15 24AB5700  mov edx,dword ptr ds:[57AB24]
00560463  E8 0441EAFF   call unpacked.0040456C //关键call???进去 后我没发现什么!汗
00560468  75 14      jnz short unpacked.0056047E //关键跳转 ,改成je
0056046A  A1 F4CC5600   mov eax,dword ptr ds:[56CCF4]
0056046F  8338 00     cmp dword ptr ds:[eax],0
00560472  74 0A      je short unpacked.0056047E
00560474  A1 90CD5600   mov eax,dword ptr ds:[56CD90]
00560479  8338 00     cmp dword ptr ds:[eax],0
0056047C  75 48      jnz short unpacked.005604C6


改了00560468处后,保存重启程序,不再提示注册了,看看程序的about也没提示!!!!

但是这个程序依旧还没是注册,我们试用下功能

点工具栏上面的“Capture”随便一个“Destop”截图

在图的左上方出现未注册标志:To avoid the stamp Please register this software!……

载入破解后的程序查找“Please register”


0053A6F8  68 58A75300   push crack.0053A758           ; please register this software !
//这里下断

再点“Destop”

没断下??郁闷。。

点其他功能
发现“Active window”、“Area”、“Window object”这三项 被被断下了。

Active window功能之关键跳:

0053AC1F  /75 2D      jnz short crack.0053AC4E //关键跳,改成je
0053AC21  |8B45 FC     mov eax,dword ptr ss:[ebp-4]
0053AC24  |8B40 34     mov eax,dword ptr ds:[eax+34]
0053AC27  |8B10      mov edx,dword ptr ds:[eax]
0053AC29  |FF52 2C     call dword ptr ds:[edx+2C]
0053AC2C  |3D F2000000   cmp eax,0F2
0053AC31  |7E 1B      jle short crack.0053AC4E
0053AC33  |8B45 FC     mov eax,dword ptr ss:[ebp-4]
0053AC36  |8B40 34     mov eax,dword ptr ds:[eax+34]
0053AC39  |8B10      mov edx,dword ptr ds:[eax]
0053AC3B  |FF52 20     call dword ptr ds:[edx+20]
0053AC3E  |83F8 3C     cmp eax,3C
0053AC41  |7E 0B      jle short crack.0053AC4E
0053AC43  |8B45 FC     mov eax,dword ptr ss:[ebp-4]
0053AC46  |83C0 34     add eax,34
0053AC49  |E8 D6F9FFFF   call crack.0053A624 //调用错误call
0053AC4E  \8B45 FC     mov eax,dword ptr ss:[ebp-4]


Area功能之关键跳:0053B002  /75 2D      jnz short crack.0053B031

Window object功能之关键跳:
0053AE6A  /75 2D      jnz short crack.0053AE99

把三处关键跳0053AC1F、0053B002、0053AE6A、分别改成je保存重启程序

发现三处都没注册标注了。。。

现在来解决第一处的注册标志!!

载入修改后的的程序

在0053A6F8  68 58A75300   push unpack1.0053A758          ; please register this software !
处先内存访问断点

OK成功断下。。。找到
Destop功能的关键跳:

0053AA17  /75 2D      jnz short unpad122.0053AA46

改之!!!!!!!!!!!

到此全部修改完毕!!!!!!

全部保存,运行新的程序。。。全部没注册标志了!!!

--------------------------------------------------------------------------------
【经验总结】
很郁闷的一次爆破。。。。改了共5处。。。不知道完美爆破了没。。

也许爆法方法不够好,可能有更好的。。。。

希望高手赐教 讨论讨论。。

我没追到码,算法也不太行。哎!!!!!!

事后再试了下。Destop功能处不用下内存访问也可以断下了。好郁闷。。不知道为什么

第一次断就断不下。。第二次用完内存断点后 用普通断点就可以断了。。

这程序真怪!!!!!!

补丁就先不做了!!!!!!!!!!
--------------------------------------------------------------------------------
【版权声明】: 原创于52pojie技术讨论论坛,转载请说明原作者和出处!!!!!

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

Tale 发表于 2008-4-27 09:37
顶楼主啊 [s:40] [s:40] [s:40] [s:40]
Hmily 发表于 2008-4-27 10:32
快节键不能用是因为和软件的快节键冲突了~

00560463  E8 0441EAFF  call unpacked.0040456C //关键call???进去 后我没发现什么!汗
00560468  75 14     jnz short unpacked.0056047E //关键跳转 ,改成je

00560463 这确实不是关键CALL,只是类似一个比较的CALL,很多地方都要调用,不能改的,关键CALL应该是上面2个CALL,他记录的数据通过下面的CALL进行不比较,所以你可以直接改那个跳转达到没有启动框的效果,功能通过下面的方法进行爆破~



0053AC1B  |. 8078 48 00    cmp byte ptr ds:[eax+48],0
0053AC1F  |. 75 2D      jnz short unpacked.0053AC4E

功能限制好象只有这个是标志位,你可以在eax+48下内存断点,找他的变化~

0053A7D7   . C646 48 00    mov byte ptr ds:[esi+48],0

标志位只在这附值,直接给他附值为1就可以了,所有功能都爆破了,包括注册信息那,都显示已经注册给谁了~
 楼主| 淫乱一世纪 发表于 2008-4-28 08:53
头像被屏蔽
goleveling 发表于 2008-4-29 18:02
提示: 作者被禁止或删除 内容自动屏蔽
有为55 发表于 2009-5-28 11:56
谢谢分享  努力学习中
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 01:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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