吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3023|回复: 6
收起左侧

[CrackMe] 这个毕业考核的CrackME最后一关过不去

[复制链接]
冥界3大法王 发表于 2019-12-19 21:43
CM是什么?Crackme是什么?这是什么东西?楼主发的什么?
他们都是一些公开给别人尝试破解的小程序,制作 Crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 Cracker,想挑战一下其它 Cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破解,KeyGenMe是要求别人做出它的 keygen (序号产生器), ReverseMe 要求别人把它的算法做出逆向分析, UnpackMe 是要求别人把它成功脱壳,本版块禁止回复非技术无关水贴。


放上来,希望大家做做,说说为什么?

00404A74           FF15 4C104000    CALL DWORD PTR DS:[<&msvbvm60.rtcInputB>; msvbvm60.rtcInputBox
00404A7A           8BD0             MOV EDX,EAX                             ;  取注册名
00404A7C           8D4D E0          LEA ECX,DWORD PTR SS:[EBP-0x20]
00404A7F           FF15 08114000    CALL DWORD PTR DS:[<&msvbvm60.__vbaStrM>; msvbvm60.__vbaStrMove
00404A85           8BD0             MOV EDX,EAX
00404A87           8BCF             MOV ECX,EDI
00404A89           FFD6             CALL ESI
00404A8B           8D4D E0          LEA ECX,DWORD PTR SS:[EBP-0x20]
00404A8E           FF15 1C114000    CALL DWORD PTR DS:[<&msvbvm60.__vbaFree>; msvbvm60.__vbaFreeStr
00404A94           8D85 68FFFFFF    LEA EAX,DWORD PTR SS:[EBP-0x98]         ; 可能是算法 dex=20 10进制是32
00404A9A           50               PUSH EAX
00404A9B           8D8D 78FFFFFF    LEA ECX,DWORD PTR SS:[EBP-0x88]
00404AA1           51               PUSH ECX
00404AA2           8D55 88          LEA EDX,DWORD PTR SS:[EBP-0x78]
00404AA5           52               PUSH EDX
00404AA6           8D45 98          LEA EAX,DWORD PTR SS:[EBP-0x68]
00404AA9           50               PUSH EAX
00404AAA           8D4D A8          LEA ECX,DWORD PTR SS:[EBP-0x58]
00404AAD           51               PUSH ECX
00404AAE           8D55 B8          LEA EDX,DWORD PTR SS:[EBP-0x48]
00404AB1           52               PUSH EDX
00404AB2           6A 06            PUSH 0x6
00404AB4           FF15 18104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaFree>; msvbvm60.__vbaFreeVarList
00404ABA           83C4 1C          ADD ESP,0x1C
00404ABD           8B07             MOV EAX,DWORD PTR DS:[EDI]
00404ABF           50               PUSH EAX
00404AC0           68 202E4000      PUSH PYG_dump.00402E20
00404AC5           FF15 74104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaStrC>; msvbvm60.__vbaStrCmp
00404ACB           85C0             TEST EAX,EAX
00404ACD           75 0B            JNZ SHORT PYG_dump.00404ADA             ; 关键点!必须实现
00404ACF           FF15 1C104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaEnd>>; msvbvm60.__vbaEnd
00404AD5           E9 56020000      JMP PYG_dump.00404D30                   ; 前往退出 进程
00404ADA           8B0F             MOV ECX,DWORD PTR DS:[EDI]
00404ADC           51               PUSH ECX
00404ADD           FF15 D0104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaR8St>; 得修改 不然不合法
00404AE3           833D 00604000 00 CMP DWORD PTR DS:[0x406000],0x0
00404AEA           75 08            JNZ SHORT PYG_dump.00404AF4             ; 得实现
00404AEC           DC35 78114000    FDIV QWORD PTR DS:[0x401178]
00404AF2           EB 11            JMP SHORT PYG_dump.00404B05             ; 不详
00404AF4           FF35 7C114000    PUSH DWORD PTR DS:[0x40117C]
00404AFA           FF35 78114000    PUSH DWORD PTR DS:[0x401178]
00404B00           E8 EFC6FFFF      CALL <JMP.&msvbvm60._adj_fdiv_m64>
00404B05           DFE0             FSTSW AX
00404B07           A8 0D            TEST AL,0xD
00404B09           0F85 DF030000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404B0F           FF15 5C104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaFpR8>; msvbvm60.__vbaFpR8
00404B15           DD9D A0FBFFFF    FSTP QWORD PTR SS:[EBP-0x460]
00404B1B           68 00001C40      PUSH 0x401C0000
00404B20           53               PUSH EBX
00404B21           68 00002440      PUSH 0x40240000
00404B26           53               PUSH EBX
00404B27           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404B2D           DC0D 70114000    FMUL QWORD PTR DS:[0x401170]
00404B33           DFE0             FSTSW AX
00404B35           A8 0D            TEST AL,0xD
00404B37           0F85 B1030000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404B3D           DD9D 98FBFFFF    FSTP QWORD PTR SS:[EBP-0x468]
00404B43           68 00002040      PUSH 0x40200000
00404B48           53               PUSH EBX
00404B49           68 00002440      PUSH 0x40240000
00404B4E           53               PUSH EBX
00404B4F           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404B55           DC85 98FBFFFF    FADD QWORD PTR SS:[EBP-0x468]
00404B5B           DFE0             FSTSW AX
00404B5D           A8 0D            TEST AL,0xD
00404B5F           0F85 89030000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404B65           DD9D 90FBFFFF    FSTP QWORD PTR SS:[EBP-0x470]
00404B6B           68 00001840      PUSH 0x40180000
00404B70           53               PUSH EBX
00404B71           68 00002440      PUSH 0x40240000
00404B76           53               PUSH EBX
00404B77           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404B7D           DC0D 70114000    FMUL QWORD PTR DS:[0x401170]
00404B83           DC85 90FBFFFF    FADD QWORD PTR SS:[EBP-0x470]
00404B89           DFE0             FSTSW AX
00404B8B           A8 0D            TEST AL,0xD
00404B8D           0F85 5B030000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404B93           DD9D 88FBFFFF    FSTP QWORD PTR SS:[EBP-0x478]
00404B99           68 00001440      PUSH 0x40140000
00404B9E           53               PUSH EBX
00404B9F           68 00002440      PUSH 0x40240000
00404BA4           53               PUSH EBX
00404BA5           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404BAB           DC0D 68114000    FMUL QWORD PTR DS:[0x401168]
00404BB1           DC85 88FBFFFF    FADD QWORD PTR SS:[EBP-0x478]
00404BB7           DFE0             FSTSW AX
00404BB9           A8 0D            TEST AL,0xD
00404BBB           0F85 2D030000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404BC1           DD9D 80FBFFFF    FSTP QWORD PTR SS:[EBP-0x480]
00404BC7           68 00001040      PUSH 0x40100000
00404BCC           53               PUSH EBX
00404BCD           68 00002440      PUSH 0x40240000
00404BD2           53               PUSH EBX
00404BD3           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404BD9           DC0D 60114000    FMUL QWORD PTR DS:[0x401160]
00404BDF           DC85 80FBFFFF    FADD QWORD PTR SS:[EBP-0x480]
00404BE5           DFE0             FSTSW AX
00404BE7           A8 0D            TEST AL,0xD
00404BE9           0F85 FF020000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404BEF           DD9D 78FBFFFF    FSTP QWORD PTR SS:[EBP-0x488]
00404BF5           68 00000840      PUSH 0x40080000
00404BFA           53               PUSH EBX
00404BFB           68 00002440      PUSH 0x40240000
00404C00           53               PUSH EBX
00404C01           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404C07           DC0D 70114000    FMUL QWORD PTR DS:[0x401170]
00404C0D           DC85 78FBFFFF    FADD QWORD PTR SS:[EBP-0x488]
00404C13           DFE0             FSTSW AX
00404C15           A8 0D            TEST AL,0xD
00404C17           0F85 D1020000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404C1D           DD9D 70FBFFFF    FSTP QWORD PTR SS:[EBP-0x490]
00404C23           68 00000040      PUSH 0x40000000
00404C28           53               PUSH EBX
00404C29           68 00002440      PUSH 0x40240000
00404C2E           53               PUSH EBX
00404C2F           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404C35           DC0D 68114000    FMUL QWORD PTR DS:[0x401168]
00404C3B           DC85 70FBFFFF    FADD QWORD PTR SS:[EBP-0x490]
00404C41           DFE0             FSTSW AX
00404C43           A8 0D            TEST AL,0xD
00404C45           0F85 A3020000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404C4B           DD9D 68FBFFFF    FSTP QWORD PTR SS:[EBP-0x498]
00404C51           68 0000F03F      PUSH 0x3FF00000
00404C56           53               PUSH EBX
00404C57           68 00002440      PUSH 0x40240000
00404C5C           53               PUSH EBX
00404C5D           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404C63           DC0D 68114000    FMUL QWORD PTR DS:[0x401168]
00404C69           DC85 68FBFFFF    FADD QWORD PTR SS:[EBP-0x498]
00404C6F           DFE0             FSTSW AX
00404C71           A8 0D            TEST AL,0xD
00404C73           0F85 75020000    JNZ PYG_dump.00404EEE                   ; 前往异常
00404C79           DD9D 60FBFFFF    FSTP QWORD PTR SS:[EBP-0x4A0]
00404C7F           53               PUSH EBX
00404C80           53               PUSH EBX
00404C81           68 00002440      PUSH 0x40240000
00404C86           53               PUSH EBX
00404C87           FF15 EC104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaPowe>; msvbvm60.__vbaPowerR8
00404C8D           DC0D 68114000    FMUL QWORD PTR DS:[0x401168]
00404C93           DC85 60FBFFFF    FADD QWORD PTR SS:[EBP-0x4A0]
00404C99           DFE0             FSTSW AX
00404C9B           A8 0D            TEST AL,0xD
00404C9D           0F85 4B020000    JNZ PYG_dump.00404EEE                   ; 前往异常~~~~~
00404CA3           FF15 5C104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaFpR8>; msvbvm60.__vbaFpR8
00404CA9           DC9D A0FBFFFF    FCOMP QWORD PTR SS:[EBP-0x460]
00404CAF           DFE0             FSTSW AX
00404CB1           F6C4 40          TEST AH,0x40
00404CB4           75 7A            JNZ SHORT PYG_dump.00404D30             ; 退出进程
00404CB6           FF15 1C104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaEnd>>; msvbvm60.__vbaEnd
00404CBC           EB 72            JMP SHORT PYG_dump.00404D30
00404CBE           B9 04000280      MOV ECX,0x80020004
00404CC3           894D 90          MOV DWORD PTR SS:[EBP-0x70],ECX
00404CC6           B8 0A000000      MOV EAX,0xA
00404CCB           8945 88          MOV DWORD PTR SS:[EBP-0x78],EAX
00404CCE           894D A0          MOV DWORD PTR SS:[EBP-0x60],ECX
00404CD1           8945 98          MOV DWORD PTR SS:[EBP-0x68],EAX
00404CD4           894D B0          MOV DWORD PTR SS:[EBP-0x50],ECX
00404CD7           8945 A8          MOV DWORD PTR SS:[EBP-0x58],EAX
00404CDA           C785 A0FCFFFF 28>MOV DWORD PTR SS:[EBP-0x360],PYG_dump.0>; 您的输入不合法!
00404CE4           C785 98FCFFFF 08>MOV DWORD PTR SS:[EBP-0x368],0x8
00404CEE           8D95 98FCFFFF    LEA EDX,DWORD PTR SS:[EBP-0x368]
00404CF4           8D4D B8          LEA ECX,DWORD PTR SS:[EBP-0x48]
00404CF7           FF15 00114000    CALL DWORD PTR DS:[<&msvbvm60.__vbaVarD>; msvbvm60.__vbaVarDup
00404CFD           8D55 88          LEA EDX,DWORD PTR SS:[EBP-0x78]
00404D00           52               PUSH EDX
00404D01           8D45 98          LEA EAX,DWORD PTR SS:[EBP-0x68]
00404D04           50               PUSH EAX
00404D05           8D4D A8          LEA ECX,DWORD PTR SS:[EBP-0x58]
00404D08           51               PUSH ECX
00404D09           6A 00            PUSH 0x0
00404D0B           8D55 B8          LEA EDX,DWORD PTR SS:[EBP-0x48]
00404D0E           52               PUSH EDX
00404D0F           FF15 48104000    CALL DWORD PTR DS:[<&msvbvm60.rtcMsgBox>; 这可能是正确的
00404D15           8D45 88          LEA EAX,DWORD PTR SS:[EBP-0x78]
00404D18           50               PUSH EAX
00404D19           8D4D 98          LEA ECX,DWORD PTR SS:[EBP-0x68]
00404D1C           51               PUSH ECX
00404D1D           8D55 A8          LEA EDX,DWORD PTR SS:[EBP-0x58]
00404D20           52               PUSH EDX
00404D21           8D45 B8          LEA EAX,DWORD PTR SS:[EBP-0x48]
00404D24           50               PUSH EAX
00404D25           6A 04            PUSH 0x4
00404D27           FF15 18104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaFree>; msvbvm60.__vbaFreeVarList
00404D2D           83C4 14          ADD ESP,0x14
00404D30           FF15 3C104000    CALL DWORD PTR DS:[<&msvbvm60.__vbaExit>; msvbvm60.__vbaExitProc

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

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

小冷ice 发表于 2019-12-20 15:53
00404D0F           FF15 48104000    CALL DWORD PTR DS:[<&msvbvm60.rtcMsgBox>; 这可能是正确的
weikun444 发表于 2019-12-20 11:20
菜鸟表示只能到这里了。其它的不会了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x

免费评分

参与人数 1热心值 +1 收起 理由
冥界3大法王 + 1 我很赞同!

查看全部评分

Li1y 发表于 2019-12-20 10:36
https://www.chinapyg.com/thread-135109-1-1.html
之前有人放过题解
 楼主| 冥界3大法王 发表于 2019-12-20 12:09
chenrunlin1 发表于 2019-12-20 10:36
https://www.chinapyg.com/thread-135109-1-1.html
之前有人放过题解

@chenrunlin1
不对,你这个是二期
我要的是一期
solly 发表于 2019-12-21 16:02
本帖最后由 solly 于 2019-12-22 00:06 编辑

1. Patch:
[Shell] 纯文本查看 复制代码
E:\Downloads\crack\000\PYG>fc /b PYG_dump_.exe PYG_dump_patched.exe
正在比较文件 PYG_dump_.exe 和 PYG_DUMP_PATCHED.EXE
00003EC1: 0F 90
00003EC2: 8E E9
000045EA: FF 83
000045EB: 15 C4
000045EC: 48 14
000045ED: 10 90
000045EE: 40 90
000045EF: 00 90
000048DF: 7E EB


2. Key Generator:
[C++] 纯文本查看 复制代码
#include <iostream>
#include <string.h>
#include <math.h>

long getPassWd();
long getSN(char * name);
long getAdv(char * name);

int main(int argc, char** argv) {
	
	long passwd = getPassWd();
	
	printf("Test PassWd: %lu\n\n", (unsigned)passwd);
	
	char name[] = "solly";  //// modify here
	
	long sn = getSN(name);
	printf("Name: %s\n", name);
	printf("  SN: %lu\n", (unsigned)sn);
	
	///
	getAdv(name);
	
	return 0;
}

long getPassWd() {
	//// 188968999
	long base = pow(10, 7) * 8 + pow(10, 8)     + pow(10, 6) * 8
			  + pow(10, 5) * 9 + pow(10, 4) * 6 + pow(10, 3) * 8
			  + pow(10, 2) * 9 + pow(10, 1) * 9 + pow(10, 0) * 9;
	
	//// 3401441982
	long passwd = base * 18;  //// 188968999 * 18
	
	return passwd;
} 

long getSN(char * name) {
	int n = strlen(name);
	
	long sum1 = 0;
	for(int i=0; i<n; i++) {
		sum1 += (long)name[i];
	}
	sum1 *= 13456;   //// 0x3490
	
	long sum2 = 0;
	long sum3 = 0;
	for(int i=1; i<101; i++) {
		sum2 += i;
		sum3 += sum2;
	}
	
	long sn = (sum1 + sum3 ) ^ 886;   //// 0x0376
	
	return sn;
}

const long c1 = 9717;
const long c2 = 41;
const long c3 = 123;
const long c4 = 6613;

long getAdv(char * name) {
	int n = strlen(name);
	long LBound = 0;
	long UBound = n - 1;
	
	long r1 = UBound * c1 + (int)name[LBound] * c2;  //// 0xAA3F
	
	long r2 = (long)name[LBound] * c1 * c3;          //// 0x08314635
	
	long r3 = UBound * (long)name[LBound] * c4;      //// 0x002E6ABC
	
	long r4 = r3 + c1;                               //// 0x002E90B1
	
	printf(" ADV: %lu-%lu-%lu-%lu\n", r1, r2, r3, r4); 
	
	return 0;
}

solly 发表于 2019-12-26 23:53
本帖最后由 solly 于 2019-12-27 00:20 编辑

冥界3大法王 发表于 2019-12-20 12:09
@chenrunlin1
不对,你这个是二期
我要的是一期

你发的附件不是第一期的吧?


显示第二期。

你发的代码只是生成这个考试密码的,还没有进入追码阶段。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册[Register]

x
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止回复与主题无关非技术内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-4-20 07:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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