好友
阅读权限10
听众
最后登录1970-1-1
|
一、环境准备
1.使用C语言写一段代码,目标找到正确的密码,让程序输入“Access Granted”
2.需要将C代码编译成exe程序
此时需要安装gcc,避坑指南(直接去https://winlibs.com/安装GCC,一步一步安装GCC必要的环境时,各种网络,镜像问题)
二、正式开始
1.搜索字符串
按住Shift + F12 打开strings窗口,程序显示所有明文字符串,寻找关键字符串,“Access Granted”
[url=]image.png[/url]
2.定位关键代码
双击“Access Granted”,程序跳转到.rdata段的位置,右键选择Ctrl + X
3.分析图形视图
这是典型的if-else结构,找到call指令就是check_password函数
4.进去函数内部
双击call指令,按F5 看到伪C代码
5.或者提取密码
看到一串33737265763352h小端序,0x33737265763352十六进制,需要从右往左两位一组读,52 33 76 65 72 73 33,再转换成ASCII
密码:R3vers3
三、总结
1.x86是小端序,数值的低位字节在低地址,所以 IDA 显示的数字要"反着读"才是内存中的字符串顺序 |
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|
|