随笔分类 - 逆向
逆向知识&笔记
摘要:逆向 | windows TLS回调 之前逆向的时候偶尔会碰到tls回调,但是没有自己实现过,今天想着实现一下。 参考的代码来自 逆向工程核心原理。 代码如下: #include <windows.h> #pragma comment (linker, "/INCLUDE:__tls_used")
阅读全文
摘要:逆向 | 新设计了一种花指令 混淆效果比以前使用的花指令要好很多。 设计思路和shellcode类似。 #include <stdio.h> // author Mz1 int main(){ __asm__(".byte 0x55;"); // push rbp 保存栈 __asm__(".byt
阅读全文
摘要:逆向原理 | SetWindowsHookEx 原理探究与实验 SetWindowsHook其实是在windows逆向中非常重要的一个api与之对应的是UnhookWindowsHookEx,用于卸载钩子。 但是这个api的机制其实是比较复杂的,之前应该没有记录过,这次准备好好记录一下。 同时之后还
阅读全文
摘要:re | windows下编译llvm12 踩了很多坑!这篇文章全是坑,如果要看请看到结尾,不胜感激。 事实上我之前就尝试过windows编译,然后失败了,这次属于是第二次尝试。 起因与尝试 最近在搞编译器,用llvm生成IR,环境是windows,用的源码是llvm6.0.1 源码下载:https
阅读全文
摘要:逆向 | frida android hook 入门总结 最近在备课,整理到这一块儿了,顺带就把以前的东西整理一下。 比较好的参考文章: https://www.jianshu.com/p/0fa6138fafc9 # hook重载函数的几种写法 https://blog.csdn.net/zhy0
阅读全文
摘要:逆向 | gcc去符号编译 gcc内敛汇编加花指令 去符号(参考:https://blog.csdn.net/weixin_44638957/article/details/104321815): # 加上如下编译选项 -ffunction-sections -fdata-sections -fvi
阅读全文
摘要:逆向 | 通过inlinehook opengl实现cs1.6透视 之前一直想弄没弄的,今天给弄了。 inlinehook的原理与上一篇文章基本相同。https://www.cnblogs.com/Mz1-rc/p/16586411.html cs1.6可以是对d3d可以是opengl,先调成ope
阅读全文
摘要:逆向 | inlinehook 简单实践 好久之前就学过了,结果代码找不到了,今儿留个档。 总结一下就是: 整个被注入的dll,在里头进行hook的操作 整个exe来注入上面那个dll 代码如下: 测试的被注入程序(test.exe): #include <stdio.h> #include <wi
阅读全文
摘要:逆向 | java 使用Xbootclasspath参数进行注入 最近在研究burpsuite的破解,就看到了这样一个参数,觉得很有意思,可以用来注入代码。 这个参数的意思也很简单,java运行的时候会提前加载classpath中的类,这样调用到的时候就在这个里面寻找,但是如果使用这个参数,就可以将
阅读全文
摘要:win32 | 创建的win32窗口程序鼠标一直转圈圈 这个问题网上搜了一下没有类似的,就自己分析了一下,原因应该是没有对WM_SETCURSOR这个消息进行处理,当没有使用win32控件的时候就需要自己去setcursor了,不然鼠标就只能一直转圈圈。 解决方案如下: // 处理游标消息,不处理就
阅读全文
摘要:C语言url编码解码 参考了网上一段代码改的,,,忘了记录来源了。。。 主要要用到的功能是解码部分。 #include <stdio.h> #include <string.h> #include <stdlib.h> int hex2dec(char c) { if ('0' <= c && c
阅读全文
摘要:win32 | 无标题栏&点击拖动窗口 无标题栏实现: wndclass.style = CS_OWNDC | CS_VREDRAW | CS_HREDRAW; // 窗口风格(无标题栏) HWND hwnd = CreateWindow( className, // 注册的类名 TEXT("mzV
阅读全文
摘要:逆向 | linux c fork子进程 参考文章: https://blog.csdn.net/whatday/article/details/112093358 创建子进程 代码如下: #include <stdio.h> #include <unistd.h> #include <stdlib
阅读全文
摘要:逆向 | gcc中cpp和c混合编程 主要参考文章: http://c.biancheng.net/view/8064.html 使用到了extern "C"关键字 在使用gcc编译需要cpp标准库的时候要加上: -lstdc++ 造成这种的原因本质上是cpp对函数名的重载。 巨坑 如果链接不上c+
阅读全文
摘要:《30天自制操作系统》读书笔记 | day4 C语言与画面显示的练习 一上来就是写了个汇编函数用来直接写内存字节(void write_mem8): 然后c语言就可以调用这个函数写VGA的内存了: 代码我改过了,出来很神奇: 色号设定 待续
阅读全文
摘要:《30天自制操作系统》读书笔记 | day3 进入32位模式并导入C语言 拖了好长时间,终于又重新开始继续学习这本书了~ 我觉得这一章的内容是比较重要的,但是书上在写这一章的时候其实没有把怎么链接程序给讲的非常明白,直接使用的工具。 简单说明: EQU指令:是"equal"的缩写,相当于C语言中的#
阅读全文
摘要:逆向 | win10 notepad复制到别的路径无法打开的问题 想研究一下notepad,就复制出来了,结果打不开,直接开两个od对比跑了一下,在加载快捷键的时候报错了: 去msdn查了一下,这个错误是: 造成这个的原因大概是mui文件没有正确的被加载,在ida中可以搜索到这样一个字符串: 跟进:
阅读全文
摘要:《30天自制操作系统》读书笔记 | day2 汇编语言学习与Makefile入门 好了直接继续day2! 反正上来就是解释一下之前的硬编码,用汇编写了出来: ; hello-os ; TAB=4 ORG 0x7c00 ;指明程序的装载方式 ; 以下的记述用于标准的FAT12格式的软盘 JMP ent
阅读全文
摘要:《30天自制操作系统》读书笔记 | day1 很久之前就想弄了,今天才开始动手 因为我看是电子版,所以没有作者提供的工具,不过没关系,总能解决的 第一步,制作一个iso来启动电脑 这部分跟着书上的做就行了: helloos.img(这个是启动文件,用16进制编辑器写就行了): 基本上就是以上三块东西
阅读全文
摘要:win10+winxp双机调试 | 基于vbox xp系统作为被调试的,win10负责调试,使用虚拟串口进行通信。 首先配置xp,在c:\boot.ini文件中加上 /noguiboot multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="MicrosoftWi
阅读全文