|
|
[原创]打造 API 函数 -- API 绝密档案系列之四 (修正版)
I love you!!! |
|
|
[原创]笑解 API 函数 -- API 绝密档案系列之一
最初由 gzgzlxg 发布 强烈支持,不过建议楼主写得尽量深写.给有心人看就行啦,并不一定要有很多人看.虽然就这篇文章,我也看得不是很明白,但我相信,一旦我对系统有更深的理解,或许这篇文章也就只能看看,而不能咀出味道啦. !!!赶紧搜集楼主的贴子!! |
|
|
[讨论]题外话---新手如何快速理解汇编语言?
如果是爱好,平常看看别人的程序,反汇编下就行,如果是专门学习,就要专门看书,了解系统很重要 |
|
|
如何自己修改FILEMON
na有什么用? |
|
|
Themida 1560
最初由 SparksCra 发布 老的license被取消啦 |
|
|
|
|
|
[求助]研究aspr 的时候出现的问题
最初由 kanxue 发布 也就是说这个插件只是根据研究的壳的情况把那些被壳在外壳就执行的函数的特征记录下啦,在使用插件的时候一个个比较?而不是通过跟踪代码发现是调用某个函数? |
|
|
[求助]研究aspr 的时候出现的问题
2)KERNEL32!GetVersion函数 :008D1358 6A00 PUSH 00 :008D135A E8F93DFFFF CALL KERNEL32!GetModuleHandleA :008D135F FF35E46C8D00 PUSH DWORD PTR [008D6CE4] :008D1365 58 POP EAX :008D1366 C3 RET 上面这个从push到最后的return 我都用f7走啦一篇,怎么感觉与 直接跟没有加壳的GetVersion里面是这样: 77E5D142 > 64:A1 18000000 MOV EAX,DWORD PTR FS:[18] 77E5D148 8B48 30 MOV ECX,DWORD PTR DS:[EAX+30] 77E5D14B 8B81 B0000000 MOV EAX,DWORD PTR DS:[ECX+B0] 77E5D151 0FB791 AC000000 MOVZX EDX,WORD PTR DS:[ECX+AC] 77E5D158 83F0 FE XOR EAX,FFFFFFFE 77E5D15B C1E0 0E SHL EAX,0E 77E5D15E 0BC2 OR EAX,EDX 77E5D160 C1E0 08 SHL EAX,8 77E5D163 0B81 A8000000 OR EAX,DWORD PTR DS:[ECX+A8] 77E5D169 C1E0 08 SHL EAX,8 77E5D16C 0B81 A4000000 OR EAX,DWORD PTR DS:[ECX+A4] 感觉差别很大? 最有疑问的是这句: PUSH DWORD PTR DS:[916CE4] DS:[916CE4]里面的东西好象在壳解压完毕后就已经存在啦? |
|
|
[原创]菜鸟死追注册码(详细版,求精华,补上算法)
最初由 dongfeng 发布 这里没有这样做,eax有32位,一般来说比较大啦,不知道long int 和short int 是多少位.也有可能是64位的数,所以用EAX和edx,你可以用高级语言试下 定义个四字的变量和双字的变量已及字变量做除法,然后反汇编试下?不懂.. 不过这个暂时我也不会也不去弄懂它,有需要的时候再尝试去探索... |
|
|
请教一下关于Themida和VMProtect
最初由 forgot 发布 |
|
|
[原创]菜鸟死追注册码(详细版,求精华,补上算法)
脱壳就能用.而解压后反而不能用???? 脱壳的过程就是让代码在内存中解压吧解压后再把代码dump出来. 不知道你所说的解压是什么意思? 确实不是随机数的反汇编, 这是riijj大哥的简单crackme http://bbs.pediy.com/upload/files/1084801702.zip 这是代码 int checkkey() { char buf1[16]; char buf2[16]; char space[16]; unsigned long i, deta = 0; char x; long j = 0; if(GetDlgItemText(hDialog, IDC_EDIT1, buf1, 16) < 3) { return 1; } GetDlgItemText(hDialog, IDC_EDIT2, buf2, 16); srand(UINT_MAX / (1+(buf1[0] % buf1[1] * buf1[2]))); for(i=0;i<15;i++) { space[i] = 65 + (int)(rand() % 26); } for(i=0;i<strlen(buf1);i++) { x = buf1[i]; x = x >> 5; for(j=0; j<x*123; j++) rand(); space[i] = 65 + (int)(rand() % 26); deta = deta + abs(space[i] - buf2[i]); } 那句相当与space[i] = 65 + (int)(XXX % 26);这句 除法一般是EAX放被除数余数放edx, |
|
|
[ZT]MSVCR80.DLL 里面的黑手
不懂,学习!! |
|
|
|
|
|
我的第二个CrackMe--学用勾挂
顶一下这个crackme |
|
|
|
|
|
[新闻]官方主页提示 Themida 1.7.0.0己出来了
最初由 kanxue 发布 |
|
|
|
|
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值