Month: December 2019

CuTeEvil Crackme 2 算法分析后续

环境配置 系统 : winxp 32bit 程序 : CuTeEvil Crackme 2 要求 : 找出注册解决方案 使用工具 :ida pro & od 静态分析 关键代码段在消息响应函数里: if ( GetDlgItemTextA(::hWnd, 1002, username, 32) ) { if ( GetDlgItemTextA(::hWnd, 1004, password_403250, 32) ) { len_name = lstrlenA(username); if ( len_name < 0x20 ) { for ( i = 32 – len_name; i; –i […]

经典算法数组求和 – Duelist’s Crackme #3 后续

环境配置 系统 : winxp 32bit 程序 : due-cm3 要求 : 找出注册解决方案 使用工具 :ida pro 静态分析 根据之前文章的分析,可知关键代码如下: INT_PTR __stdcall DialogFunc(HWND hDlg, UINT a2, WPARAM a3, LPARAM a4) { INT_PTR result; // eax@4 int v5; // esi@7 int v6; // ecx@8 UINT v7; // [sp+0h] [bp-Ch]@0 if ( a2 == 273 ) { if ( a3 == […]

一条汇编指令引发的蝴蝶效应 后续

环境配置 系统 : winxp 32bit 程序 : crackme1 要求 : 输入口令 使用工具 :ida pro & od 开始分析 静态分析 通过参考之前得文章,可知程序关键流程的地址,直接在ida中生成伪代码: memset(&v6, 0xCCu, 0xA4u); hWnd = GetDlgItem(hDlg, 1002); GetWindowTextA(hWnd, &String, 20); hWnd = GetDlgItem(hDlg, 1003); GetWindowTextA(hWnd, &v8, 20); if ( sub_40100A() ) { v1 = sub_401028(&String); v2 = _itoa(v1, &v10, 10); result = strcmp(&v8, v2); if ( […]