160个练手CrackMe-038
来源:互联网 发布:oracle查询第一条数据 编辑:程序博客网 时间:2024/06/07 15:56
1、VB-PCODE、OD动态调试基本没用
2、VB Decompiler反编译
简化之后的伪码:
loc_40E393: For i = 0 To len(name) loc_40E3D5: var_94 = var_94 & CVar(Asc(name[i])) loc_40E3EF: Next var_14C 'Variant loc_40E3F5: ' Referenced from: 40E422 loc_40E404: If (Len(var_94) > 9) Then loc_40E41E: var_94 = Fix((var_94 / 3.141592654)) 'Variant loc_40E422: GoTo loc_40E3F5 loc_40E449: var_94 = (var_94 Xor &H30F85678 - CVar(global_76)) 'Variant //global_76 = 55475 来自Initialize和Load loc_40E45A: For var_170 = 1 To 10: var_12C = var_170 'Variant loc_40E489: If (Me.txtkey.Text = global_52(CLng(var_12C))) Then loc_40E48C: End If //这个循环比较无实际作用 loc_40E4DE: If ((CVar(serial) - var_94) = CVar(Len(name))) Then loc_40E502: MsgBox("成功") loc_40E55B: Else loc_40E567: MsgBox("失败")
Serial = var_94 + len(name)
要注意的是 loc_40E449 处,被坑了很久,- 的优先级高于 ^,按照它给出的就是 :
var_94 ^ (0x30F85678 - global_76)
但实际应该是
(var_94 ^ 0x30F85678) - global_76
3、注册机
>>> Name = "123456789">>> s = int(''.join([str(ord(i)) for i in Name]))>>> while len(str(s))>9: s = int(s // 3.141592654)>>> Serial = (s ^ 0x30F85678) - 55475 + len(Name)>>> Serial298615569
阅读全文
0 0
- 160个练手CrackMe-038
- 160个练手CrackMe-001
- 160个练手CrackMe-002
- 160个练手CrackMe-003
- 160个练手CrackMe-004
- 160个练手CrackMe-005
- 160个练手CrackMe-006
- 160个练手CrackMe-007
- 160个练手CrackMe-008
- 160个练手CrackMe-009
- 160个练手CrackMe-010
- 160个练手CrackMe-011
- 160个练手CrackMe-012
- 160个练手CrackMe-013
- 160个练手CrackMe-014
- 160个练手CrackMe-015
- 160个练手CrackMe-016
- 160个练手CrackMe-017
- Day28-动态代理笔记
- eclipse最新版eclipse-jee-neon-3下载
- Eclipse 4.6 Neon 的Tomcat插件安装方法
- mysql 字符集问题 set-server
- 网络编程2-TCP UDP Socket使用详解
- 160个练手CrackMe-038
- iOS开发UI篇—Quartz2D介绍 (一)
- Qt5 release程序
- C/C++文件操作
- startActivityForResult()
- 瞬时高并发(秒杀/活动)Redis方案
- JDK7新特性 try-with-resources 详细分析
- 常用守恒格式求解双曲问题(Lax-Friedrichts、local Lax-F、Roe、Engquist-Osher、Godunov、Lax-Wendroff)
- nity3d 2017.2.2 干货教程基础命令方法