随笔分类 -  逆向

摘要:代码参考: https://blog.csdn.net/qq_38204481/article/details/82934364 其中程序为notepad的钩取程序,想拿codeblock做实验的,但是不知道怎么生成DLL文件 如果直接在编译完的exe程序下新建DLL文件,运行调用时会出现 因为这个 阅读全文
posted @ 2020-10-29 21:19 ch0bits 阅读(398) 评论(0) 推荐(0)
摘要:对照 Import_descriptor 结构体,给出遍历 INT 得到源文件中调用函数的 函数名、库名、函数索引 源程序:wsample01a.exe 首先了解import_descriptor结构体在哪里 首先是最外面一层,可选PE头 接着进入可选PE头 DWORD AOE; ... DWORD 阅读全文
posted @ 2020-10-17 19:31 ch0bits 阅读(1183) 评论(0) 推荐(0)
摘要:缓冲区漏洞千千种,这次遇到实验才来讲一讲我想明白的题目。 利用栈溢出漏洞破解口令 源码: #include<stdio.h> #include<string.h> #define PASSWORD "1234567" int verify_password(char* password) { int 阅读全文
posted @ 2020-10-10 10:42 ch0bits 阅读(1249) 评论(0) 推荐(0)
摘要:一.简介(我以滴水逆向的说法为标准) 首先PE文件包含以下部分: 1.DOS头 2.PE文件头 3.节表(也称节区头) 4.节数据(也称节区) 1和2可以看做PE的头,3和4看做PE的体 细分PE文件头, 扩展PE头包含了一些数据类型,其中 DWORD ImageBase; 决定了文件的优先装入地址 阅读全文
posted @ 2020-10-08 21:05 ch0bits 阅读(298) 评论(0) 推荐(0)
摘要:又是社团大佬讲的东西,只不过这次没有讲好,大佬中途出了点问题没法脱壳,我就自己研究一下 1.前置准备 先去网上找个UPX加壳软件,然后给exe程序加壳(但不是所有程序都支持加壳,也有加壳工具不支持的文件) 我选择的exe是自己用codeblock写的简单的程序 链接编译生成try.exe 由于网上找 阅读全文
posted @ 2020-10-03 19:28 ch0bits 阅读(2560) 评论(0) 推荐(0)
摘要:如题,问题出自于格式化字符串漏洞,(教师展示的源码)显示printf函数,“调用第一次打印正常数字,第二次打印时不指定变量 (printf("%d%d")),会将上一次压入的值和栈中下一个值打印出”。其实我怀疑他是不是讲错了。 引申: 格式化字符串漏洞成因:程序将格式化字符串的输入权交给用户,pri 阅读全文
posted @ 2020-09-26 12:19 ch0bits 阅读(300) 评论(0) 推荐(0)
摘要:游戏过关 PS:一开始参考错exp,导致思路混乱 先查找中文,定位到显示flag语句 向上翻找,找到函数入口 下方显示跳转地址,跳转 继续跳转 可以看到已经进入了循环,源程序执行需要判断8盏灯是否亮着 和EEF66C地址上方的JNZ对应 那我们直接在判断完之后跳转到显示flag语句,修改JMP地址, 阅读全文
posted @ 2020-09-07 19:38 ch0bits 阅读(201) 评论(0) 推荐(0)
摘要:easy_vb 判断有无加壳 显示VB,无壳 OllyDbg打开,查看unicode中文字符注释,发现flag 或者用英文原版OD,search for注释字符ALL REFERENCED TEXT,也能找到flag,但是是大写 最后拿去IDA确认,flag的确是大写 easy_re 显示什么都没找 阅读全文
posted @ 2020-08-28 21:23 ch0bits 阅读(207) 评论(0) 推荐(0)
摘要:入门逆向 用的是PEiD,查看exe程序的首字节 下拉查看入栈,发现有66H,66H相当于十进制的102,字符小写a从97开始,102为小写字符f,继续查看字符,就是全部的flag 由于查看的不方便,建议使用工具ida打开(以PE格式打开,不用选择exe,虽然exe隶属于PE的一种,但是打开方式中的 阅读全文
posted @ 2020-08-26 21:05 ch0bits 阅读(265) 评论(0) 推荐(0)
摘要:程序如下,由滴水逆向的老师提供: #include <windows.h> #include <stdio.h> void Fun() { while(1) { printf("你好\n"); } } int check() { int arr[8]; arr[9]=(int)&Fun; retur 阅读全文
posted @ 2020-08-24 22:25 ch0bits 阅读(319) 评论(0) 推荐(0)