WEB开发网      濠电姷鏁告繛鈧繛浣冲洤纾瑰┑鐘宠壘閻ょ偓銇勯幇鍫曟闁稿鍠愰妵鍕冀閵娧佲偓鎺楁⒒閸曨偄顏柡宀嬬畱铻e〒姘煎灡绗戦梻浣筋嚙濮橈箓顢氳濠€浣糕攽閻樿宸ュΔ鐘叉啞缁傚秹宕滆绾惧ジ寮堕崼娑樺缂佹宀搁弻鐔风暋閻楀牆娈楅梺璇″枓閺呯姴鐣疯ぐ鎺濇晝闁靛牆妫欓蹇旂節閻㈤潧浠﹂柛銊ョ埣楠炴劙骞橀鑲╋紱闂佽宕樼粔顔裤亹閹烘挸浜归梺缁樺灦閿曗晛螞閸曨垱鈷戦柟鑲╁仜婵″ジ鎮楀☉鎺撴珖缂侇喖顑呴鍏煎緞濡粯娅囬梻浣瑰缁诲倿寮绘繝鍥ㄦ櫇闁稿本绋撻崢鐢告煟鎼淬垻鈯曢柨姘舵煟韫囥儳绋荤紒缁樼箖缁绘繈宕橀妸褌绱濋梻浣筋嚃閸ㄤ即宕弶鎴犳殾闁绘梻鈷堥弫鍌炴煕閳锯偓閺呮瑧妲愬Ο琛℃斀闁绘劕妯婇崵鐔封攽椤旇棄鍔ら摶鐐烘煕閺囥劌澧柛娆忕箻閺屽秹宕崟顒€娅g紓浣插亾濠㈣泛顑囩粻楣冩煙鐎涙ḿ绠橀柨娑樼У椤ㄣ儵鎮欓鍕紙闂佽鍠栫紞濠傜暦閹偊妲诲┑鈩冨絻椤兘寮诲☉銏犖╅柕澶堝労閸斿绱撴担绋库偓鍝ョ矓瑜版帒鏋侀柟鍓х帛閺呮悂鏌ㄩ悤鍌涘 ---闂傚倸鍊烽悞锔锯偓绗涘厾娲煛閸涱厾顔嗛梺璺ㄥ櫐閹凤拷
开发学院网络安全黑客技术 Advanced Direct Remailer 2.17 脱壳 阅读

Advanced Direct Remailer 2.17 脱壳

 2007-01-12 20:12:58 来源:WEB开发网 闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�闂傚倸鍊风粈渚€骞夐敓鐘插瀭闁汇垹鐏氬畷鏌ユ煙閹殿喖顣奸柛搴$У閵囧嫰骞掗幋婵冨亾閻㈢ǹ纾婚柟鐐灱濡插牊绻涢崱妤冃℃繛宀婁簽缁辨捇宕掑鎵佹瀸闂佺懓鍤栭幏锟�濠电姷鏁告慨顓㈠箯閸愵喖宸濇い鎾寸箘閹规洟姊绘笟鈧ḿ褍煤閵堝悿娲Ω閳轰胶鍔﹀銈嗗笂閼冲爼鍩婇弴銏$厪闁搞儮鏅涙禒褏绱掓潏鈺佷槐闁轰焦鎹囬弫鎾绘晸閿燂拷闂傚倸鍊风欢姘缚瑜嶈灋闁圭虎鍠栫粻顖炴煥閻曞倹瀚�  闂傚倸鍊烽懗鑸电仚缂備胶绮〃鍛村煝瀹ュ鍗抽柕蹇曞У閻庮剟姊虹紒妯哄闁圭⒈鍋嗛惀顏囶樄闁哄本娲樼换婵婄疀閺囩姷鐛ラ梻浣哄帶婢瑰﹥绂嶅⿰鍫氣偓鏃堝礃椤忎礁浜鹃柨婵嗛婢ь喖霉閻樻瑥瀚粻楣冩煕椤愩倕鏋庨柣蹇嬪劜閵囧嫰寮村Ο鍝勫Е濡炪們鍨洪悷鈺呭箖閳╁啯鍎熼柕鍥у簻閹凤拷
核心提示:使用工具: loader、TRW2000、superbpm、Import REConstructor v1.4.2+这个软件同样是在汉化新世纪论坛上有朋友要的,我的水平太烂,Advanced Direct Remailer 2.17 脱壳,搞了好半天才搞定了脱壳:)脱壳过程:一.找程序的入口点用 fs0 大哥的 loa

使用工具: loader、TRW2000、superbpm、Import REConstructor v1.4.2+ 

这个软件同样是在汉化新世纪论坛上有朋友要的,我的水平太烂,搞了好半天才搞定了脱壳:) 

脱壳过程: 

一.找程序的入口点 

用 fs0 大哥的 loader 载入软件主程序,几秒钟后 loader 会告诉你,程序的 OEP 是 0043835E。 

二.TRW 初步脱壳 

下面要在入口处脱壳,先打开 SuperBPM,选中 erase 前面的复选框,然后用 TRW 载入 adr.exe,下g 43835E,TRW 停在程序的入口处,接着下 pedump ,将内存中的程序脱出来。 

三.修复导入表 

打开原加壳程序,在 Import REConstructor v1.4.2+ 的 Attach to an Active Process 窗口中选取 adr.exe 进程,然后在下方的 OEP 处填入正确的入口 0001000,点 IAI AutoSearch,再点 Get Imports ,然后点 Show Invalid,在Imported Functions Found 窗口里的无效地址上点鼠标右键,选 Trace Leve11(disasm),这样 Import REConstructor 能够自动修复的项目就搞定了。 

再点 show invaids,发现还剩下几个没有修复,再次在那几个没有修复的地址上点鼠标右键,选中 Plugin Tracer(Asprotect 1.2X Emul),这样这个插件能修复的项目也全部搞定了。再点 show invaids,所有的导入表项目都显示有效了,运气真好:) 

现在点击 Fix Dump,选择 TRW 脱壳出来的文件 dump.exe,会在目录下生成修正了导入表的程序 dump_.exe 

四.去软件校验 

运行 dump_.exe,弹出一个提示,说“crypt api not found....”云云,不爽,还有校验啊:( 

TRW 载入 dump_.exe,下 pmodule,来到程序领空,然后下断点 bpx messageboxa,F5 运行程序,马上被 TRW 断了下来。(如果这里不先下 pmodule,直接下断,F5,程序会被断在 BFFXXXX 这个地址上,不在程序的领空内) 

0167:00434C70 6A04      PUSH  BYTE +04 
0167:00434C72 6AFF      PUSH  BYTE -01 
0167:00434C74 FF151C224400  CALL  `KERNEL32!GetProcAddress` 
0167:00434C7A 85C0      TEST  EAX,EAX // EAX 是否为1 
0167:00434C7C A3DC7B4600   MOV   [00467BDC],EAX 
0167:00434C81 7516      JNZ   00434C99 // 不是则死,所以 JNZ => JMP 
0167:00434C83 6A10      PUSH  BYTE +10 
0167:00434C85 68AC634400   PUSH  DWORD 004463AC 
0167:00434C8A 687C9A4400   PUSH  DWORD 00449A7C 
0167:00434C8F 50       PUSH  EAX 
0167:00434C90 FF1530234400  CALL  `USER32!MessageBoxA` // 弹出 crypt api not found.... 的提示 
0167:00434C96 33C0      XOR   EAX,EAX 
0167:00434C98 C3       RET   // 上面的校验过程结束 
0167:00434C99 B801000000   MOV   EAX,01 // 跳到此处,即可跳过校验 
0167:00434C9E C3       RET
  

所以将 0167:00434C81 的 JNZ 00434C99 改为 JMP 00434C99 即可。用 LodePE 的 FLC 功能,得 offset 34C81,用十六进制编辑工具改之 (75 -> EB)。 

因为是朋友汉化需要,特别用 eXescope 编辑了一下资源,无问题。 

五 破解 

汗...这个我跟了半天,一点头绪都没有,倒是有跟到一个跳转,改了之后随意输入注册码都会提示注册成功,不过根本没有用-_-# 这个还是留待高手解决吧:P 

六 遗留的问题 

在 98 下修复导入表,破掉校验的文件在 XP 下无法运行,XP 下的到了 98 下也不能运行,比较了一下,好像两个系统下修复的导入表项目有很多不同,与我上次在论坛问过的一个 aspr 1.2x 加壳的软件差不多,希望有高手能帮忙看看。

Tags:Advanced Direct Remailer

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接