新手破解练习Crackme160之080 - fireworx.12

  1. 脱壳, 程序有ASPack 1.08.03 -> Alexey Solodovnikov的壳, 在xp下PEiD通用脱壳插件脱壳成功~

  2. 暴力破解, OD载入去壳后的程序, IDR找到图片按钮入口004553FC, 第一个跳00455467, 改为 jmp 004554B9 直接到成功分支, 经测试, 0045544E处需要将系列转数字, 不填东东的情况下会异常, 所以我们在这行之前就跳到成功去, 所以将00455418处改为 jmp 004554B9, 因为成功分支在循环里, 所以我们弹框后让它退出循环, 004554DA处改为jmp 004554DE, 保存所有修改~ 双击ok图片测试成功~

  3. 正常破解, 按钮入口004553FC开始分析算法,
    edi = 1
    for(i=0;i<len;i++){
    eax = edi * 0x7B
    eax = eax / len(user+comp)
    eax = eax << 0x5
    eax -= 0x2c115c
    eax += 0x872eb0
    eax ^= 0x12
    eax(16) -> eax(10s)
    与系列号对比
    }
    所以此算法只跟用户名和公司的总长度有关, 具体是什么内容不验证~
    x = (((0x7B / n) << 5) + 0x872eb0 - 0x2c115c) ^ 0x12
    长度 系列号
    1 5975206
    2 5973190
    3 5972550
    4 5972230
    5 5972038
    6 5971910
    7 5971814
    8 5971750
    ...

代码如下:

#include <stdio.h>
#include "string.h"

int main() {
	char user[21] = {0};
	char comp[21] = {0};
	printf("请输入用户名: ");
	scanf("%s", user);
	int lenu = strlen(user);
	printf("请输入公司名: ");
	scanf("%s", comp);
	int lenc = strlen(comp);
	int eax = 0x78;
	eax /= lenu+lenc;
	eax = eax << 0x5;
	eax -= 0x2c115c;
	eax += 0x872eb0;
	eax ^= 0x12;
 	printf("系列号为: %d\n\n", eax);
	getchar();getchar();
    return 0;
}

 
 
 
这是160个软件part1
这是160个软件part2

1~160每个破解过程,在吾爱破解论坛都有高手破解过了,也有整理好现成的, 我这边主要就是自己动手操作的过程,与他们的不太一样
附上高手们的连接: 点击前往查看
使用的工具连接(工具有点多有点大,可以先下OD,其它的后面慢慢下) 点击前往下载

新人入门教程"玩玩破解,写给新人看" 点击前往查看
我就是从这里开始的,对我这样的小白感觉超级友好~

下面是我的OD的界面布局,我觉得这4个是最常用的界面,其它的我基本上没用到~
OD界面布局

posted @ 2024-05-23 18:00  hankerstudio  阅读(16)  评论(0)    收藏  举报