环境:

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相关推荐

  1. 160 - 11 Andrnalin.4

    环境: Windows xp sp3 打开,这次的界面炫酷多了,就像输保险箱密码. 旁边一个"UNREGISTRIERT"表示还没注册 输入个666666,没反应又没有确认按钮,可 ...

  2. 160 - 10 Andrénalin.3

    环境: Windows xp sp3 打开,是只有一个key,输入个goodname试试,错误...记下错误信息 查壳,无壳的VB程序. 查找字符串: 00402036 UNICODE "k ...

  3. 160 - 8 Andrnalin.1

    环境: Windows xp sp3 打开,就一个Key输入框,输入:goodname,点OK,弹出一个 不明文字的框,反正肯定不对. 查壳,无壳的vb程序.OD载入: 查找字串,翻到最下面: 004 ...

  4. 009/160 CrackMe Andrénalin #2

    Crack 先随便输入点什么试试 搜索字符串找到注册成功的位置 向上找到比较函数,跟随比较函数的2个地址 可以发现一个是输入的注册码,一个是算好的正确注册码 输入测试通过 算法分析 下面再来看看这个注 ...

  5. win10桌面图标有小白标_白标移动应用程序,带有react native和babel

    win10桌面图标有小白标 In my previous article, I described a solution for white labelling web applications wh ...

  6. 160个crackme 持续更新(1\2\3\4\6\8\9)

    最近感觉自己啥都不会吧,就算会也就是点皮毛,还是练的太少了,从160个crackme开始 慢慢来吧,从简单的开始 1.Acid burn OD动态调试一下,靠字符串定位打断点,如下 跟进这个函数可以看 ...

  7. 逆向破解之160个CrackMe —— 008-009

    CrackMe -- 008 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  8. 硬盘温度70度正常吗_70多岁老年人原来血压160,现在130正常吗?医生为你分析实情...

    70多岁的老年人,原来有高血压,高压160左右,现在是130左右,正常吗?这个问题问的太过笼统,我们只好通过这个问题,来分享一些老年高血压患者血压控制的一些知识点,希望能够对老年人的高血压控制,能够有 ...

  9. 微软语音扩展全球语言支持,发布160个新声音

    导语:全世界有数千种语言,最具语言天赋的人也只能说数十种,普通人能够学会两三种语言已属不易.然而,在科技日新月异的今天,具备自然语言对话能力的AI已经能够掌握上百种语言,扩展人类自身能力,为不同场景的 ...

最新文章

  1. 由 粗 到 精 学 习 LVI-SAM: imageProjection模块
  2. (深入理解)强化学习中Model-based和Model-free的区别是什么
  3. 浅析堡垒机概念及工作原理(转)
  4. html像素和em转换,初识HTML(5)+CSS(3)-2020升级版 - 像素px:相对单位em:就是本元素给定字...
  5. Springboot 连接数据库
  6. bootstrap 之下拉多选
  7. 【web】Good ad ~
  8. linux和Windows平台 android sdk 中build tools 区别
  9. ASP.NET Core Middleware
  10. CentOS7 安装NodeJS
  11. 图像去重,4 行代码就能实现,你值得拥有imagededup
  12. ArrayList 的三种构造方法
  13. 软件工程 结对编程 设计结对 单元测试结对 评审结对 是什么
  14. 6U VPX 电源产品学习资料第411篇:基于6U VPX的700W/1400W 电源产品
  15. (10) IFC中的构件与空间结构(IfcRelContainedInSpatialStructure) (Industry Foundation Class)
  16. win10挂载esp(efi)分区
  17. Objective-C的方法替换
  18. https证书申请流程和简介
  19. 基于QT(c++)的家庭财务管理系统
  20. 矩阵快速幂2Jzzhu and Sequences Recurrences Contemplation! Algebra Reading comprehension

热门文章

  1. 【前端笔试题】文本居中的几种小技巧
  2. java开机自启动 Linux,java项目jar包开机自启(WINDOWS,Linux)
  3. mysql 8.0认证失败_解决mysql8.0因密码认证插件导致的链接不上
  4. vue组件详解(一)——组件与复用
  5. JDBC【介绍JDBC、使用JDBC连接数据库、简单的工具类】
  6. 消息提示框-事件冒泡
  7. So Easy! 让开发人员更轻松的工具和资源
  8. 如何自定义CSS滚动条的样式?
  9. photoshop 切片工具进行切图
  10. 文件指针创建失败!File *fp失败