通过以上3篇文章的学习,我们已经可以获取到kernel32.dll的地址了下一步 我们就是获取几个重要的函数 1.GetProcAddress 2.LoadLibrary 有了这两个函数很多函数都可以找到了,这节的目的最终就是找到这两个函数,为了便于测试和验证我们还要动态获取下MessageBoxA函数,最后弹出个对话窗口,还要安全退出那就要用到ExitProcess. 那么咱们就结合0day2第三章的知识,通过hash来查找的相应的函数名称,再间接获取函数地址 首先我们先来找到hash #in…
前言: 太懒了,从没有在这里正儿八经的写过文章.看到一些人的高产,真是惭愧.决定稍微变得不那么懒.如有疏漏,请指正. .net的GC都谈的很多了,本篇主要是剑走偏锋,聊聊一些个人认为较为核心的细节方面的问题.至于,标记,计划,压缩,清扫这些不在讨论之列. 动态函数头地址的一些概念: 一段内存有内存的起始地址(暂叫base),内存的结束地址,以及内存指针当前指向的地址大致的三个概念.而在这段内存里面分配了函数之后,一个函数在内存里面必定有一个函数的起始地址也就是指令(第一个push)所在的地址,称…
php动态获取函数参数 一.总结 一句话总结:a.PHP 在用户自定义函数中支持可变数量的参数列表.其实很简单,只需使用 func_num_args() , func_get_arg() ,和 func_get_args()  函数即可. <?php function demo () { $numargs = func_num_args (); echo "参数个数为: $numargs \n" ; } demo ( 'a' , 'b' , 'c' ); b.感觉默认参数也可以实…
故障:内网正常,在同一个局域网内的其它PC端通过DHCP获取IP地址并且可以正常上网. 1.通过wireshark抓包,使用ipconfig /renew时,wireshark内出现DHCP请求服务,和应答服务器都是本机,说明内网正常,可能是计算机的网络协议出问题了. 2.手动配置IP地址后,可以正常上网. 3.如果有条件使用其他的PC插在这个网口上测试也可以. 解决方法:cmd 管理员运行 netsh winsock resetnetsh int ip reset reset.log重启 就好…
笔者今天刚装完centos7的虚拟机,发现无法获取IP地址,经过网上查询资料,发现centos7是默认没有网络配置的,需要手工配置. 而centos7与centos6不同,没有了config命令,所以只能进入网络配置文件夹进行手工配置 首先cd /etc/sysconfig/network-scripts/进入网络配置文件夹,vi编辑ifcfg-eth0文件,将ONBOOT=no这一行改为ONBOOT=yes,然后保存退出 接下来重启网络服务,就大功告成了,用systemctl restart…
PHP 在用户自定义函数中支持可变数量的参数列表.其实很简单,只需使用 func_num_args() , func_get_arg() ,和 func_get_args()  函数即可. 可变参数并不需要特别的语法,参数列表仍按函数定义的方式传递给函数,并按通常的方式使用这些参数.    1.func_num_args — 返回传入函数的参数总个数 int func_num_args ( void ) 示例 <?php function demo () { $numargs = func_nu…
1. func_num_args — 返回传入函数的参数总个数 int func_num_args ( void ) 示例 <?php function demo () { $numargs = func_num_args (); echo "参数个数为: $numargs \n" ; } demo ( 'a' , 'b' , 'c' ); 运行结果 参数个数为: 3 2. func_get_args — 返回传入函数的参数列表 array func_get_args ( voi…
------------------------------------------------------------------------------------------------------------------------------ 交叉编译器:arm-linux-gcc-4.5.4 Linux内核版本:Linux-3.0 开发板:FL2440 本文章的内核已经已经添加了DM9000的网卡,USB驱动,使用的是initramfs的文件系统. -----------------…
介绍 这篇距上一篇已经拖3个月之久了,批评自己下. 通过上篇介绍了解如何利用mono反射代码,可以拿出编译好的静态数据.例如方法参数信息之类的. 但实际情况是往往需要的是运行时的数据,就是用户输入等外界的动态数据. 既然是动态的,那就是未知的,怎么通过提前注入的代码获取呢! 阅读目录: 普通写法 注入定义 Weave函数 参数构造 业务编写 注入调用 普通写法 public static string GetPoint(int x, int y) { var value=x; } 动态获取和普通…
目录 一:普通写法 二:注入定义 三:Weave函数 四:参数构造 五:业务编写 六:注入调用 7.  怎么调用别的程序集的方法示例 8. [is declared in another module and needs to be imported的解决方法: 一:普通写法 1 2 3 4 public static string GetPoint(int x, int y)  {     var value=x; } 哇 好简单啊.其实动态获取和我们普通这样写代码是一样的,我们把要注入的代码…
当我们无法获取ip地址时可以使用dhcp来动态获取ip地址,安装dhcpcd5和dhcpcd-gtk sudo apt-get install dhcpcd5 sudo apt-get install dhcpcd-gtk 使用ifconfig查看网卡名称,比如我本子上的有线网无法获取到ipv4,而我的有线网卡的名称为enp7s0,那么使用下面的命令即可获取到ipv4地址 dhcpcd enp7s0 dhcpcd-gtk是用来查看当前各网络设备的状态 irving@celtics:~/.ssh$…
  通过PEB的Ldr参数(结构体定义为_PEB_LDR_DATA),遍历当前进程加载的模块信息链表,找到目标模块.   摘自PEB LDR DATA: typedef struct _PEB_LDR_DATA { 0x00 ULONG Length; /* Size of structure, used by ntdll.dll as structure version ID */ 0x04 BOOLEAN Initialized; /* If set, loader data section…
0x01 找kernel32基地址的方法一般有三种: 暴力搜索法.异常处理链表搜索法.PEB法. 0x02 基本原理 暴力搜索法是最早的动态查找kernel32基地址的方法.它的原理是几乎所有的win32可执行文件(pe格式文件)运行的时候都加载kernel32.dll,可执行文件进入入口点执行后esp存放的一般是Kernel32.DLL 中的某个地址,所以沿着这个地址向上查找就可以找到kernel32的基地址.那么如何知道我们找到的地址是kernel32的基地址呢?因为kernel32.dll…
不知不觉,我们学到了0day2的第六章形形色色的内存攻击技术!其中,这张很多东西都是理论的东西,不过!我们还是要想办法还原下发生的现场! 其中部分文章截图 http://user.qzone.qq.com/252738331/photo/V10U5YUk464GF5/  密码: NQK3S 好久没有写文章了,最近刚买了新鼠标+新耳机,CF幽灵撸起来很牛B呀! 所以一直没时间研究溢出了,今天玩逆了CF,还是看看书吧!哈哈!就有了本文 这篇文章如T:操作过程简单些,所以:先把这个搞定下,鼓舞下士气,…
好久没有发帖子啦!最近一直很忙!但是还是抽空学习啦下! 前段时间匆匆忙忙的把0day2上的堆溢出实验做啦! 可能当时太浮躁啦,很多细节没注意!结果:实验结果很不满意!所以就有啦这一篇!! 上一篇是发布在cnblogs.com的.后来管理提醒我,我们不讨论这种技术!旧书重温:0day2[7]堆溢出实验(很失败的一篇) 所以来 F4ck 发布吧! 0day2第五篇 堆溢出利用! 这章节,我细读啦不下3遍! 但是还是感觉有些生疏,所以要想把这个实验做好!一定要把此章节搞明白! 文章开始 0x01. 0…
有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的.那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方案. 今天主要和大家聊下如果使用爱奇艺开放平台中来动态获取自己上传视频的mp4格式url地址.我们闲话少说,直接开始. 首先先看下通过这种方式获取的视频播放效果: 一.我们需要注册成为爱奇艺开发者       爱奇艺开放平台: http://open.iqiyi.com/index.html   二…
1.GCC平台 GCC平台获取C++成员虚函数地址可使用如下方法[1]: class Base{ int i; public: virtual void f1(){ cout<<"Base's f1()"<<endl; } }; Base b; void (Base::*mfp)() = &Base::f1; printf("address: %p", (void*)(b->*mfp)); 上面的代码在Linux g++ (GC…
相关文章我拍成了照片,放在了我的QQ空间不是做广告(一张一张的传太麻烦了)http://user.qzone.qq.com/252738331/photo/V10U5YUk2v0ol6/    密码9EY3TI 这个相册的图片是0day2中的第五章 有关堆溢出的利用文章 一直想把这节尽快做完实验,由于工作和生活琐事耽误了.这个实验是p171的狙击PEB中的RtlEnterCritical-Section()函数指针.(这个实验我没做成功!就是没有msg下,但是还是有经验收获的) 首先获取PEB中…
学习了以上5节课,我们学到了很多知识,例如如何动态获取指定函数的地址:我们也学到了很多经验,例如如何发现代码中的错误,如何用od定位到错误,并修正. 有了以上积累,今天我们继续实验bind_shell,我没还是延用32位hash,来比较hash定位函数,而没用书中的8bit的hash,避免碰撞.题外话:周末了玩疯了有没有CF .LOL 晚上静下心来调试了代码,今天就先获取下函数地址吧! /* LoadLibraryA function`s hash is 0c917432 CreateProce…
前言 最近的项目迭代中新增一个需求,需要在electron-vue 项目打包之后,启动exe 可执行程序的时候,动态获取配置文件中的 baseUrl 作为服务端的地址.electron 可以使用 node 的 fs 模块来读取配置文件,但是在项目打包之后项目的静态资源都会被编译成其他文件,本文来记录下相关实现和知识点. 正文 1.根目录下创建配置文件 config.conf,里面写入baseUrl (注意这里通过 json 格式写入),如下: 2.配置打包时对资源进行复制,在 package.j…
其实分在逆向篇不太合适,因为并没有逆向什么程序. 在http://www.exploit-db.com/exploits/28996/上看到这么一段最简单的ShellCode,其中的技术也是比较常见的,0day那本书上也提到过,大神都用烂了.不过想来很久没有碰汇编了,就心血来潮,权当温习一下. /* User32-free Messagebox Shellcode for any Windows version ==========================================…
还在为找内核未导出函数地址而苦恼嘛? 还在为硬编码通用性差而不爽吗? 还在为暴搜内核老蓝屏而痛苦吗? 请看这里: 最近老要用到内核未导出的函数及一些结构,不想再找特征码了,准备到网上找点符号文件解析的代码抄抄,也玩玩符号文件解析获取未导出函数,可惜资料寥寥无 几,下了一些代码,发觉编译后问题不断,有的编译通过了却取不到任何地址,弄了半天白弄了,于是静下心来看dbghelp的说明文件(中文的都木有),发 觉dbghelp用起来很不爽,由于版本太多,又是32位和64位什么的,最要命的是dbghelp…
以下是VC Socket初始化时用到的两个函数 一.WSAStartup函数                int WSAStartup                       (                          WORD wVersionRequested,                          LPWSADATA lpWSAData                         );使用Socket的程序在使用Socket之前必须调用WSAStartup函…
1.在VS中动态获取本地IP地址,代码如下: 2.获取本机的可用端口以及已使用的端口:…
ARP 协议地址解析协议(ARP)是通过解析网路层地址来找寻数据链路层地址的一个在网络协议包中极其重要的网络传输协议.ARP 最初在 1982 年的 RFC 826 中提出并纳入互联网标准 STD 37. ARP 也可能指是在多数操作系统中管理其相关地址的一个进程. ARP 是通过网络地址(例:IPv4)来定位 MAC 地址(也称为乙太地址).ARP 已经在很多网路层和数据链接层之间得以实现,包括:IPv4,Chaosnet,DECnet 和 Xerox PARC Universal Packe…
为什么要写这篇文章 1.      因为最近在学习<软件调试>这本书,看到书中的某个调试历程中讲了Windows的系统调用的实现机制,其中讲到了从Ring3跳转到Ring0之后直接进入了KiFastCallEntry这个函数. 2.      碰巧前天又在网上看到了一篇老文章介绍xxx安全卫士对Windows系统调用的Hook,主要就是Hook到这个函数 3.      刚刚做完毕业设计,对使用中断来实现系统调用的方式记忆犹新. 以上原因导致我最近眼前总是出现系统调用这个词,脑海中总是出现系统…
一.使用内置方法和修饰器方法获取类名.函数名 python中获取函数名的情况分为内部.外部,从外部的情况好获取,使用指向函数的对象,然后用__name__属性 复制代码代码如下: def a():passa.__name__ 除此之外还可以: 复制代码代码如下: getattr(a,'__name__') 尽管有些脱裤子放屁,总之,从外部获取的方法是非常灵活的. 有些同学需要从函数内部获取函数本身的名字,就需要用些技巧了.1.使用sys模块的方法: 复制代码代码如下: def a():print…
首先写一个很简单的main函数: int main(){ printf("main的地址(?):%08x",main); } 单步调试,可得知 main函数的真实入口地址是:00be91a0 然而我们控制台输出的值是 为什么会出现这样的差别呢?院子里有一篇大牛写的有关注入的文章:http://www.cnblogs.com/fanzhidongyzby/archive/2012/08/30/2664287.html,里面就提到了这个问题. 其中提到一个解析真实地址的算法: //将函数地…
在项目当中我们可能会遇到例如改变的项目名称之后,相对应的地址就需要改变,为了减少工作量,将地址当中的项目名这一块写成动态获取的,那么最关键一点就是我要先获取它,再进行操作: 知识点整理,话不多说,直接贴代码: 获取项目名: function URLPath(msg){ var pathName = window.document.location.pathname; var projectName = pathName.substring(0,pathName.substr(1).indexOf…
问题来源: http://www.cnblogs.com/del/archive/2008/07/30/1039045.html#1272783 在编译器看来, 重载函数根本就是完全不同的几个函数, 当然就会有不同的函数地址; 我们用常规方法获取的地址只是第一种重载的地址. 代码文件: unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  …