|
|
[原创]初学Delphi,写个CM大家玩玩
断不下来 难道是HOOK 了GetMessage()? |
|
|
刚弄了个CrackMe 给大家练练手
我怎么没发现有明码? bitt说的那个不是真正关键的算法 真正的算法在这里 004015AD . 57 push edi 004015AE . 8D5424 1C lea edx, dword ptr [esp+1C] 004015B2 . 68 E8C04200 push 0042C0E8 ; ASCII "%ul" 004015B7 . 52 push edx 004015B8 . C64424 40 02 mov byte ptr [esp+40], 2 004015BD . E8 D5530100 call 00416997 ; 关键CALL 参数有三个:1,用户名第一个与最后一个异或得X,然后12FB04向后移4*X 得参数1 2,42c0e8 指向x7B 3,12F444 这个CALL 会产生一个字符串(数字的)。字符串的第六位和第七位异或产生一个数字 A 密码的第六位和第七位异或产生一个数字 B 把12FB04(另一个算法得到)作为基址分别向后移4*A, 4*B 将结果做比较 |
|
|
[原创]一简单crackme的简单分析
其实作者做的有些巧妙,并不是点击注册键后才进行的运算,点击注册只是显示结果而已。 真正的运算是在你挨个输入密码的时候。。。。前面7次会失败 到第8次的时候才会进行运算。。。 我也是新手,不知道说得对不对 |
|
|
[原创]一简单crackme的简单分析
首先用插件 超级字符串 得到如图所示位置: 00444F60 /. 55 PUSH EBP 00444F61 |. 8BEC MOV EBP,ESP 00444F63 |. 6A 00 PUSH 0 00444F65 |. 33C0 XOR EAX,EAX 00444F67 |. 55 PUSH EBP 00444F68 |. 68 EA4F4400 PUSH cm.00444FEA 00444F6D |. 64:FF30 PUSH DWORD PTR FS:[EAX] 00444F70 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP 00444F73 |. 803D 49784400>CMP BYTE PTR DS:[447849],0 00444F7A |. 74 13 JE SHORT cm.00444F8F 00444F7C |. A1 906C4400 MOV EAX,DWORD PTR DS:[446C90] 00444F81 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00444F83 |. BA FC4F4400 MOV EDX,cm.00444FFC ; 正确 00444F88 |. E8 07D0FFFF CALL cm.00441F94 00444F8D |. EB 11 JMP SHORT cm.00444FA0 00444F8F |> A1 906C4400 MOV EAX,DWORD PTR DS:[446C90] 00444F94 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00444F96 |. BA 0C504400 MOV EDX,cm.0044500C ; 错误 00444F9B |. E8 F4CFFFFF CALL cm.00441F94 00444FA0 |> 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] 00444FA3 |. A1 906C4400 MOV EAX,DWORD PTR DS:[446C90] 00444FA8 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00444FAA |. E8 9DCFFFFF CALL cm.00441F4C 00444FAF |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] 00444FB2 |. BA 0C504400 MOV EDX,cm.0044500C ; 错误 00444FB7 |. E8 B4ECFBFF CALL cm.00403C70 00444FBC |. 75 0C JNZ SHORT cm.00444FCA 00444FBE |. B8 1C504400 MOV EAX,cm.0044501C ; 再来 00444FC3 |. E8 88FBFFFF CALL cm.00444B50 00444FC8 |. EB 0A JMP SHORT cm.00444FD4 00444FCA |> B8 2C504400 MOV EAX,cm.0044502C ; 谢谢 00444FCF |. E8 7CFBFFFF CALL cm.00444B50 00444FD4 |> 33C0 XOR EAX,EAX 00444FD6 |. 5A POP EDX 00444FD7 |. 59 POP ECX 00444FD8 |. 59 POP ECX 00444FD9 |. 64:8910 MOV DWORD PTR FS:[EAX],EDX 00444FDC |. 68 F14F4400 PUSH cm.00444FF1 00444FE1 |> 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4] 00444FE4 |. E8 F7E8FBFF CALL cm.004038E0 00444FE9 \. C3 RETN 知道00444F7A为关键跳转: 向上看知道内存00447849为关键地址决定对错。 然后对00447849设置内存断点 重新调试 断在此处: 004450A2 . C605 49784400 00 MOV BYTE PTR DS:[447849],0 004450A9 . 83FE 04 CMP ESI,4 ; 用户名大于4位 004450AC . 0F8E A3000000 JLE cm.00445155 004450B2 . 83FF 08 CMP EDI,8 ; 密码为8位 004450B5 . 0F85 9A000000 JNZ cm.00445155 004450BB . 33C0 XOR EAX,EAX 004450BD . 55 PUSH EBP 通过分析得知ESI为用户名个数,EDI为密码个数 说明用户名必须大于4为 密码必须为8位 否则。。。。 然后往下看 经过这里: 00445135 . 48 DEC EAX 00445136 .^ 75 EA JNZ SHORT cm.00445122 00445138 > 81F2 08088419 XOR EDX,19840808 0044513E . 3B55 F4 CMP EDX,DWORD PTR SS:[EBP-C] 00445141 . 74 09 JE SHORT cm.0044514C 00445143 . C605 49784400 00 MOV BYTE PTR DS:[447849],0 0044514A . EB 10 JMP SHORT cm.0044515C 0044514C > C605 49784400 01 MOV BYTE PTR DS:[447849],1 00445153 . EB 07 JMP SHORT cm.0044515C 00445155 > C605 49784400 00 MOV BYTE PTR DS:[447849],0 0044515C > 8B83 D8020000 MOV EAX,DWORD PTR DS:[EBX+2D8] 00445162 . 8A15 48784400 MOV DL,BYTE PTR DS:[447848] 00445168 . 8B08 MOV ECX,DWORD PTR DS:[EAX] 0044516A . FF51 5C CALL DWORD PTR DS:[ECX+5C] 注意看0044514C这里终于修改了00447849的内容:到这里表示成功了。。。。 所以这个比较为关键0044513E . 3B55 F4 CMP EDX,DWORD PTR SS:[EBP-C] 其实走到这里就出现明码了。。。 |
|
|
[注意][注意]图符设计大师11.0 硬盘炸弹!
比逻辑锁烂多了,乱写分区表,谁都会。 |
|
|
[求助]下了2010工具包,启动Autorun.exe工具找不到路径
2010很烂,一些计算机文档资料书籍都没放进去,09的是有的。 |
|
|
[求助]一段C代码反汇编的疑惑
CC是INT 3 如果出错会出现异常中断,方便调试吧。 |
|
|
|
|
|
|
|
|
[原创]完整逆向 OC偏移量转换工具
逆他不如自己写个,不累啊。 |
|
|
|
|
|
[讨论]调试与反调试技术发展趋势:从冷兵器时代到热兵器时代
总有一些人在装X,自诩为牛人,在这里总是被喷的像个芍。 |
|
|
大家说说反外挂大体需要什么技术?
C++,逆向 ,内核驱动。会脱壳更好。 |
|
|
[原创]自己动手,开发VS对战平台挤房工具[已更新,后台挤房见22楼]
这个程序有个错误 调用TerminateThread结束线程后 没有调用CloseHandle关闭内核句柄 导致不停地开始 暂停 句柄就不停地增加 希望改进 |
|
|
|
|
|
PE输入表转向的疑问
是不是 看看TMD是如何处理forword就了解了 |
|
|
脱壳修复IAT跨平台运行问题?(高分、速结)
也可能是反DUMP |
|
|
[讨论]公司说 try catch太高级了 不让用!!!
可能是怕测试的时候没错误,都给你自己处理掉了。 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
勋章
兑换勋章
证书
证书查询 >
能力值