run108 发表于 2009-8-26 04:38:01

一款外国软件,我走到自校验就没法了,师兄些来指点下。

http://www.ibizcard.biz/ibizcard_setup.exe

老万 发表于 2009-8-26 04:38:02

用PEID查壳:ASProtect 1.2x - 1.3x -> Alexey Solodovnikov,用脚本Aspr2.XX_unpacker_v1.14aSC.osc脱壳,用ImportRec修复,修复好的主程序为:de_bizcard_.exe,试运行,一闪而过,有自校验,下断点bp ExitProcess,F9运行,断下,停在7C81CDEA,看堆栈:
0012FCA8   100296FD/CALL 到 ExitProcess 来自 krnln.100296F7
0012FCAC   00000000\ExitCode = 0
0012FCB0/0012FCC8
0012FCB4|006CE550返回到 de_bizca.006CE550 来自 de_bizca.0077C05A
0012FCB8|00000000
0012FCBC|006CE301返回到 de_bizca.006CE301 来自 de_bizca.0077C096

在0012FCA8处单击右键---》反汇编窗口跟随,停在100296FD 处,向上拉,在断首下硬件断点:
100296E1    C3            retn
100296E2    55            push ebp      --- 此处下断
100296E3    8BEC            mov ebp,esp
100296E5    8B45 08         mov eax,ss:
100296E8    50            push eax
100296E9    B9 A8EB0E10   mov ecx,krnln.100EEBA8
100296EE    E8 2DC50200   call krnln.10055C20
100296F3    8B4D 08         mov ecx,ss:
100296F6    51            push ecx
100296F7    FF15 DC330C10   call ds:[<&KERNEL32.ExitProcess>]      ; kernel32.ExitProcess
100296FD    5D            pop ebp    ----停在此处
接着 Ctbl+F2重新载入,断下来,看堆栈:
0012FCB4   006CE550返回到 de_bizca.006CE550 来自 de_bizca.0077C05A-----单击右键---》反汇编窗口跟随
0012FCB8   00000000
0012FCBC   006CE301返回到 de_bizca.006CE301 来自 de_bizca.0077C096
0012FCC0   00000000
0012FCC4   006CED3Dde_bizca.006CED3D
0012FCC8/0012FCE0
在0012FCB4处单击右键---》反汇编窗口跟随,停在下面
006CE529    55            push ebp
006CE52A    8BEC            mov ebp,esp
006CE52C    81EC 0C000000   sub esp,0C
006CE532    E8 20000000   call de_bizca.006CE557
006CE537    E8 C4040000   call de_bizca.006CEA00
006CE53C    8945 F8         mov ss:,eax
006CE53F    837D F8 01      cmp dword ptr ss:,1
006CE543    0F84 0A000000   je de_bizca.006CE553-------可疑点
006CE549    6A 00         push 0
006CE54B    E8 0ADB0A00   call de_bizca.0077C05A------调用自校验
006CE550    83C4 04         add esp,4-------------停在此处
006CE553    8BE5            mov esp,ebp
向上看,发现可疑点006CE543,把JE改为JMP,右键----》复制到可执行文件----》所有修改,出现菜单,点击“全部复制”,右键保存文件,文件名为de_bizcard_1.exe,试运行,软件可以运行。破解的关键如下:
006DDB1C    BB A4060000   mov ebx,6A4
006DDB21    E8 70E50900   call de_bizca.0077C096
006DDB26    83C4 28         add esp,28
006DDB29    8B5D E0         mov ebx,ss:
006DDB2C    85DB            test ebx,ebx
006DDB2E    74 09         je short de_bizca.006DDB39
006DDB30    53            push ebx
006DDB31    E8 42E50900   call de_bizca.0077C078
006DDB36    83C4 04         add esp,4
006DDB39    E8 A3000000   call de_bizca.006DDBE1                   ;关键call,进去修改标志位
006DDB3E    8945 F8         mov ss:,eax
006DDB41    837D F8 01      cmp dword ptr ss:,1
006DDB45    0F85 5C000000   jnz de_bizca.006DDBA7                     ;关键调
006DDB4B    68 04000080   push 80000004
006DDB50    6A 00         push 0
006DDB52    68 897A4000   push de_bizca.00407A89                   ; ASCII "Message"
006DDB57    68 01030080   push 80000301
006DDB5C    6A 00         push 0
006DDB5E    68 00000000   push 0
006DDB63    68 04000080   push 80000004
006DDB68    6A 00         push 0
006DDB6A    68 AD7B4000   push de_bizca.00407BAD                   ; ASCII "Register success,Thank you for your register!"
006DDB6F    68 03000000   push 3
006DDB74    BB 00030000   mov ebx,300
006DDB79    E8 18E50900   call de_bizca.0077C096
006DDB7E    83C4 28         add esp,28
006DDB81    68 01000100   push 10001
006DDB86    68 03610106   push 6016103
006DDB8B    68 04610152   push 52016104
006DDB90    68 01000000   push 1
006DDB95    BB 60030000   mov ebx,360
006DDB9A    E8 F7E40900   call de_bizca.0077C096
006DDB9F    83C4 10         add esp,10
006DDBA2    E9 36000000   jmp de_bizca.006DDBDD
006DDBA7    68 04000080   push 80000004
006DDBAC    6A 00         push 0
006DDBAE    68 897A4000   push de_bizca.00407A89                   ; ASCII "Message"
006DDBB3    68 01030080   push 80000301
006DDBB8    6A 00         push 0
006DDBBA    68 00000000   push 0
006DDBBF    68 04000080   push 80000004
006DDBC4    6A 00         push 0
006DDBC6    68 DB7B4000   push de_bizca.00407BDB                   ; ASCII "Register fails! Please try again."
006DDBCB    68 03000000   push 3
006DDBD0    BB 00030000   mov ebx,300
006DDBD5    E8 BCE40900   call de_bizca.0077C096
006DDBDA    83C4 28         add esp,28
006DDBDD    8BE5            mov esp,ebp
006DDBDF    5D            pop ebp
006DDBE0    C3            retn
希望高手分析一下注册算法,相互学习一下。

[ 本帖最后由 老万 于 2009-8-26 22:24 编辑 ]

cjteam 发表于 2009-8-26 09:34:30

:loveliness: 自己的分析都不拿出来。。。把你的分析及遇到的困难写详细些就有大牛来帮忙的

Nisy 发表于 2009-8-26 13:19:49

把效检前的分析贴一下 顺便把对效检的分析简单描述下

run108 发表于 2009-8-26 15:39:26

ASProtect 1.2x - 1.3x -> Alexey Solodovnikov加密的。用脚本很容易脱掉,程序运行没反应,估计是自校验了。我菜搞不定,于是试着带壳分析,由于有对话框,下断,找到两处功能限制的关键点,
006DDD07   /0F84 E0000000   je      006DDDED
006DDB45   /0F85 5C000000   jnz   006DDBA7
改跳转后,在OD中运行去除限制。试着打内存补丁,用dup,keymake,inline都失败了。不知道怎么回事,各位大大指教啊!

wan 发表于 2009-8-26 18:18:56

才发现也有悬赏贴的~我上次发的求助贴都没注意到/:012

可以试试网上的补丁工具 ASProtect SKE InlinePatcher 1.0 ,没测试。。。
此软件有点像是国产的那个大头贴公司的名片试用版。。。易语言

run108 发表于 2009-8-26 19:10:02

他们俩不知道是谁盗版了谁,呵呵
页: [1]
查看完整版本: 一款外国软件,我走到自校验就没法了,师兄些来指点下。