首页
社区
课程
招聘
[旧帖] [原创]crack献给所有爱好破解的初学者 0.00雪花
发表于: 2009-6-23 23:06 4037

[旧帖] [原创]crack献给所有爱好破解的初学者 0.00雪花

2009-6-23 23:06
4037
【文章标题】: crack献给所有爱好破解的初学者
【文章作者】: karas
【软件名称】: 献给所有爱好破解的初学者crackme
【软件大小】: 24.0KB
【下载地址】: 看雪论坛
【加壳方式】: NO
【编写语言】: VB
【使用工具】: OD+Smartcheck
【操作平台】: XP SP3
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
  这个crackme是从看雪的crackme博物馆下的
  先是用W32dsm8.93+反汇编,发现不能用串式参考
  用PEiD查看一下,居然是VB的!还是用OD跑跑看吧,不过断点怎么下呢?
  以前看过下VB断点的文章,但具体是在哪个函数上下记不起来了
  Ctrl+N调出函数参考,函数不多,看了一会注意到一个函数:vbaStrCmp
  印象里这个应该是字符串比较函数,好,断点就选她试试吧
  VB跟VC就是不一样,跑几步就是一个call,不过几乎都是VB的库函数调用
  于是所有的call都无视,一个也没跟进去
  第一次跑就大概的跟一次,习惯性的注意寄存器窗口出现的字符串
  注意到一个"2]^MDjqo",样子却长的怪怪的
  数一下她字符个数,和输入的用户名一致,习惯性的记下来
  几分钟之后,OD跑到crackme弹出注册码错误的对话框
  打开crackme,输入用户名,注册码输入刚才记下来的一串字符
  点"注册",哇塞,注册成功
  真是出人意料,几分钟就搞定了,超级好运气啊
  
  接下来想到了SmartCheck(据说是VB杀手)
  之所以一开始没想到用她,是对她太陌生,跑出来的代码几乎看不懂
  以前用她crack一个VB的共享软件也失败了
  这次是想通过已知答案,了解她的运算过程
  拉到代码的最后,下面是截图:

  
  

  注意到那个小小的黄色闪电没有?
  看看名字:CmdRegister_Click,这也太明显了吧
  Len(String:"gardener") returns LONG:8         ;计算用户名长度
  Asc(String:"g") returns Integer:103         ;用户名字符的值,这是第一个字符
  Long (111) --> String ("111")
  String ("111") --> Long (111)         ;这2步不是浪费资源吗?难道VB的字符比较需要这样进行?
  Chr(Integer:111)         ;把111转成字符
  从上到下把8个数字转成字符是"oqjDM^]2",?,怎么这个跟真注册码是倒过来的
  再用OD快速的跟踪一次,发现注册码也是从右边开始生成的
  难道这个crackme的算法就是这样的?应该不是
  要是没猜错的话,VB对字符串的处理是从右到左的,跟中国古人写字习惯一样!
  
  算法不分析了(不知道从何下手)
  测试使用的用户名和注册码如下:
  注册名:gardener      注册码:2]^MDjqo
  
  汇编语言的条件跳转指令比较多,功能有些大同小异,大家觉不觉得有点难记?反正我以前都没办法全部记准确
  不过最近发现一个很简单的方法,保证你记牢记准确(高手肯定都知道,只给初学者看的)
  下面是所有跳转指令的功能图:
  
  ;跳转指令图------------------------------------------------------
  
  ;跳转指令图------------------------------------------------------
  
  看JE/JZ这组跳转指令的功能描述,Jump Equal or Jump Zero
  取Jump Equal的首字母正好是JE,JE的功能是相等就跳转,而Jump Equal也正是这个意思
  同理,取Jump Zero的首字母正好是JZ,JZ的功能是为零就跳转,而Jump Zero也正是这个意思
  再同理,其他跳转指令如此类推,是不是很容易记住了^_^
  
  在分析UltraDict的算法的时候,我经常频繁的翻看一本汇编的电子书
  觉得她是一本非常好的汇编教程,不敢独享,拿出来与大家分享
  上面的图也是从电子书里截取的
  
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2009年06月18日 22:26:06

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

上传的附件:
收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 370
活跃值: (52)
能力值: ( LV13,RANK:350 )
在线值:
发帖
回帖
粉丝
2
思路清晰,不错,支持一下
2009-6-24 12:27
0
雪    币: 205
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
GOOD or my god
2009-6-24 17:11
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4

不错的分析
2009-6-24 17:22
0
雪    币: 1
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习一下
2009-6-26 10:12
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
恩,不错,学习下
2009-6-26 10:34
0
游客
登录 | 注册 方可回帖
返回
//