之前也看了很多視頻,以前總是懵懵懂懂。現(xiàn)在知識(shí)積累到一定量,在下又充滿了力量。
先來個(gè)字符搜索,果然有線索,看到關(guān)鍵兩個(gè)祝賀!估計(jì)成功應(yīng)該就是這個(gè)了。
點(diǎn)進(jìn)去看到
有個(gè)jnz跳轉(zhuǎn)跳過了成功提示,那么使用nop大法就可以了。
另外一個(gè)也是同樣nop掉就可以。這個(gè)是字符搜索大法。
當(dāng)然你也可以跟蹤key
隨便輸幾個(gè)字母,但是你要記住。點(diǎn)擊check it baby!
會(huì)發(fā)現(xiàn)被斷在這個(gè)call地方。那么猜測可能就是在這個(gè)函數(shù)里與正確的key做了對(duì)比。那么F7跟入
果然有一個(gè)神似正常key的樣子的一串a(chǎn)scii碼。那么記錄下來,一直F8下去并沒有找到其它有用的消息。那么我們來測試下這個(gè)CW-4018-CRACKED是不是key。
順便附上python破解腳本寫法:
#-*- coding:utf-8 -*-
import ctypes
#NAME SERIAL
def name(second):
? ? ? kernel32=ctypes.windll.LoadLibrary('kernel32.dll')
? ? ? PROCESS = kernel32.OpenProcess(2035711,0,second)
? ? ? new_info=kernel32.WriteProcessMemory
? ? ? buffer = ctypes.c_char_p("_")
? ? ? buffer.value='\x72\x72'
? ? ? new_info(PROCESS,4389635,buffer,2,0)
#SERIAL
def serial(second):
? ? ? kernel32=ctypes.windll.LoadLibrary('kernel32.dll')
? ? ? PROCESS = kernel32.OpenProcess(2035711,0,second)
? ? ? new_info=kernel32.WriteProcessMemory
? ? ? buffer = ctypes.c_char_p("_")
? ? ? buffer.value='\x72\x72'
? ? ? new_info(PROCESS,4388053,buffer,2,0)
if __name__ == '__main__':
? ? ? ?first=raw_input('name or serial:')
? ? ? ?second=input('process pid:')
? ? ? ?if first=='name':
? ? ? ? ? ? ? name(second)
? ? ? ?elif first=='serial':
? ? ? ? ? ? ? serial(second)
? ? ? ?else:
? ? ? ? ? ? ? print 'please entry true content.'