转载一个crackme
N年前的CM 貌似作者是看雪的大牛!!/:013 /:013 /:013请大牛们分析 算法!!/:001 /:001 /:001 .
入口好象是伪装C++样.后面好象有一个文件大小效验!!!:loveliness: :loveliness:
太强大了吧!一加载OD就退出!/:L
[ 本帖最后由 tony_liu518 于 2008-10-31 17:02 编辑 ] LS的抢我沙发/:010 ,暴力抢个板凳了/:002 !
x80x88我很看好你哟!!!期待你分析算法!!/:013 /:013 这个东东有意思... 先暴一个...
/:10 /:10 /:10 原帖由 夜冷风 于 2008-10-31 10:41 发表 https://www.chinapyg.com/images/common/back.gif
x80x88我很看好你哟!!!期待你分析算法!!/:013 /:013
/:L 晕倒!看到加密算法我就逃跑!
............
00404901 C740 14 >mov dword ptr ds:,254FABCD
00404908 C740 10 >mov dword ptr ds:,34D93485
0040490F C740 0C >mov dword ptr ds:,7856224F
00404916 C740 08 >mov dword ptr ds:,234535EF
..........
这个特征串是什么加密算法?
注册码为80位/:002 ,格式为01234562113855656788901-1234562113855656788901-3150DA3FA4DF5E25-0B3114344AE536C6
注册码后两部分为用户名对应的加密算法转化成的串拆分而成("3150DA3FA4DF5E25-0B3114344AE536C6")
前两部分的为大概是F(a,b)=m这种格式吧/:012 ,好像涉及大数运算吧,运算跟得头晕/:010 ,直接放弃了,等大牛们出手了!/:011
这个是N年前的??
[ 本帖最后由 x80x88 于 2008-10-31 15:29 编辑 ] /:L /:L /:L
先膜拜一下X80X80大牛
这CM修改了PE头,请问x80大牛是如何在OD中跑起来..../:013 /:013
在不修改PE头或将OD程序的0045C671处的jge(某些修改版)或je(原版)改成jl的情况下如何跑~~~~~~
[ 本帖最后由 hflywolf 于 2008-10-31 15:17 编辑 ] 注意看下面提示的关键跳转处设断点改标志位或判断条件即可正常调试跟进了!
................
00403892 >pop ebp
00403893 >cmp eax,1
00403896 >pop ebx
00403897 >jnz short crackme4.004038A5 ; 此处不能跳
00403899 >mov edx,ss:
0040389D >mov eax,ss:
004038A1 >cmp eax,edx
004038A3 >je short crackme4.004038AE ; 此处必须要跳
004038A5 >xor edi,edi
004038A7 >push edi
004038A8 >call ds:[<&KERNEL32.ExitProcess>] ; kernel32.ExitProcess
004038AE >pop edi
004038AF >pop esi
004038B0 >add esp,138
.................
.................
004038CB >mov ss:,esi
004038CF >call crackme4.004037B0
004038D4 >call crackme4.004036D0
004038D9 >test al,al
004038DB >je crackme4.00403C70 ; 不能跳
004038E1 >call crackme4.00403720
004038E6 >test al,al
004038E8 >jnz crackme4.00403C70 ; 不能跳
004038EE >call crackme4.00403750
004038F3 >test eax,eax
004038F5 >je crackme4.00403C70 ; 不能跳
004038FB >push 0C9
00403900 >push crackme4.0040F858 ; ASCII "x80x88"
00403905 >push 3E8
...............
...............
00403D1C >test al,al
00403D1E >jnz crackme4.00403DDC ; 不能跳
00403D24 >call crackme4.004036D0
00403D29 >test al,al
00403D2B >je crackme4.00403DDC ; 不能跳
00403D31 >call crackme4.00403750
00403D36 >test eax,eax
00403D38 >je crackme4.00403DDC ; 不能跳
00403D3E >mov ecx,ds:
00403D41 >cmp dword ptr ds:,3 ;用户名位数必须大于3
00403D45 >jl crackme4.00403DDC
00403D4B >cmp edi,50 ;注册码位数必须为80位
....................
[ 本帖最后由 x80x88 于 2008-10-31 15:32 编辑 ] /:001 /:001 /:001
哇,明白了,果然是大牛~~~~~~
解决了一大问题,谢了~~~~ X80X80果然是大牛~~~~~~,又向你学习一把!/:013
页:
[1]
2