- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 一次有趣的现象
const int a = 10; int* p = (int *)(&a); *p = 20; printf("%d %d\n",a,*p);题目问这个会输出什么?开始觉得会输出20,20,但是答案错了,于是就开始想为什么,在Linux环境下面的汇编代码看的有点苦涩,在Windows环境下的汇编代码一看便豁然开朗。int main(){00F926F0 push
2017-05-31 18:29:04
393
原创 联想拖拉机逆向之旅
今天要破解的一款游戏是很久远的一款游戏了,就是联想拖拉机了先看一下界面。 这就是界面我们要做到的效果是开始游戏就是我们做庄,也就是南,然后点数都是10点这样就算达到我们的要求了!ps也就是老师这么要求的。 先用od载入看一下 没啥特别的 一般来说对于这些东西我们要关注的是他们的点击事件所以我们下断点 bp TranslateMessage MSG==WM_LBUTTONUP有下过断点就
2016-12-23 22:24:26
1330
原创 windows内存映射实例
内存要通过逻辑地址->线性地址->物理地址 现在我们看一下实例 以下面这段程序为例子int _tmain(int argc, _TCHAR* argv[]) { int t=1234; printf("%p",&t); system("pause"); return 0; } 我们查看运行结果是什么 可以看到我们的地址是0x0012FF6
2016-12-04 19:56:25
1047
原创 检测SSTD是否被hook
我们知道在ssdt中可以被hook,那么如何检测出来自己的ssdt被hook了呢? 在内核文件中保留了一份原始的ssdt表,我们只要通过检测内核文件即可获取到原始的ssdt表即可首先先要确认自己的内核使用的文件是哪个? 是ntkrnlmp.exe还是ntkrnlpa.exe?这个可以通过ZwQuerySystemInformation传入SystemModuleInformation(11)得到
2016-11-07 11:20:51
1616
1
原创 古老的钩子艺术
导入地址表钩子// Rint3Hook.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <windows.h>using namespace std;/* 获取PE头相对于文件的偏地址 基地址偏移3c 为PE头 module 基地址 */DWORD getPEHeader(DW
2016-11-02 19:24:51
352
原创 远程线程注入
贴一段来自某度的介绍在一个进程中,调用CreateThread或CreateRemoteThreadEx函数,在另一个进程内创建一个线程(因为不在同一个进程中,所以叫做远程线程)。创建的线程一般为Windows API函数LoadLibrary,来加载一个动态链接库(DLL),从而达到在另一个进程中运行自己所希望运行的代码的目的。其实很简单直接上代码有两种注入方式一种是
2016-10-05 18:00:32
813
原创 Linux线程3种同步方法
一、互斥锁(mutex)通过锁机制实现线程间的同步。初始化锁。在Linux下,线程的互斥量数据类型是pthread_mutex_t。在使用前,要对它进行初始化。静态分配:pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER;动态分配:int pthread_mutex_init(pthread_mutex_t *mutex, c
2016-10-02 20:28:10
284
原创 PEB遍历进程加载模块
按照图片的步骤来首先找到EPROCESS以CMD.exe为例子PROCESS 85fa2b38 SessionId: 0 Cid: 0fc8 Peb: 7ffda000 ParentCid: 05f8 DirBase: 0f3c03a0 ObjectTable: e1fa93c8 HandleCount: 34. Image: cmd.ex
2016-09-14 17:31:02
1753
原创 Pspcidtable遍历进程
PspCidTable句柄表 PspCidTable也是一个句柄表,但是这个句柄表不是私有句柄表,它里面存放的是系统中所有的进程和线程对象,其索引也就是进程ID(PID)或线程ID(TID).看到我们的表kd> dd Pspcidtable8055b260 e1001798 00000002 00000000 00000
2016-09-14 14:21:21
600
原创 加减实现二分查找
package sf1_4;/** * Created by LoveQuietly on 2016/9/7. */public class FibBinarySearch { public static void main(String[] args) { int myarr[] = {1, 2, 3, 5, 7, 9, 10, 11, 13, 15, 17,
2016-09-08 10:17:07
430
原创 双调查找
首先找到数组的分割点然后按照二分查找即可。数组的分割点也可以按照二分查找来,不过需要修改一下地方。package sf1_4;/** * Created by LoveQuietly on 2016/9/7. */public class DoubleSearch { public static void main(String[] args) {
2016-09-07 21:31:31
453
原创 回环变位
先贴上自己的代码自己的想法是将所有的可能遍历出来如果找到了就出来了bool isCircleRotation1(string &str1,string &str2){ if(str1.length()!=str2.length()) return false; string temp=str2; for(int i=1;i<str1.length();i++){ te
2016-08-23 22:55:10
311
原创 根据Kernel32基地址调用函数
以弹出一个对话框为例子如何实现不添加头文件调用函数呢?1:LoadLibary()2: GetProcAddress()3: 调用具体的函数如何实现不使用LoadLibary函数调用呢?1:首先找到Kernel32.dll的基地址2:通过基地址查找LoadLibary地址和GetProcAddress函数地址3:通过载入LoadLibary加载user32.dll4:通过GetProcAddr
2016-08-15 13:18:46
1402
1
原创 Android socket实现文件上传下载器
这是这次Android课程设计所写的课程设计,由于不知道怎么在优快云上传自己的项目就将自己写的服务器代码先贴上来吧,水平有限,轻喷。如果有哪位需要的就留个言,将自己的邮箱留下我看到了就会给你发送的。package com.lq.bestsocket;import java.io.DataInputStream;import java.io.DataOutputStream;imp
2015-12-14 23:57:45
1244
3
空空如也
关于C++string的疑惑为什么不输出相同的值
2016-05-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人