Reflector reflexil爆破软件使用图文实例
一起玩一个CrackMe(C#),打算一起来写KeyGen,他用的是爆破的方法,我修复程序后发现里面常量各种溢出。无奈,只能用reflexil注入方法,然后写出KeyGen。
分享下使用reflexil常用的几个方法。Reflector 之reflexil使用先写个简单的控制台程序工具,添加插件。
选中reflexil 1。6 (1。7从来没附加成功过。不知道为啥。)一 直接修改操作数可以直接编辑ILUpdate 后在程序集中右键另存程序。执行刚保存的程序还可以直接添加IL 接着让后面继续输出二 直接注入IL右键,新建(new Create),填写对应的操作码,选择类型,值得注意的是右边的按钮,append(添加),接着是插入在选择之前,然后是插入在选择之后;别选错了。
注意 注入的时候操作数的类型别选错了。然后继续参照上面的,将程序另存一次。三 替换代码如果不想折腾IL,直接选择 替换所有代码。不过这意味着你要重写所有代码(大多数时,我都会用在重写某个方法上)…然后提交一下,他会自动编译, 然后继续参照上面的,将程序另存一次。
提交完成后会自动编译,并且再右侧区域会生成对应的IL。然后继续参照上面的,将程序另存一次。执行下…四注入方法别选错地方了。是你要将方法注入到某个类中,不是注入class所以,一定是在类上右键暂时只能注入返回值为void的方法对了,点击OK后会有个该死的提示,这提示的大致意思是:当你在执行,增加,删除,重命名,等动作时,你不会直接看见相应的操作,他们是不同步的。
你必须要重新加载程序集才可以看见。当然,你还需要将程序另存一次。然后你需要关闭程序集,接着重新打开刚才另存的现在方法已经注入进去了。然后我需要给它添加点内容。让方法输出个InjectedMethod字符串在方法中添加IL接着修改Main方法,并且调用刚才注入的方法。
另存下。执行结果。PS: 如果是替换代码的话,先更改injectmethod时不用实现main方法,只需要修改injectmethod()方法,然后再去修改Main方法。调用时因为injectmethod方法不是static所以需要实例化Program接下来说说添加有参数,有返回值的方法:先在参数(parameter)标签,中添加一个参数。
然后在属性标签中修改返回值为string。接着使用替换代码的功能可以看见方法已经带有参数并且有返回值。修改下这个方法打印下传进来的名字,并且打印当前时间修改主函数调用编译,然后不要忘记另存…Good Job 。Have Fun 。By McevilRock9-7/2014。
答:详情>>
问:用电脑时可以将网络转换成无线网吗?貌似有这种技术……请高手指路~[围观]
答:可以。 准备无线路由器一个,将入线接入Wan口,通过Lan口设置好自动拨号,并打开无线SSID设置好密码。路由器自动拨号连接网络后,通过WiFi接入网络即可。 ...详情>>
答:计算机网络应用的一些实践课程是要用到电脑的,如程序设计方法学、高级语言程序设计、数据结构、操作系统、编译原理、数据库原理、计算机组成原理、系统结构、软件工程、计...详情>>