一些给小小鸟看的东西
kflnig又名狂枫
实在不好意思这么烂的技术还在『软件调试论坛』混下去。所以趁着新年,作一名新兵来新兵论坛当大象。大象总比大牛大吧!也想碰碰运气,说不定一不小心就又是一篇精华帖,那么^_^,实在不好意思了。
这都是我当年因为没有资料而走过的弯路,希望你们不要在走了。
1、简单的先。
0xFFFFFFFF你说是4294967295,我也不好说你错,你说是-1我也不好意思说你对。因为两者都对,关键是出现在什么地方。说起来大家都知道,这是原码和补码的区别。所以在我们32bit机器里通常视它为-1。好了,说道这里,给大家推荐一个计算器,叫OD。傻眼了吧!看来OD不简单啊!还可以做兼职。有时比WINDOWS的calc(计算器)好啊!比如说我们要知道0xFFFFFFFF到底是多少。你在EAX(其它寄存器也可以)猛点两下看,在十六进制中输入FFFFFFFF,如图1
图1
看到没有。OD的这份兼职还做得蛮好。
2、本来还想说点重要的,最终在看着看雪精华中,自己给搞混了。我搞好之后补上。
3、OD真的不是盖的。OD的兼职多的不像话。遇到ASCII码或Unicode码值,你要找到它们对应的符号,怎么办?查表,嗯!有毅力,勇气可嘉。
看我的,CTRL+B,出来一个如图2所示的家伙
图2
ASCII转hex的时候你输入ASCII栏目中,其它的转法也一样。知道了吗?这可都是我的独门秘技啊!又被你们学去了,在几个月,我拿什么来装大象呢?
4、剩下一点不重要的,有些朋友为了扮酷OD,就把界面通通改成黑色,好像非常好看的样子。可是我认为,你还是白底的好。还有呢,最好打开高亮,我的高亮是“圣诞树”!这样在搞crack的时候轻松一点。
5、最后一点我刚发现的。
我们有时候会找字符串吧。往往我们都只是字符串插件一找,我们在字符串上双击,就到站了。你知道字符串本身在哪吗?我学了破解近一年,可到现在才知道,虽然这个不重要,但是知道一点总还是好的。来个示例:
010598C3 |. 68 1C510601 PUSH emeditor.0106511C ; runtime error!\n\nprogram:
这边是这么一句。我们CTRL+G来到0106511C。看是这么一堆:
0106511C 52 PUSH EDX
0106511D 75 6E JNZ SHORT emeditor.0106518D
0106511F 74 69 JE SHORT emeditor.0106518A
01065121 6D INS DWORD PTR ES:[EDI],DX ; I/O 命令
01065122 65:2045 72 AND BYTE PTR GS:[EBP+72],AL
01065126 72 6F JB SHORT emeditor.01065197
01065128 72 21 JB SHORT emeditor.0106514B
0106512A 0A0A OR CL,BYTE PTR DS:[EDX]
0106512C 50 PUSH EAX
0106512D 72 6F JB SHORT emeditor.0106519E
0106512F 67:72 61 JB SHORT emeditor.01065193 ; 多余的前缀
01065132 6D INS DWORD PTR ES:[EDI],DX ; I/O 命令
01065133 3A20 CMP AH,BYTE PTR DS:[EAX]
乍看之下很像代码是吧!好我们选中这些,然后CTRL+E(二进制――>编辑)
然后给大家截个图,如图3
图3
一切都明白了吧,原来这些东西都是字符串啊!汗颜啊!关于这个很重要的一点是要注意结尾。ASCII码是00结尾,Unicode是00 00结尾。
6、上面一点我已经说是最后发现的了。那么现在这条我该说什么呢?
都是你的错――因为一不小心复习了一下PE知识。
《悠悠心算2006 V1.0的脱壳与解决自校验》,作者: cyto,看雪精华8中的这篇文章你看了没有,挺适合小鸟的。
Iczelion的PE教程看了没有。没有你可吃大亏了。给你个建议,他写的汇编代码就不要看了,这不是小鸟要搞的。先大致看看PE格式。
我在温习的时候一不小心看到了有个东西叫TimeDateStamp,作用是文件创立日期和时间。那篇精华帖的作者说:
“要么修改跳转,要不修改原程序的时间值。”作者这句话我开始不懂,如何修改时间呢?现在,我们去看看。用STUD_PE看看
图4
我们只要把原来的程序打开把原程序的TimeDateStamp复制过来然后在save to file就可以了。这么简单,哎!
我也要学习去了。大家一起努力吧!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课