Nisy 发表于 2007-11-3 13:24:59

**助手 3.4 简单分析

帮一朋友简单分析一下 程序可能是没有ASCII 程序注册失败有对话框弹出 那我们就先查看一下API 用野猪OD来调试



下BP MessageBoxA

77D5058A >8BFF            MOV EDI,EDI
77D5058C    55            PUSH EBP
77D5058D    8BEC            MOV EBP,ESP
77D5058F    833D BC04D777 0>CMP DWORD PTR DS:,0
77D50596    74 24         JE SHORT USER32.77D505BC

0013EF44   10062186返回到 krnln.10062186 来自 USER32.MessageBoxA
0013EF48   00000000
0013EF4C   0040EC92**助手.0040EC92
0013EF50   100E3DE0krnln.100E3DE0

F8单步返回到程序凌空后 到句柄设置断点:

0042C9BF    55            PUSH EBP
0042C9C0    8BEC            MOV EBP,ESP
0042C9C2    81EC 38000000   SUB ESP,38
0042C9C8    C745 FC 0000000>MOV DWORD PTR SS:,0
0042C9CF    C745 F8 0000000>MOV DWORD PTR SS:,0
0042C9D6    C745 F4 0000000>MOV DWORD PTR SS:,0
0042C9DD    C745 F0 0000000>MOV DWORD PTR SS:,0
0042C9E4    C745 EC 0000000>MOV DWORD PTR SS:,0
0042C9EB    C745 E8 0000000>MOV DWORD PTR SS:,0
0042C9F2    C745 E4 0000000>MOV DWORD PTR SS:,0
0042C9F9    C745 E0 0000000>MOV DWORD PTR SS:,0
0042CA00    6A FF         PUSH -1
0042CA02    6A 08         PUSH 8
0042CA04    68 41000116   PUSH 16010041
0042CA09    68 3D000152   PUSH 5201003D
0042CA0E    E8 F4610000   CALL **助手.00432C07                     ; 取邮箱
0042CA13    83C4 10         ADD ESP,10
0042CA16    8945 DC         MOV DWORD PTR SS:,EAX
0042CA19    6A FF         PUSH -1
0042CA1B    6A 08         PUSH 8
0042CA1D    68 43000116   PUSH 16010043
0042CA22    68 3D000152   PUSH 5201003D
0042CA27    E8 DB610000   CALL **助手.00432C07                     ; 取KEY
0042CA2C    83C4 10         ADD ESP,10
0042CA2F    8945 D8         MOV DWORD PTR SS:,EAX
0042CA32    8D45 D8         LEA EAX,DWORD PTR SS:
0042CA35    50            PUSH EAX
0042CA36    8D45 DC         LEA EAX,DWORD PTR SS:
0042CA39    50            PUSH EAX
0042CA3A    E8 D289FFFF   CALL **助手.00425411                     ; 程序算法CALL
0042CA3F    8945 D4         MOV DWORD PTR SS:,EAX               ; EAX=1 则代表OK
0042CA42    8B5D DC         MOV EBX,DWORD PTR SS:
0042CA45    85DB            TEST EBX,EBX
0042CA47    74 09         JE SHORT **助手.0042CA52
0042CA49    53            PUSH EBX
0042CA4A    E8 94610000   CALL **助手.00432BE3
0042CA4F    83C4 04         ADD ESP,4
0042CA52    8B5D D8         MOV EBX,DWORD PTR SS:
0042CA55    85DB            TEST EBX,EBX
0042CA57    74 09         JE SHORT **助手.0042CA62
0042CA59    53            PUSH EBX
0042CA5A    E8 84610000   CALL **助手.00432BE3
0042CA5F    83C4 04         ADD ESP,4
0042CA62    837D D4 01      CMP DWORD PTR SS:,1
0042CA66    0F85 73050000   JNZ **助手.0042CFDF                        ; 这里跳向注册OVER

跟进算法CALL看看

0042575F    83C4 08         ADD ESP,8
00425762    E8 95F9FFFF   CALL **助手.004250FC
00425767    8945 DC         MOV DWORD PTR SS:,EAX            ; 经过上方的运算 KEY出现
0042576A    8B45 DC         MOV EAX,DWORD PTR SS:
0042576D    50            PUSH EAX
0042576E    FF75 E0         PUSH DWORD PTR SS:
00425771    E8 5387FFFF   CALL **助手.0041DEC9
00425776    83C4 08         ADD ESP,8
00425779    83F8 00         CMP EAX,0
0042577C    B8 00000000   MOV EAX,0
00425781    0F94C0          SETE AL                                  ; 暴破点
00425784    8945 D8         MOV DWORD PTR SS:,EAX            ; 将代表是否注册的信息写入内存

启动时的判断在这里:
0042477B    E8 910C0000   CALL **助手.00425411
00424780    8945 C8         MOV DWORD PTR SS:,EAX            ; EAX=1 则代表OK
00424783    837D C8 01      CMP DWORD PTR SS:,1
00424787    0F85 43000000   JNZ **助手.004247D0

OK 点到为止 算法部分不再多看 只在简述使用API下断的方法 没什么技术含量 还望大家以技术交流为主 支持国软发展


pizigao 发表于 2007-11-3 20:04:22

谢谢兄弟了~学习中!兄弟是使用的爆破么?标志位?还请兄弟释疑!

[ 本帖最后由 pizigao 于 2007-11-3 20:20 编辑 ]

tigerisme 发表于 2007-11-3 20:56:04

原帖由 pizigao 于 2007-11-3 20:04 发表 https://www.chinapyg.com/images/common/back.gif
谢谢兄弟了~学习中!兄弟是使用的爆破么?标志位?还请兄弟释疑!
00425781    0F94C0          SETE AL   ; 暴破点
这里说的很清楚了/:001

yjx157 发表于 2007-11-3 21:43:30

学习中   呵呵

ThanksBoy 发表于 2007-11-4 11:08:33

学习了一下啊./:018

游侠浪子 发表于 2007-11-4 15:36:10

学习一下…………

游侠浪子 发表于 2007-11-4 16:40:01

厉害,学习了…………

依然夏雨天 发表于 2007-11-5 12:27:19

新手进来学习一下哈

ttch 发表于 2007-11-5 14:38:06

学习学习

老大出手

就是不凡
页: [1]
查看完整版本: **助手 3.4 简单分析