首页
社区
课程
招聘
未解决 [求助]简单的带壳破解
发表于: 2018-12-22 21:51 2191

未解决 [求助]简单的带壳破解

2018-12-22 21:51
2191
最近再看一套破解教程,其中一节是带壳破解,下面是我整理的过程,有些不明白的地方,希望大家指点一下
有两个疑问
  •  为什么是401000,为什么要先把程序运行起来? 
  • 401000后为什么是那种界面 


打开程序,提示是未购买用户


随便输入一个用户名和注册码


点击确定后会自动退出程序,实际上它记录了之前输入的用户名和注册码,再次打开程序时会进行验证


因为输的是无效的,所以再次打开还是未购买用户


将程序载入OD,F9 运行起来


点击箭头指向的箭头或摁快捷键 ctrl+G 输入“401000”确定


疑问:这里的401000是程序的入口?为什么要先把程序运行起来?


跳转后有的不是这个界面是这样的,右键>分析>从模块中删除分析



疑问:这里我看的那个教程说的很模糊,说上面那样是“已经脱离了壳了” 是什么意思?


智能搜索


。。。。。。。。。。。。。。。。。。。。。。。后面没有疑问了。。。。。。。。。。。。。。。。。。。。。。。。。。


搜索结束后右键>find,输入:未购买


找到后双击那一行


双击后会跳转到这句话所对应的反汇编窗口的位置

注意左边的红线,那是跳转路径,可以看到:

在 004BC924 处有一个跳转,这个跳转如果实现的话就不会验证为“未购买用户”了


由于程序带壳,还不会脱壳,没法保存,所以这里不通过改跳转的方式破解

在上面找到了注册表项,应该就是这一部分进行了验证码的存取和对比,导致验证失败,对它下一个断点


初始化,点击箭头指的按钮


选择插件>API断点设置工具>常用断点设置


添加一个“取初始断点”


添加断点后 F9 执行,发现程序停在了这个地方,此时程序已经解码,但是还没有运行起来,没有进行验证注册信息


点击工具栏的 B 摁钮,查看所有的断点


这里有两个,一个是之前添加的注册表项的断点

一个是取初始断点,其中注册表项因为之前重新载入已经禁止了

把它重新激活,把取初始断点禁止掉,它已经没用了

这样


点击上面的 C 摁钮重新回到之前的操作界面


F9 运行起来,会在注册表项这里断掉,


开始用箭头指的摁钮一步一步往下走(快捷键 F8)


走了几步后返现了之前输入的没有用的注册码:

1111111111111111111


再往下走几步

发现了一串可疑的字符串,复制下来



用之前的用户名,得到的字符串进行验证


重新打开程序


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 1270
活跃值: (3280)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
抓到一个软柿子
2018-12-23 09:54
1
游客
登录 | 注册 方可回帖
返回
//