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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 83633|回复: 87

[.NET逆向] Reflector 之reflexil使用

    [复制链接]
mcevilrock 发表于 2014-7-8 13:57
本帖最后由 mcevilrock 于 2014-7-8 19:57 编辑

潜水潜了那么久,上来换口气..
昨天和小伙伴一起玩一个CrackMe(C#),打算一起来写KeyGen,他用的是爆破的方法,我修复程序后发现里面常量各种溢出...无奈,只能用reflexil注入方法,然后写出KeyGen.
分享下使用reflexil常用的几个方法..


Reflector 之reflexil使用
先写个简单的控制台程序
CodeMain.png
工具,添加插件.
AddPulgn.png
选中reflexil 1.6 (1.7从来没附加成功过.不知道为啥..)
图片3.png
一 直接修改操作数
图片4.png
可以直接编辑IL
图片5.png
Update 后
在程序集中右键
图片6.png
另存程序.
执行刚保存的程序
图片7.png
还可以直接添加IL 接着让后面继续输出
二 直接注入IL
右键,新建(new Create),填写对应的操作码,选择类型,
值得注意的是右边的按钮,append(添加),接着是插入在选择之前,然后是插入在选择之后;选错了.
图片8.png
图片9.png
注意    注入的时候操作数的类型别选错了.
然后继续参照上面的,程序另存一次.
图片10.png
三 替换代码
如果不想折腾IL,直接选择 替换所有代码.
图片11.png
不过这意味着你要重写所有代码(大多数时,都会用在重写某个方法上)…然后提交一下,会自动编译, 然后继续参照上面的,程序另存一次.
图片12.png
提交完成后会自动编译,并且再右侧区域会生成对应的IL.
然后继续参照上面的,程序另存一次.
执行下
图片13.png
四  注入方法
图片14.png
别选错地方了.你要将方法注入到某个类中,不是注入class所以,一定是在类上右键
图片15.png
暂时只能注入返回值为void的方法
对了,点击OK后会有个该死的提示,提示的大致意思是:
当你在执行,增加,删除,重命名,动作时,不会直接看见相应的操作,他们是不同步的.
你必须要重新加载程序集才可以看见.
当然,还需要将程序另存一次.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
然后你需要关闭程序集,接着重新打开刚才另存的 图片16.png
现在方法已经注入进去了.
图片17.png
然后我需要给它添加点内容..
让方法输出个InjectedMethod字符串
在方法中添加IL
图片18.png
接着修改Main方法,并且调用刚才注入的方法.
图片19.png
另存下..
执行结果.
图片20.png
Ps:   如果是替换代码的话,先更改injectmethod时不用实现main方法,只需要修改injectmethod()方法,然后再去修改Main方法.调用时因为injectmethod方法不是static所以需要实例化Program
接下来说说添加有参数,返回值的方法:
先在参数(parameter)标签,中添加一个参数.
图片21.png
然后在属性标签中修改返回值为string.
图片22.png
接着使用替换代码的功能
图片23.png
可以看见方法已经带有参数并且有返回值.
修改下这个方法
图片24.png
打印下传进来的名字,并且打印当前时间
修改主函数调用
图片25.png
编译,然后不要忘记另存….
图片26.png
Good Job .
Have Fun .
By McevilRock
9-7/2014

打包附件:word文档教程+程序.插件有点大.还是大家自行下载吧.
Inject.part1.rar (512 KB, 下载次数: 422)
ChangeOpcode.png
SelectedThis.png
图片1.png
图片2.png

点评

头像越换越丑,还没以前好看,不解释!  发表于 2015-5-20 00:04
分享技术是好事,但请楼主检查一下啊 ,图片全部无效……尽快修复,否则就回收站了。  发表于 2014-7-8 16:27

免费评分

参与人数 14吾爱币 +2 热心值 +14 收起 理由
610100 + 1 谢谢@Thanks!
drwonder + 1 链接http://pan.baidu.com已失效,插件哪里下载啊?
杯具加杯具 + 2 + 1 我很赞同!
netle8 + 1 我很赞同!
秋水 + 1 谢谢@Thanks!
wuaiquchao + 1 谢谢@Thanks!
补你缺口 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.
longruan + 1 谢谢@Thanks!
lixinmingo + 1 谢谢@Thanks!
iNIC + 1 谢谢@Thanks!
MaskMagician + 1 虽然有点久了,但是好帖子就该顶0.0
hotool + 1 我很赞同!
xudai3 + 1 谢谢@Thanks!
Shark恒 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

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

Owner_Cracker 发表于 2014-7-9 16:54
mcevilrock 发表于 2014-7-9 16:43
一般我都会把程序直接拆解成文件,然后手动修复拆解出来的错误,这样绝大多数情况下重新编译后不会出问题, ...

正是因为拆解成文件是出错才想直接修改IL的,结果也不行。
导出文件是报:.+: Goto statement target does not exist.
   在 €..(IMethodDeclaration mD, IMethodBody mB, Boolean handleExpressionStack)
   在 €..(IMethodDeclaration mD, IMethodBody mB)
   在 ˆ..(IMethodDeclaration value)
   在 ..(IMethodDeclarationCollection methods)
   在 ˆ..(ITypeDeclaration value)
   在 ƒ..TranslateTypeDeclaration(ITypeDeclaration value, Boolean memberDeclarationList, Boolean methodDeclarationBody)
   在 €..(ITypeDeclaration typeDeclaration, String sourceFile, ILanguageWriterConfiguration languageWriterConfiguration)
导致关键的两个窗口未生成
 楼主| mcevilrock 发表于 2014-7-9 16:43
Owner_Cracker 发表于 2014-7-9 14:45
你好,请问用Reflexil修改后保存时提示:Reflexil is unable to save this assembly:Writing mixed-mode as ...

一般我都会把程序直接拆解成文件,然后手动修复拆解出来的错误,这样绝大多数情况下重新编译后不会出问题,不过这样是个很累人的事情..
 楼主| mcevilrock 发表于 2014-7-8 14:06
9456-XN 发表于 2014-7-8 14:07
膜拜会玩.net的大神,.net相关教程实在少

先前也尝试破解.net写的某全球性节奏游戏,搞的非常蛋疼啊
 楼主| mcevilrock 发表于 2014-7-8 14:12
9456-XN 发表于 2014-7-8 14:07
膜拜会玩.net的大神,.net相关教程实在少

先前也尝试破解.net写的某全球性节奏游戏,搞的非常蛋疼啊

确实,国内的.net教程都很少..
吾爱新生 发表于 2014-7-8 14:33
很多.net加签名后怎么用这个啊?
 楼主| mcevilrock 发表于 2014-7-8 14:36
吾爱新生 发表于 2014-7-8 14:33
很多.net加签名后怎么用这个啊?

先去掉强名.这说的不是怎么去强名和去混淆...只是一个插件的使用方法.
索马里的海贼 发表于 2014-7-8 19:07
图全挂了.. 楼主再整理下吧.
 楼主| mcevilrock 发表于 2014-7-8 20:07
索马里的海贼 发表于 2014-7-8 19:07
图全挂了.. 楼主再整理下吧.

之前太忙了,等有空又发现52打不开了..
现在已修复.
 楼主| mcevilrock 发表于 2014-7-8 22:41

看来没人喜欢.net破解啊...
吾爱新生 发表于 2014-7-9 14:43
本帖最后由 吾爱新生 于 2014-7-9 14:44 编辑
mcevilrock 发表于 2014-7-8 22:41
看来没人喜欢.net破解啊...

你好,期待继续出NET作品,谢谢!
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2020-8-14 20:06

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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