有两层加密,第一次的正确作为smc解密的密钥
第一层考点:去反调试
64位的程序发现有反调试
1 | _BOOL8 sub_10040162B() |
发现有反调试直接nop掉
第二层考点:算法求解
找到关键算法后直接爆破
1 | #include<stdio.h> |
Caucasus@s_ability
第三层考点:smc
1 | lpAddress = a1; |
这是利用第一层密文对代码进行加密,执行完后dump出内存,重新利用IDAf5便可找到关键算法
1 | #include<stdio.h> |
有两层加密,第一次的正确作为smc解密的密钥
第一层考点:去反调试
64位的程序发现有反调试
1 | _BOOL8 sub_10040162B() |
发现有反调试直接nop掉
第二层考点:算法求解
找到关键算法后直接爆破
1 | #include<stdio.h> |
Caucasus@s_ability
第三层考点:smc
1 | lpAddress = a1; |
这是利用第一层密文对代码进行加密,执行完后dump出内存,重新利用IDAf5便可找到关键算法
1 | #include<stdio.h> |