吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1827|回复: 15
收起左侧

[求助] 不懂编程的小白求助算法

[复制链接]
ty94516 发表于 2019-10-22 03:13
本帖最后由 ty94516 于 2019-10-22 10:07 编辑

本人小白一个,有个ECXEL插件的想求注册码。用反编译工具打开DLL,发现如下代码,貌似是注册码的算法


        int Tem3 = 0;
        string Tem4 = pass;
        byte[] bytes = Encoding.ASCII.GetBytes(YingPan());
        foreach (byte item in bytes)
        {
                Tem3 += item;
                Tem4 += item;
                Tem4 += Tem3;
        }
        string result = null;
        for (int i = 0; i < Tem4.Length - 3; i += 3)
        {
                result += ThisAddIn.Chr(Convert.ToByte(Convert.ToInt32(Tem4.Substring(i, 3)) % 26 + 65)).ToString();
        }
        return result == pass;
}


因为没有学过这个,看不懂算法,哪位好心人指教一下。多谢!


下面是原文件https://www.lanzouj.com/i6wf8ta

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

xingjm 发表于 2019-10-22 06:05
看得懂过程,看不懂函数
头像被屏蔽
洛枫 发表于 2019-10-22 08:22
小猪嘟嘟 发表于 2019-10-22 08:30
井右寺 发表于 2019-10-22 08:39
本帖最后由 井右寺 于 2019-10-22 08:41 编辑

yingpan()执行的返回值转byte数组,遍历byte,例如[1,2,3,4...] 得到 {$pass}112337411这种(大概是这样)。。。。然后再遍历上面的每个字符,比如1234564789 为123对26取余然后加上65,234%26+65,...789%26+65,把上面的结果每个转16进制然后拼接到一起,获得最后结果。
yingpan()函数返回值是什么?你需要自己去看
pass 的值是多少?你也得去看
xinxirong 发表于 2019-10-22 08:41
虽然我也没学过,到我也知道这不是c
weikun444 发表于 2019-10-22 08:42
OD加载DLL,一般返回值eax,可以看下,哪里清0了,例如 xor eax,eax,JMP或NOP即可。
逍遥枷锁 发表于 2019-10-22 08:49
去查看下C#的foreach语句,如果可以调试最好。
太多沉默 发表于 2019-10-22 08:50
这样的也叫小白,我这混经验的 怎么称呼  Excel  
丸子吃枣药丸 发表于 2019-10-22 08:55
取硬盘码的吧
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2025-1-13 07:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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