自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

AlbertLi

不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之

  • 博客(63)
  • 资源 (3)
  • 收藏
  • 关注

原创 Uninstall Tool 破解手记

0x0 简述Uninstall Tool是目前我所用过的最强的傻瓜化卸载工具了【专业手段除外】,软件本身很小巧,但是涉及卸载相关的功能却很全面,如下图介绍所示:此工具有两种形态,一种是安装包版,一种是便携版也是我们常说的绿色版。本次破解以安装版为基础(PS:已验证便携版原理上与之一致)。0x1 思路及方法 拿到软件,首先看下软件有无什么保护,结果发现仅仅有...

2019-06-16 14:36:58 38781 15

原创 Visual AssistX 10.9.2302分析练手记

Visual AssistX 10.9.2302分析练手记【附最绿色非替换和谐方案】缘起​ Visual AssistX是广大Windows平台下C++开发人员的必备辅助工具,从Visual Studio 6.0开始就我就开始使用这款插件工具,不知不觉这款工具就成了我在开发过程中不可或缺的工具之一,一直伴随至今。大过年的,如果不出去玩,不参加聚会,其实是一个很好的看看书、思考人生,...

2019-02-05 20:22:16 2299 4

原创 《请停止无效努力》读书笔记脑图

买了本看似鸡汤的书,其实里面干货还是挺多的,书很贴心的提供了践行的小册子,看完感觉收获还是挺多的,只不过里面的很多概念其实并没有彻底展开(篇幅限制或者其他原因),很多地方读者不见得能够彻底搞明白,特别还有些关于元认知的一些重要的概念亦是如此;改变思维方式从而改变行为模式,再进而影响努力的结果,虽然我们不能指望世界能时刻给予我们正向的反馈,但是科学合理地思考与尝试,在概率上来说好结果的偏好也会强上不

2017-04-30 00:46:02 6132 7

原创 老毛桃!至于吗!!真是无语!!!

近日需要修理一下系统,用了一下老毛桃出品的工具,然后,就莫名其妙被装了一些软件,清理干净后,发现启动项里面有个VBS有点意思,随即就Output出来看看strs=array(13,79,110,32,69,114,114,111,114,32,82,101,115,117,109,101,32,78,101,120,116,13,10,13,10,39,-12363,-12877,-18732

2016-01-24 22:07:36 4105

原创 贴一个好多年前自己写的AVL实现

最近整理手上的代码库,翻到老旧的AnySee代码,发现了里面巨繁琐无比的AVL实现,貌似还是COPY的老外开源的代码,近2K行,遂将自己N年前自己写的AVL的实现替换了进去,完美运行,仅300余行代码而已。#ifndef __AVL_TREE_H__#define __AVL_TREE_H__templateclass AVLNode{public: AVLNode( c

2015-11-28 22:59:15 709

原创 通过逆向学习软件设计(5)【完结篇】

本篇为完结篇,通过对CRadio的分析拆解,重点完成了对于整个软件中最有价值的电台数据文件的解密,同时作为完结篇也对整个软件另外一个重要的部分——播放的实现做一个连带的梳理,阐述其播放是如何实现的,涉及到的重点就是根据播放源的URL如何进行交换获取数据播放出来; 提纲如下: - CRadio电台数重点内容据的解密 - 如何应对不同源的请求、交互、播放 - 总结一、CRadio电台数重点内容据

2015-04-06 16:59:30 1333

原创 新年拿WinGDB最新版练练手

引子:年前BLOG被黑了,好多文章被恶意删除,好在CSDN的朋友帮忙一一恢复了,可是就是关于WinGDB的那篇死活恢复不了,算是永久丢失了(也不觉得可惜,只是记录一个轨迹而已);新年新气象,恰好WinGDB这个软件具有特别好的练手特性,也就有了这篇文章,其中的Lincense算法部分也不算特别难,但是我还是比较懒,也就不细说了,还是回归一点,此篇文章不是为了破解商用,仅仅作为练手之用,更无意为盗版

2015-02-26 01:06:31 4843 10

原创 一份简要游戏服务器缺陷、瓶颈分析报告

这还是很早之前参与创业的时候,专门

2014-11-16 15:34:53 2939 3

原创 通过逆向学习软件设计(4)

接上文,通过分析到核心函数重点逆向其中的六个子函数,从第一个函数Sub_525444开始(如下图)对应的函数汇编形态如下:    初步逆向代码如下:

2014-03-03 23:21:56 1158

原创 通过逆向学习软件设计(3)

新的一年来到了,这个系列的文章也由于各种原因拖了好久,无奈地也跟着跨年了!接下来几篇重点在于URL数据文件data.dat的定位及解密过程。根据上一篇的内容,我们很容易了解到大致的定位方法及方式,现在我们就要首先从逆向源码的角度来验证一下通过API调用流程监控结果的猜想。    首先,对于文件的各种操作着手,很容易进行API断点,然后通过栈回溯的方法定位到相关的关键代码位置,这个过程相对简单,

2014-02-07 01:09:44 1189

原创 通过逆向学习软件设计(2)

好久没有更新这个系列了(这个系列计划是完成大约3-4篇短文),换了新工作,开始做手机网游相关的东西,服务器、客户端都弄,加班也比较多,因此这个逆向学习软件设计的小系列就没有来的及更新。这次补上,另外完成这个系列后,我将会写一些关于手机网游开发的相关心得体会或者经验教训,在客户端上面:主要围绕Cocos2d-x游戏引擎的理解、使用、扩展;在服务器端上:主要围绕Linux64位服务器端的开发过程中的问

2013-06-30 01:02:22 1429 2

原创 通过逆向学习软件设计(1)

Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation.----- Eilam, Eldad &

2013-01-29 22:17:57 1250

原创 近期的业余安排

1、根据这些天使用自己的调试器做定位的过程中出现的大量断点需要忽略的问题,提出0.4版本的DebuggerX需求:增加自动过滤断点的功能(运行并过滤,且有开关可恢复);2、分析某网络收音机软件,写一个关于其数据库的分析小工具:D【仅仅做练手用,仅展示不公开:D,有兴趣的童鞋可以来讨论哦~】;3、研究Android下的逆向及破解及广告祛除的方法。【方便老妈玩游戏用~】

2013-01-17 18:57:19 608

原创 DebuggerX0.3版本【主要新功能已完成】

1、新增了附加功能(如图1):2、能直接用IDA导出或者COPY出来的函数信息了:测试调试都没有问题:,下一步完善一下通知的机制,让其更加灵活。

2012-12-31 21:16:29 798 1

原创 DebuggerX0.3版修改需求

根据这些天来的使用情况,对自己写的调试器DebuggerX准备做以下改进:增加对IDA函数导出的直接支持(TraceBP功能);添加进程Attach功能;拟提供签名函数的识别支持功能(直接使用IDA的库签名文件)(*视情况而定)研究自己实现调试框架,放弃微软提供的基于DebugEvent的调试框架,从而实现更加灵活的调试过程(同时也可以反一部分反调试)。

2012-12-14 18:07:51 646

原创 内核小工具自己写

最近写了一个小工具方便各种涉及系统内核级操作,以及对于内核函数的监控等等,用来分析病毒程序,特别是加了猛壳(虚拟机壳等等)的各种行为十分有效。截图继续Mark,并不断完善之。在制作的过程中,发现,如果自己实现切换上下文,实现无进程、无线程、内存隐藏、数据加密、所有函数自己实现后真是很不好防啊!!!!特别是作为RootKit来用的时候。不废话截图Mark了。。

2012-11-16 12:42:41 720

原创 FAT32、NTFS文件直接操作小工具(上图MARK记录)

文件系统是操作系统的重要核心之一,能够对文件直接操作,可以做正常情况下无法完成的事情,比如:拷贝正在使用的文件、文件粉碎、文件的彻底隐藏等等。这些的核心就是要求能够对文件本质进行直接操作,因此采用什么文件过滤驱动的方式、其他API辅助的方式,在某种意义上说,还是隔了一层,对文件直接操作才是王道,不调用任何Windows提供的API才是最好的解决方案,一方面,相关的杀软无法做API Hook检测

2012-10-08 03:21:58 828

原创 利用DebuggerX定位关键CALL

最新写了一个调试器正式的名字叫做DebuggerX,界面上山寨了一部分SOFTICE的界面:)利用自己写的调试器可以辅助定位一些软件的关键CALL,这里我们拿CALC.exe来举一个例子,这个也就是Windows自带的计算器程序。我想知道这个计算器的关于的关键CALL在那个函数当中,从而了解到这个关于界面是怎么出来的。OK,假设我不知道这个关于界面是通过什么样的函数或者调用弹出来的,这

2012-09-23 21:52:27 1307

原创 重写软件调试器仿SOFTICE界面支持更多实用功能:)

不说废话还是上图MARK:)调试器界面图:功能表:

2012-09-18 04:39:45 3413 4

原创 分析某款网络收音机的数据解析部分

【声明:本文只是本着研究学习的目的进行分析,且关键部分都做了模糊处理避免给软件作者带来不良影响】最近发现一款很不错的免费软件,能够在线收听很多国内外的电台,该软件收集了几千个国内外的电台,可谓相当之方便,整个软件最具价值的部分就是这几千个电台的真实URL了,软件采用Borland Delphi 编写,其数据都放在Data文件夹中,还好软件的作者还是有一定的保密意识的,除了不重要的诸如树状节点显

2012-08-25 23:25:36 1108

原创 天热,周末宅家,写了个BUG满天飞的Debug调试器

如题,放出截图MARK一下:

2012-08-20 00:14:28 3029

原创 给inc2l打个提醒补丁:)

用过RadASM的都知道,有时候会碰到一个较为莫名的问题,在include文件下利用inc2l生成一个对应的lib文件不成功且没有任何提示,性子急的人就容易以为程序本身出了问题,其实这个是程序在默认情况下的处理不给力的原因。这里可以分析一下inc2l,获取一些有用的信息:图2.1分析前问题重现 脱壳后利用OD载入进行调试后,通过分析可知该程序必然要进行文件的创建操作(因为lib

2012-08-16 19:25:14 1861 1

原创 灵格斯Lingoes词典2012过期问题的解决

新年到了,新的一年当然有新的打算和目标,我的其中一个目标就是把英语再学好点儿,毕竟最新的资料都是用英文写的,“工欲善其事必先利其器”——学英文,好的词典必不可少!平时经常用词典软件就是灵格斯了,因为使用起来相对方便,更重要的是可以自己配置不错的辞典比如:牛津高阶、柯林斯等等,这个是最吸引我的地方!然而当2012到来的时候,我的灵格斯词典却不用了了,软件提示过期了!同时点击了升级,软件却

2012-02-23 22:34:21 3514

原创 由一道逻辑推理题衍生的对于实际问题求解的一般思路(续)

接上次的关于逻辑推理题的分析,这次我们需要对上次的思路做一个反思,同时整理出更优的方法出来,一方面,帮助我们能够快速地找到解决问题的思路,同时能够提供一个良好解决方案。还记得上次的分析当中,我们采用面向对象的方法做了一次简单的尝试,但是由于思路的不完整性或者说部分的方向偏差导致不得不中断而采用其他的面向过程的解决方案。现在我们已经有了一个可行的方案了,在这个前提下,我们再次尝试一下更加令人容易想到

2011-12-16 20:12:58 1113

原创 由一道逻辑推理题衍生的对于实际问题求解的一般思路

思维的过程才是最重要的,我们要的不止是金蛋,更是那只下金蛋的鸡。———此类想法总结句传说爱因斯坦出过这样一道逻辑题,此题有18个条件,要求大家最后推理出问题的答案。是否真为爱因斯坦所出我也无法考证,当然我想这只是出题人为了引起大家的注意罢了,但是题目本身还是挺有意思的,也属于实际生活中的问题了(别较真...)。我们先说说这道题本身:1、在一条街上,有5座房子,喷了5种颜色。 2、每

2011-12-14 17:09:00 1883

原创 逆向序列号生成算法(三)

接着上次的分析,继续分析下去,对于这个CrackMe,其要求是写出注册机,那么我们就根据其注册码的验证过程,进行逆向分析,首先找到最关键的一个爆破点,我们先看看这个爆破点的位置,如图1可见最后的验证关键点其实在那个MagicNum的值上面,因为用户名是我们给定的,属于已知值,而序列号则是可以由我们构造的也可以认为是已知值,唯一不确定的就是那个MagicNum了,而这个值却跟我们输入的用户名及序列号

2011-12-07 22:52:32 7346 1

原创 逆向序列号生成算法(二)

接上次的,将序列号的验证算法流程及代码都整理出来了,最后弄成了三个小函数,为了更加方面阅读,理解验证算法的原理,进而为序列号生成算法的设计做铺垫,这里,我们将上次代码中的汇编部分,都逆向成C/C++来表述。    首先是计算部分的Step1: void CalculateKeyStep1( const char *pStrName, const char *pStrSerialNum,

2011-11-21 23:25:31 1937

原创 逆向序列号生成算法(一)

对逆向工程一直很感兴趣,工作之余自己也研究一下,好久没有练手了,OllyDBG的使用都感觉生疏了,晚上抽空先去补了补OllyDBG的使用方法,然后看到一个叫做CycleCrackMe的序列号保护练手程序(如图1),刚好是OllyDBG入门文章里面提到的一个演示用程序,只是把OllyDBG的消息断点及RUN的跟踪相关的知识讲了一下,对CycleCrackMe里面具体的加密算法留给读者自己去研

2011-11-13 21:18:03 3362 1

原创 iMagBookShelf项目杂记(4)

 项目顺利结束了,需要做一个总结:1、防御性编程的重要性无论怎么强调都是不为过的!!!,几个关键的BUGs都是未将防御性编程贯彻到底造成的!包括相关的异步加载的情况,当然也涉及部分控件实现的问题。2、用户体验的一致性以及操作过程中的流畅度的确是需要着重优化的地方,一句话:用户体验,还是用户体验!3、作为项目主管,给予一起并肩作战兄弟们充分信任的同时,也一定要亲自做代码走查,定期做代

2011-06-30 22:24:00 589

原创 《如何阅读一本书》读书笔记(2)

<br />    按照计划阅读,本次是全书阅读的重点所在,讲述如何进行分析阅读!,此类阅读属于精读的范畴,同时需要更加主动的参与阅读,自己提出问题,根据书籍本身结合自己的思考得出自己所需的答案。以下就是关于分析阅读的规则要点:<br />    分析阅读的规则要点:<br />    规则一:你一定要在知道自己在读的是哪一类书,而且是越早知道越好。最好早在你开始阅读之前就先知道。<br />    规则二:使用一个单一的句子,或最多几句话(一小段文字)来叙述整本书的内容。<br />    【不要满足于“

2011-05-02 12:53:00 1037

原创 《如何阅读一本书》读书笔记(1)

根据阅读计划,完成本书的阅读我将写大概八篇读书笔记,本篇是第一篇。将第一篇阅读的层次阅读完毕了,大概小结一下:本篇开篇主要大致介绍了阅读的四个层次,如下:阅读的四个层次: 1、基础阅读(Elementary Reading);2、检视阅读(Inspectional Reading);3、分析阅读(Analytical Reading);4、主题阅读(Syntopical Reading);

2011-04-07 23:20:00 1777

原创 iMagBookShelf项目杂记(3)

<br />项目接近尾声,为了不要出现永远都到不了头的99%进度现象,把剩下的问题罗列下来,同时将此阶段已经解决的问题一并说明:<br />剩下的问题:<br />  1、下载图片不完全导致读图片出错;(下载模块的问题)。<br />  2、界面动画的问题。(保证界面动画做完不出错!)。<br /> <br />解决了的问题:<br />1、关于界面显示流程:等待画面-->后台取数据-->取完数据-->做动画。(流程测试没有问题,但是程序本身引入了BUGs待解决!!!)<br />2、图片读取的问题,两边显

2011-04-06 22:25:00 746

原创 iMagBookShelf项目杂记(2)

<br />根据今天的讨论,我们需要做的优化如下:<br />1、将请求获得的XML文件按照种类暂存一份在本地,以免多次请求,减少在杂志种类页面不必要的网络带宽消耗。<br />        2、所有用到字符串拷贝的地方,尽量杜绝不必要的拷贝操作,尽量仅仅告知所在的地址即可。<br />        3、内存泄漏的检查以及修正。<br />        4、事务逻辑中的缺陷修正及其优化(今天完成了一部分,关于重入的)。<br />        5、界面美工的优化!(此处根据客户的需要进行修改即可)。

2011-03-24 20:33:00 722

原创 《如何阅读一本书》读书计划

开始有计划地进行阅读,首先将阅读计划制定下来,作为一个阅读活动的指导以及Checklist,同时将相应的耗时记录下来。当然最重要的是读书笔记的记录以及个人的理解感悟的记录!     《如何阅读一本书》读书计划:      根据对该书目录结构以及前言的相关了解,制定以下阅读计划:      全书分为四大篇:       第一篇:阅读的层次;       第二篇:阅读的第三个层次:分析阅读(PS:全书的重点!);       第三篇:阅读不同读物的方法(PS:关于具体情况的操作说明);       第四篇:阅读

2011-03-23 21:51:00 2331 1

原创 iMagBookShelf项目杂记(1)

<br />    最近忙一个项目,类似iPad上的那个iBookShelf的,我们姑且叫做iMagBookShelf,要求能够做到良好的用户体验,流畅运行。项目目前已经接近尾声,但是在项目进行的过程中,还是有不少东西值得注意和学习的,故此记录下来以备以后查阅只用,所谓:亡羊补牢,未为晚也!<br />   首先我想说的是,在设计中时刻牢记一些大家耳熟能详的设计理念以及编程理念还是很重要的(牢记的同时,最重要的是在实践中使用!)。功能模块的划分、接口的定义、“面向接口编程、而不是面向实现编程”等等,这些在项

2011-03-23 20:51:00 754

原创 需要准备的东西

<br />两个方便携带的本子,用途:一个本子用来记录每天时间的开销,另外一个本子记录计划完成事情的详情!

2011-03-21 23:47:00 743

原创 有些感悟,记录于此,防止遗忘:)

<br />需要做时间开销记录,需要想一个办法来坚持!第一步就是先行动,当行动出现终止或者由于懒惰等原因失败的时候,进行反思找出原因进行分析,同时想出对策,对策是否可行必须要通过实践来检验,因此保持行动力是最重要的!<br />        准备好的时间开销记录本从现在开始就可以记录时间开销了!<br />        事情不要拖延,特别是针对那些有意义的事情来说(哪怕自己不想做!)<br />        大额的消费或者金融上的投资,做适当的拖延也许要好点:)<br />        每天必须有必

2011-03-21 00:30:00 1055 1

翻译 How to Make Exercise a Daily Habit

养成习惯很重要,尤其是养成每日运动的好习惯不仅有利于身体健康,而且可以锻炼意志,同时习惯于养成好的习惯能够为今后的发展铺平道路,很喜欢这篇博文,可操作性较强,于是乎自己瞎翻译了一下,喜欢看原文的朋友可以直接跳到后面看到或者链接原文:    近来我的朋友,就是下面这位博主Scott Young(斯科特.杨),写了一篇名为“锻炼的新手?那就天天锻炼”的很棒的帖子。那真是一篇相当不错的帖子,并且

2010-04-12 15:13:00 2091

原创 要看的书,欠下的债

   看着满屋的书,特别是没有看完的一小堆书不禁一阵寒意...眼看就要过年了,不想欠下如此读书债,列个单子,抓紧时间还债吧:专业相关类:  数学、算法类: 《什么是数学》、《离散数学及其应用》5th(课后题巨多,貌似都可以当面试题用哦,呵呵)、《具体数学》、《算法导论2nd》(2005年秋的翻译字幕做了一集了,只看了前三章,汗啊);  编程语言类: 《C Programming Lan

2010-01-20 22:27:00 1034

转载 c/c++中内存区域划分大总结(好东西还是要转一转)

一. 在c中分为这几个存储区1.栈 - 由编译器自动分配释放2.堆 - 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3.全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。- 程序结束释放4.另外还有一个专门放常量的地方。- 程序结束释放                      

2009-05-25 18:41:00 686

Visual AssistX 10.9 2302版本通用和谐方案

此篇https://blog.csdn.net/AlbertLi/article/details/86766351的解决成果。 在VS2015,Win10环境测试通过。

2019-02-07

Windows高效排错

Windows高效排错,快速掌握排错的技巧,PS:非纸板图书

2008-10-31

Windows套接字IO模型.pdf

Windows套接字IO编程快速入门速查

2008-10-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除