一身白 发表于 2023-12-3 12:15

飞扬英语注册机编写

本帖最后由 一身白 于 2023-12-3 12:18 编辑

毕业之后就没碰逆向了,新手,还望各位大佬指点指点这个软件Shark老师视频有讲过,不过视频是直接内存中拿到明码,我尝试写一下注册机使用工具:x32dbg, ida接下来会重复一些视频中讲解的知识点
首先在GetStartupInfoA 这个API 下断点


当程序断在该函数的时候,就可以点击“符号” 选择主进程双击,就能进入程序领空了
在进程模块中查找字符串会自动跳转到引用模块
当字符串查找完毕就可以查找 “未购买用户”字符串了
然后点击在反汇编窗口中查看

到这里就跟视频中一模一样啦,一直单步就能看到明码,但如果要写注册机得找到加密函数
找加密函数可以一直单步,当步过一个call的时候看看堆栈和寄存器窗口有没有关键数据,这里出现了关键数据传入了这个call ,所以接下来分析这个call 里面
还是一直单步查看各个数据窗口是否出现关键信息,下面这个call 是返回用户名+解码器字符串,它会先把字符串拆分未8个字节比如bbb078BFBFFY34X92FE这个字符串bbb是我们输入的用户名后门是机器码, 先把 bbb078BF 拿出来。
当步过这个函数之后我们正确的注册码出来了,说明这个函数是处理正确注册码的,而且分析这个函数第一个参数堆栈地址当做一个参数其实当步过这个函数就知道在函数内部会把正确注册码放到,第二个参数是我们的key : bbb078BF
进入加密call 是时候掏出ida了(F5大法),先简短查看汇编
IDA中F5,看出就是进行异或与加密,我们抄下来就得了,但ida分析这个函数头部的时候好像是出了些问题,不懂为什么会0x40000000   0x800000这种字符,我在汇编代码中是没看到的。




漫长的调试,抄代码过程~~~~~~~ 结果


源代码**** Hidden Message *****


水清流 发表于 2023-12-3 13:23

啊,失踪人口回归?

lies 发表于 2023-12-3 13:41

谢谢分享教程!

一身白 发表于 2023-12-3 14:57

水清流 发表于 2023-12-3 13:23
啊,失踪人口回归?

{:6_221:}好多年没玩了

houyuyu878 发表于 2023-12-3 15:12

卡纳克怎么样

yongyou 发表于 2023-12-3 15:46

回复学习下,谢谢楼主分享

boot 发表于 2023-12-3 20:58

学习一下。{:5_116:}

Rooking 发表于 2023-12-3 23:22

我就是想看看如何从IDA抄代码 结果刚好这一步省略了{:5_191:}

axaxax 发表于 2023-12-4 06:58

学习一下

一身白 发表于 2023-12-4 08:29

Rooking 发表于 2023-12-3 23:22
我就是想看看如何从IDA抄代码 结果刚好这一步省略了

其实就是ctrl+c +p复制下来,配合动态调试找齐相应的数据
页: [1] 2 3 4 5
查看完整版本: 飞扬英语注册机编写