首页
社区
课程
招聘
[旧帖] [原创]实用的文章 0.00雪花
发表于: 2007-2-24 16:49 3694

[旧帖] [原创]实用的文章 0.00雪花

2007-2-24 16:49
3694
实用的文章
kflnig
    学crack是为了什么。1为了学习知识,2为了实用。
超星阅览器ssreader大家用过没?我这边用着用着过了几天之后出来这个框,图1


图1

嘿小家伙,还会自动更新,可是在我这台没上网的电脑里,这是一点用都没有。所以由此引出了本文的主题。就是消灭它的自动更新。
去安装文件夹下看看,有update.exe这个文件,点了一下,果然是它在捣鬼。
PEID扫壳,没有!
OD载入(我用fixdbg)。ctrl+n,看看,找到个像点模样的
名称位于 ssreader, 条目 4821
  地址=00884988
  区段=.idata
  类型=输入    (已知)
  名称=KERNEL32.WinExec
就是WinExec惹得祸了。我们下断在WinExec。然后F9(运行)就断在了我们想要的地方。看堆栈就知道了。如图2


图2

0044E214  |> \52            PUSH EDX                          ; |CmdLine
0044E215      E8 FEDB3400   CALL <JMP.&KERNEL32.WinExec>;断在此
0044E21A  |.  EB 24         JMP SHORT ssreader.0044E240
我们可以看到地址0012F9A8中的值010A4024就是PUSH EDX的产物。所以我们只要把下面一个0044E215的call,nop掉就可以了,但是又要注意堆栈平衡。所以我们先F4到0040E21A,这里我们是为了观察堆栈的变化。如图3


图3
这时我们可以看到栈顶已经是0012F9B0了。所以我们要手动来设置堆栈平衡。
0044E215      E8 FEDB3400   CALL <JMP.&KERNEL32.WinExec>
我们把上面这条代码改成。
   POP EDX
   POP EDX
   其余的都nop掉就可以了。为了防止小鸟误操作,我把这段改的,贴出来了。
   0044E214  |> \52           PUSH EDX           ; |CmdLine
0044E215      5A            POP EDX
0044E216      5A            POP EDX
0044E217      90            NOP
0044E218      90            NOP
0044E219      90            NOP
0044E21A  |.  EB 24         JMP SHORT ssreader.0044E240
    然后,OD复制到可执行文件,全部复制,保存文件。就可以了。这样就永远不会出现可恶的更新框了。还好这个家伙没有校验。其实用PEID的kanal插件查一下,可以看到CRC32,MD5这些我原本一位是校验的算法。
    既然我已经开始搞了,这里还有一个看得不顺眼的。我虽然不知道扫描功能有什么用,但是竟然敢限制我,就是不爽。如图4


图4
    一看就知道又是MessageBoxA。我们断下。
/*641B9F*/  CMP DWORD PTR DS:[EAX+1F4],0
/*641BA6*/  JNZ SHORT ssreader.00641BD1
/*641BA8*/  PUSH 30
/*641BAA*/  PUSH ssreader.0083BEAE
/*641BAF*/  PUSH ssreader.0083BE92
/*641BB4*/  MOV EAX,ESI
/*641BB6*/  CALL ssreader.00566F94
/*641BBB*/  PUSH EAX
/*641BBC*/  CALL <JMP.&USER32.MessageBoxA>;断在这里
    然后往上找貌似判断的地方。641BA6这里的跳转实在是很像。所以在那里下个断,然后重新来一遍选择“文件――>新建――>扫描”,断下了。然后改变Z标志位。然后,然后就是,可以扫描了,我们把这里的JNZ 改成JMP。然后保存又是一处解决了。
    几十秒钟时间一切搞定了。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
呵呵。。高手。。看不太懂。。
2007-2-24 22:30
0
雪    币: 238
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
不错,文章短小,简明,精悍!!!
2007-2-26 21:36
0
雪    币: 146
活跃值: (72)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
学习了.!!!
2007-2-26 21:55
0
雪    币: 144
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
有个地址写错 0040E21A 堆栈平衡还是不懂
2007-3-8 17:25
0
雪    币: 235
活跃值: (12)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
6
呵呵,不用这么麻烦,把前面两个PUSH(两个参数)和CALL都NOP掉就可以了。
2007-3-8 20:28
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
没咋看懂~呵呵
2007-3-9 00:43
0
游客
登录 | 注册 方可回帖
返回
//