菜鸟破解一例
程序员文章站
2022-04-22 18:39:35
最近在学习破解,对于新手最好找一些典型的来学习,正好手上有一软件符合,于是上传上来供新手学习一下啊。高手请PASS,好了,用OD打开软件,首先找到注册提示错误的地方,如下:
...
最近在学习破解,对于新手最好找一些典型的来学习,正好手上有一软件符合,于是上传上来供新手学习一下啊。高手请PASS,好了,用OD打开软件,首先找到注册提示错误的地方,如下:
006DE8C7 |. E8 D868D2FF call 004051A4
006DE8CC |. 8B85 78FFFFFF mov eax, dword ptr [ebp-88]
006DE8D2 |. 8B55 F8 mov edx, dword ptr [ebp-8]
006DE8D5 |. E8 5669D2FF call 00405230
006DE8DA 74 2B je short 006DE907 ;改jne short 006DE907即可实现爆破
006DE8DC |. 6A 40 push 40
006DE8DE |. B9 10EC6D00 mov ecx, 006DEC10 ; 提示
006DE8E3 |. BA 60EC6D00 mov edx, 006DEC60 ; 软件注册码错误!\n\n请与南京图瑞有限公司联系!
006DE8E8 |. A1 2CD96F00 mov eax, dword ptr [6FD92C]
006DE8ED |. 8B00 mov eax, dword ptr [eax]
006DE8EF |. E8 A4A3DCFF call 004A8C98
006DE8F4 |. 8B83 28030000 mov eax, dword ptr [ebx+328]
006DE8FA |. 8B10 mov edx, dword ptr [eax]
006DE8FC |. FF92 C4000000 call dword ptr [edx+C4]
006DE902 |. E9 B2010000 jmp 006DEAB9
006DE907 |> A1 A0DC6F00 mov eax, dword ptr [6FDCA0]
然后向上找关键跳,可以看到006DE8DA这行,把je short 006DE907改为jne short 006DE907即可实现爆破。是不是有点太简单了,这个是最经典的破解方法。
接下来我们再来找出注册码,在关键跳向上一行可以看到006DE8D5 |. E8 5669D2FF call 00405230这个关键比较地方。在这里下断,运行,任意输入用户名和注册码后程序被中断在006DE8D5这行,这时在寄存器窗口中即可以看到刚才输入的假注册码和正确的注册码了。这个采用明码比较的方法,最适合我们这样的菜鸟了。输入正确注册码重新注册,一切OK!
最后再用keymake.exe做出注册机,首先中断地址填表入:6DE8D5,中断次数为1,第一字节为:E8,指今长度为5,由于正确注册码出现在EDX中,选内存方式--寄存器--EDX,保存即可,把注册机放在破解目录下,运行,任意填入注册码就可以弹出正确注册码了。
由于水平有限,对于注册算法,暂时还看不懂啊。特别现在的软件都加了壳,手工脱壳有很大难度了
作者 医学影像
006DE8C7 |. E8 D868D2FF call 004051A4
006DE8CC |. 8B85 78FFFFFF mov eax, dword ptr [ebp-88]
006DE8D2 |. 8B55 F8 mov edx, dword ptr [ebp-8]
006DE8D5 |. E8 5669D2FF call 00405230
006DE8DA 74 2B je short 006DE907 ;改jne short 006DE907即可实现爆破
006DE8DC |. 6A 40 push 40
006DE8DE |. B9 10EC6D00 mov ecx, 006DEC10 ; 提示
006DE8E3 |. BA 60EC6D00 mov edx, 006DEC60 ; 软件注册码错误!\n\n请与南京图瑞有限公司联系!
006DE8E8 |. A1 2CD96F00 mov eax, dword ptr [6FD92C]
006DE8ED |. 8B00 mov eax, dword ptr [eax]
006DE8EF |. E8 A4A3DCFF call 004A8C98
006DE8F4 |. 8B83 28030000 mov eax, dword ptr [ebx+328]
006DE8FA |. 8B10 mov edx, dword ptr [eax]
006DE8FC |. FF92 C4000000 call dword ptr [edx+C4]
006DE902 |. E9 B2010000 jmp 006DEAB9
006DE907 |> A1 A0DC6F00 mov eax, dword ptr [6FDCA0]
然后向上找关键跳,可以看到006DE8DA这行,把je short 006DE907改为jne short 006DE907即可实现爆破。是不是有点太简单了,这个是最经典的破解方法。
接下来我们再来找出注册码,在关键跳向上一行可以看到006DE8D5 |. E8 5669D2FF call 00405230这个关键比较地方。在这里下断,运行,任意输入用户名和注册码后程序被中断在006DE8D5这行,这时在寄存器窗口中即可以看到刚才输入的假注册码和正确的注册码了。这个采用明码比较的方法,最适合我们这样的菜鸟了。输入正确注册码重新注册,一切OK!
最后再用keymake.exe做出注册机,首先中断地址填表入:6DE8D5,中断次数为1,第一字节为:E8,指今长度为5,由于正确注册码出现在EDX中,选内存方式--寄存器--EDX,保存即可,把注册机放在破解目录下,运行,任意填入注册码就可以弹出正确注册码了。
由于水平有限,对于注册算法,暂时还看不懂啊。特别现在的软件都加了壳,手工脱壳有很大难度了
作者 医学影像
推荐阅读