Dean 发表于 2014-10-20 14:31

C#逆向教程(5)For循环

这课讲一下For循环,C#源码using System;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
      public Form1()
      {
            InitializeComponent();

      }
      private void button1_Click(object sender, EventArgs e)
      {
            //用for实现计算1到100之间(包含1、100)所有整数的和。
            int sum = 0;
            for (int i = 1; i <= 100; i++)
            {
                sum = sum + i;
            }
            string text = sum.ToString();
            textBox2.Text = text;

      }

    }
}
这是一个简单的计算1到100的和
效果如下,点击提交出现和

程序丢进RE,定位到关键点


这种情况比较常见的是修改账号数量,列表数量之类的,比如程序限制5账号,10账号,有可能作者会采取FOR循环,那么我们想改大账号数量,修改那个数字100就可以了
打开插件,查看此处IL代码

可以看到,IL里的代码逻辑是这样的,执行到5之后强制跳16,然后和100比,如果比100小,23的时候跳回6循环,否则继续执行,结束方法
要修改数量只需要在标号17的地方,ldc i4.s 100改大就可以了
不过这里要注意的是

SByte最大值是127,改超过这个值就变成0,要想改更大,修改数据类型

Int32或者Int64都可以,这课就到这里了


Shark恒 发表于 2014-10-20 16:15

真心不错,楼主的系列教程非常好。

hackysh 发表于 2022-2-18 10:05


[快捷回复]-感谢楼主热心分享!

凌夏随缘 发表于 2022-5-18 14:05

感谢楼主分享

小菜虫 发表于 2022-5-18 16:45

感谢分享 跟着学习一下

4957465 发表于 2022-5-19 00:27

4957465 发表于 2022-5-19 01:11

别管我了行 发表于 2022-6-11 01:58

Wayne 发表于 2022-6-11 09:31

天使替我爱你 发表于 2022-6-11 23:19

谢谢大佬分享
页: [1] 2
查看完整版本: C#逆向教程(5)For循环