新手破解练习Crackme160之030 - cracking4all.1

  1. 去NAG, 把主窗口当成NAG吧, 让程序直接进入密码界面, 看到程序启动入口第一句是push 00401758, 下面一句便是启动窗口, 那说明push的地址就是要启动的窗口信息, 我们在数据区定位到00401758, 分析一下周围的数据块, 发现004017E8, 00401838, 00401888, 这三块的数据块格式完成一样, 且看到了 00401800=00, 00401850=01, 004018A0=02, 可以猜测这个就是窗体序号, 00就是第一个要启动的主窗体, 我们猜01就是密码窗体, 所以我们将00与01互换一个, 改为 00401800=01, 00401850=00, 保存, 测试完成正确~

  2. 暴力破解, 找到成功分支004033A5, 再找到上面的关键跳00403370, nop掉, 保存完事~

  3. 正常破解, PEiD分析可知程序是VB写的, 所以我们用VB Decomiler分析按钮代码,

Private Sub Command1_Click() '4030F0
  Dim global_004043A4 As Global
  loc_0040318C: var_40 = password.Text1.Text
  loc_004031BE: var_28 = var_40
  loc_004031FC: If 1 > CInt(Len(var_28)) Then GoTo loc_0040332F '判断输入是否为空'
  loc_00403206: If 1 <= 4 Then GoTo loc_0040320D '这里应该是按4位4位来循环'
  loc_0040320D: ' Referenced from: 00403206
  loc_00403291: var_800C = Asc(CStr(Mid(2000, 1, 1))) '这里2000应该是字符串, 按位取'
  loc_004032CD: var_38 = var_38 & Chr(Asc(CStr(Mid(var_28, 1, 1))) xor ecx) '这里ecx应该就是上面的var_800C'
  loc_0040332A: GoTo loc_004031EF
  loc_0040332F: ' Referenced from: 004031FC
  loc_0040334E: var_8010 = (var_38 = "qBQSYdXUe_B\V") '计算结果是否与这个值相同'
  loc_00403370: If var_8010 = 0 Then GoTo loc_0040345E
  loc_004033CC: var_8014 = MsgBox("Password correct, hehe, :-)", 0, "Valid", var_78, var_88)
  loc_00403442: If Global.Unload password >= 0 Then GoTo loc_00403453
  loc_0040344D: var_8020 = CheckObj(global_004043A4, global_00402840, 16)
  loc_00403453: ' Referenced from: 00403442
  loc_0040345E: ' Referenced from: 00403370
  loc_004034B4: var_8024 = MsgBox("Password incorrect, please try again ...", 0, "Invalid", var_78, var_88)
  loc_004034E4: GoTo loc_00403536
  loc_00403535: Exit Sub
  loc_00403536: ' Referenced from: 004034E4
  loc_00403544: GoTo loc_00esi
End Sub

到此, 代码分析完成, 我们开始写算法, 反过来推算, c语言代码如下:

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

int main(){
	char user[20] = "qBQSYdXUe_B\\V";
	char x[5] = "2000";
	int len = strlen(user);
	for(int i=0; i<len; i++){
		user[i] = user[i] xor x[i % 4];
	}
	printf("系列号为: %s\n按任意键继续~", user);
	scanf("a");
	return 0;
}

运行得到的结果是CrackTheWorld, 破解完成, 验证正确

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

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

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

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

posted @ 2024-05-10 15:23  hankerstudio  阅读(8)  评论(0)    收藏  举报