netnet.exe 应用程序错误脱壳破解后出现错误,研究无解求助

net程序 没有文字提示如何找到相关源代码 - 『脱壳破解讨论求助区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 877|回复: 8
net程序 没有文字提示如何找到相关源代码
阅读权限10
发帖求助前要善用【】功能,那里可能会有你要找的答案;
求助软件脱壳或者破解思路时,请务必在主题帖中描述清楚你的分析思路与方法,否则会当作求脱求破处理;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人。
本帖最后由 星星的声音 于
14:32 编辑
& && && && && &文件地址&&http://pan.baidu.com/s/1gdB5oQJ&&
首先 我找到了一个软件。& &注册后,可以使用。但是问题是使用有限制,一次性只能导入三个账号。
& && && && && & 再多导入账号,不显示,而且问题是关键是任何没有提示。
& && && && && && && && &&&file:///C:\Users\cecilia.lu\AppData\Roaming\Tencent\Users\\QQ\WinTemp\RichOle\O`)1VR0(G0QS%~ZF5H09W3R.jpg
& && && && & 我想这个程序,跟着论坛的教程做了的一下的步骤
& && && && && && && &
& && &&&4&&然后我运用那个Reflector打开
& && && && & 根据登陆提示“&&登录失败'
& && && && &&&
fdsf.png (29.86 KB, 下载次数: 0)
20:33 上传
& && && &找这个页面
& && && && && && &
QQ截图57.png (62.67 KB, 下载次数: 0)
20:36 上传
& && && &&& 在登录页面各种修改后,依然没有破除限制。
& && && && &&&
& && && && & =
& && && && && &
& && && && & 改变后用原密码去等,还是依然受限制一次只能导入3个账户
& && && && && &我在想是不是在导入账户的地方 也要修改一下源代码
& && && && &&&但是关键是 这里没有任何文字提示 我该怎么去找限制数量的源代码
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
&&后面应该怎么做啊&&我现在一头雾水
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
我把下面的改成一样&&还是无解
是不是要找到被限制的地方的代码啊
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
只有找到限制的相关代码才可以改啊。但是没有文字提示啊
这个怎么找呢
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
帖子毒药啊啊啊啊啊
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
有大神知道该怎么找相关代码吗 &
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
见过比我还帖子毒药的人吗
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限25
并没有软件
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
并没有软件
能给个思路吗? 该怎么找啊
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.一个.NET程序网络验证,搞不定,求分析 - 『脱壳破解讨论求助区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 2473|回复: 18
一个.NET程序网络验证,搞不定,求分析
阅读权限10
发帖求助前要善用【】功能,那里可能会有你要找的答案;
求助软件脱壳或者破解思路时,请务必在主题帖中描述清楚你的分析思路与方法,否则会当作求脱求破处理;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类改成【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】和【CB】,加分不会扣除自己的积分,做一个热心并受欢迎的人。
这是一款网游辅助,.net程序,是网络注册账号形式
11.png (34.3 KB, 下载次数: 0)
15:28 上传
辅助账号为123 密码123
22.png (44.72 KB, 下载次数: 0)
15:28 上传
点击启动游戏后会验证到期时间,且登录窗口和登录成功的功能窗口是同一个,无法直接call窗口达到
1.png (42.54 KB, 下载次数: 0)
15:30 上传
2.png (22.51 KB, 下载次数: 0)
15:30 上传
3.png (86.67 KB, 下载次数: 0)
15:30 上传
请问,类似这种网络验证的.NET程序应该怎么破,程序已。
附件链接: http://pan.baidu.com/s/1pJ1ntWJ 密码: q8ex
Game.exe 里面其实也有验证的...&
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
本帖最后由 Juno_Jr 于
15:49 编辑
这个密码123能直接登录啊有原版的说明吗game.exe呢缺少文件吧
QQ截图06.jpg (35.37 KB, 下载次数: 1)
15:44 上传
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
下面的2句就是对应上面的判断 把brtrue改成brfalse就是相等改成不等
修改后的..
20.png (47.49 KB, 下载次数: 0)
16:39 上传
谢谢好人一生平安
按你说的改完确实可以跳转,但是game.exe窗口出现时会弹出错误,而且Game.exe运行也不正常
10.png (22.3 KB, 下载次数: 0)
16:38 上传
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
这个密码123能直接登录啊有原版的说明吗
能详细说下哪里改吗,新手
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
这个密码123能直接登录啊有原版的说明吗game.exe呢缺少文件吧
卡号已到期那里改完neg后出现错误
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
能详细说下哪里改吗,新手
把判断的brtrue改成brfalse就行了
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
把判断的brtrue改成brfalse就行了
链接: http://pan.baidu.com/s/1pJH2xEb 密码: ra3i
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限20
下面的2句就是对应上面的判断 把brtrue改成brfalse就是相等改成不等
修改后的..
QQ截图10.jpg (103.93 KB, 下载次数: 0)
16:10 上传
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限100
本帖最后由 spguangz 于
16:18 编辑
这样行吗?
将跳到过期的跳转改掉
不过改掉后,按了启动之后既不提示过期 也没有反应 可能是因为没有game.exe
搜狗截图27.png (14.76 KB, 下载次数: 0)
16:16 上传
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
这样行吗?
将跳到过期的跳转改掉
不过改掉后,按了启动之后既不提示过期 也没有反应 可能是因为没有game ...
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.一个简单的.NET程序的脱壳以及破解 - 『脱壳破解区』
- 吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn
后使用快捷导航没有帐号?
只需一步,快速开始
请完成以下验证码
请完成以下验证码
查看: 49271|回复: 149
一个简单的.NET程序的脱壳以及破解
阅读权限150
前几天有朋友问.NET程序的,又鉴于论坛里关于.NET和破解的文章也不多,于是抽空写一个。由于本人也很少接触.NET的程序,因此文章没什么技术含量,用到的技术也是在网上很早就公开的东西。本文仅仅是本人分析.NET程序的一点基本套路而已,有什么错误还请多多指教。
本文的目标文件是一个非常简单的CrackMe.
本CrackMe的任务有4个:
3.去灰色按钮
OK,一个一个来完成任务吧。
查壳发现为:
1.GIF (18.64 KB, 下载次数: 41)
16:42 上传
按照经验,此程序应该是用.NET Reactor加的壳
下面来脱壳吧
根据前人经验,此壳其实只是在简单的混淆,在运行的同时,在内存中会释放原程序的镜像
根据这一特点,我们下断点:BP WriteProcessMemory,然后F9运行,中断下来
中断下来看堆栈
2.GIF (22.31 KB, 下载次数: 25)
16:42 上传
写入的地址为:17B1050
在数据窗口查看,然后拉到最顶端
3.GIF (37.74 KB, 下载次数: 13)
16:42 上传
可以发现,PE头在017B0000
于是可以dump此地址的镜像。
当然,此时dump下来的程序不行,因为还有好多内容没写入。于是,不断SHIFT+F9,直到程序运行。
这时候就可以dump了.
用LordPE,区域转存017B0000这个区段,保存为dumped.exe就OK了.
4.GIF (26.64 KB, 下载次数: 12)
16:42 上传
不过,此时dump后,程序是无法运行的。
我们还得再用CFF修正几个量
(1).选Nt Headers,再File Header,然后选Characteristics,再点旁边的Click here,在出现的对话框中,去掉“File is a DLL”就OK了。
5.GIF (50.69 KB, 下载次数: 16)
16:42 上传
(2)修正MetaData RVA和MetaData Size的值
MetaData RVA值的获得可以用2种方法
第一种:原程序中,下完BP WriteProcessMemory,F9运行,第一次中断的时候就dump这个区段,此时的MetaData RVA是正确的。
在CFF中,选.NET Directory,看MetaData RVA的值,并记录:
6.GIF (58.25 KB, 下载次数: 10)
16:42 上传
记录这个值为A400,然后在dumped.exe中同样修正这个值为A400
第二种:参考老K的文章
CFF中,选Address Converter,然后搜索字符“BSJB”
7.GIF (30.88 KB, 下载次数: 9)
16:42 上传
搜索到偏移地址为:9400
接着就换算成RVA的值:
8.GIF (9.24 KB, 下载次数: 9)
16:42 上传
换算结果同样为A400
下面接着来计算MetaData Size的值
选Optional Header,接着点Data Directories [x],然后看Import Directory RVA 的值
9.GIF (58.5 KB, 下载次数: 15)
16:42 上传
记下值为BD4C
MetaData Size=BD4C-A400=194C
故把MetaData Size的值修正为194C
10.GIF (60.55 KB, 下载次数: 12)
16:42 上传
最后,把修改完的程序保存,就OK了,程序可以正常运行了。
脱壳就到此结束了,再用查下,已经无壳了
11.GIF (18.48 KB, 下载次数: 9)
16:42 上传
另外一种抓取镜像文件的方法如下(参考老K文章):
首先运行下原程序,继续下标题为:Sample Crackme
OD载入程序,接着F9运行程序,然后ALT+M打开内存镜像,CTRL+B,在搜索UNICODE字符串“Sample Crackme”
111.GIF (17.99 KB, 下载次数: 9)
16:48 上传
大约搜索2次后,就来到下面的地方:
112.GIF (27.19 KB, 下载次数: 9)
16:48 上传
拉到最上端
113.GIF (31.03 KB, 下载次数: 10)
16:48 上传
然后就选备份,保存数据文件,扩展名改为.exe就行
114.GIF (20.93 KB, 下载次数: 8)
16:48 上传
后续的操作同上
运行程序可以发现,此程序有个讨厌的NAG,并且作者也要求我们去掉
12.GIF (7.81 KB, 下载次数: 8)
16:50 上传
分析.NET程序常用的工具为:ildasm2.0,Reflector,xenocode fox
我这里就用xenocode fox这个了,因为这个工具可以查看地址
当然,默认的选项可能没显示地址,我们可以自己手动改下设置
在设置中,选DeCompiler这个选项卡,然后勾上“Show method body address”前面的勾就OK了
13.GIF (28.13 KB, 下载次数: 7)
16:50 上传
在语言(Language)选项中,我们先为了分析方便,可以选C#语言,当然你也可以选其他的
14.GIF (14.08 KB, 下载次数: 6)
16:50 上传
OK,下面就找关键地方吧,这个没什么好说的,靠自己去寻找。
15.GIF (32.04 KB, 下载次数: 6)
16:50 上传
很明显了吧,这个地方就是显示NAG窗口的代码。
下面就修改这个代码吧,思路就是,在此代码段的头,直接ret,这样,就可以避免产生NAG窗口了。
为了看机器码和偏移地址,我们把语言改为中间语言IL Assembly
代码如下:
method private hidebysig instance void uuNkODx(object, [mscorlib]System.EventArgs) cil managed
{
& &&&// Method Body Address: 0x
& &&&// Code Size: 14 byte(s)
& &&&.maxstack 1
& &&&.locals init (
& && && & SampleCrackme.frmNag nag1)
& &&&L_0000: newobj instance void SampleCrackme.frmNag::.ctor()
& &&&L_0005: stloc.0
& &&&L_0006: ldloc.0
& &&&L_0007: callvirt instance [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.Form::ShowDialog()
& &&&L_000c: pop
& &&&L_000d: ret
}
复制代码可以发现,ret的机器码为0x 2A,而开头代码段的机器码为0x 73,偏移地址为0x
接着就用16进制编辑工具打开脱壳后的程序,定位到0x,把起始代码0x 73修改为0x 2A
16.GIF (20.71 KB, 下载次数: 6)
16:53 上传
修改后保存一下,就去掉NAG了
三、去灰色按纽
17.GIF (10.25 KB, 下载次数: 7)
16:53 上传
原程序这个Check按纽是灰色,而用一般的灰色按纽精灵又去不掉,因为,我们就自己手动来去吧。
同样用xenocode fox来进行分析
private void uQZDKK ()
{
& &&&// Method Body Address: 0x
& &&&uuNkODx = new Container();
& &&&uvUSBXHuS = new Label();
& &&&ubGakVp2Mu = new Label();
& &&&uJUoPB0V4HyITVABlwk = new TextBox();
& &&&uQZDKK = new TextBox();
& &&&uSIEDr = new Button();
& &&&ulcmJh = new Button();
& &&&usL7yU = new Button();
& &&&u2lcYy2h = new ToolTip(uuNkODx);
& &&&base.SuspendLayout();
& &&&uvUSBXHuS.AutoSize =
& &&&uvUSBXHuS.Location = new Point(9, 11);
& &&&uvUSBXHuS.Name = &label1&;
& &&&uvUSBXHuS.Size = new Size(0x23, 13);
& &&&uvUSBXHuS.TabIndex = 0;
& &&&uvUSBXHuS.Text = &Name&;
& &&&ubGakVp2Mu.AutoSize =
& &&&ubGakVp2Mu.Location = new Point(9, 0x28);
& &&&ubGakVp2Mu.Name = &label2&;
& &&&ubGakVp2Mu.Size = new Size(0x21, 13);
& &&&ubGakVp2Mu.TabIndex = 1;
& &&&ubGakVp2Mu.Text = &Serial&;
& &&&uJUoPB0V4HyITVABlwk.Location = new Point(0x35, 9);
& &&&uJUoPB0V4HyITVABlwk.Name = &txtName&;
& &&&uJUoPB0V4HyITVABlwk.Size = new Size(0xe3, 0x14);
& &&&uJUoPB0V4HyITVABlwk.TabIndex = 2;
& &&&uJUoPB0V4HyITVABlwk.TextAlign = HorizontalAlignment.C
& &&&uQZDKK.Location = new Point(0x35, 0x25);
& &&&uQZDKK.Name = &txtSerial&;
& &&&uQZDKK.Size = new Size(0xe3, 0x14);
& &&&uQZDKK.TabIndex = 3;
& &&&uQZDKK.TextAlign = HorizontalAlignment.C
& &&&uSIEDr.Enabled =
& &&&uSIEDr.FlatStyle = FlatStyle.F
& &&&uSIEDr.Location = new Point(12, 0x45);
& &&&uSIEDr.Name = &btnCheckIt&;
& &&&uSIEDr.Size = new Size(0x3f, 0x1a);
& &&&uSIEDr.TabIndex = 4;
& &&&uSIEDr.Text = &&Check It!&;
& &&&u2lcYy2h.SetToolTip(uSIEDr, &2. Challenge, please enable this button&);
& &&&uSIEDr.UseVisualStyleBackColor =
& &&&uSIEDr.Click += new EventHandler(this.uJUoPB0V4HyITVABlwk);
& &&&ulcmJh.DialogResult = DialogResult.C
& &&&ulcmJh.FlatStyle = FlatStyle.F
& &&&ulcmJh.Location = new Point(0x72, 0x45);
& &&&ulcmJh.Name = &btnExit&;
& &&&ulcmJh.Size = new Size(0x3f, 0x1a);
& &&&ulcmJh.TabIndex = 5;
& &&&ulcmJh.Text = &&Exit&;
& &&&ulcmJh.UseVisualStyleBackColor =
& &&&ulcmJh.Click += new EventHandler(this.uvUSBXHuS);
& &&&usL7yU.FlatStyle = FlatStyle.F
& &&&usL7yU.Location = new Point(0xd8, 0x45);
& &&&usL7yU.Name = &btnAbout&;
& &&&usL7yU.Size = new Size(0x3f, 0x1a);
& &&&usL7yU.TabIndex = 6;
& &&&usL7yU.Text = &&About&;
& &&&usL7yU.UseVisualStyleBackColor =
& &&&usL7yU.Click += new EventHandler(this.ubGakVp2Mu);
& &&&base.AcceptButton = uSIEDr;
& &&&base.AutoScaleDimensions = new SizeF(6.00F, 13.00F);
& &&&base.AutoScaleMode = AutoScaleMode.F
& &&&base.CancelButton = ulcmJh;
& &&&base.ClientSize = new Size(0x124, 0x65);
& &&&base.Controls.Add(usL7yU);
& &&&base.Controls.Add(ulcmJh);
& &&&base.Controls.Add(uSIEDr);
& &&&base.Controls.Add(uQZDKK);
& &&&base.Controls.Add(uJUoPB0V4HyITVABlwk);
& &&&base.Controls.Add(ubGakVp2Mu);
& &&&base.Controls.Add(uvUSBXHuS);
& &&&base.FormBorderStyle = FormBorderStyle.FixedToolW
& &&&base.Icon=
(Icon)newComponentResourceManager(typeof(Form1)).GetObject(&$this.Icon&);
& &&&base.Name = &Form1&;
& &&&base.StartPosition = FormStartPosition.CenterS
& &&&Text = &Sample Crackme&;
& &&&base.Load += new EventHandler(this.uuNkODx);
& &&&base.ResumeLayout(false);
& &&&base.PerformLayout();
}
复制代码仔细分析可以发现这行代码:
uSIEDr.Enabled =
很明显,就这行代码把这个按钮的可用属性设置为了假,也就是变成的灰色按钮
下面,我们就把这个“假”修改为真,让这个按纽可用,把语言修改为中间语言,再分析
代码太多,稍微省略点:
// Method Body Address: 0x
L_01e5: ldarg.0
& &&&L_01e6: ldfld [System.Windows.Forms]System.Windows.Forms.Button SampleCrackme.Form1::uSIEDr
& &&&L_01eb: ldc.i4.0
& &&&L_01ec: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Enabled(bool)
& &&&L_01f1: ldarg.0
& &&&L_01f2: ldfld [System.Windows.Forms]System.Windows.Forms.Button SampleCrackme.Form1::uSIEDr
& &&&L_01f7: ldc.i4.0
& &&&L_01f8: callvirt instance void [System.Windows.Forms]System.Windows.Forms.ButtonBase::set_FlatStyle([System.Windows.Forms]System.Windows.Forms.FlatStyle)
& &&&L_01fd: ldarg.0
& &&&L_01fe: ldfld [System.Windows.Forms]System.Windows.Forms.Button SampleCrackme.Form1::uSIEDr
& &&&L_0203: ldc.i4.s 12
& &&&L_0205: ldc.i4.s 69
& &&&L_0207: newobj instance void [System.Drawing]System.Drawing.Point::.ctor(int32, int32)
& &&&L_020c: callvirt instance void [System.Windows.Forms]System.Windows.Forms.Control::set_Location([System.Drawing]System.Drawing.Point)
& &&&L_0211: ldarg.0
& &&&L_0212: ldfld [System.Windows.Forms]System.Windows.Forms.Button SampleCrackme.Form1::uSIEDr
& &&&L_0217: ldstr &btnCheckIt&
复制代码简单分析结果为:
&&L_01eb: ldc.i4.0 的代码修改为相反的,也就是原来的机器码0x16修改为0x17
现在来计算下偏移地址:
0xeb=0x1813
同样用16进制工具修改:
18.GIF (22.28 KB, 下载次数: 6)
16:53 上传
修改完后保存,看下效果
19.GIF (10.57 KB, 下载次数: 5)
16:53 上传
哈,灰色按钮去掉了。下面就进行最后1个步骤了:破解!
继续用那工具分析吧
private void uJUoPB0V4HyITVABlwk (object , EventArgs )
{
& &&&// Method Body Address: 0x
& &&&new MD5CryptoServiceProvider();
& &&&byte[] inArray = new UTF8Encoding().GetBytes(uJUoPB0V4HyITVABlwk.Text);
& &&&string text1 = Convert.ToBase64String(inArray);
& &&&if ((uQZDKK.Text == &&) || (uJUoPB0V4HyITVABlwk.Text == &&))
& &&&{
& && && & MessageBox.Show(&Please enter your name and serial&, &Reverse Engineering Association&);
& &&&}
& &&&else if (text1 == uQZDKK.Text)
& &&&{
& && && & MessageBox.Show(&Congratulation! You are very good&, &Reverse Engineering Association&);
& &&&}
& &&&else
& &&&{
& && && & MessageBox.Show(&No,no try it again&, &Reverse Engineering Association&);
& &&&}
}
复制代码汗,源代码几乎都出来了,应该是很明显了吧
算法已经一目了然了吧:
RegCode=base64(RegName)
验证一下:
RegName=ximo
RegCode=eGltbw==
20.GIF (15.86 KB, 下载次数: 5)
16:53 上传
看,注册成功了吧
下面再看下爆破的,分析下中间代码:
省略点代码:
// Method Body Address: 0x
&&L_0069: callvirt instance string [System.Windows.Forms]System.Windows.Forms.Control::get_Text()
& &&&L_006e: call bool string::op_Equality(string, string)
& &&&L_0073: brfalse.s L_0086
& &&&L_0075: ldstr &Congratulation! You are very good&
& &&&L_007a: ldstr &Reverse Engineering Association&
& &&&L_007f: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string)
& &&&L_0084: pop
& &&&L_0085: ret
& &&&L_0086: ldstr &No,no try it again&
& &&&L_008b: ldstr &Reverse Engineering Association&
& &&&L_0090: call [System.Windows.Forms]System.Windows.Forms.DialogResult [System.Windows.Forms]System.Windows.Forms.MessageBox::Show(string, string)
& &&&L_0095: pop
& &&&L_0096: ret
复制代码也是很明显吧
L_0073: brfalse.s L_0086
把此代码的fale改为true就行了,换成机器码就是
0x2C改0x2D
偏移地址为:
21.GIF (20.38 KB, 下载次数: 7)
16:53 上传
保存看效果:
22.GIF (22.75 KB, 下载次数: 5)
16:53 上传
看到没,随便输什么都正确了。
整个CM的分析到此全部结束了。
总结一下:
其实.NET程序的分析也没想象中的那么难,上手也是比较容易的。新手朋友也不要怕.NET程序,其实.NET程序有点类似VB的P-CODE的分析。不过分析也是需要很大的耐心,并掌握写常用的机器代码。附上张Squn提供的机器码对照表,方便大家:
未命名.jpg (16.44 KB, 下载次数: 11)
16:57 上传
其实我也是刚刚才接触.NET程序,文章中难免有很多错误,请大家多多包涵,并提出错误的意见,谢谢。
作者:ximo[LCG]
16:58 上传
点击文件名下载附件
下载积分: 吾爱币 -1 CB
534.18 KB, 下载次数: 505, 下载积分: 吾爱币 -1 CB
我很赞同!
大牛威武啊~~~膜拜啊
2威望怎么能形容超人的超!
本帖被以下淘专辑推荐:
& |主题: 73, 订阅: 53
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
大大,,这个公式我还不是很明白:数据的文件偏移 = (数据的内存RVA-数据所在节的RVA)+数据所在节的文件偏移
数据的内存RVA=虚拟地址
数据所在节的RVA=rva地址
数据所在节的文件偏移=BSJB搜索出来的偏移
这样理解对吗??
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
很喜欢这样的文字教程,因为不能经常呆在电脑前面。。大神多出点哟
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限30
超神就是强大
沙发咯 ~~~
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
没啥好说的,顶就一个字了,收藏起来以后再看!!!!!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
实在强大&&佩服&&佩服
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
超神力收徒弟不?
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
必须收藏!!!
以备后用!!!
过段时间在写个CM.NET
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
这个的确强悍!直接看不懂啊!
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
没动过NET程序,收藏一份.
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限10
看看有没有我期待的?&&帮楼主顶了
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
阅读权限40
超大& &只有膜拜的分& & :)
发帖求助前要善用【】功能,那里可能会有你要找的答案;如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】;如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
免责声明:吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。
( 京ICP备号 | 京公网安备 87号 )
Powered by Discuz!
Comsenz Inc.

我要回帖

更多关于 易语言程序脱壳 的文章

 

随机推荐