**助手 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:20 编辑 ] 原帖由 pizigao 于 2007-11-3 20:04 发表 https://www.chinapyg.com/images/common/back.gif
谢谢兄弟了~学习中!兄弟是使用的爆破么?标志位?还请兄弟释疑!
00425781 0F94C0 SETE AL ; 暴破点
这里说的很清楚了/:001 学习中 呵呵 学习了一下啊./:018 学习一下………… 厉害,学习了………… 新手进来学习一下哈 学习学习
老大出手
就是不凡
页:
[1]