Crackme050

蚀纹阈值
• 阅读 932

程序观察

这个程序是有壳的
Crackme050

打开程序,首先出现一个弹窗。弹窗关闭之后才会出现程序本体
Crackme050

Crackme050

程序没有让输入注册码的地方,只有一个地方显示 "Unregistered"。

可以看出来这个程序是让 去除弹窗和修改代码的。
Crackme050

脱壳

因为这个程序带壳,所以我们首先要脱壳。
在这之前我也没有手动脱壳的经验,但是脱壳工具都没用,无奈之下只能自己动了。

使用 OD 载入程序,可以看到代码头部有很多 push
Crackme050

向下执行,可以看到有相同数量的 pop,还有一个 jmp,很可能就是这里了
Crackme050

执行完跳转命令,来到了地址 401000 处
Crackme050

其实第一次不是这样的,是下面这样的(图是盗别人的。。)
Crackme050

这时候让 OD 分析一下就会变成我的代码的样子了,然后我们使用 OllyDump 脱壳(重建输入表要选方式2,方式1会报错)
Crackme050

然后就脱壳成功了
Crackme050

程序分析

去除弹窗

使用 OD 载入程序,程序很简洁明了,去除弹窗的关键就是地址 40105c 处的跳转语句,只要将其修改为 jmp 4010D7 即可

Crackme050

Crackme050

修改状态

搜索字符串,可以看到"Unregistered"
Crackme050

跟进代码,由于此处代码只在刚开始的时候执行,所以需要在函数处下断点,然后重新加载程序。

查看函数的参数
Crackme050

将其 Text 参数修改为 00402050 即可
Crackme050

Crackme050

这个程序虽然是标的是三星,但是感觉并不难。还是说哪里有我忽略的地方?

相关文件在我的 Github

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Easter79 Easter79
4年前
vue 弹窗式 滑动图片验证码
效果图:!(https://oscimg.oschina.net/oscnet/b752f73a444f2bcb7cc4d21a9ccab54c68f.png)具体代码:test.vue//整个页面是个弹窗visible控制弹窗的显示关闭默认打开<template<divclass
CuterCorley CuterCorley
4年前
Linux使用 常见经验和技巧总结
1.XShell连接远程Linux服务器并运行程序后关闭XShell继续执行XShell是用来连接远程Linux很好的工具,在连接之后并运行好需要运行的程序后,往往需要关闭XShell,但是直接运行比如运行pythoncrawler.py运行一个Python爬虫程序后,并直接关闭XShell往往会同时杀掉正在运行的爬虫程序,因此需要使用sudo
happlyfox happlyfox
4年前
[cobra]-强大的CLI应用程序库
关于我cobra介绍<imgsrc"https://gitee.com/happlyfox/img/raw/master/image20210218091620719.png"alt"title.img"style"zoom:80%;"/Cobra是一个用于创建强大的现代CLI应用程序的库,也是一个用于生成应用程序和命令文件的程序
Stella981 Stella981
4年前
QTableWidget界面有数据之后鼠标点击无响应界面无响应
1.问题:QTableWidget上出现数据之后,界面无响应,鼠标点击没有响应,但是还是可以正常接收数据,连关闭按钮都无法关闭,必须通过杀死进程来关闭程序。有的电脑是无响应,有的电脑又可以。2.分析:界面无响应的原因:(1)程序崩溃卡死,点击会无响应,但是数据还在正常接收,说明不是,排除(2)界面上出现了模态对话框,只有关闭了模态
Stella981 Stella981
4年前
GDB原理之ptrace实现原理
在程序出现bug的时候,最好的解决办法就是通过 GDB 调试程序,然后找到程序出现问题的地方。比如程序出现 段错误(内存地址不合法)时,就可以通过 GDB 找到程序哪里访问了不合法的内存地址而导致的。本文不是介绍GDB的使用方式,而是大概介绍GDB的实现原理,当然GDB是一个庞大而复杂的项目,不可能只通过一篇文章就能解释清楚,所以
Stella981 Stella981
4年前
Android开发中StackOverflowError错误实例分析
Android开发中StackOverflowError错误实例分析一、概述我在一个复杂的layout嵌套较多的android界面,碰到了java.lang.StackOverflowError这个FatalException,app程序crash退出。这个错误出现的比较奇怪,在我做技术调研的时候,这个界面是放在单独的一个程序中展示的,
Wesley13 Wesley13
4年前
Java基础学习总结(22)——异常处理
一、异常的概念  异常指的是运行期出现的错误,也就是当程序开始执行以后执行期出现的错误。出现错误时观察错误的名字和行号最为重要。!复制代码(http://static.oschina.net/uploads/img/201601/20135455_tyka.gif)1packagecn.javastudy
Stella981 Stella981
4年前
Layer 关闭弹窗
var index  parent.layer.getFrameIndex(window.name); //获取窗口索引parent.layer.close(index);layer.open({                            type : 2,                            skin : '
Stella981 Stella981
4年前
MyEclipse2014 Update Progress弹窗频繁出现的问题解决
备注20170825:实际验证该效果只适合开始的时候,时间长了还是会蹦出弹窗,目前出现弹窗后本人是直接将之最小化到左下角,基本不会干扰.这两天开始使用MyEclipse2014之后,UpdateProgress弹窗更加频繁,十分烦人.上网上搜了很多方法,适用性较差,结合实验直接将自己的方法给出:1.关掉在打开的MyEclipse2014;2
性能翻倍!京东亿级体量小程序优化实践 | 京东云技术团队
一、前言小程序性能是指小程序在微信APP或者其他宿主APP中加载和呈现的速度,以及小程序对用户交互的响应程度。性能欠缺的小程序渲染和响应速度较慢,甚至会出现无法正常打开小程序的情况,在不同程度上极大地影响了用户体验,从而导致用户流失。京东购物小程序随着更多