好友
阅读权限35
听众
最后登录1970-1-1
|
小菜鸟一枚
发表于 2019-9-15 15:17
本帖最后由 小菜鸟一枚 于 2019-9-15 15:32 编辑
一直对黑客充满了好奇,觉得黑客神秘,强大,无所不能,来论坛一年多了,天天看各位大佬发帖,自己只能做一个伸手党。也看了官方的入门视频教程,奈何自己基础太差,看不懂。自我反思之下,决定从今天(2019年6月17日)开始定下心来,从简单的基础教程开始学习,希望能从照抄照搬,到能独立分析,能独立破解。
立帖为证!--------记录学习的点点滴滴
零基础小白通过MessageBox认识堆栈窗口回溯
前言:不知不觉学了这么久,觉得对堆栈回溯有了一定的认识,于是自己写了一个C语言程序,
通过失败窗口定位到MessageBox,然后回溯到反汇编窗口,在段首F2下断点,开始单步跟,寻找爆破点!
1.通过MessageBox定位
[Asm] 纯文本查看 复制代码 004010E0 |. 85C0 test eax,eax
004010E2 75 07 jnz short demo01.004010EB
004010E4 |. 68 38214000 push demo01.00402138 ; UNICODE "恭喜你,成功了!"
004010E9 |. EB 05 jmp short demo01.004010F0
004010EB |> 68 4C214000 push demo01.0040214C ; UNICODE "亲,你失败了!"
004010F0 |> 6A 00 push 0x0 ; |hOwner = NULL
004010F2 |. FF15 B8204000 call dword ptr ds:[<&USER32.MessageBoxW>>; \MessageBoxW
在这个函数段首(00401000)F2下断点,然后开始单步跟!
[Asm] 纯文本查看 复制代码 00401000 >/$ 55 push ebp
00401001 |. 8BEC mov ebp,esp
00401003 |. 83EC 40 sub esp,0x40
00401006 |. A1 00304000 mov eax,dword ptr ds:[__security_cookied>
2.寻找爆破点
004010E2将这句nop掉,然后保存出去,即爆破成功!
3.对比源码分析总结
[C] 纯文本查看 复制代码 // demo01.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <string.h>
#include <stdlib.h>
#include <Windows.h>
int _tmain(int argc, _TCHAR* argv[])
{
char ch1[20] = "xiaocainiao";//原始字符串
char ch2[20] = "xiaocainiao";//加密字符串
char ch3[20] = "";
printf("请输入正确的字符串:\n");
scanf("%s",ch3);//获取用户输入的值
fflush(stdin);//刷新缓冲流
//对字符串进行变换处理
for(int i = 0;i <strlen(ch1);i++)
{
ch2[i] = ch1[(strlen(ch1))-i-1];//将字符串进行对称变换
}
//比较用户输入的字符串与加密后的字符串是否相等
if(!strcmp(ch2,ch3))
{
MessageBox(NULL,TEXT("恭喜你,成功了!"),TEXT("小菜鸟一枚"),MB_OK);
}
else
{
MessageBox(NULL,TEXT("亲,你失败了!"),TEXT("小菜鸟一枚"),MB_OK);
}
//暂停一下程序
system("pause");
return 0;
}
堆栈地址=0018FF18, (ASCII "xiaocainiao")
edx=0018FF2C, (ASCII "666")
demo01.wmainerrinitgeBasexceptionFiltertion+9D
ecx最开始的xiaocainiao字符串
我们输入的值666,存在edx里面
我们失败时的ECX值
ecx=0018FF04, (ASCII "oainiacoaix")
demo01.wmainerrinitgeBasexceptionFiltertion+0C6
所以正确的字符串是oainiacoaix
====================================================================
以上为文字记录
学习视频+源码:链接:https://pan.baidu.com/s/1RniQtJknU0CfNZpwBO3tQQ
提取码:l7sv
复制这段内容后打开百度网盘手机App,操作更方便哦
总结:楼主目前虽然学了快两个月了,但是都是照搬照抄,不懂编程,目前学了点简单的
C语言,既然别人的程序看不懂,那就自己动动手,破解自己的程序。
『UnPackMe◇CrackMe◇KeyGenMe◇ReverseMe』这是一个好地方,可惜楼主仍然是小白一枚,不知道怎么破解里面
的程序,希望以后能够进去学习学习!
不足之处:视频分析的地方可能有错误,希望论坛大佬看到,不吝指正! |
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|