新手破解练习Crackme160之073 - fireworx.4

  1. 去NAG, Delphi Decomiler分析代码发现注册界面是动态创建的, 我们找到对应的创建代码处004475D8, 看到了窗体地址为: 00446FF0, 所以我们在程序开始0044815D处对应的地址为这个就可以了, 保存运行发现, 这个窗体没有关闭按钮, 无法关闭程序, 程序报错~ 我们看能不能把cancel按钮作为关闭按钮用, 我们重新加载程序 , F9运行, 先把主窗体展示出来, 然后菜单->插件->API断点设置工具->常用断点设置->切换到栏目"限制 程序功能函数" 把下面的EnableWindow勾上, 确定, 然后关闭程序, OD会停下, 这时就是窗体关闭事件被触发了, 我们看数据区右侧, 下翻找到这条 0019FF48 00403761 返回到 fireworx.00403761 来自 <jmp.&kernel32.ExitProcess>, 方法入口为00403759, 记起来, 我们重新加载程序, 先别运行, 把主窗体改成注册窗体, F9运行, 再来到注册窗体的cancel按钮代码00447904, 将下面代码对应修改:
00447904      53            push ebx
00447905      56            push esi                                          ;  fireworx.<ModuleEntryPoint>
00447906      8BD8          mov ebx,eax
00447908      C683 19030000>mov byte ptr ds:[ebx+0x319],0x0
0044790F   .  8BB3 38030000 mov esi,dword ptr ds:[ebx+0x338]
00447915   .  807E 05 00    cmp byte ptr ds:[esi+0x5],0x0
改为:
00447904      C705 B4F31900>mov dword ptr ds:[0x19F3B4], 00447913	;手动修改下一个函数返回的地址
0044790E    ^ E9 7E53FFFF   jmp 0043CC91							;跳转到关闭当前窗口函数(单步调试所得的地址)
00447913    ^ E9 41BEFBFF   jmp 00403759							;跳转到关闭整个应用(关闭上面窗口后应用其实还没关掉进程中还存在)
00447918      90            nop

到此, NAG彻底去掉~ (记得保存哈~_), 经后面测试, cancel可以正常当成关闭按钮了, 但ok按钮无法正常工作了, 这个有待改进~, 目前能力有限, 没找到原因~

  1. 按钮去灰, OD重新加载原程序, Delphi Decomiler查看注册窗体有个FormShow事件, 其中有段代码很眼熟, 00447C98 je xxx, 下面代码便是设置按钮属性的, 直接nop掉保存, 直接执行看到OK按钮已经亮起来了, Edit1_change事件也有这段代码00447C0 je xxx, 也直接nop掉, 保存, 去灰完成~

  2. 暴力破解, Delphi Decomiler查看ok按钮点击事件方法入口是0044797C, 此处下断点, 随便输入点ok断点处停下, F8单步调试来到第一个跳004479AA, 改为jmp 00447B92到成功分支, 保存成功~

  3. 正常破解, 我们从第一个跳004479AA开始分析算法:
    1). 用户名为空直接跳到结束处
    2). 用户名长度+1
    3). 循环+每一位+固定值0x2B67
    4). 结果转十进制数与系列号比较
    注册机代码如下: keygen.c

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

int main() {
	int len = 0; 
	char user[21] = {0};
	printf("请输入用户名: ");
	scanf("%s", user);
	len = strlen(user);
	int rlt = 0x2B67;
	int val = 0x2B67;
	for(int i=0; i<len; i++){
		rlt += user[i] + val;
	}
	
 	printf("系列号为: %d\n\n按任意键继续~", rlt);
 	getchar();getchar();
    return 0;
}

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

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

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

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

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