吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1895|回复: 11
收起左侧

[原创] 摸爬滚打着学习破解之路--第三章 CRACKME160之三

[复制链接]
niestcheer 发表于 2022-4-20 00:53

摸爬滚打着学习破解之路--第三章  CRACKME160之三

前言

上一章说去学习视频,真的去学习了。知道了个TLS这么个东西,但是你问我会不会用,哈哈,我现在只是知道就不错了,要用的时候再回去翻视频吧。现在脑子里记得还有个VEH,但是依旧完全想不起来是干啥的了。不动手是真的容易忘,所以练手之路继续。(可能我太高产了,前面三篇文章,本来已经审过了一篇的,18号编辑了一下,重新审。现在18号新写的一篇,19号写的一篇都还没过审,20号写的一篇都已经上传了。为自己的学习精神点赞。哈哈)

正题

今天依然继续冲着3\160的目标前进。冲啊!


CRACKME 编号 3 破解之路

  1. 破解第一步:运行程序,确定破解目标
    • 运行程序。哎呀,今天这个程序有点恶心人啊,运行以后出来个框框,然后不让动了,非要等一会才能出程序主界面。把弹窗和程序主界面都放下面:
      1.这是什么意思.png 2.进入主界面.png
    • 嗯嗯,今天的程序主界面很明确告诉你,让你干掉这个欢迎窗口,然后再找到用户名和密码。(如果我没理解错的话,找到用户名密码的意思是都内置好了?)
    • 不管了,先搞掉恶心人的欢迎界面吧。
  2. 破解第二步:明确破解目标,确定破解思路
    • 现在的目标是干掉恶心人的欢迎界面。
    • 先按传统思维逻辑来,我一般喜欢在程序正好发生的地方,去跳过它。
    • 按照这个逻辑,我应该找到窗口生成的位置,然后要么跳过,要么NOp掉。
    • 好,开干!
  3. 破解第三步:找到关键破解点,暴力开干
    • 新程序来了。我们得按照大大门总结的经验来,看看有没有壳。
      3.查壳.png
    • OK!漂亮,依然没壳,依然是VB写的。
    • 程序拖进OD。今天程序进OD终于来了新变化了,出来个弹窗提示,如下图:
      4.压缩代码提示.png
    • 说实话,我不知道这是什么意思,本来我看画眉老师的视频是说,有这个提示可能有壳,这不是查了没壳了么。所以不管了,点确定。
      5.程序进入点.png
    • 好了,程序停在了进入点。这次的进入点有点意思,啥事不干,马上给你来个CALL。看不懂就不鸟它先。直接下断点,下的断点如下图:
      6.下的断点.png
    • 让程序运行起来,然后断下来。
      7.程序断下的第一个位置.png
    • 好吧。从这里开始,离上次断下来界面的时间已经过去了2个小时了。问题太多了,如果把截图都放上来。估计各位看客们要看上个把小时。所以我简单的介绍下我中间都干了些什么蠢事吧。
    • 第一个小时,我还是按照上面的思路找到了调用欢迎窗口的位置。位置在740485D3。这个位置我把截图发出来吧。
      8.欢迎窗口的位置.png
    • 大家看堆栈的位置,显示Form1。应该是欢迎窗口没错咯。所以我按照我原来的思路,干掉它做了什么尝试了,首先当然最简单的,直接NOP掉了。
    • 然后程序,叮,报错。
    • 好吧,不能NOP,我就想着要怎么跳过呢?跟进去然后直接返回吗?我现在知道我很傻,居然有了这样的想法,大家千万别去尝试,因为那个位置被无数地方调用,改了,也是直接程序崩溃。
    • 好吧,现实告诉我这么简单是搞不定的了。我就想为什么我NOP掉不行呢。就又调试了好几次,好几次,好几次,因为一直没有新的思路,所以再各种死磕。突然我发现CALL那句执行了以后,到后面一句的时候,有4个寄存器有了变化,EAX,ECX,EDX,ESP,所以我就又突发奇想,是不是改了代码,然后想办法把所有寄存器改变的地方都搞定,也能解决这个问题呢。
    • 然后我就进行了尝试,这个尝试首先又花了半个多小时,因为尝试了很多方法。一直没有成功,不知道有没有汇编大牛告诉我,这里到底能不能这么改来实现。
    • 再然后我实在解不开了,开始搜索资料想学习下别人的资料,看到了VB的4C大法,妈呀,真的简单。过程我就不复述了,论坛里多的是。
    • 正常情况我该放弃了。但是我又觉得不甘心,然后我干了什么。我又按照自己的思路去瞎搞,从740485D3这个位置跟了进去,然后看到里面还有一个CALL,如下图:
      9.最终调出窗口的CALL位置.png
    • 我又开始不了不安分的想法,我就在想能不能在停在这个CALL的时候,我把EIP修改了,然后直接不执行CALL,走下一步去呢。
    • 这里我想问下各位大牛,为啥OD里面不能像改其他寄存器位置一样,直接修改EIP的位置。我很是惆怅,还好昨天说补画眉老师的视频,真的去补了,刚好看到OD的脚本编写,我就很白痴的写了个给EIP赋值的脚本,然后,欢迎界面就这么消失了。但是,也只是这一次消失了。后面每次都得OD打开,先断再我需要的位置,然后运行脚本。这样肯定不是解决了问题。
    • 到了这里,其实今天的破解是非常失败的,因为除了4C大法,能把程序破解了再重新保存成可执行文件。脚本的方式我还不知道怎么加判断,让它准确的在我需要修改的时候修改EIP。然后能在程序里面执行。请各位大大给点解决的学习途径。

今天是尝到了苦涩的一天,虽然4C大法可行,但是自己的思路不行的时候,还是满满的遗憾。这里就留个难题,等再学习学习,看看能不能找到自己思路的解决办法把。


今天到此为止,剩下的验证部分,等下一章再继续了。现在脑子一团浆糊。

免费评分

参与人数 2吾爱币 +2 热心值 +2 收起 理由
陈世界 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
YUN6663 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| niestcheer 发表于 2022-4-20 21:06

这一期不是成功的经验,我怕越详细,越把大家带坑里了,而且中间我走了太多弯路,我都不知道该怎么更详细了。我最终还是用的4C大法完成的去NAG,4C大法论坛里已经有了一堆了,再写有点累赘了。然后文章是我的一些思考。最后也是用简单的一句 MOV EIP,77D2AF85 和 ESTO 这么两句简单的脚本语言,在执行到最后找到的那个CALL的时候不执行它,直接走脚本。看看有没有大神能帮我确定下,我是运气好成功的,还是这个思路可行,但是我在哪些点有欠缺,所以有思路,最终不足以完成。
 楼主| niestcheer 发表于 2022-4-21 15:32
moshuiNW 发表于 2022-4-21 13:56
EIP指向代码段,也就说EIP指向的地址就是接下来执行的地址

EIP干什么的这个我知道了,所以,我修改了EIP的指向,跳过了那个弹NAG的CALL。这里就很尴尬的,我在OD里面不知道怎么在这个CALL的位置断下来的时候,像修改寄存器地址一样修改EIP。所以写了个极其简单的脚本来执行了EIP的修改。然后就是脚本我不知道怎么给打包到执行程序里。
bangbang0329 发表于 2022-4-20 15:40
tukuai88ya 发表于 2022-4-20 16:02
谢谢分享。
美美木耶 发表于 2022-4-20 20:08
建议在详细一点
头像被屏蔽
NJSYDG 发表于 2022-4-21 12:40
提示: 作者被禁止或删除 内容自动屏蔽
moshuiNW 发表于 2022-4-21 13:56
EIP指向代码段,也就说EIP指向的地址就是接下来执行的地址
moshuiNW 发表于 2022-4-21 16:51
niestcheer 发表于 2022-4-21 15:32
EIP干什么的这个我知道了,所以,我修改了EIP的指向,跳过了那个弹NAG的CALL。这里就很尴尬的,我在OD里 ...

emmm,我们继续学习吧,我也不懂  害..
xiaoyu2032 发表于 2022-4-21 22:29
楼主先搞清程序领空和系统领空的概念,不能跑到系统领空里面去改啊。。。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-5-2 12:15

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表