160 - 9 Andrnalin.2
环境:
Windows xp sp3
打开,这次升级了,有个Name和一个Key,输入:
Name:goodname
Key:12345678
肯定错误。拿到错误信息的字符串
查壳,无壳的VB程序。
直接OD载入,字符串搜索,找到刚刚得错误信息的字符串
00402308 UNICODE "RiCHTiG !" ;这个和之前那个一个样嘛
00402327 UNICODE " RiCHTiG !!!! .... weiter mit dem N"
004023C2 UNICODE "LEiDER Falsch ! "
004023E1 UNICODE "Leider Falsch! Nochmal veruschen ! Wenn Du es nicht schaffen solltest, schreib mir ! Andrenalin@g"
00402176 . 66:8985 4CFFF>mov word ptr ss:[ebp-0xB4],ax ; 上面一个函数是取Name的字符的值,保存到ax
0040217D . 8D55 CC lea edx,dword ptr ss:[ebp-0x34]
00402180 . 8D85 44FFFFFF lea eax,dword ptr ss:[ebp-0xBC]
00402186 . 52 push edx ; /var18
00402187 . 8D8D 74FFFFFF lea ecx,dword ptr ss:[ebp-0x8C] ; |
0040218D . 50 push eax ; |var28
0040218E . 51 push ecx ; |saveto8
0040218F . 899D 44FFFFFF mov dword ptr ss:[ebp-0xBC],ebx ; |
00402195 . FF15 94414000 call dword ptr ds:[<&MSVBVM50.__vbaVarAd>; \__vbaVarAdd
0040219B . 8BD0 mov edx,eax ; 这个是将当前字符的值和前面字符的值之和加起来
0040219D . 8D4D CC lea ecx,dword ptr ss:[ebp-0x34]
004021A0 . FFD6 call esi
004021A2 . 8D4D A8 lea ecx,dword ptr ss:[ebp-0x58]
004021A5 . FF15 B8414000 call dword ptr ds:[<&MSVBVM50.__vbaFreeS>; MSVBVM50.__vbaFreeStr
004021D1 .^\E9 5CFFFFFF jmp Andréna.00402132 ; 这个jmp上面的内容是将Name输入的字符都加起来,goodname是:34A,保存在[ebp-2C]中
004021D6 > 8D4D CC lea ecx,dword ptr ss:[ebp-0x34]
004021D9 . 8D95 54FFFFFF lea edx,dword ptr ss:[ebp-0xAC]
004021DF . 51 push ecx ; /var18
004021E0 . 8D45 94 lea eax,dword ptr ss:[ebp-0x6C] ; |
004021E3 . 52 push edx ; |var28
004021E4 . 50 push eax ; |SaveTo8
004021E5 . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],0x499602D2 ; |
004021EF . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x3 ; |
004021F9 . FF15 5C414000 call dword ptr ds:[<&MSVBVM50.__vbaVarMu> ; \__vbaVarMul
004021FF . 8BD0 mov edx,eax ; 上面这个Mul是将加起来的值乘以0x499602D2
上面那一段内容是算出用到的值X。
下面的内容是往X里面添加“-”,让它看上去更像Key
00402204 . FFD6 call esi
00402206 . 8B1D A0414000 mov ebx,dword ptr ds:[<&MSVBVM50.__vbaMi>; MSVBVM50.__vbaMidStmtVar
0040220C . 8D4D CC lea ecx,dword ptr ss:[ebp-0x34] ; 加-
0040220F . 51 push ecx
00402210 . 6A 04 push 0x4 ; 位置
00402212 . 8D95 54FFFFFF lea edx,dword ptr ss:[ebp-0xAC]
00402218 . 6A 01 push 0x1 ; 数量
0040221A . 52 push edx
0040221B . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],Andréna.0040>; 这是"-"
00402225 . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x8
0040222F . FFD3 call ebx ; <&MSVBVM50.__vbaMidStmtVar>
00402231 . 8D45 CC lea eax,dword ptr ss:[ebp-0x34] ; 同上
00402234 . 8D8D 54FFFFFF lea ecx,dword ptr ss:[ebp-0xAC]
0040223A . 50 push eax
0040223B . 6A 09 push 0x9
0040223D . 6A 01 push 0x1
0040223F . 51 push ecx
00402240 . C785 5CFFFFFF>mov dword ptr ss:[ebp-0xA4],Andréna.0040>
0040224A . C785 54FFFFFF>mov dword ptr ss:[ebp-0xAC],0x8
00402254 . FFD3 call ebx ; 这个调用的函数和上面的一样
总结就是:
设:
输入的字符串为Name,
X是Name每一位加起来的结果
sum_1是最后计算的结果,sum_1 = X*0x499602D2 (转成10进制就是1234567890)
然后再对sum_1进行修改,在第4个数字和第9个数字位置改为“-”
于是:
Name::goodname
X = 34A
sum_1 = 1039506163380
sum_2 = 103-5061-3380
所以:
Key :103-5061-3380
160 - 9 Andrnalin.2相关推荐
- 160 - 11 Andrnalin.4
环境: Windows xp sp3 打开,这次的界面炫酷多了,就像输保险箱密码. 旁边一个"UNREGISTRIERT"表示还没注册 输入个666666,没反应又没有确认按钮,可 ...
- 160 - 10 Andrénalin.3
环境: Windows xp sp3 打开,是只有一个key,输入个goodname试试,错误...记下错误信息 查壳,无壳的VB程序. 查找字符串: 00402036 UNICODE "k ...
- 160 - 8 Andrnalin.1
环境: Windows xp sp3 打开,就一个Key输入框,输入:goodname,点OK,弹出一个 不明文字的框,反正肯定不对. 查壳,无壳的vb程序.OD载入: 查找字串,翻到最下面: 004 ...
- 009/160 CrackMe Andrénalin #2
Crack 先随便输入点什么试试 搜索字符串找到注册成功的位置 向上找到比较函数,跟随比较函数的2个地址 可以发现一个是输入的注册码,一个是算好的正确注册码 输入测试通过 算法分析 下面再来看看这个注 ...
- win10桌面图标有小白标_白标移动应用程序,带有react native和babel
win10桌面图标有小白标 In my previous article, I described a solution for white labelling web applications wh ...
- 160个crackme 持续更新(1\2\3\4\6\8\9)
最近感觉自己啥都不会吧,就算会也就是点皮毛,还是练的太少了,从160个crackme开始 慢慢来吧,从简单的开始 1.Acid burn OD动态调试一下,靠字符串定位打断点,如下 跟进这个函数可以看 ...
- 逆向破解之160个CrackMe —— 008-009
CrackMe -- 008 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 硬盘温度70度正常吗_70多岁老年人原来血压160,现在130正常吗?医生为你分析实情...
70多岁的老年人,原来有高血压,高压160左右,现在是130左右,正常吗?这个问题问的太过笼统,我们只好通过这个问题,来分享一些老年高血压患者血压控制的一些知识点,希望能够对老年人的高血压控制,能够有 ...
- 微软语音扩展全球语言支持,发布160个新声音
导语:全世界有数千种语言,最具语言天赋的人也只能说数十种,普通人能够学会两三种语言已属不易.然而,在科技日新月异的今天,具备自然语言对话能力的AI已经能够掌握上百种语言,扩展人类自身能力,为不同场景的 ...
最新文章
- 由 粗 到 精 学 习 LVI-SAM: 
imageProjection模块
- (深入理解)强化学习中Model-based和Model-free的区别是什么
- 浅析堡垒机概念及工作原理(转)
- html像素和em转换,初识HTML(5)+CSS(3)-2020升级版 - 像素px:相对单位em:就是本元素给定字...
- Springboot 连接数据库
- bootstrap 之下拉多选
- 【web】Good ad ~
- linux和Windows平台 android sdk 中build tools 区别
- ASP.NET Core Middleware
- CentOS7 安装NodeJS
- 图像去重,4 行代码就能实现,你值得拥有imagededup
- ArrayList 的三种构造方法
- 软件工程 结对编程 设计结对 单元测试结对 评审结对 是什么
- 6U VPX 电源产品学习资料第411篇:基于6U VPX的700W/1400W 电源产品
- (10) IFC中的构件与空间结构(IfcRelContainedInSpatialStructure) (Industry Foundation Class)
- win10挂载esp(efi)分区
- Objective-C的方法替换
- https证书申请流程和简介
- 基于QT(c++)的家庭财务管理系统
- 矩阵快速幂2Jzzhu and Sequences Recurrences Contemplation! Algebra Reading comprehension