吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 7557|回复: 2
收起左侧

ini文件类型验证带壳破解一例

[复制链接]
kernel2008 发表于 2008-4-26 17:36
by:kernel2008->【i386 information security team of china】<-qq:kernel2008@qq.com

【调试平台】深度优化windows xp sp2
【目标程序】进程执法官2.50【用到工具】OD,Peid
脱壳目的】偶菜菜呀就是想啊想玩玩,飞呀飞,一切都是为了学习^_^!
【文件下载】http:// www.firebug.org.cn/download.asp
软件简单介绍:
进程执法官是一款强悍的手工杀毒与系统监控软件。它通过对应用程序、普通进程、网络进程、隐藏进程、关键系统目录、启动项、系统用户、共享目录等系统关键资源的实时监视与查杀,确保系统的安全,让各类非法进程无所遁形。“进程执法官”将帮你简单的解决所有的进程问题,无论你是新手还是老手,都可以通过执法官提供的大量进程资料,准确定位非法进程,确保系统安全,弥补防火墙和杀毒软件的不足。

支持平台:Win2000/XP/2003 任何版本
最新版本:V2.0个人正式版

官方主页:http:// www.firebug.org.cn /
官方论坛:http:// www.firebug.org.cn/forum/
官方下载:http://

使用Peid查壳显示为:ASPack 2.12 -> Alexey Solodovnikov
运行目标程序程序,输入注册信息,提示再次点击注册看看是否注册,好再次来点击注册,没有注册的。
用户名:i386 information security team of china
注册码:123456

留心的朋友就会发现该目标程序目录下会自动生成有一个INI文件,使用记事本看看里面的信息,而且果不其然的里面有我们刚才填入的注册信息,好,破解思路来了,那么,下面开始追码吧。载入目标程序于OD中,在命令行下输入bp GetPrivateProfileStringA,F9运行程序(偶这里使用键盘了),大概F9运行66次就到达返回时机了,注意看堆栈窗口出现如下信息即是了:

0012D30C  73DCA45F /CALL 到 GetPrivateProfileStringA 来自 mfc42.73DCA459
0012D310  0047416C |Section = "RigisterSettings"
0012D314  00474180 |Key = "user"
0012D318  73E0E564 |Default = ""
0012D31C  0012D350 |ReturnBuffer = 0012D350
0012D320  00001000 |BufSize = 1000 (4096.)
0012D324  00DB2E98 \IniFileName = "C:\Documents and Settings\Administrator\桌面\jczfg\进程

执法官2.50压缩包\PJudger.ini"

好,到此ALT+F9返回,F8往下单步,又回到断点处,再ALT+F9返回,代码及其分析如下:

0041CB2D  50       PUSH EAX
0041CB2E  8D4C24 14    LEA ECX,DWORD PTR SS:[ESP+14]
0041CB32  C64424 38 06  MOV BYTE PTR SS:[ESP+38],6
0041CB37  E8 58910300   CALL PJudger.00455C94        
0041CB3C  8D4C24 20    LEA ECX,DWORD PTR SS:[ESP+20]
0041CB40  885C24 34    MOV BYTE PTR SS:[ESP+34],BL
0041CB44  E8 45910300   CALL PJudger.00455C8E      
0041CB49  8B4424 18    MOV EAX,DWORD PTR SS:[ESP+18] //取机器码赋值给EAX寄存器
0041CB4D  8B4C24 14    MOV ECX,DWORD PTR SS:[ESP+14] //取用户名赋值给ECX寄存器
0041CB51  50       PUSH EAX
0041CB52  51       PUSH ECX
0041CB53  8D5424 14    LEA EDX,DWORD PTR SS:[ESP+14]
0041CB57  68 545F4700   PUSH PJudger.00475F54         
0041CB5C  52       PUSH EDX
0041CB5D  E8 D6920300   CALL PJudger.00455E38         
0041CB62  83C4 10     ADD ESP,10
0041CB65  8D4C24 1C    LEA ECX,DWORD PTR SS:[ESP+1C]
0041CB69  E8 52540100   CALL PJudger.00431FC0
0041CB6E  6A 0C      PUSH 0C
0041CB70  C64424 38 07  MOV BYTE PTR SS:[ESP+38],7
0041CB75  6A 00      PUSH 0
0041CB77  8D4424 2C    LEA EAX,DWORD PTR SS:[ESP+2C]
0041CB7B  50       PUSH EAX
0041CB7C  51       PUSH ECX
0041CB7D  8D5424 1C    LEA EDX,DWORD PTR SS:[ESP+1C]
0041CB81  8BCC      MOV ECX,ESP
0041CB83  896424 38    MOV DWORD PTR SS:[ESP+38],ESP
0041CB87  52       PUSH EDX
0041CB88  E8 A5920300   CALL PJudger.00455E32         
0041CB8D  8D4424 38    LEA EAX,DWORD PTR SS:[ESP+38]
0041CB91  50       PUSH EAX
0041CB92  E8 69540100   CALL PJudger.00432000
0041CB97  83C4 08     ADD ESP,8
0041CB9A  8BC8      MOV ECX,EAX
0041CB9C  C64424 40 08  MOV BYTE PTR SS:[ESP+40],8
0041CBA1  E8 C8920300   CALL PJudger.00455E6E         
0041CBA6  8BF0      MOV ESI,EAX
0041CBA8  6A 0C      PUSH 0C
0041CBAA  8D4C24 24    LEA ECX,DWORD PTR SS:[ESP+24]
0041CBAE  6A 00      PUSH 0
0041CBB0  51       PUSH ECX
0041CBB1  8D4C24 1C    LEA ECX,DWORD PTR SS:[ESP+1C]
0041CBB5  C64424 40 09  MOV BYTE PTR SS:[ESP+40],9
0041CBBA  E8 AF920300   CALL PJudger.00455E6E         
0041CBBF  8B36      MOV ESI,DWORD PTR DS:[ESI] //×注意×开始出现注册码了
0041CBC1 > 8B00      MOV EAX,DWORD PTR DS:[EAX] 把假的注册码赋值给了EAX
0041CBC3  56       PUSH ESI //此下的几句都可以做注册机,在ESI中(偶在此选择)
0041CBC4  50       PUSH EAX
0041CBC5  FF15 34FC4500  CALL DWORD PTR DS:[45FC34]      
0041CBCB  83C4 08     ADD ESP,8
0041CBCE  8D4C24 20    LEA ECX,DWORD PTR SS:[ESP+20]
0041CBD2  85C0      TEST EAX,EAX
0041CBD4  0F944424 0B   SETE BYTE PTR SS:[ESP+B]
0041CBD9  E8 B0900300   CALL PJudger.00455C8E         
0041CBDE  8D4C24 24    LEA ECX,DWORD PTR SS:[ESP+24]
0041CBE2  C64424 34 08  MOV BYTE PTR SS:[ESP+34],8
0041CBE7  E8 A2900300   CALL PJudger.00455C8E         
0041CBEC  8D4C24 28    LEA ECX,DWORD PTR SS:[ESP+28]
0041CBF0  C64424 34 07  MOV BYTE PTR SS:[ESP+34],7
0041CBF5  E8 94900300   CALL PJudger.00455C8E         
0041CBFA  8A4424 0B    MOV AL,BYTE PTR SS:[ESP+B]
0041CBFE  885C24 34    MOV BYTE PTR SS:[ESP+34],BL
0041CC02  84C0      TEST AL,AL
0041CC04  8D4C24 1C    LEA ECX,DWORD PTR SS:[ESP+1C]
0041CC08  74 56      JE SHORT PJudger.0041CC60  //很可疑的爆破点,但偶没深入了!
0041CC0A  E8 E1530100   CALL PJudger.00431FF0
0041CC0F  8D4C24 0C    LEA ECX,DWORD PTR SS:[ESP+C]
0041CC13  C64424 34 02  MOV BYTE PTR SS:[ESP+34],2
0041CC18  E8 71900300   CALL PJudger.00455C8E         
0041CC1D  8D4C24 10    LEA ECX,DWORD PTR SS:[ESP+10]
0041CC21  C64424 34 01  MOV BYTE PTR SS:[ESP+34],1
0041CC26  E8 63900300   CALL PJudger.00455C8E         
0041CC2B  8D4C24 14    LEA ECX,DWORD PTR SS:[ESP+14]
0041CC2F  C64424 34 00  MOV BYTE PTR SS:[ESP+34],0
0041CC34  E8 55900300   CALL PJudger.00455C8E         
0041CC39  8D4C24 18    LEA ECX,DWORD PTR SS:[ESP+18]
0041CC3D  C74424 34 FFFFF>MOV DWORD PTR SS:[ESP+34],-1
0041CC45  E8 44900300   CALL PJudger.00455C8E         
0041CC4A  B8 01000000   MOV EAX,1
0041CC4F  8B4C24 2C    MOV ECX,DWORD PTR SS:[ESP+2C]
0041CC53  64:890D 0000000>MOV DWORD PTR FS:[0],ECX
0041CC5A  5E       POP ESI
0041CC5B  5B       POP EBX
0041CC5C  83C4 30     ADD ESP,30
0041CC5F  C3       RETN

追码结果如下--->

用户名:i386 information security team of china
机器码:WDC WD800BB-00JHC0
注册码:1A794D52470C

做注册机偶选择如下(好几处,大家看着喜欢选择做):

寄存方式:ESI
中断地址:0041CBC3  56      
字节长度:1
第一字节:56     
【总结如下】注册信息保存在INI文件,有点类似ini文件类型重启验证注册,但又有点不一样,关键是下好断点,找到返回时机(这点很重要)。当然认真地分析代码也是关键!
屏幕录像下载:
http://www.namipan.com/d/ini%e6% ... %8c%e8%af%81%e5%b8%

a6%e5%a3%b3%e7%a0%b4%e8%a7%a3%e4%b8%80%e4%be%

8b.zip/d0baae20d222dc4913bdc85ccf2b6ed036b1db2f6dffc900

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

wesley 发表于 2008-4-26 21:13
我刚开始用的也是INI断点....后来发现这浪费太多时间了....直接在第二次读取INI的地方(字符串中就有)下断就行...然后回溯.....注册码是明码.....很快
lonefa 发表于 2011-6-30 13:17
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-15 10:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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