小编t3r*_*n41的帖子

使用OllyDebug破解C#应用程序

我想知道是否有办法用OllyDebug破解C#Windows应用程序.我用Visual C#2010 Express编写了一个简单的CrackMe应用程序.当我用OllyDebug打开它并根据需要修改ASM代码时,OllyDebug中没有"复制到可执行文件"选项,因为我的注册表单窗口是用"new"运算符动态分配的(我相信,VirtualAlloc()函数调用在调试器中).虽然我能够修改ASM代码(这只是NOP的JE跳转),但我无法用破解的代码保存我的.exe文件,看起来像OllyDbg"看到"数据段中的代码,当时该代码不存在应用程序启动并且仅动态分配.任何人都可以帮我解决这个问题吗?我认为至少有两种方法可以修改*.exe:

1)使用OllyDbg深入挖掘代码并在分配之前找到保存实际代码的位置(因为RegistrationForm的新实例不会神奇地超出空间,是吗?)

2)如果它允许在VS Express中快速创建应用程序并且不需要太多复杂的代码,则使用静态调用,因此每次单击"Register"时都会显示相同的RegistrationForm窗口(它将保存在应用程序的代码部分中,因此将在OllyDbg中修改.

可以指出如何重写代码并保持简单分配RegistrationForm(singleton?)的相同实例.我唯一需要的是破解并保存*.exe,重新启动并填写任何数据以"完成注册".

以下是使用Main()方法的MyCrackMe类的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MyCrackMe {
    class MyCrackMe {
        public static void Main() {
            MyForm mainWindow = new MyForm();
            System.Windows.Forms.Application.Run(mainWindow);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

主窗口类:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace MyCrackMe {
    public partial class MyForm : Form {
        public MyForm() {
            InitializeComponent();
        }

        private void exitToolStripMenuItem_Click(object sender, EventArgs e) {
            Application.Exit();
        }

        private void aboutToolStripMenuItem_Click(object …
Run Code Online (Sandbox Code Playgroud)

c# assembly cracking ollydbg

6
推荐指数
1
解决办法
2万
查看次数

BindingResult和bean的普通目标对象都不能作为请求属性使用

我正在尝试使用Java,Spring,Hibernate和MySQL制作简单的CRUD Web应用程序.我遇到的问题是我无法显示表单以向数据库添加新项目(比萨饼).

这是我的控制器:

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.support.SessionStatus;

@Controller
public class PizzaController {

  @Autowired private PizzaDao pizzaDao;

  @RequestMapping(method=RequestMethod.GET, value="/")
  public String indexPage(Model model) {
    List<Pizza> pizzas = pizzaDao.getAll();
    model.addAttribute("pizzas", pizzas);
    return "index";
  }
  @RequestMapping(method=RequestMethod.GET, value="Pizza/pizzalist")
  public String pizzalist(Model model) {
    List<Pizza> pizzas = pizzaDao.getAll();
    model.addAttribute("pizzas", pizzas);
    return "pizzalist/pizzalist";
  }
  @RequestMapping(method=RequestMethod.POST, value="Pizza/pizzalist/add")
  public String add(@ModelAttribute("mypizza") Pizza pizza) { //, BindingResult result,         SessionStatus status, ModelMap …
Run Code Online (Sandbox Code Playgroud)

java mysql spring hibernate

2
推荐指数
3
解决办法
4万
查看次数

标签 统计

assembly ×1

c# ×1

cracking ×1

hibernate ×1

java ×1

mysql ×1

ollydbg ×1

spring ×1