- 爬虫逆向:一篇文章掌握 Hopper 的详细使用(macOS 和 Linux 反汇编程序:对可执行文件进行静态分析)
数据知道
爬虫和逆向教程macoslinux运维爬虫逆向数据采集
文章目录一、Hopper概述1.1Hopper介绍和用途1.2界面介绍1.3相关概念说明1.4安装二、基本使用2.1打开二进制文件2.2汇编模式2.3CFG模式2.4伪代码2.5十六进制模式三、浏览文件3.1段和节3.2符号、标签和字符串3.3导航堆栈3.4导航栏3.5使用检查器四、修改文件4.1十六进制编辑器4.2汇编程序更多内容请见:爬虫和逆向教程-专栏介绍和目录文章目录一、Hopper概述1
- 一文搞懂 Smali 与 Baksmali:Java 层逆向必备技能
CYRUS STUDIO
java开发语言逆向androidsmalibaksmali
版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/smali与baksmalismali和baksmali是用于Android平台中DEX文件的汇编器和反汇编器,广泛应用于Android逆向分析与调试。smali和baksmali是一对工具,分别用于:smali:将smali代码(Java汇编语言)编译成DEX文件。baksmali:
- Android逆向工具简单介绍
@ZhangJun
Android进阶Android逆向反编译反汇编Hook
目录一、Android逆向概述1、什么是Android逆向2、逆向过程3、逆向用途1)APP自动化执行程序脚本2)修改APP的功能3)APP安全二、常用逆向工具介绍1、APP抓包工具1)Fiddler2)Wireshark2、jadx反编译工具3、APKDB4、Frida之Hook工具5、IDA反汇编工具1)为何反汇编2)如何反汇编3)IDAPro的基本功能:4)IDA目录结构5)常用快捷键6)常
- 利用反汇编技术将游戏《英雄无敌3》修改为硬盘版
安联酋长
汇编游戏汇编
最近好不容易找到我最喜欢的游戏《英雄无敌3之埃拉西亚的光复》,可惜是光盘版的,要用虚拟光驱来运行,感觉不爽,网上也找不到免CD补丁,于是决定自己动手。首先感谢这篇文章的作者http://bbs.pediy.com/showthread.php?t=101023是他引领我进入反汇编的大门。这篇文章的第一步,就是找到GetDriveType的调用(GetDriveType就是判断某盘符是光驱、硬盘或网
- 如何使用 Java 字节码工具检查类文件的完整性
ytttr873
javapython开发语言
使用Java自带的javap工具基本介绍:javap是JDK自带的反汇编工具。它可以用于查看Java字节码的详细信息,包括类的结构、方法的字节码指令等。虽然它主要用于反汇编,但也可以通过查看字节码的结构来初步判断类文件是否完整。使用方法:在命令行中,进入包含.class文件的目录,然后执行javap-c-v类文件名.class命令。其中,-c选项用于打印出字节码指令,-v选项用于输出详细的附加信息
- 精通.NET反汇编工具:调试、优化与逆向工程
溪水边小屋
本文还有配套的精品资源,点击获取简介:在.NET应用程序开发与调试中,.NET反汇编工具将中间语言(IL)代码转换为可读的汇编代码,对探究程序内部工作、性能优化和逆向工程具有重要意义。本文将深入解析.NET反汇编工具的关键知识,包括其工作原理、使用理由、常见工具比较、以及如何正确使用这些工具进行代码浏览、搜索和导出等操作。同时,文章强调了在使用这些工具时要遵守的法律和版权注意事项,以及对相关技术能
- CTF题型解题思路总结
Bruce_xiaowei
总结经验笔记网络安全CTF
CTF题型解题思路总结1.逆向工程(ReverseEngineering)目标理解程序逻辑,绕过保护(如注册码验证)、提取隐藏信息或还原加密算法。解题步骤信息收集获取目标程序(可执行文件、脚本等)查看程序类型(WindowsPE、LinuxELF、AndroidAPK等)检查文件基本信息(file、strings、objdump)静态分析使用IDAPro、Ghidra、Radare2逆向反汇编和反
- ELF文件的加载与进程地址空间,动态加载
IU宝
linux运维服务器
1虚拟地址和逻辑地址这里首先考虑一个问题,在前面文章中讲解ELF文件中,存在一个地址,那么这个是物理地址,还是虚拟地址或者说逻辑地址呢?其实是逻辑地址。⼀个ELF程序,在没有被加载到内存的时候,本来就有地址,当代计算机工作的时候,都采⽤"平坦模式"进行工作。所以也要求ELF对自己的代码和数据进行统⼀编址。下面是objdump-S反汇编之后的代码:最左侧的就是ELF的虚拟地址,其实,严格意义上应该叫
- 《基于VC平台下C++反汇编与逆向分析研究——No.2》
三、缺
汇编及逆向工程c++/C
分析环境:WIN7sp1所用工具:VC++6.0/OllyDBG/IDA适用人群:有一定计算机基础,熟悉C/C++编程,熟悉X86系列汇编/了解OD/IDA等调试工具使用,对逆向安全有极大兴趣者!————————————————————————————————————————————————开篇前言:数据类型和运算符是任何编程语言的基础,而对于逆向而言亦是,只有牢固的基础才能走得更远...————
- [原创]X86C++反汇编03.除法的优化
游戏安全实验室_
c++java前端
https://www.bpsend.net/thread-458-1-1.html理解并掌握数学模型,这样换个编译器优化,数学模型是不变的同一模型,描述的代码序列可能会有变化无符号数除法,且除数非2的整数次幂的正数令M=2^n/CA/C=>A1/C=>A2^n/C1/2^n=>A2^n/C>>n=>AM>>nM=2^n/CC=2^n/MC是常量n的值由编译器给那么还是常量当M值越大,即n值越大数
- python文件输出exe文件反汇编_python如何反编译exe文件
weixin_39544333
"""PyInstallerExtractorv1.8(Supportspyinstaller3.2,3.1,3.0,2.1,2.0)Author:ExtremeCodersE-mail:extremecoders(at)hotmail(dot)comWeb:https://0xec.blogspot.comDate:28-April-2017Url:https://sourceforge.net
- c++返回对象,返回引用,返回指针有什么区别?
hjjdebug
#c++编程c++对象引用指针
author:hjjdebugdate:2025年06月04日星期三11:19:42CSTdescrip:c++返回对象,返回引用,返回指针有什么区别?文章目录1.测试代码:2.反汇编代码分析2.1:调用代码分析2.2:被调用函数代码分析,看看它们是怎样返回eax的.3.结论:返回指针,就是返回一个地址,这个容易理解.返回对象和返回引用呢?一般来讲,也是返回一个地址,你想,返回值就存储在eax中,
- 逆向工程学习记录:反汇编反编译
564983
逆向工程学习
程序编译成二进制(指令集)计算机是如何读懂二进制的1.计算机外置存储硬盘:非易失性存储器,解决了大量内容需要长久存储的问题(你可以自备多块硬盘,存储各种内容)内存:主要解决CPU无法存储大量信息,但又要处理大量信息(硬盘里的)而出现,主要是为了提升速度,此后在内存基础上又发展出了cache。一般来说,内存存储的是近期需要的内容。注意:以二进制形式存储(苏联有过三进制的计算机,即计算机选用二进制性价
- 加密处理(1)
学点东西吧
stm32单片机arm开发嵌入式硬件密码学
在MCU程序中使用加密芯片进行认证时,若认证未通过,需通过隐蔽且分散化的处理逻辑增加破解者定位和绕过加密机制的难度。以下是推荐的执行策略及技术手段:一、分散校验逻辑,避免直接跳转1.避免显式条件判断不使用直接的if-else或while语句判断认证结果,改用状态机模式或函数指针跳转。例如,采用switch-case结构并结合多个无关分支,使反汇编后难以识别关键校验点。将认证结果与后续程序逻辑耦合:
- 入门逆向-入土为安的第二十五天
丸卜
网络安全
逆向工程基本概念目标:逆向工程的主要目标是理解程序的逻辑、数据流和执行流程,以便找到隐藏的信息或解决CTF中的挑战。常见文件类型:可执行文件(如ELF、PE文件)脚本文件(如Python,JavaScript,etc.)固件(嵌入式设备中的二进制文件)工具:反汇编工具:如IDAPro,Ghidra,Radare2,辅助将二进制文件转换为可读的汇编代码。调试工具:如GDB,x64dbg,WinDbg
- C++多态细节,反汇编
_xan
C++细节c++面试笔记
文章目录1.C++的三大特性1.1封装1.2继承1.3多态1.3.1虚函数1.3.1.1.【注意】当类存在虚函数时,编译器会为类创建一个虚表,虚表是一个数组,数组的元素存放的是虚函数地址。即虚表在编译的时候就确定了,且只有一份。同时为每个类对象添加一个隐藏数据成员,即虚表指针,它是在运行阶段确定的,有多少个对象,就有多少个虚表指针。另外,虚表指针被定义在对象首地址处。1.3.1.2.【注意】派生类
- 单片机(STM32)Debug - 基于反汇编文件的栈回溯
Mryoungg
嵌入式学习笔记单片机stm32嵌入式硬件
目录1.栈回溯1.1原理概述1.1.1栈的工作原理1.1.2根据栈内容和反汇编文件找到函数调用关系(1)获取反汇编文件(2)获取PC指针和各级LR指针1.2实例-基于HardFault_Handler1.2.1修改HardFault_Handler1.2.2分析反汇编文件1.栈回溯1.1原理概述1.1.1栈的工作原理在进入fault处理程序(Handler)前,CM3内核会将几个必须的寄存器压栈保
- CE是什么?C++初学者如何使用?
阿峰的编程博客
VisualStudio服务器运维
CE是什么?CheatEngine它允许你修改你的游戏内存,所以你将得到其他人没有的功能。它包括16进制编辑反汇编程序,内存查找工具。与同类修改工具相比,它具有强大的反汇编功能,且自身附带了修改器制作工具,可以用它直接生成修改器。修改内存?这里可能就有人不明白了。内存还能修改?我可以非常清楚的告诉你不全是,内存修改可以有很多功能达到,但他不能像外挂一样什么都可以修改,只可以修改一些本地运算的内存,
- TimDbg
张某人的胡思乱想
汇编debug经验分享
晚上随意浏览,发现一个有趣的网站:TimDbg调试器谎言:堆栈损坏//TimDbg2022.11的一篇很有趣,讲如何培养裸眼反汇编的能力,即培训心智模型,模式识别能力。识别内存中的模式//TimDbg我是用edge浏览器自动发现,效果还可以。
- C++指针和动态内存分配细节,反汇编
_xan
C++细节c++面试开发语言笔记
文章目录20.指针vs引用21.newvsmalloc20.指针vs引用指针是实体,占用内存空间,逻辑上独立;引用是别名,与变量共享内存空间,逻辑上不独立。指针定义时可以不初始化;引用定义时必须初始化。指针的值可以变,即可以指向别的内存空间;引用不变的。指针可以为nullptr;引用不能为空。sizeof(指针)计算指针大小,由于指针保存的是内存地址,所以无论什么类型的指针,在32位程序里占4B,
- idea 如何看bytecode_IDEA字节码学习查看神器一、背景bytecode viewer介绍
weixin_39616503
idea如何看bytecode
一、背景很多人想学习Java反汇编后的字节码,但是一方面缺乏好的资料,另外一方面缺乏好的工具。关于资料大家可以看《Java虚拟机规范》、《深入理解Java虚拟机》,还可以购买JVM字节码相关的专栏。虽然大家可以使用JDK自带的javap命令行工具,但是总是有些不方便。这里介绍下jclasslibbytecodeviewer这款神器。二、安装使用开源地址:https://github.com/ing
- 随手记录
a5161027
其他
反汇编(Disassembly):把目标代码转为汇编代码的过程,也可以说是把机器语言转换为汇编语言代码、低级转高级的意思,常用于软件破解(例如找到它是如何注册的,从而解出它的注册码或者编写注册机)、外挂技术、病毒分析、逆向工程、软件汉化等领域。学习和理解反汇编语言对软件调试、漏洞分析、OS的内核原理及理解高级语言代码都有相当大的帮助。你程序编译为64位的PE,就是使用的win64提供的api了。目
- Linux中用gdb查看coredump文件
照书抄代码
C++linux运维服务器
查看dump的命令:gdb可执行文件dump文件路径查看函数调用栈(gdb)bt查看反汇编代码(gdb)disassemble查看寄存器的值(gdb)infoall-registers如果通过上述简单命令无法排查,还是通过-g参数编译带符号表的可执行文件,再用gdb查看
- Intellij IDEA/AndroidStudio中查看类的字节码文件的方法(高效)
TeresaMei
其他工具项intellij-ideajavaide
文章目录方法一:使用javap指令`javap-c-vDog.class`对class文件反汇编得到Gog类的类文件:方法二:使用jclasslibbytecodeviewer插件插件地址插件安装使用方法方法三:使用binED插件查看字节码的二进制文件插件安装插件使用Dog类,用于查看字节码:packagecom.teresa.reflectdemo;publicclassDog{publicDo
- Linux: kernel: 反汇编:data32 nopw;
mzhan017
gcckernellinux反汇编
文章目录简介nopdata32简介今天在看kernel的反汇编程序发现一个新鲜的指令:data32nopw,从网上找着说是对函数的一个16字节对齐。https://stackoverflow.com/questions/29871947/what-is-the-meaning-of-the-data32-data32-nopw-cs0x0rax-rax-1-instruction-i就是下一个函数
- 汇编与反汇编:DEBUG 命令使用指南
re1ife
汇编开发语言嵌入式硬件
前言汇编语言是计算机底层编程语言,直接与CPU指令集对应。掌握汇编语言和调试工具(如DEBUG)是深入理解计算机工作原理的关键。本文将介绍汇编与反汇编的基本概念,并详细讲解如何使用DEBUG命令进行调试和内存操作。目录一、什么是汇编语言?二、什么是反汇编?三、DEBUG命令详解四、DEBUG实操示例五、总结一、什么是汇编语言?汇编语言(AssemblyLanguage)是一种低级编程语言,直接对应
- gdb: Invalid disassembly modifier
mzhan017
gdb/coredumpgdbmodifier
这个错误是什么意思,如果在这里可以打印出来说,/s不是合法的反汇编指令的修饰器,可能更容易理解。但是这个也是没有跑了,就是/s用错误了。(gdb)disass/s117458e0Invaliddisassemblymodifier.之前有影响说这个/s就是查看源代码行号的一个选项,在这里为什么不能用了呢?有可能记忆出现偏差。应该使用/m选项来查看源代码行号。或者使用infolinelinespec
- 【工具】gdb使用详细介绍
努力努力再努力~~
linux疑难问题排查实战gdblinux问题调试
linux问题排查实战专栏,分享了作为公司专家,在解决内存、性能、各类死机等疑难问题的排查经验,认真学习可以让你在日后工作中大放光彩。前言在工作中,无论是学习代码流程还是问题的定位,GDB都显得尤为重要,多掌握一些命令可以提升我们的效率和解决问题的能力;按照我的理解,对GDB的掌握程度可以分为三种人:基础命令,大家都知道相对高阶一点的,少数人了解,掌握之后可以提升调试解决问题的效率需要结合反汇编、
- Linux Binutils 基本使用教程
linux
简介GNUBinutils(二进制实用程序)是用于在Unix/Linux系统中操作二进制文件的工具集合。这些工具有助于汇编、链接、反汇编和检查二进制可执行文件、目标文件、库和汇编代码。安装Debian/Ubuntusudoaptupdate&&sudoaptinstallbinutilsRHEL/CentOSsudoyuminstallbinutilsmacOSbrewinstallbinutil
- 基于Python的逆向工程:ELF文件
Python 学习者
pythonpython开发语言后端
当解决复杂的逆向问题时,我们常使用radare2或IDA等成熟工具进行反汇编和调试。但有时也需要深入挖掘并了解它们是如何运作的。编写一些反汇编脚本对于自动化某些流程非常有用,并且可以形成自己的逆向工具链。至少,这是我现在正在尝试的事情。配置环境如标题所说的那样,你需要先安装Python3。如果你无法确定是否安装了Python3,可以运行如下命令:其中capstone是反汇编引擎,将使用脚本和pye
- 戴尔笔记本win8系统改装win7系统
sophia天雪
win7戴尔改装系统win8
戴尔win8 系统改装win7 系统详述
第一步:使用U盘制作虚拟光驱:
1)下载安装UltraISO:注册码可以在网上搜索。
2)启动UltraISO,点击“文件”—》“打开”按钮,打开已经准备好的ISO镜像文
- BeanUtils.copyProperties使用笔记
bylijinnan
java
BeanUtils.copyProperties VS PropertyUtils.copyProperties
两者最大的区别是:
BeanUtils.copyProperties会进行类型转换,而PropertyUtils.copyProperties不会。
既然进行了类型转换,那BeanUtils.copyProperties的速度比不上PropertyUtils.copyProp
- MyEclipse中文乱码问题
0624chenhong
MyEclipse
一、设置新建常见文件的默认编码格式,也就是文件保存的格式。
在不对MyEclipse进行设置的时候,默认保存文件的编码,一般跟简体中文操作系统(如windows2000,windowsXP)的编码一致,即GBK。
在简体中文系统下,ANSI 编码代表 GBK编码;在日文操作系统下,ANSI 编码代表 JIS 编码。
Window-->Preferences-->General -
- 发送邮件
不懂事的小屁孩
send email
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
- 动画合集
换个号韩国红果果
htmlcss
动画 指一种样式变为另一种样式 keyframes应当始终定义0 100 过程
1 transition 制作鼠标滑过图片时的放大效果
css
.wrap{
width: 340px;height: 340px;
position: absolute;
top: 30%;
left: 20%;
overflow: hidden;
bor
- 网络最常见的攻击方式竟然是SQL注入
蓝儿唯美
sql注入
NTT研究表明,尽管SQL注入(SQLi)型攻击记录详尽且为人熟知,但目前网络应用程序仍然是SQLi攻击的重灾区。
信息安全和风险管理公司NTTCom Security发布的《2015全球智能威胁风险报告》表明,目前黑客攻击网络应用程序方式中最流行的,要数SQLi攻击。报告对去年发生的60亿攻击 行为进行分析,指出SQLi攻击是最常见的网络应用程序攻击方式。全球网络应用程序攻击中,SQLi攻击占
- java笔记2
a-john
java
类的封装:
1,java中,对象就是一个封装体。封装是把对象的属性和服务结合成一个独立的的单位。并尽可能隐藏对象的内部细节(尤其是私有数据)
2,目的:使对象以外的部分不能随意存取对象的内部数据(如属性),从而使软件错误能够局部化,减少差错和排错的难度。
3,简单来说,“隐藏属性、方法或实现细节的过程”称为——封装。
4,封装的特性:
4.1设置
- [Andengine]Error:can't creat bitmap form path “gfx/xxx.xxx”
aijuans
学习Android遇到的错误
最开始遇到这个错误是很早以前了,以前也没注意,只当是一个不理解的bug,因为所有的texture,textureregion都没有问题,但是就是提示错误。
昨天和美工要图片,本来是要背景透明的png格式,可是她却给了我一个jpg的。说明了之后她说没法改,因为没有png这个保存选项。
我就看了一下,和她要了psd的文件,还好我有一点
- 自己写的一个繁体到简体的转换程序
asialee
java转换繁体filter简体
今天调研一个任务,基于java的filter实现繁体到简体的转换,于是写了一个demo,给各位博友奉上,欢迎批评指正。
实现的思路是重载request的调取参数的几个方法,然后做下转换。
- android意图和意图监听器技术
百合不是茶
android显示意图隐式意图意图监听器
Intent是在activity之间传递数据;Intent的传递分为显示传递和隐式传递
显式意图:调用Intent.setComponent() 或 Intent.setClassName() 或 Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
隐式意图;不指明调用的名称,根据设
- spring3中新增的@value注解
bijian1013
javaspring@Value
在spring 3.0中,可以通过使用@value,对一些如xxx.properties文件中的文件,进行键值对的注入,例子如下:
1.首先在applicationContext.xml中加入:
<beans xmlns="http://www.springframework.
- Jboss启用CXF日志
sunjing
logjbossCXF
1. 在standalone.xml配置文件中添加system-properties:
<system-properties> <property name="org.apache.cxf.logging.enabled" value=&
- 【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
bit1129
centos
编译必需的软件
Firebugs3.0.0
Maven3.2.3
Ant
JDK1.7.0_67
protobuf-2.5.0
Hadoop 2.5.2源码包
Firebugs3.0.0
http://sourceforge.jp/projects/sfnet_findbug
- struts2验证框架的使用和扩展
白糖_
框架xmlbeanstruts正则表达式
struts2能够对前台提交的表单数据进行输入有效性校验,通常有两种方式:
1、在Action类中通过validatexx方法验证,这种方式很简单,在此不再赘述;
2、通过编写xx-validation.xml文件执行表单验证,当用户提交表单请求后,struts会优先执行xml文件,如果校验不通过是不会让请求访问指定action的。
本文介绍一下struts2通过xml文件进行校验的方法并说
- 记录-感悟
braveCS
感悟
再翻翻以前写的感悟,有时会发现自己很幼稚,也会让自己找回初心。
2015-1-11 1. 能在工作之余学习感兴趣的东西已经很幸福了;
2. 要改变自己,不能这样一直在原来区域,要突破安全区舒适区,才能提高自己,往好的方面发展;
3. 多反省多思考;要会用工具,而不是变成工具的奴隶;
4. 一天内集中一个定长时间段看最新资讯和偏流式博
- 编程之美-数组中最长递增子序列
bylijinnan
编程之美
import java.util.Arrays;
import java.util.Random;
public class LongestAccendingSubSequence {
/**
* 编程之美 数组中最长递增子序列
* 书上的解法容易理解
* 另一方法书上没有提到的是,可以将数组排序(由小到大)得到新的数组,
* 然后求排序后的数组与原数
- 读书笔记5
chengxuyuancsdn
重复提交struts2的token验证
1、重复提交
2、struts2的token验证
3、用response返回xml时的注意
1、重复提交
(1)应用场景
(1-1)点击提交按钮两次。
(1-2)使用浏览器后退按钮重复之前的操作,导致重复提交表单。
(1-3)刷新页面
(1-4)使用浏览器历史记录重复提交表单。
(1-5)浏览器重复的 HTTP 请求。
(2)解决方法
(2-1)禁掉提交按钮
(2-2)
- [时空与探索]全球联合进行第二次费城实验的可能性
comsci
二次世界大战前后,由爱因斯坦参加的一次在海军舰艇上进行的物理学实验 -费城实验
至今给我们大家留下很多迷团.....
关于费城实验的详细过程,大家可以在网络上搜索一下,我这里就不详细描述了
在这里,我的意思是,现在
- easy connect 之 ORA-12154: TNS: 无法解析指定的连接标识符
daizj
oracleORA-12154
用easy connect连接出现“tns无法解析指定的连接标示符”的错误,如下:
C:\Users\Administrator>sqlplus username/
[email protected]:1521/orcl
SQL*Plus: Release 10.2.0.1.0 – Production on 星期一 5月 21 18:16:20 2012
Copyright (c) 198
- 简单排序:归并排序
dieslrae
归并排序
public void mergeSort(int[] array){
int temp = array.length/2;
if(temp == 0){
return;
}
int[] a = new int[temp];
int
- C语言中字符串的\0和空格
dcj3sjt126com
c
\0 为字符串结束符,比如说:
abcd (空格)cdefg;
存入数组时,空格作为一个字符占有一个字节的空间,我们
- 解决Composer国内速度慢的办法
dcj3sjt126com
Composer
用法:
有两种方式启用本镜像服务:
1 将以下配置信息添加到 Composer 的配置文件 config.json 中(系统全局配置)。见“例1”
2 将以下配置信息添加到你的项目的 composer.json 文件中(针对单个项目配置)。见“例2”
为了避免安装包的时候都要执行两次查询,切记要添加禁用 packagist 的设置,如下 1 2 3 4 5
- 高效可伸缩的结果缓存
shuizhaosi888
高效可伸缩的结果缓存
/**
* 要执行的算法,返回结果v
*/
public interface Computable<A, V> {
public V comput(final A arg);
}
/**
* 用于缓存数据
*/
public class Memoizer<A, V> implements Computable<A,
- 三点定位的算法
haoningabc
c算法
三点定位,
已知a,b,c三个顶点的x,y坐标
和三个点都z坐标的距离,la,lb,lc
求z点的坐标
原理就是围绕a,b,c 三个点画圆,三个圆焦点的部分就是所求
但是,由于三个点的距离可能不准,不一定会有结果,
所以是三个圆环的焦点,环的宽度开始为0,没有取到则加1
运行
gcc -lm test.c
test.c代码如下
#include "stdi
- epoll使用详解
jimmee
clinux服务端编程epoll
epoll - I/O event notification facility在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linu
- Hibernate对Enum的映射的基本使用方法
linzx0212
enumHibernate
枚举
/**
* 性别枚举
*/
public enum Gender {
MALE(0), FEMALE(1), OTHER(2);
private Gender(int i) {
this.i = i;
}
private int i;
public int getI
- 第10章 高级事件(下)
onestopweb
事件
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/
- 孙子兵法
roadrunners
孙子兵法
始计第一
孙子曰:
兵者,国之大事,死生之地,存亡之道,不可不察也。
故经之以五事,校之以计,而索其情:一曰道,二曰天,三曰地,四曰将,五
曰法。道者,令民于上同意,可与之死,可与之生,而不危也;天者,阴阳、寒暑
、时制也;地者,远近、险易、广狭、死生也;将者,智、信、仁、勇、严也;法
者,曲制、官道、主用也。凡此五者,将莫不闻,知之者胜,不知之者不胜。故校
之以计,而索其情,曰
- MySQL双向复制
tomcat_oracle
mysql
本文包括:
主机配置
从机配置
建立主-从复制
建立双向复制
背景
按照以下简单的步骤:
参考一下:
在机器A配置主机(192.168.1.30)
在机器B配置从机(192.168.1.29)
我们可以使用下面的步骤来实现这一点
步骤1:机器A设置主机
在主机中打开配置文件 ,
- zoj 3822 Domination(dp)
阿尔萨斯
Mina
题目链接:zoj 3822 Domination
题目大意:给定一个N∗M的棋盘,每次任选一个位置放置一枚棋子,直到每行每列上都至少有一枚棋子,问放置棋子个数的期望。
解题思路:大白书上概率那一张有一道类似的题目,但是因为时间比较久了,还是稍微想了一下。dp[i][j][k]表示i行j列上均有至少一枚棋子,并且消耗k步的概率(k≤i∗j),因为放置在i+1~n上等价与放在i+1行上,同理